class Misty::Cloud
Attributes
config[R]
Public Class Methods
dot_to_underscore(val)
click to toggle source
# File lib/misty/cloud.rb, line 8 def self.dot_to_underscore(val) val.gsub(/\./,'_') end
new(arg)
click to toggle source
# File lib/misty/cloud.rb, line 12 def initialize(arg) @config = Misty::Config.new(arg) end
Public Instance Methods
alarming(arg = {})
click to toggle source
# File lib/misty/cloud.rb, line 30 def alarming(arg = {}) @alarming ||= build_service(__method__) @alarming.request_config(arg) @alarming end
application_catalog(arg = {})
click to toggle source
# File lib/misty/cloud.rb, line 24 def application_catalog(arg = {}) @application_catalog ||= build_service(__method__) @application_catalog.request_config(arg) @application_catalog end
backup(arg = {})
click to toggle source
# File lib/misty/cloud.rb, line 36 def backup(arg = {}) @backup ||= build_service(__method__) @backup.request_config(arg) @backup end
baremetal(arg = {})
click to toggle source
# File lib/misty/cloud.rb, line 42 def baremetal(arg = {}) @baremetal ||= build_service(__method__) @baremetal.request_config(arg) @baremetal end
block_storage(arg = {})
click to toggle source
# File lib/misty/cloud.rb, line 48 def block_storage(arg = {}) @block_storage ||= build_service(__method__) @block_storage.request_config(arg) @block_storage end
Also aliased as: volume
build_service(method)
click to toggle source
# File lib/misty/cloud.rb, line 16 def build_service(method) service = Misty.services.find {|service| service.type == method} service_config = @config.get_service(method) api_version = self.class.dot_to_underscore(service.default_version(service_config[:config][:api_version])) klass = Object.const_get("Misty::Openstack::API::#{service.project.capitalize}::#{api_version.capitalize}") klass.new(service_config) end
clustering(arg = {})
click to toggle source
# File lib/misty/cloud.rb, line 54 def clustering(arg = {}) @clustering ||= build_service(__method__) @clustering.request_config(arg) @clustering end
compute(arg = {})
click to toggle source
# File lib/misty/cloud.rb, line 60 def compute(arg = {}) @compute ||= build_service(__method__) @compute.request_config(arg) @compute end
container_infrastructure_management(arg = {})
click to toggle source
# File lib/misty/cloud.rb, line 66 def container_infrastructure_management(arg = {}) @container_infrastructure_management ||= build_service(__method__) @container_infrastructure_management.request_config(arg) @container_infrastructure_management end
container_service(arg = {})
click to toggle source
# File lib/misty/cloud.rb, line 72 def container_service(arg = {}) @container_service ||= build_service(__method__) @container_service.request_config(args) @container_service end
data_processing(arg = {})
click to toggle source
# File lib/misty/cloud.rb, line 78 def data_processing(arg = {}) @data_processing ||= build_service(__method__) @data_processing.request_config(arg) @data_processing end
data_protection_orchestration(arg = {})
click to toggle source
# File lib/misty/cloud.rb, line 84 def data_protection_orchestration(arg = {}) @data_protection_orchestration ||= build_service(__method__) @data_protection_orchestration.request_config(arg) @data_protection_orchestration end
database(arg = {})
click to toggle source
# File lib/misty/cloud.rb, line 90 def database(arg = {}) @database ||= build_service(__method__) @database.request_config(arg) @database end
dns(arg = {})
click to toggle source
# File lib/misty/cloud.rb, line 96 def dns(arg = {}) @dns ||= build_service(__method__) @dns.request_config(arg) @dns end
Also aliased as: domain_name_server
event(arg = {})
click to toggle source
# File lib/misty/cloud.rb, line 102 def event(arg = {}) @event ||= build_service(__method__) @event.request_config(args) @event end
identity(arg = {})
click to toggle source
# File lib/misty/cloud.rb, line 108 def identity(arg = {}) @identity ||= build_service(__method__) @identity.request_config(arg) @identity end
image(arg = {})
click to toggle source
# File lib/misty/cloud.rb, line 114 def image(arg = {}) @image ||= build_service(__method__) @image.request_config(arg) @image end
instance_ha(arg = {})
click to toggle source
# File lib/misty/cloud.rb, line 120 def instance_ha(arg = {}) @instance_ha ||= build_service(__method__) @instance_ha.request_config(args) @instance_ha end
key_manager(arg = {})
click to toggle source
# File lib/misty/cloud.rb, line 126 def key_manager(arg = {}) @key_manager ||= build_service(__method__) @key_manager.request_config(args) @key_manager end
load_balancer(arg = {})
click to toggle source
# File lib/misty/cloud.rb, line 132 def load_balancer(arg = {}) @load_balancer ||= build_service(__method__) @load_balancer.request_config(arg) @load_balancer end
messaging(arg = {})
click to toggle source
# File lib/misty/cloud.rb, line 138 def messaging(arg = {}) @messaging ||= build_service(__method__) @messaging.request_config(arg) @messaging end
metering(arg = {})
click to toggle source
# File lib/misty/cloud.rb, line 144 def metering(arg = {}) @metering ||= build_service(__method__) @metering.request_config(arg) @metering end
metric(arg = {})
click to toggle source
# File lib/misty/cloud.rb, line 150 def metric(arg = {}) @metric ||= build_service(__method__) @metric.request_config(args) @metric end
monitoring(arg = {})
click to toggle source
# File lib/misty/cloud.rb, line 156 def monitoring(arg = {}) @monitoring ||= build_service(__method__) @monitoring.request_config(args) @monitoring end
network(arg = {})
click to toggle source
# File lib/misty/cloud.rb, line 162 def network(arg = {}) @network ||= build_service(__method__) @network.request_config(arg) @network end
nfv_orchestration(arg = {})
click to toggle source
# File lib/misty/cloud.rb, line 168 def nfv_orchestration(arg = {}) @nfv_orchestration ||= build_service(__method__) @nfv_orchestration.request_config(arg) @nfv_orchestration end
object_storage(arg = {})
click to toggle source
# File lib/misty/cloud.rb, line 174 def object_storage(arg = {}) @object_storage ||= build_service(__method__) @object_storage.request_config(arg) @object_storage end
orchestration(arg = {})
click to toggle source
# File lib/misty/cloud.rb, line 180 def orchestration(arg = {}) @orchestration ||= build_service(__method__) @orchestration.request_config(arg) @orchestration end
placement(arg = {})
click to toggle source
# File lib/misty/cloud.rb, line 186 def placement(arg = {}) @placement ||= build_service(__method__) @placement.request_config(args) @placement end
reservation(arg = {})
click to toggle source
# File lib/misty/cloud.rb, line 192 def reservation(arg = {}) @reservation ||= build_service(__method__) @reservation.request_config(args) @reservation end
resource_optimization(arg = {})
click to toggle source
# File lib/misty/cloud.rb, line 198 def resource_optimization(arg = {}) @resource_optimization ||= build_service(__method__) @resource_optimization.request_config(args) @resource_optimization end
search(arg = {})
click to toggle source
# File lib/misty/cloud.rb, line 204 def search(arg = {}) @search ||= build_service(__method__) @search.request_config(arg) @search end
workflow(arg = {})
click to toggle source
# File lib/misty/cloud.rb, line 216 def workflow(arg = {}) @workflow ||= build_service(__method__) @workflow.request_config(args) @workflow end
Private Instance Methods
method_missing(method_name, arg = {})
click to toggle source
# File lib/misty/cloud.rb, line 227 def method_missing(method_name, arg = {}) services_avail = [] Misty.services.types.each do |serv| services_avail << serv if /^#{method_name}/.match(serv) end if services_avail.size == 1 type = services_avail[0] raise NoMethodError, "No such Cloud Service: #{method_name}" unless self.class.method_defined?(type) elsif services_avail.size > 1 raise NoMethodError, "Ambiguous Cloud Service: #{method_name}" else raise NoMethodError, "No such Cloud Service: #{method_name}" end send(type, arg) end