right_flexiscale 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,4 @@
1
+ == 0.0.1 2008-06-17
2
+
3
+ * 1 major enhancement:
4
+ * Initial release
@@ -0,0 +1,13 @@
1
+ History.txt
2
+ Manifest.txt
3
+ README.txt
4
+ Rakefile
5
+ lib/right_flexiscale.rb
6
+ lib/api/Flexiscale APIAddons.rb
7
+ lib/api/Flexiscale APIDriver.rb
8
+ lib/api/Flexiscale APIMappingRegistry.rb
9
+ lib/api/Flexiscale API.rb
10
+ lib/api/right_flexiscale_api.rb
11
+ lib/api/benchmark_fix.rb
12
+ test/test_helper.rb
13
+ test/test_right_flexiscale.rb
@@ -0,0 +1,78 @@
1
+ == RightScale Flexiscale API Ruby Gem
2
+
3
+ Published by RightScale, Inc. under the MIT License. For information about
4
+ RightScale, see www.rightscale.com
5
+
6
+ == DESCRIPTION:
7
+
8
+ The RightScale GoGrid gem has been designed to provide a robust interface to
9
+ Flexiscale‘s existing API.
10
+
11
+
12
+ == FEATURES/PROBLEMS:
13
+
14
+ * Full programmatic access to the Flexiscale API.
15
+ * Complete error handling: all operations check for errors and report
16
+ complete error information.
17
+
18
+ == SYNOPSIS:
19
+
20
+ flexiscale = Rightscale::FlexiscaleApi.new(username, password)
21
+
22
+ # get servers list
23
+ servers = flexiscale.list_servers
24
+
25
+ # OS images
26
+ images = flexiscale.list_operating_system_images
27
+
28
+ # create a new server
29
+ image = flexiscale.list_operating_system_images.first
30
+ package = flexiscale.list_packages.first
31
+ vlan = flexiscale.list_vlans.first
32
+ server_id = flexiscale.create_server('my_awesome_server', package[:fxs_id], 1, 1024, 20, image[:fxs_id], vlan[:fxs_id])
33
+
34
+ # launch a server
35
+ job_id = flexiscale.start_server('my_awesome_server')
36
+
37
+ # reboot
38
+ job_id = flexiscale.reboot_server('my_awesome_server')
39
+
40
+ # stop and destroy server
41
+ job_id = flexiscale.stop_server('my_awesome_server')
42
+
43
+ if flexiscale.wait_for_jobs(job_id)
44
+ flexiscale.destroy_server('my_awesome_server')
45
+ end
46
+
47
+ == REQUIREMENTS:
48
+
49
+ * soap4r
50
+
51
+ == INSTALL:
52
+
53
+ * sudo gem install right_flexiscale
54
+
55
+ == LICENSE:
56
+
57
+ Copyright (c) 2008-2009 RightScale Inc
58
+
59
+ Permission is hereby granted, free of charge, to any person obtaining
60
+ a copy of this software and associated documentation files (the
61
+ "Software"), to deal in the Software without restriction, including
62
+ without limitation the rights to use, copy, modify, merge, publish,
63
+ distribute, sublicense, and/or sell copies of the Software, and to
64
+ permit persons to whom the Software is furnished to do so, subject to
65
+ the following conditions:
66
+
67
+ The above copyright notice and this permission notice shall be
68
+ included in all copies or substantial portions of the Software.
69
+
70
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
71
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
72
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
73
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
74
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
75
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
76
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
77
+
78
+
@@ -0,0 +1,49 @@
1
+
2
+ require 'rubygems'
3
+ require 'hoe'
4
+ require "rake/testtask"
5
+ require 'rcov/rcovtask'
6
+ $: << File.dirname(__FILE__)
7
+ require 'lib/right_flexiscale.rb'
8
+
9
+ testglobs = []
10
+
11
+ # Suppress Hoe's self-inclusion as a dependency for our Gem. This also keeps
12
+ # Rake & rubyforge out of the dependency list. Users must manually install
13
+ # these gems to run tests, etc.
14
+ # TRB 2/19/09: also do this for the extra_dev_deps array present in newer hoes.
15
+ # Older versions of RubyGems will try to install developer-dependencies as
16
+ # required runtime dependencies....
17
+ class Hoe
18
+ def extra_deps
19
+ @extra_deps.reject do |x|
20
+ Array(x).first == 'hoe'
21
+ end
22
+ end
23
+ def extra_dev_deps
24
+ @extra_dev_deps.reject do |x|
25
+ Array(x).first == 'hoe'
26
+ end
27
+ end
28
+ end
29
+
30
+ Hoe.new('right_flexiscale', RightFlexiscale::VERSION::STRING) do |p|
31
+ p.rubyforge_name = 'rightscale'
32
+ p.author = 'RightScale, Inc.'
33
+ p.email = 'rubygems@rightscale.com'
34
+ p.summary = 'Interface classes for the FlexiScale Web Services'
35
+ p.description = p.paragraphs_of('README.txt', 2..5).join("\n\n")
36
+ p.url = p.paragraphs_of('README.txt', 0).first.split(/\n/)[1..-1]
37
+ p.changes = p.paragraphs_of('History.txt', 0..1).join("\n\n")
38
+ p.remote_rdoc_dir = "/right_flexiscale_gem_doc"
39
+ p.extra_deps = [['soap4r','>= 1.5.8']]
40
+ p.test_globs = testglobs
41
+ end
42
+
43
+ desc "Analyze code coverage of the unit tests."
44
+ Rcov::RcovTask.new do |t|
45
+ t.test_files = FileList[testglobs]
46
+ #t.verbose = true # uncomment to see the executed command
47
+ end
48
+
49
+ # vim: syntax=Ruby
@@ -0,0 +1,513 @@
1
+ require 'xsd/qname'
2
+
3
+ module FlexiScale
4
+
5
+
6
+ # {http://api.flexiscale.com}OperatingSystemImage
7
+ # operating_system_image_id - SOAP::SOAPInt
8
+ # operating_system_image_name - SOAP::SOAPString
9
+ class OperatingSystemImage # :nodoc:
10
+ attr_accessor :operating_system_image_id
11
+ attr_accessor :operating_system_image_name
12
+
13
+ def initialize(operating_system_image_id = nil, operating_system_image_name = nil)
14
+ @operating_system_image_id = operating_system_image_id
15
+ @operating_system_image_name = operating_system_image_name
16
+ end
17
+ end
18
+
19
+ # {http://api.flexiscale.com}Disk
20
+ # disk_id - SOAP::SOAPInt
21
+ # package_id - SOAP::SOAPInt
22
+ # capacity - SOAP::SOAPInt
23
+ # usage - SOAP::SOAPFloat
24
+ # server_id - SOAP::SOAPInt
25
+ # locked - SOAP::SOAPInt
26
+ # disk_name - SOAP::SOAPString
27
+ class Disk # :nodoc:
28
+ attr_accessor :disk_id
29
+ attr_accessor :package_id
30
+ attr_accessor :capacity
31
+ attr_accessor :usage
32
+ attr_accessor :server_id
33
+ attr_accessor :locked
34
+ attr_accessor :disk_name
35
+
36
+ def initialize(disk_id = nil, package_id = nil, capacity = nil, usage = nil, server_id = nil, locked = nil, disk_name = nil)
37
+ @disk_id = disk_id
38
+ @package_id = package_id
39
+ @capacity = capacity
40
+ @usage = usage
41
+ @server_id = server_id
42
+ @locked = locked
43
+ @disk_name = disk_name
44
+ end
45
+ end
46
+
47
+ # {http://api.flexiscale.com}NetworkInterface
48
+ # network_interface_id - SOAP::SOAPInt
49
+ # server_id - SOAP::SOAPInt
50
+ # vlan_id - SOAP::SOAPInt
51
+ # mac_address - SOAP::SOAPString
52
+ class NetworkInterface # :nodoc:
53
+ attr_accessor :network_interface_id
54
+ attr_accessor :server_id
55
+ attr_accessor :vlan_id
56
+ attr_accessor :mac_address
57
+
58
+ def initialize(network_interface_id = nil, server_id = nil, vlan_id = nil, mac_address = nil)
59
+ @network_interface_id = network_interface_id
60
+ @server_id = server_id
61
+ @vlan_id = vlan_id
62
+ @mac_address = mac_address
63
+ end
64
+ end
65
+
66
+ # {http://api.flexiscale.com}IpBlock
67
+ # ip_block_id - SOAP::SOAPInt
68
+ # start_ip - SOAP::SOAPString
69
+ # end_ip - SOAP::SOAPString
70
+ # block_type - SOAP::SOAPInt
71
+ # customer_vlan_id - SOAP::SOAPInt
72
+ class IpBlock # :nodoc:
73
+ attr_accessor :ip_block_id
74
+ attr_accessor :start_ip
75
+ attr_accessor :end_ip
76
+ attr_accessor :block_type
77
+ attr_accessor :customer_vlan_id
78
+
79
+ def initialize(ip_block_id = nil, start_ip = nil, end_ip = nil, block_type = nil, customer_vlan_id = nil)
80
+ @ip_block_id = ip_block_id
81
+ @start_ip = start_ip
82
+ @end_ip = end_ip
83
+ @block_type = block_type
84
+ @customer_vlan_id = customer_vlan_id
85
+ end
86
+ end
87
+
88
+ # {http://api.flexiscale.com}Firewall
89
+ # firewall_id - SOAP::SOAPInt
90
+ # ip_address - SOAP::SOAPString
91
+ # default_policy - SOAP::SOAPString
92
+ class Firewall # :nodoc:
93
+ attr_accessor :firewall_id
94
+ attr_accessor :ip_address
95
+ attr_accessor :default_policy
96
+
97
+ def initialize(firewall_id = nil, ip_address = nil, default_policy = nil)
98
+ @firewall_id = firewall_id
99
+ @ip_address = ip_address
100
+ @default_policy = default_policy
101
+ end
102
+ end
103
+
104
+ # {http://api.flexiscale.com}FirewallTemplate
105
+ # firewall_template_id - SOAP::SOAPInt
106
+ # template_name - SOAP::SOAPString
107
+ # default_policy - SOAP::SOAPString
108
+ class FirewallTemplate # :nodoc:
109
+ attr_accessor :firewall_template_id
110
+ attr_accessor :template_name
111
+ attr_accessor :default_policy
112
+
113
+ def initialize(firewall_template_id = nil, template_name = nil, default_policy = nil)
114
+ @firewall_template_id = firewall_template_id
115
+ @template_name = template_name
116
+ @default_policy = default_policy
117
+ end
118
+ end
119
+
120
+ # {http://api.flexiscale.com}FirewallRule
121
+ # firewall_rule_id - SOAP::SOAPInt
122
+ # firewall_id - SOAP::SOAPInt
123
+ # sequence_no - SOAP::SOAPInt
124
+ # rule_name - SOAP::SOAPString
125
+ # direction - SOAP::SOAPString
126
+ # firewall_protocol_id - SOAP::SOAPInt
127
+ # source_port - SOAP::SOAPInt
128
+ # destination_port - SOAP::SOAPInt
129
+ # icmp_parameter_id - SOAP::SOAPInt
130
+ # ip_address - SOAP::SOAPString
131
+ # ip_address_mask - SOAP::SOAPInt
132
+ # action - SOAP::SOAPString
133
+ # jump_to - SOAP::SOAPInt
134
+ class FirewallRule # :nodoc:
135
+ attr_accessor :firewall_rule_id
136
+ attr_accessor :firewall_id
137
+ attr_accessor :sequence_no
138
+ attr_accessor :rule_name
139
+ attr_accessor :direction
140
+ attr_accessor :firewall_protocol_id
141
+ attr_accessor :source_port
142
+ attr_accessor :destination_port
143
+ attr_accessor :icmp_parameter_id
144
+ attr_accessor :ip_address
145
+ attr_accessor :ip_address_mask
146
+ attr_accessor :action
147
+ attr_accessor :jump_to
148
+
149
+ def initialize(firewall_rule_id = nil, firewall_id = nil, sequence_no = nil, rule_name = nil, direction = nil, firewall_protocol_id = nil, source_port = nil, destination_port = nil, icmp_parameter_id = nil, ip_address = nil, ip_address_mask = nil, action = nil, jump_to = nil)
150
+ @firewall_rule_id = firewall_rule_id
151
+ @firewall_id = firewall_id
152
+ @sequence_no = sequence_no
153
+ @rule_name = rule_name
154
+ @direction = direction
155
+ @firewall_protocol_id = firewall_protocol_id
156
+ @source_port = source_port
157
+ @destination_port = destination_port
158
+ @icmp_parameter_id = icmp_parameter_id
159
+ @ip_address = ip_address
160
+ @ip_address_mask = ip_address_mask
161
+ @action = action
162
+ @jump_to = jump_to
163
+ end
164
+ end
165
+
166
+ # {http://api.flexiscale.com}FirewallTemplateRule
167
+ # firewall_template_rule_id - SOAP::SOAPInt
168
+ # firewall_template_id - SOAP::SOAPInt
169
+ # sequence_no - SOAP::SOAPInt
170
+ # rule_name - SOAP::SOAPString
171
+ # direction - SOAP::SOAPString
172
+ # firewall_protocol_id - SOAP::SOAPInt
173
+ # source_port - SOAP::SOAPInt
174
+ # destination_port - SOAP::SOAPInt
175
+ # icmp_parameter_id - SOAP::SOAPInt
176
+ # ip_address - SOAP::SOAPString
177
+ # ip_address_mask - SOAP::SOAPInt
178
+ # action - SOAP::SOAPString
179
+ # jump_to - SOAP::SOAPInt
180
+ class FirewallTemplateRule # :nodoc:
181
+ attr_accessor :firewall_template_rule_id
182
+ attr_accessor :firewall_template_id
183
+ attr_accessor :sequence_no
184
+ attr_accessor :rule_name
185
+ attr_accessor :direction
186
+ attr_accessor :firewall_protocol_id
187
+ attr_accessor :source_port
188
+ attr_accessor :destination_port
189
+ attr_accessor :icmp_parameter_id
190
+ attr_accessor :ip_address
191
+ attr_accessor :ip_address_mask
192
+ attr_accessor :action
193
+ attr_accessor :jump_to
194
+
195
+ def initialize(firewall_template_rule_id = nil, firewall_template_id = nil, sequence_no = nil, rule_name = nil, direction = nil, firewall_protocol_id = nil, source_port = nil, destination_port = nil, icmp_parameter_id = nil, ip_address = nil, ip_address_mask = nil, action = nil, jump_to = nil)
196
+ @firewall_template_rule_id = firewall_template_rule_id
197
+ @firewall_template_id = firewall_template_id
198
+ @sequence_no = sequence_no
199
+ @rule_name = rule_name
200
+ @direction = direction
201
+ @firewall_protocol_id = firewall_protocol_id
202
+ @source_port = source_port
203
+ @destination_port = destination_port
204
+ @icmp_parameter_id = icmp_parameter_id
205
+ @ip_address = ip_address
206
+ @ip_address_mask = ip_address_mask
207
+ @action = action
208
+ @jump_to = jump_to
209
+ end
210
+ end
211
+
212
+ # {http://api.flexiscale.com}IcmpProtocol
213
+ # icmp_protocol_id - SOAP::SOAPInt
214
+ # description - SOAP::SOAPString
215
+ class IcmpProtocol # :nodoc:
216
+ attr_accessor :icmp_protocol_id
217
+ attr_accessor :description
218
+
219
+ def initialize(icmp_protocol_id = nil, description = nil)
220
+ @icmp_protocol_id = icmp_protocol_id
221
+ @description = description
222
+ end
223
+ end
224
+
225
+ # {http://api.flexiscale.com}FirewallProtocol
226
+ # firewall_protocol_id - SOAP::SOAPInt
227
+ # name - SOAP::SOAPString
228
+ class FirewallProtocol # :nodoc:
229
+ attr_accessor :firewall_protocol_id
230
+ attr_accessor :name
231
+
232
+ def initialize(firewall_protocol_id = nil, name = nil)
233
+ @firewall_protocol_id = firewall_protocol_id
234
+ @name = name
235
+ end
236
+ end
237
+
238
+ # {http://api.flexiscale.com}Vlan
239
+ # vlan_id - SOAP::SOAPInt
240
+ # vlan_name - SOAP::SOAPString
241
+ class Vlan # :nodoc:
242
+ attr_accessor :vlan_id
243
+ attr_accessor :vlan_name
244
+
245
+ def initialize(vlan_id = nil, vlan_name = nil)
246
+ @vlan_id = vlan_id
247
+ @vlan_name = vlan_name
248
+ end
249
+ end
250
+
251
+ # {http://api.flexiscale.com}Server
252
+ # server_id - SOAP::SOAPInt
253
+ # server_name - SOAP::SOAPString
254
+ # status - SOAP::SOAPString
255
+ # package_id - SOAP::SOAPInt
256
+ # processors - SOAP::SOAPInt
257
+ # memory - SOAP::SOAPInt
258
+ # operating_system_image - FlexiScale::OperatingSystemImage
259
+ # disk_capacity - SOAP::SOAPLong
260
+ # disks - FlexiScale::ArrayOf_xsd_int
261
+ # network_interfaces - FlexiScale::ArrayOf_xsd_int
262
+ # initial_password - SOAP::SOAPString
263
+ # uptime - SOAP::SOAPLong
264
+ # ip_addresses - FlexiScale::ArrayOf_xsd_string
265
+ # modified - SOAP::SOAPBoolean
266
+ class Server # :nodoc:
267
+ attr_accessor :server_id
268
+ attr_accessor :server_name
269
+ attr_accessor :status
270
+ attr_accessor :package_id
271
+ attr_accessor :processors
272
+ attr_accessor :memory
273
+ attr_accessor :operating_system_image
274
+ attr_accessor :disk_capacity
275
+ attr_accessor :disks
276
+ attr_accessor :network_interfaces
277
+ attr_accessor :initial_password
278
+ attr_accessor :uptime
279
+ attr_accessor :ip_addresses
280
+ attr_accessor :modified
281
+
282
+ def initialize(server_id = nil, server_name = nil, status = nil, package_id = nil, processors = nil, memory = nil, operating_system_image = nil, disk_capacity = nil, disks = nil, network_interfaces = nil, initial_password = nil, uptime = nil, ip_addresses = nil, modified = nil)
283
+ @server_id = server_id
284
+ @server_name = server_name
285
+ @status = status
286
+ @package_id = package_id
287
+ @processors = processors
288
+ @memory = memory
289
+ @operating_system_image = operating_system_image
290
+ @disk_capacity = disk_capacity
291
+ @disks = disks
292
+ @network_interfaces = network_interfaces
293
+ @initial_password = initial_password
294
+ @uptime = uptime
295
+ @ip_addresses = ip_addresses
296
+ @modified = modified
297
+ end
298
+
299
+ def on_simple_outbound
300
+ { 'kd' => 1234567 }
301
+ end
302
+
303
+ end
304
+
305
+ # {http://api.flexiscale.com}Job
306
+ # job_id - SOAP::SOAPInt
307
+ # type_id - SOAP::SOAPInt
308
+ # status - SOAP::SOAPInt
309
+ # started - SOAP::SOAPDateTime
310
+ # finished - SOAP::SOAPDateTime
311
+ # description - SOAP::SOAPString
312
+ # parent_job - SOAP::SOAPInt
313
+ # notes - SOAP::SOAPString
314
+ class Job # :nodoc:
315
+ attr_accessor :job_id
316
+ attr_accessor :type_id
317
+ attr_accessor :status
318
+ attr_accessor :started
319
+ attr_accessor :finished
320
+ attr_accessor :description
321
+ attr_accessor :parent_job
322
+ attr_accessor :notes
323
+
324
+ def initialize(job_id = nil, type_id = nil, status = nil, started = nil, finished = nil, description = nil, parent_job = nil, notes = nil)
325
+ @job_id = job_id
326
+ @type_id = type_id
327
+ @status = status
328
+ @started = started
329
+ @finished = finished
330
+ @description = description
331
+ @parent_job = parent_job
332
+ @notes = notes
333
+ end
334
+ end
335
+
336
+ # {http://api.flexiscale.com}Package
337
+ # package_id - SOAP::SOAPInt
338
+ # package_name - SOAP::SOAPString
339
+ class Package # :nodoc:
340
+ attr_accessor :package_id
341
+ attr_accessor :package_name
342
+
343
+ def initialize(package_id = nil, package_name = nil)
344
+ @package_id = package_id
345
+ @package_name = package_name
346
+ end
347
+ end
348
+
349
+ # {http://api.flexiscale.com}DebitItem
350
+ # debit_item_id - SOAP::SOAPInt
351
+ # item_type - SOAP::SOAPString
352
+ # type_id - SOAP::SOAPInt
353
+ # item_value - SOAP::SOAPFloat
354
+ # item_cost - SOAP::SOAPFloat
355
+ # debit_id - SOAP::SOAPInt
356
+ # description - SOAP::SOAPString
357
+ # timestamp - SOAP::SOAPString
358
+ class DebitItem # :nodoc:
359
+ attr_accessor :debit_item_id
360
+ attr_accessor :item_type
361
+ attr_accessor :type_id
362
+ attr_accessor :item_value
363
+ attr_accessor :item_cost
364
+ attr_accessor :debit_id
365
+ attr_accessor :description
366
+ attr_accessor :timestamp
367
+
368
+ def initialize(debit_item_id = nil, item_type = nil, type_id = nil, item_value = nil, item_cost = nil, debit_id = nil, description = nil, timestamp = nil)
369
+ @debit_item_id = debit_item_id
370
+ @item_type = item_type
371
+ @type_id = type_id
372
+ @item_value = item_value
373
+ @item_cost = item_cost
374
+ @debit_id = debit_id
375
+ @description = description
376
+ @timestamp = timestamp
377
+ end
378
+ end
379
+
380
+ # {http://api.flexiscale.com}Debit
381
+ # debit_id - SOAP::SOAPInt
382
+ # creation_time - SOAP::SOAPString
383
+ # item_count - SOAP::SOAPInt
384
+ # item_cost - SOAP::SOAPFloat
385
+ class Debit # :nodoc:
386
+ attr_accessor :debit_id
387
+ attr_accessor :creation_time
388
+ attr_accessor :item_count
389
+ attr_accessor :item_cost
390
+
391
+ def initialize(debit_id = nil, creation_time = nil, item_count = nil, item_cost = nil)
392
+ @debit_id = debit_id
393
+ @creation_time = creation_time
394
+ @item_count = item_count
395
+ @item_cost = item_cost
396
+ end
397
+ end
398
+
399
+ # {http://api.flexiscale.com}Credit
400
+ # credit_id - SOAP::SOAPInt
401
+ # credit_date - SOAP::SOAPString
402
+ # credit_amount - SOAP::SOAPFloat
403
+ # unused_credit - SOAP::SOAPFloat
404
+ class Credit # :nodoc:
405
+ attr_accessor :credit_id
406
+ attr_accessor :credit_date
407
+ attr_accessor :credit_amount
408
+ attr_accessor :unused_credit
409
+
410
+ def initialize(credit_id = nil, credit_date = nil, credit_amount = nil, unused_credit = nil)
411
+ @credit_id = credit_id
412
+ @credit_date = credit_date
413
+ @credit_amount = credit_amount
414
+ @unused_credit = unused_credit
415
+ end
416
+ end
417
+
418
+ # {http://api.flexiscale.com}CreditDebit
419
+ # credit_debit_id - SOAP::SOAPInt
420
+ # credit_id - SOAP::SOAPInt
421
+ # debit_id - SOAP::SOAPInt
422
+ # amount - SOAP::SOAPFloat
423
+ class CreditDebit # :nodoc:
424
+ attr_accessor :credit_debit_id
425
+ attr_accessor :credit_id
426
+ attr_accessor :debit_id
427
+ attr_accessor :amount
428
+
429
+ def initialize(credit_debit_id = nil, credit_id = nil, debit_id = nil, amount = nil)
430
+ @credit_debit_id = credit_debit_id
431
+ @credit_id = credit_id
432
+ @debit_id = debit_id
433
+ @amount = amount
434
+ end
435
+ end
436
+
437
+ # {http://api.flexiscale.com}ArrayOf_xsd_int
438
+ class ArrayOf_xsd_int < ::Array # :nodoc:
439
+ end
440
+
441
+ # {http://api.flexiscale.com}ArrayOf_xsd_string
442
+ class ArrayOf_xsd_string < ::Array # :nodoc:
443
+ end
444
+
445
+ # {http://api.flexiscale.com}ArrayOfServer
446
+ class ArrayOfServer < ::Array # :nodoc:
447
+ end
448
+
449
+ # {http://api.flexiscale.com}ArrayOfOperatingSystemImage
450
+ class ArrayOfOperatingSystemImage < ::Array # :nodoc:
451
+ end
452
+
453
+ # {http://api.flexiscale.com}ArrayOfFirewall
454
+ class ArrayOfFirewall < ::Array # :nodoc:
455
+ end
456
+
457
+ # {http://api.flexiscale.com}ArrayOfFirewallTemplate
458
+ class ArrayOfFirewallTemplate < ::Array # :nodoc:
459
+ end
460
+
461
+ # {http://api.flexiscale.com}ArrayOfFirewallRule
462
+ class ArrayOfFirewallRule < ::Array # :nodoc:
463
+ end
464
+
465
+ # {http://api.flexiscale.com}ArrayOfFirewallTemplateRule
466
+ class ArrayOfFirewallTemplateRule < ::Array # :nodoc:
467
+ end
468
+
469
+ # {http://api.flexiscale.com}ArrayOfIcmpProtocol
470
+ class ArrayOfIcmpProtocol < ::Array # :nodoc:
471
+ end
472
+
473
+ # {http://api.flexiscale.com}ArrayOfFirewallProtocol
474
+ class ArrayOfFirewallProtocol < ::Array # :nodoc:
475
+ end
476
+
477
+ # {http://api.flexiscale.com}ArrayOfIpBlock
478
+ class ArrayOfIpBlock < ::Array # :nodoc:
479
+ end
480
+
481
+ # {http://api.flexiscale.com}ArrayOfVlan
482
+ class ArrayOfVlan < ::Array # :nodoc:
483
+ end
484
+
485
+ # {http://api.flexiscale.com}ArrayOfNetworkInterface
486
+ class ArrayOfNetworkInterface < ::Array # :nodoc:
487
+ end
488
+
489
+ # {http://api.flexiscale.com}ArrayOfDisk
490
+ class ArrayOfDisk < ::Array # :nodoc:
491
+ end
492
+
493
+ # {http://api.flexiscale.com}ArrayOfJob
494
+ class ArrayOfJob < ::Array # :nodoc:
495
+ end
496
+
497
+ # {http://api.flexiscale.com}ArrayOfPackage
498
+ class ArrayOfPackage < ::Array # :nodoc:
499
+ end
500
+
501
+ # {http://api.flexiscale.com}ArrayOfDebitItem
502
+ class ArrayOfDebitItem < ::Array # :nodoc:
503
+ end
504
+
505
+ # {http://api.flexiscale.com}ArrayOfDebit
506
+ class ArrayOfDebit < ::Array # :nodoc:
507
+ end
508
+
509
+ # {http://api.flexiscale.com}ArrayOfCredit
510
+ class ArrayOfCredit < ::Array # :nodoc:
511
+ end
512
+
513
+ end