blob: 26c90e51c5126ea2ee3d2961382f3b6d649b5ac9 [file] [log] [blame]
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership. The
# ASF licenses this file to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance with the
# License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless require_relatived by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
module CIMI
module Model
def self.register_as_root_entity!(klass, opts = {})
@root_entities ||= [CIMI::Model::CloudEntryPoint]
@root_entities << klass
name = klass.name.split("::").last.pluralize
unless CIMI::Model::CloudEntryPoint.href_defined?(name)
params = {}
if opts[:as]
params[:xml_name] = params[:json_name] = opts[:as]
end
CIMI::Model::CloudEntryPoint.send(:href, name.underscore, params)
end
end
def self.root_entities
@root_entities || []
end
end
end
require_relative './models/schema'
require_relative './models/resource'
require_relative './models/collection'
require_relative './models/base'
require_relative './models/errors'
require_relative './models/action'
require_relative './models/machine_volume'
require_relative './models/disk'
require_relative './models/resource_metadata'
require_relative './models/cloud_entry_point'
require_relative './models/credential'
require_relative './models/credential_template'
require_relative './models/credential_create'
require_relative './models/volume'
require_relative './models/volume_configuration'
require_relative './models/volume_configuration_create'
require_relative './models/volume_image'
require_relative './models/volume_template'
require_relative './models/volume_create'
require_relative './models/volume_image_create'
require_relative './models/volume_template_create'
require_relative './models/machine'
require_relative './models/machine_configuration'
require_relative './models/machine_image'
require_relative './models/machine_image_create'
require_relative './models/machine_template'
require_relative './models/machine_template_create'
require_relative './models/machine_create'
require_relative './models/network_port'
require_relative './models/network'
require_relative './models/network_configuration'
require_relative './models/network_port_template'
require_relative './models/network_port_configuration'
require_relative './models/address'
require_relative './models/address_template'
require_relative './models/address_template_create'
require_relative './models/address_create'
require_relative './models/forwarding_group'
require_relative './models/forwarding_group_template'
require_relative './models/network_template'
require_relative './models/network_create'
require_relative './models/system_template'
require_relative './models/system_template_import'
require_relative './models/system_template_export'
require_relative './models/system_network_port'
require_relative './models/system_network'
require_relative './models/system_address'
require_relative './models/system_forwarding_group'
require_relative './models/system_machine'
require_relative './models/system_volume'
require_relative './models/system_credential'
require_relative './models/system_system'
require_relative './models/system'
require_relative './models/system_create'
require_relative './models/system_import'
require_relative './models/system_export'
require_relative './models/cloud_entry_point_collections'