Class: Misty::Cloud
- Inherits:
-
Object
show all
- Defined in:
- lib/misty/cloud.rb
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
Constructor Details
#initialize(arg) ⇒ Cloud
Returns a new instance of Cloud.
12
13
14
|
# File 'lib/misty/cloud.rb', line 12
def initialize(arg)
@config = Misty::Config.new(arg)
end
|
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(method_name, arg = {}) ⇒ Object
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
|
# 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
|
Instance Attribute Details
#config ⇒ Object
Returns the value of attribute config.
6
7
8
|
# File 'lib/misty/cloud.rb', line 6
def config
@config
end
|
Class Method Details
.dot_to_underscore(val) ⇒ Object
8
9
10
|
# File 'lib/misty/cloud.rb', line 8
def self.dot_to_underscore(val)
val.gsub(/\./,'_')
end
|
Instance Method Details
#alarming(arg = {}) ⇒ Object
30
31
32
33
34
|
# File 'lib/misty/cloud.rb', line 30
def alarming(arg = {})
@alarming ||= build_service(__method__)
@alarming.request_config(arg)
@alarming
end
|
#application_catalog(arg = {}) ⇒ Object
24
25
26
27
28
|
# 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 = {}) ⇒ Object
36
37
38
39
40
|
# File 'lib/misty/cloud.rb', line 36
def backup(arg = {})
@backup ||= build_service(__method__)
@backup.request_config(arg)
@backup
end
|
42
43
44
45
46
|
# File 'lib/misty/cloud.rb', line 42
def baremetal(arg = {})
@baremetal ||= build_service(__method__)
@baremetal.request_config(arg)
@baremetal
end
|
#block_storage(arg = {}) ⇒ Object
Also known as:
volume
48
49
50
51
52
|
# File 'lib/misty/cloud.rb', line 48
def block_storage(arg = {})
@block_storage ||= build_service(__method__)
@block_storage.request_config(arg)
@block_storage
end
|
#build_service(method) ⇒ Object
16
17
18
19
20
21
22
|
# 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 = {}) ⇒ Object
54
55
56
57
58
|
# File 'lib/misty/cloud.rb', line 54
def clustering(arg = {})
@clustering ||= build_service(__method__)
@clustering.request_config(arg)
@clustering
end
|
#compute(arg = {}) ⇒ Object
60
61
62
63
64
|
# File 'lib/misty/cloud.rb', line 60
def compute(arg = {})
@compute ||= build_service(__method__)
@compute.request_config(arg)
@compute
end
|
#container_infrastructure_management(arg = {}) ⇒ Object
66
67
68
69
70
|
# 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 = {}) ⇒ Object
72
73
74
75
76
|
# 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 = {}) ⇒ Object
78
79
80
81
82
|
# 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 = {}) ⇒ Object
84
85
86
87
88
|
# 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 = {}) ⇒ Object
90
91
92
93
94
|
# File 'lib/misty/cloud.rb', line 90
def database(arg = {})
@database ||= build_service(__method__)
@database.request_config(arg)
@database
end
|
#dns(arg = {}) ⇒ Object
Also known as:
domain_name_server
96
97
98
99
100
|
# File 'lib/misty/cloud.rb', line 96
def dns(arg = {})
@dns ||= build_service(__method__)
@dns.request_config(arg)
@dns
end
|
#event(arg = {}) ⇒ Object
102
103
104
105
106
|
# File 'lib/misty/cloud.rb', line 102
def event(arg = {})
@event ||= build_service(__method__)
@event.request_config(args)
@event
end
|
#identity(arg = {}) ⇒ Object
108
109
110
111
112
|
# File 'lib/misty/cloud.rb', line 108
def identity(arg = {})
@identity ||= build_service(__method__)
@identity.request_config(arg)
@identity
end
|
#image(arg = {}) ⇒ Object
114
115
116
117
118
|
# File 'lib/misty/cloud.rb', line 114
def image(arg = {})
@image ||= build_service(__method__)
@image.request_config(arg)
@image
end
|
#instance_ha(arg = {}) ⇒ Object
120
121
122
123
124
|
# 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 = {}) ⇒ Object
126
127
128
129
130
|
# 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 = {}) ⇒ Object
132
133
134
135
136
|
# 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 = {}) ⇒ Object
138
139
140
141
142
|
# File 'lib/misty/cloud.rb', line 138
def messaging(arg = {})
@messaging ||= build_service(__method__)
@messaging.request_config(arg)
@messaging
end
|
#metering(arg = {}) ⇒ Object
144
145
146
147
148
|
# File 'lib/misty/cloud.rb', line 144
def metering(arg = {})
@metering ||= build_service(__method__)
@metering.request_config(arg)
@metering
end
|
#metric(arg = {}) ⇒ Object
150
151
152
153
154
|
# File 'lib/misty/cloud.rb', line 150
def metric(arg = {})
@metric ||= build_service(__method__)
@metric.request_config(args)
@metric
end
|
#monitoring(arg = {}) ⇒ Object
156
157
158
159
160
|
# File 'lib/misty/cloud.rb', line 156
def monitoring(arg = {})
@monitoring ||= build_service(__method__)
@monitoring.request_config(args)
@monitoring
end
|
#network(arg = {}) ⇒ Object
162
163
164
165
166
|
# File 'lib/misty/cloud.rb', line 162
def network(arg = {})
@network ||= build_service(__method__)
@network.request_config(arg)
@network
end
|
#nfv_orchestration(arg = {}) ⇒ Object
168
169
170
171
172
|
# 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 = {}) ⇒ Object
174
175
176
177
178
|
# 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 = {}) ⇒ Object
180
181
182
183
184
|
# File 'lib/misty/cloud.rb', line 180
def orchestration(arg = {})
@orchestration ||= build_service(__method__)
@orchestration.request_config(arg)
@orchestration
end
|
#placement(arg = {}) ⇒ Object
186
187
188
189
190
|
# File 'lib/misty/cloud.rb', line 186
def placement(arg = {})
@placement ||= build_service(__method__)
@placement.request_config(args)
@placement
end
|
#reservation(arg = {}) ⇒ Object
192
193
194
195
196
|
# File 'lib/misty/cloud.rb', line 192
def reservation(arg = {})
@reservation ||= build_service(__method__)
@reservation.request_config(args)
@reservation
end
|
#resource_optimization(arg = {}) ⇒ Object
198
199
200
201
202
|
# 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 = {}) ⇒ Object
204
205
206
207
208
|
# File 'lib/misty/cloud.rb', line 204
def search(arg = {})
@search ||= build_service(__method__)
@search.request_config(arg)
@search
end
|
#shared_file_systems(arg = {}) ⇒ Object
210
211
212
213
214
|
# File 'lib/misty/cloud.rb', line 210
def shared_file_systems(arg = {})
@shared_file_systems ||= build_service(__method__)
@shared_file_systems.request_config(arg)
@shared_file_systems
end
|
#workflow(arg = {}) ⇒ Object
216
217
218
219
220
|
# File 'lib/misty/cloud.rb', line 216
def workflow(arg = {})
@workflow ||= build_service(__method__)
@workflow.request_config(args)
@workflow
end
|