fog 0.2.0 → 0.2.1
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +8 -8
- data/Gemfile.lock +3 -3
- data/bin/fog +2 -10
- data/fog.gemspec +45 -20
- data/lib/fog.rb +2 -1
- data/lib/fog/attributes.rb +48 -8
- data/lib/fog/aws/ec2.rb +5 -2
- data/lib/fog/aws/elb.rb +5 -2
- data/lib/fog/aws/models/ec2/server.rb +1 -1
- data/lib/fog/aws/requests/simpledb/put_attributes.rb +43 -12
- data/lib/fog/aws/s3.rb +2 -2
- data/lib/fog/aws/simpledb.rb +15 -3
- data/lib/fog/bin.rb +11 -2
- data/lib/fog/bluebox.rb +5 -1
- data/lib/fog/connection.rb +9 -1
- data/lib/fog/credentials.rb +3 -0
- data/lib/fog/new_servers.rb +89 -0
- data/lib/fog/new_servers/bin.rb +30 -0
- data/lib/fog/new_servers/requests/add_server.rb +39 -0
- data/lib/fog/new_servers/requests/cancel_server.rb +36 -0
- data/lib/fog/new_servers/requests/get_server.rb +42 -0
- data/lib/fog/new_servers/requests/list_images.rb +33 -0
- data/lib/fog/new_servers/requests/list_plans.rb +36 -0
- data/lib/fog/new_servers/requests/list_servers.rb +43 -0
- data/lib/fog/new_servers/requests/reboot_server.rb +30 -0
- data/lib/fog/parser.rb +6 -0
- data/lib/fog/rackspace/files.rb +8 -2
- data/lib/fog/rackspace/models/servers/server.rb +5 -0
- data/lib/fog/rackspace/servers.rb +5 -1
- data/lib/fog/service.rb +6 -1
- data/lib/fog/slicehost.rb +5 -1
- data/lib/fog/terremark/ecloud.rb +1 -0
- data/lib/fog/terremark/shared.rb +4 -1
- data/lib/fog/terremark/vcloud.rb +1 -0
- data/lib/fog/vcloud.rb +150 -141
- data/lib/fog/vcloud/bin.rb +2 -2
- data/lib/fog/vcloud/collection.rb +3 -84
- data/lib/fog/vcloud/extension.rb +44 -0
- data/lib/fog/vcloud/generators.rb +33 -0
- data/lib/fog/vcloud/model.rb +5 -38
- data/lib/fog/vcloud/models/vdc.rb +14 -24
- data/lib/fog/vcloud/models/vdcs.rb +13 -8
- data/lib/fog/vcloud/requests/get_network.rb +4 -11
- data/lib/fog/vcloud/requests/get_organization.rb +4 -11
- data/lib/fog/vcloud/requests/get_vdc.rb +4 -12
- data/lib/fog/vcloud/requests/get_versions.rb +4 -13
- data/lib/fog/vcloud/requests/login.rb +4 -4
- data/lib/fog/vcloud/terremark/ecloud.rb +125 -54
- data/lib/fog/vcloud/terremark/ecloud/models/catalog.rb +30 -0
- data/lib/fog/vcloud/terremark/ecloud/models/catalog_item.rb +31 -0
- data/lib/fog/vcloud/terremark/ecloud/models/internet_service.rb +21 -22
- data/lib/fog/vcloud/terremark/ecloud/models/internet_services.rb +11 -25
- data/lib/fog/vcloud/terremark/ecloud/models/ip.rb +38 -5
- data/lib/fog/vcloud/terremark/ecloud/models/ips.rb +11 -15
- data/lib/fog/vcloud/terremark/ecloud/models/network.rb +52 -11
- data/lib/fog/vcloud/terremark/ecloud/models/networks.rb +14 -13
- data/lib/fog/vcloud/terremark/ecloud/models/node.rb +47 -0
- data/lib/fog/vcloud/terremark/ecloud/models/nodes.rb +30 -0
- data/lib/fog/vcloud/terremark/ecloud/models/public_ip.rb +6 -9
- data/lib/fog/vcloud/terremark/ecloud/models/public_ips.rb +19 -3
- data/lib/fog/vcloud/terremark/ecloud/models/server.rb +203 -0
- data/lib/fog/vcloud/terremark/ecloud/models/servers.rb +43 -0
- data/lib/fog/vcloud/terremark/ecloud/models/task.rb +22 -0
- data/lib/fog/vcloud/terremark/ecloud/models/tasks.rb +30 -0
- data/lib/fog/vcloud/terremark/ecloud/models/vdc.rb +32 -10
- data/lib/fog/vcloud/terremark/ecloud/models/vdcs.rb +5 -6
- data/lib/fog/vcloud/terremark/ecloud/requests/add_internet_service.rb +23 -10
- data/lib/fog/vcloud/terremark/ecloud/requests/add_node.rb +54 -0
- data/lib/fog/vcloud/terremark/ecloud/requests/configure_internet_service.rb +14 -12
- data/lib/fog/vcloud/terremark/ecloud/requests/configure_network.rb +53 -0
- data/lib/fog/vcloud/terremark/ecloud/requests/configure_network_ip.rb +52 -0
- data/lib/fog/vcloud/terremark/ecloud/requests/configure_node.rb +42 -0
- data/lib/fog/vcloud/terremark/ecloud/requests/configure_vapp.rb +115 -0
- data/lib/fog/vcloud/terremark/ecloud/requests/delete_internet_service.rb +4 -23
- data/lib/fog/vcloud/terremark/ecloud/requests/delete_node.rb +0 -0
- data/lib/fog/vcloud/terremark/ecloud/requests/delete_vapp.rb +19 -0
- data/lib/fog/vcloud/terremark/ecloud/requests/get_catalog.rb +18 -0
- data/lib/fog/vcloud/terremark/ecloud/requests/get_catalog_item.rb +18 -0
- data/lib/fog/vcloud/terremark/ecloud/requests/get_customization_options.rb +18 -0
- data/lib/fog/vcloud/terremark/ecloud/requests/get_internet_services.rb +9 -16
- data/lib/fog/vcloud/terremark/ecloud/requests/get_network.rb +8 -14
- data/lib/fog/vcloud/terremark/ecloud/requests/get_network_extensions.rb +36 -0
- data/lib/fog/vcloud/terremark/ecloud/requests/get_network_ip.rb +44 -0
- data/lib/fog/vcloud/terremark/ecloud/requests/get_network_ips.rb +11 -12
- data/lib/fog/vcloud/terremark/ecloud/requests/get_node.rb +18 -0
- data/lib/fog/vcloud/terremark/ecloud/requests/get_nodes.rb +18 -0
- data/lib/fog/vcloud/terremark/ecloud/requests/get_public_ip.rb +5 -19
- data/lib/fog/vcloud/terremark/ecloud/requests/get_public_ips.rb +5 -12
- data/lib/fog/vcloud/terremark/ecloud/requests/get_task.rb +18 -0
- data/lib/fog/vcloud/terremark/ecloud/requests/get_task_list.rb +19 -0
- data/lib/fog/vcloud/terremark/ecloud/requests/get_vapp.rb +18 -0
- data/lib/fog/vcloud/terremark/ecloud/requests/get_vdc.rb +7 -15
- data/lib/fog/vcloud/terremark/ecloud/requests/power_off.rb +18 -0
- data/lib/fog/vcloud/terremark/ecloud/requests/power_on.rb +18 -0
- data/lib/fog/vcloud/terremark/ecloud/requests/power_reset.rb +18 -0
- data/lib/fog/vcloud/terremark/ecloud/requests/power_shutdown.rb +18 -0
- data/lib/fog/vcloud/terremark/vcloud.rb +4 -18
- data/lib/fog/vcloud/terremark/vcloud/requests/get_vdc.rb +4 -12
- data/spec/aws/requests/simpledb/put_attributes_spec.rb +18 -0
- data/spec/vcloud/bin_spec.rb +2 -2
- data/spec/vcloud/models/vdc_spec.rb +35 -29
- data/spec/vcloud/requests/get_network_spec.rb +32 -43
- data/spec/vcloud/requests/get_organization_spec.rb +45 -38
- data/spec/vcloud/requests/get_vdc_spec.rb +42 -32
- data/spec/vcloud/requests/get_versions_spec.rb +17 -17
- data/spec/vcloud/requests/login_spec.rb +7 -4
- data/spec/vcloud/spec_helper.rb +137 -46
- data/spec/vcloud/terremark/ecloud/models/internet_service_spec.rb +53 -58
- data/spec/vcloud/terremark/ecloud/models/internet_services_spec.rb +20 -20
- data/spec/vcloud/terremark/ecloud/models/ip_spec.rb +22 -21
- data/spec/vcloud/terremark/ecloud/models/ips_spec.rb +18 -18
- data/spec/vcloud/terremark/ecloud/models/network_spec.rb +55 -51
- data/spec/vcloud/terremark/ecloud/models/networks_spec.rb +16 -15
- data/spec/vcloud/terremark/ecloud/models/public_ip_spec.rb +26 -27
- data/spec/vcloud/terremark/ecloud/models/public_ips_spec.rb +16 -15
- data/spec/vcloud/terremark/ecloud/models/vdc_spec.rb +52 -36
- data/spec/vcloud/terremark/ecloud/models/vdcs_spec.rb +18 -15
- data/spec/vcloud/terremark/ecloud/requests/add_internet_service_spec.rb +46 -43
- data/spec/vcloud/terremark/ecloud/requests/configure_internet_service_spec.rb +37 -32
- data/spec/vcloud/terremark/ecloud/requests/delete_internet_service_spec.rb +26 -23
- data/spec/vcloud/terremark/ecloud/requests/get_internet_services_spec.rb +57 -49
- data/spec/vcloud/terremark/ecloud/requests/get_network_ip_spec.rb +41 -0
- data/spec/vcloud/terremark/ecloud/requests/get_network_ips_spec.rb +39 -34
- data/spec/vcloud/terremark/ecloud/requests/get_network_spec.rb +26 -48
- data/spec/vcloud/terremark/ecloud/requests/get_public_ip_spec.rb +25 -26
- data/spec/vcloud/terremark/ecloud/requests/get_public_ips_spec.rb +35 -27
- data/spec/vcloud/terremark/ecloud/requests/get_vdc_spec.rb +85 -110
- data/spec/vcloud/terremark/ecloud/requests/login_spec.rb +7 -4
- data/spec/vcloud/vcloud_spec.rb +9 -8
- metadata +62 -26
- data/lib/fog/vcloud/parser.rb +0 -42
- data/lib/fog/vcloud/parsers/get_organization.rb +0 -37
- data/lib/fog/vcloud/parsers/get_vdc.rb +0 -62
- data/lib/fog/vcloud/parsers/get_versions.rb +0 -46
- data/lib/fog/vcloud/parsers/login.rb +0 -36
- data/lib/fog/vcloud/parsers/network.rb +0 -53
- data/lib/fog/vcloud/terremark/all.rb +0 -9
- data/lib/fog/vcloud/terremark/ecloud/parsers/get_internet_services.rb +0 -59
- data/lib/fog/vcloud/terremark/ecloud/parsers/get_public_ip.rb +0 -30
- data/lib/fog/vcloud/terremark/ecloud/parsers/get_public_ips.rb +0 -40
- data/lib/fog/vcloud/terremark/ecloud/parsers/get_vdc.rb +0 -59
- data/lib/fog/vcloud/terremark/ecloud/parsers/internet_service.rb +0 -58
- data/lib/fog/vcloud/terremark/ecloud/parsers/network.rb +0 -28
- data/lib/fog/vcloud/terremark/ecloud/parsers/network_ips.rb +0 -31
- data/lib/fog/vcloud/terremark/ecloud/requests/login.rb +0 -27
- data/lib/fog/vcloud/terremark/vcloud/parsers/get_vdc.rb +0 -34
- data/spec/vcloud/terremark/vcloud/requests/get_vdc_spec.rb +0 -74
data/Gemfile
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
source 'http://gemcutter.org'
|
2
2
|
|
3
3
|
gem 'rake'
|
4
|
-
gem 'excon',
|
4
|
+
gem 'excon', '>= 0.1.2'
|
5
5
|
gem 'formatador', ">= 0.0.10"
|
6
|
-
gem 'json',
|
6
|
+
gem 'json', ">= 0"
|
7
7
|
gem 'mime-types', ">= 0"
|
8
|
-
gem 'net-ssh',
|
9
|
-
gem 'nokogiri',
|
10
|
-
gem 'rspec',
|
11
|
-
gem 'ruby-hmac',
|
12
|
-
gem 'shindo',
|
13
|
-
gem 'builder',
|
8
|
+
gem 'net-ssh', ">= 0"
|
9
|
+
gem 'nokogiri', ">= 0"
|
10
|
+
gem 'rspec', '>= 0'
|
11
|
+
gem 'ruby-hmac', '>= 0'
|
12
|
+
gem 'shindo', '>= 0.1.6'
|
13
|
+
gem 'builder', '>= 0'
|
data/Gemfile.lock
CHANGED
@@ -31,7 +31,7 @@ dependencies:
|
|
31
31
|
excon:
|
32
32
|
group:
|
33
33
|
- :default
|
34
|
-
version: ">= 0.
|
34
|
+
version: ">= 0.1.2"
|
35
35
|
builder:
|
36
36
|
group:
|
37
37
|
- :default
|
@@ -50,7 +50,7 @@ specs:
|
|
50
50
|
- builder:
|
51
51
|
version: 2.1.2
|
52
52
|
- excon:
|
53
|
-
version: 0.
|
53
|
+
version: 0.1.2
|
54
54
|
- formatador:
|
55
55
|
version: 0.0.14
|
56
56
|
- gestalt:
|
@@ -69,7 +69,7 @@ specs:
|
|
69
69
|
version: 0.4.0
|
70
70
|
- shindo:
|
71
71
|
version: 0.1.6
|
72
|
-
hash:
|
72
|
+
hash: 5799aef7324bea69e03170607cb33bea95a3e975
|
73
73
|
sources:
|
74
74
|
- Rubygems:
|
75
75
|
uri: http://gemcutter.org
|
data/bin/fog
CHANGED
@@ -3,20 +3,12 @@ require File.join(File.dirname(__FILE__), '..', 'lib', 'fog')
|
|
3
3
|
require 'irb'
|
4
4
|
require 'yaml'
|
5
5
|
require File.join('fog', 'credentials')
|
6
|
-
|
7
|
-
|
8
|
-
Fog.credential = ARGV.first ? :"#{ARGV.first}" : :default
|
6
|
+
Fog.credential = ARGV.first ? :"#{ARGV.first}" : :default
|
9
7
|
unless Fog.credentials
|
10
8
|
exit
|
11
9
|
end
|
12
10
|
|
13
|
-
require
|
14
|
-
require File.join('fog', 'local', 'bin')
|
15
|
-
require File.join('fog', 'rackspace', 'bin')
|
16
|
-
require File.join('fog', 'slicehost', 'bin')
|
17
|
-
require File.join('fog', 'terremark', 'bin')
|
18
|
-
require File.join('fog', 'vcloud', 'bin')
|
19
|
-
require File.join('fog', 'bluebox', 'bin')
|
11
|
+
require 'fog/bin'
|
20
12
|
|
21
13
|
if ARGV.length > 1
|
22
14
|
print(instance_eval(ARGV[1..-1].join(' ')).to_json)
|
data/fog.gemspec
CHANGED
@@ -7,8 +7,8 @@ Gem::Specification.new do |s|
|
|
7
7
|
## If your rubyforge_project name is different, then edit it and comment out
|
8
8
|
## the sub! line in the Rakefile
|
9
9
|
s.name = 'fog'
|
10
|
-
s.version = '0.2.
|
11
|
-
s.date = '2010-06-
|
10
|
+
s.version = '0.2.1'
|
11
|
+
s.date = '2010-06-27'
|
12
12
|
s.rubyforge_project = 'fog'
|
13
13
|
|
14
14
|
## Make sure your summary is short. The description may be as long
|
@@ -42,13 +42,14 @@ Gem::Specification.new do |s|
|
|
42
42
|
|
43
43
|
## List your runtime dependencies here. Runtime dependencies are those
|
44
44
|
## that are needed for an end user to actually USE your code.
|
45
|
-
s.add_dependency('excon', '>=0.
|
45
|
+
s.add_dependency('excon', '>=0.1.2')
|
46
46
|
s.add_dependency('formatador', '>=0.0.10')
|
47
47
|
s.add_dependency('json')
|
48
48
|
s.add_dependency('mime-types')
|
49
49
|
s.add_dependency('net-ssh')
|
50
50
|
s.add_dependency('nokogiri')
|
51
51
|
s.add_dependency('ruby-hmac')
|
52
|
+
s.add_dependency('builder')
|
52
53
|
|
53
54
|
## List your development dependencies here. Development dependencies are
|
54
55
|
## those that are only needed during development
|
@@ -242,6 +243,15 @@ Gem::Specification.new do |s|
|
|
242
243
|
lib/fog/local/models/file.rb
|
243
244
|
lib/fog/local/models/files.rb
|
244
245
|
lib/fog/model.rb
|
246
|
+
lib/fog/new_servers.rb
|
247
|
+
lib/fog/new_servers/bin.rb
|
248
|
+
lib/fog/new_servers/requests/add_server.rb
|
249
|
+
lib/fog/new_servers/requests/cancel_server.rb
|
250
|
+
lib/fog/new_servers/requests/get_server.rb
|
251
|
+
lib/fog/new_servers/requests/list_images.rb
|
252
|
+
lib/fog/new_servers/requests/list_plans.rb
|
253
|
+
lib/fog/new_servers/requests/list_servers.rb
|
254
|
+
lib/fog/new_servers/requests/reboot_server.rb
|
245
255
|
lib/fog/parser.rb
|
246
256
|
lib/fog/rackspace.rb
|
247
257
|
lib/fog/rackspace/bin.rb
|
@@ -378,51 +388,66 @@ Gem::Specification.new do |s|
|
|
378
388
|
lib/fog/vcloud.rb
|
379
389
|
lib/fog/vcloud/bin.rb
|
380
390
|
lib/fog/vcloud/collection.rb
|
391
|
+
lib/fog/vcloud/extension.rb
|
392
|
+
lib/fog/vcloud/generators.rb
|
381
393
|
lib/fog/vcloud/model.rb
|
382
394
|
lib/fog/vcloud/models/vdc.rb
|
383
395
|
lib/fog/vcloud/models/vdcs.rb
|
384
|
-
lib/fog/vcloud/parser.rb
|
385
|
-
lib/fog/vcloud/parsers/get_organization.rb
|
386
|
-
lib/fog/vcloud/parsers/get_vdc.rb
|
387
|
-
lib/fog/vcloud/parsers/get_versions.rb
|
388
|
-
lib/fog/vcloud/parsers/login.rb
|
389
|
-
lib/fog/vcloud/parsers/network.rb
|
390
396
|
lib/fog/vcloud/requests/get_network.rb
|
391
397
|
lib/fog/vcloud/requests/get_organization.rb
|
392
398
|
lib/fog/vcloud/requests/get_vdc.rb
|
393
399
|
lib/fog/vcloud/requests/get_versions.rb
|
394
400
|
lib/fog/vcloud/requests/login.rb
|
395
|
-
lib/fog/vcloud/terremark/all.rb
|
396
401
|
lib/fog/vcloud/terremark/ecloud.rb
|
402
|
+
lib/fog/vcloud/terremark/ecloud/models/catalog.rb
|
403
|
+
lib/fog/vcloud/terremark/ecloud/models/catalog_item.rb
|
397
404
|
lib/fog/vcloud/terremark/ecloud/models/internet_service.rb
|
398
405
|
lib/fog/vcloud/terremark/ecloud/models/internet_services.rb
|
399
406
|
lib/fog/vcloud/terremark/ecloud/models/ip.rb
|
400
407
|
lib/fog/vcloud/terremark/ecloud/models/ips.rb
|
401
408
|
lib/fog/vcloud/terremark/ecloud/models/network.rb
|
402
409
|
lib/fog/vcloud/terremark/ecloud/models/networks.rb
|
410
|
+
lib/fog/vcloud/terremark/ecloud/models/node.rb
|
411
|
+
lib/fog/vcloud/terremark/ecloud/models/nodes.rb
|
403
412
|
lib/fog/vcloud/terremark/ecloud/models/public_ip.rb
|
404
413
|
lib/fog/vcloud/terremark/ecloud/models/public_ips.rb
|
414
|
+
lib/fog/vcloud/terremark/ecloud/models/server.rb
|
415
|
+
lib/fog/vcloud/terremark/ecloud/models/servers.rb
|
416
|
+
lib/fog/vcloud/terremark/ecloud/models/task.rb
|
417
|
+
lib/fog/vcloud/terremark/ecloud/models/tasks.rb
|
405
418
|
lib/fog/vcloud/terremark/ecloud/models/vdc.rb
|
406
419
|
lib/fog/vcloud/terremark/ecloud/models/vdcs.rb
|
407
|
-
lib/fog/vcloud/terremark/ecloud/parsers/get_internet_services.rb
|
408
|
-
lib/fog/vcloud/terremark/ecloud/parsers/get_public_ip.rb
|
409
|
-
lib/fog/vcloud/terremark/ecloud/parsers/get_public_ips.rb
|
410
|
-
lib/fog/vcloud/terremark/ecloud/parsers/get_vdc.rb
|
411
|
-
lib/fog/vcloud/terremark/ecloud/parsers/internet_service.rb
|
412
|
-
lib/fog/vcloud/terremark/ecloud/parsers/network.rb
|
413
|
-
lib/fog/vcloud/terremark/ecloud/parsers/network_ips.rb
|
414
420
|
lib/fog/vcloud/terremark/ecloud/requests/add_internet_service.rb
|
421
|
+
lib/fog/vcloud/terremark/ecloud/requests/add_node.rb
|
415
422
|
lib/fog/vcloud/terremark/ecloud/requests/configure_internet_service.rb
|
423
|
+
lib/fog/vcloud/terremark/ecloud/requests/configure_network.rb
|
424
|
+
lib/fog/vcloud/terremark/ecloud/requests/configure_network_ip.rb
|
425
|
+
lib/fog/vcloud/terremark/ecloud/requests/configure_node.rb
|
426
|
+
lib/fog/vcloud/terremark/ecloud/requests/configure_vapp.rb
|
416
427
|
lib/fog/vcloud/terremark/ecloud/requests/delete_internet_service.rb
|
428
|
+
lib/fog/vcloud/terremark/ecloud/requests/delete_node.rb
|
429
|
+
lib/fog/vcloud/terremark/ecloud/requests/delete_vapp.rb
|
430
|
+
lib/fog/vcloud/terremark/ecloud/requests/get_catalog.rb
|
431
|
+
lib/fog/vcloud/terremark/ecloud/requests/get_catalog_item.rb
|
432
|
+
lib/fog/vcloud/terremark/ecloud/requests/get_customization_options.rb
|
417
433
|
lib/fog/vcloud/terremark/ecloud/requests/get_internet_services.rb
|
418
434
|
lib/fog/vcloud/terremark/ecloud/requests/get_network.rb
|
435
|
+
lib/fog/vcloud/terremark/ecloud/requests/get_network_extensions.rb
|
436
|
+
lib/fog/vcloud/terremark/ecloud/requests/get_network_ip.rb
|
419
437
|
lib/fog/vcloud/terremark/ecloud/requests/get_network_ips.rb
|
438
|
+
lib/fog/vcloud/terremark/ecloud/requests/get_node.rb
|
439
|
+
lib/fog/vcloud/terremark/ecloud/requests/get_nodes.rb
|
420
440
|
lib/fog/vcloud/terremark/ecloud/requests/get_public_ip.rb
|
421
441
|
lib/fog/vcloud/terremark/ecloud/requests/get_public_ips.rb
|
442
|
+
lib/fog/vcloud/terremark/ecloud/requests/get_task.rb
|
443
|
+
lib/fog/vcloud/terremark/ecloud/requests/get_task_list.rb
|
444
|
+
lib/fog/vcloud/terremark/ecloud/requests/get_vapp.rb
|
422
445
|
lib/fog/vcloud/terremark/ecloud/requests/get_vdc.rb
|
423
|
-
lib/fog/vcloud/terremark/ecloud/requests/
|
446
|
+
lib/fog/vcloud/terremark/ecloud/requests/power_off.rb
|
447
|
+
lib/fog/vcloud/terremark/ecloud/requests/power_on.rb
|
448
|
+
lib/fog/vcloud/terremark/ecloud/requests/power_reset.rb
|
449
|
+
lib/fog/vcloud/terremark/ecloud/requests/power_shutdown.rb
|
424
450
|
lib/fog/vcloud/terremark/vcloud.rb
|
425
|
-
lib/fog/vcloud/terremark/vcloud/parsers/get_vdc.rb
|
426
451
|
lib/fog/vcloud/terremark/vcloud/requests/get_vdc.rb
|
427
452
|
spec/aws/models/ec2/address_spec.rb
|
428
453
|
spec/aws/models/ec2/addresses_spec.rb
|
@@ -511,13 +536,13 @@ Gem::Specification.new do |s|
|
|
511
536
|
spec/vcloud/terremark/ecloud/requests/configure_internet_service_spec.rb
|
512
537
|
spec/vcloud/terremark/ecloud/requests/delete_internet_service_spec.rb
|
513
538
|
spec/vcloud/terremark/ecloud/requests/get_internet_services_spec.rb
|
539
|
+
spec/vcloud/terremark/ecloud/requests/get_network_ip_spec.rb
|
514
540
|
spec/vcloud/terremark/ecloud/requests/get_network_ips_spec.rb
|
515
541
|
spec/vcloud/terremark/ecloud/requests/get_network_spec.rb
|
516
542
|
spec/vcloud/terremark/ecloud/requests/get_public_ip_spec.rb
|
517
543
|
spec/vcloud/terremark/ecloud/requests/get_public_ips_spec.rb
|
518
544
|
spec/vcloud/terremark/ecloud/requests/get_vdc_spec.rb
|
519
545
|
spec/vcloud/terremark/ecloud/requests/login_spec.rb
|
520
|
-
spec/vcloud/terremark/vcloud/requests/get_vdc_spec.rb
|
521
546
|
spec/vcloud/vcloud_spec.rb
|
522
547
|
tests/aws/helper.rb
|
523
548
|
tests/aws/requests/ec2/address_tests.rb
|
data/lib/fog.rb
CHANGED
@@ -30,6 +30,7 @@ require 'fog/ssh'
|
|
30
30
|
require 'fog/aws'
|
31
31
|
require 'fog/bluebox'
|
32
32
|
require 'fog/local'
|
33
|
+
require 'fog/new_servers'
|
33
34
|
require 'fog/rackspace'
|
34
35
|
require 'fog/slicehost'
|
35
36
|
require 'fog/terremark'
|
@@ -38,7 +39,7 @@ require 'fog/vcloud'
|
|
38
39
|
module Fog
|
39
40
|
|
40
41
|
unless const_defined?(:VERSION)
|
41
|
-
VERSION = '0.2.
|
42
|
+
VERSION = '0.2.1'
|
42
43
|
end
|
43
44
|
|
44
45
|
module Mock
|
data/lib/fog/attributes.rb
CHANGED
@@ -55,13 +55,43 @@ module Fog
|
|
55
55
|
when :time
|
56
56
|
class_eval <<-EOS, __FILE__, __LINE__
|
57
57
|
def #{name}=(new_#{name})
|
58
|
-
|
58
|
+
if !new_#{name}.is_a?(Time)
|
59
|
+
@#{name} = Time.parse(new_#{name})
|
60
|
+
else
|
61
|
+
@#{name} = new_#{name}
|
62
|
+
end
|
59
63
|
end
|
60
64
|
EOS
|
61
|
-
|
65
|
+
when :array
|
62
66
|
class_eval <<-EOS, __FILE__, __LINE__
|
63
|
-
|
67
|
+
def #{name}=(new_#{name})
|
68
|
+
@#{name} = if new_#{name}.is_a?(Array)
|
69
|
+
new_#{name}
|
70
|
+
else
|
71
|
+
@#{name} = [ new_#{name} ]
|
72
|
+
end
|
73
|
+
end
|
64
74
|
EOS
|
75
|
+
else
|
76
|
+
if squash = options[:squash]
|
77
|
+
class_eval <<-EOS, __FILE__, __LINE__
|
78
|
+
def #{name}=(new_data)
|
79
|
+
if new_data.is_a?(Hash)
|
80
|
+
if new_data[:#{squash}]
|
81
|
+
@#{name} = new_data[:#{squash}]
|
82
|
+
else
|
83
|
+
@#{name} = [ new_data ]
|
84
|
+
end
|
85
|
+
else
|
86
|
+
@#{name} = new_data
|
87
|
+
end
|
88
|
+
end
|
89
|
+
EOS
|
90
|
+
else
|
91
|
+
class_eval <<-EOS, __FILE__, __LINE__
|
92
|
+
attr_writer :#{name}
|
93
|
+
EOS
|
94
|
+
end
|
65
95
|
end
|
66
96
|
@attributes ||= []
|
67
97
|
@attributes |= [name]
|
@@ -72,7 +102,15 @@ module Fog
|
|
72
102
|
|
73
103
|
def identity(name, other_names = [])
|
74
104
|
@identity = name
|
75
|
-
self.attribute(name, other_names)
|
105
|
+
self.attribute(name, {:aliases => other_names})
|
106
|
+
end
|
107
|
+
|
108
|
+
def ignore_attributes(*args)
|
109
|
+
@ignored_attributes = args
|
110
|
+
end
|
111
|
+
|
112
|
+
def ignored_attributes
|
113
|
+
@ignored_attributes ||= []
|
76
114
|
end
|
77
115
|
|
78
116
|
end
|
@@ -101,10 +139,12 @@ module Fog
|
|
101
139
|
|
102
140
|
def merge_attributes(new_attributes = {})
|
103
141
|
for key, value in new_attributes
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
142
|
+
unless self.class.ignored_attributes.include?(key)
|
143
|
+
if aliased_key = self.class.aliases[key]
|
144
|
+
send("#{aliased_key}=", value)
|
145
|
+
else
|
146
|
+
send("#{key}=", value)
|
147
|
+
end
|
108
148
|
end
|
109
149
|
end
|
110
150
|
self
|
data/lib/fog/aws/ec2.rb
CHANGED
@@ -160,13 +160,16 @@ module Fog
|
|
160
160
|
end
|
161
161
|
@port = options[:port] || 443
|
162
162
|
@scheme = options[:scheme] || 'https'
|
163
|
+
@connection = Fog::Connection.new("#{@scheme}://#{@host}:#{@port}", options[:persistent])
|
164
|
+
end
|
165
|
+
|
166
|
+
def reload
|
167
|
+
@connection.reset
|
163
168
|
end
|
164
169
|
|
165
170
|
private
|
166
171
|
|
167
172
|
def request(params)
|
168
|
-
@connection = Fog::Connection.new("#{@scheme}://#{@host}:#{@port}")
|
169
|
-
|
170
173
|
idempotent = params.delete(:idempotent)
|
171
174
|
parser = params.delete(:parser)
|
172
175
|
|
data/lib/fog/aws/elb.rb
CHANGED
@@ -63,13 +63,16 @@ module Fog
|
|
63
63
|
end
|
64
64
|
@port = options[:port] || 443
|
65
65
|
@scheme = options[:scheme] || 'https'
|
66
|
+
@connection = Fog::Connection.new("#{@scheme}://#{@host}:#{@port}", options[:persistent])
|
67
|
+
end
|
68
|
+
|
69
|
+
def reload
|
70
|
+
@connection.reset
|
66
71
|
end
|
67
72
|
|
68
73
|
private
|
69
74
|
|
70
75
|
def request(params)
|
71
|
-
@connection = Fog::Connection.new("#{@scheme}://#{@host}:#{@port}")
|
72
|
-
|
73
76
|
idempotent = params.delete(:idempotent)
|
74
77
|
parser = params.delete(:parser)
|
75
78
|
|
@@ -15,30 +15,61 @@ module Fog
|
|
15
15
|
# and values may use any UTF-8 characters valid in xml. Control characters
|
16
16
|
# and sequences not allowed in xml are not valid. Each name and value can
|
17
17
|
# be up to 1024 bytes long.
|
18
|
+
# * options<~Hash> - Accepts the following keys.
|
19
|
+
# :replace => [Array of keys to replace]
|
20
|
+
# :expect => {name/value pairs for performing conditional put}
|
18
21
|
#
|
19
22
|
# ==== Returns
|
20
23
|
# * response<~Excon::Response>:
|
21
24
|
# * body<~Hash>:
|
22
25
|
# * 'BoxUsage'
|
23
26
|
# * 'RequestId'
|
24
|
-
def put_attributes(domain_name, item_name, attributes,
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
27
|
+
def put_attributes(domain_name, item_name, attributes, options = {})
|
28
|
+
options[:expect] = {} unless options[:expect]
|
29
|
+
options[:replace] = [] unless options[:replace]
|
30
|
+
request({
|
31
|
+
'Action' => 'PutAttributes',
|
32
|
+
'DomainName' => domain_name,
|
33
|
+
:parser => Fog::Parsers::AWS::SimpleDB::Basic.new(@nil_string),
|
34
|
+
'ItemName' => item_name
|
35
|
+
}.merge!(encode_attributes(attributes, options[:replace], options[:expect])))
|
30
36
|
end
|
31
37
|
|
32
38
|
end
|
33
39
|
|
34
40
|
class Mock
|
35
41
|
|
36
|
-
def put_attributes(domain_name, item_name, attributes,
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
+
def put_attributes(domain_name, item_name, attributes, options = {})
|
43
|
+
options[:expect] = {} unless options[:expect]
|
44
|
+
options[:replace] = [] unless options[:replace]
|
45
|
+
response = Excon::Response.new
|
46
|
+
if @data[:domains][domain_name]
|
47
|
+
options[:expect].each do |ck, cv|
|
48
|
+
if @data[:domains][domain_name][item_name][ck] != [cv]
|
49
|
+
response.status = 409
|
50
|
+
raise(Excon::Errors.status_error({:expects => 200}, response))
|
51
|
+
end
|
52
|
+
end
|
53
|
+
attributes.each do |key, value|
|
54
|
+
@data[:domains][domain_name][item_name] ||= {}
|
55
|
+
@data[:domains][domain_name][item_name][key.to_s] = [] unless @data[:domains][domain_name][item_name][key.to_s]
|
56
|
+
if options[:replace].include?(key.to_s)
|
57
|
+
@data[:domains][domain_name][item_name][key.to_s] = [value.to_s]
|
58
|
+
else
|
59
|
+
@data[:domains][domain_name][item_name][key.to_s] += [value.to_s]
|
60
|
+
end
|
61
|
+
end
|
62
|
+
response.status = 200
|
63
|
+
response.body = {
|
64
|
+
'BoxUsage' => Fog::AWS::Mock.box_usage,
|
65
|
+
'RequestId' => Fog::AWS::Mock.request_id
|
66
|
+
}
|
67
|
+
else
|
68
|
+
response.status = 400
|
69
|
+
raise(Excon::Errors.status_error({:expects => 200}, response))
|
70
|
+
|
71
|
+
end
|
72
|
+
response
|
42
73
|
end
|
43
74
|
|
44
75
|
end
|
data/lib/fog/aws/s3.rb
CHANGED
@@ -135,11 +135,11 @@ module Fog
|
|
135
135
|
end
|
136
136
|
@port = options[:port] || 443
|
137
137
|
@scheme = options[:scheme] || 'https'
|
138
|
-
|
138
|
+
@connection = Fog::Connection.new("#{@scheme}://#{@host}:#{@port}", options[:persistent] || true)
|
139
139
|
end
|
140
140
|
|
141
141
|
def reload
|
142
|
-
@connection
|
142
|
+
@connection.reset
|
143
143
|
end
|
144
144
|
|
145
145
|
private
|
data/lib/fog/aws/simpledb.rb
CHANGED
@@ -68,13 +68,22 @@ module Fog
|
|
68
68
|
@nil_string = options[:nil_string]|| 'nil'
|
69
69
|
@port = options[:port] || 443
|
70
70
|
@scheme = options[:scheme] || 'https'
|
71
|
+
@connection = Fog::Connection.new("#{@scheme}://#{@host}:#{@port}", options[:persistent])
|
71
72
|
end
|
72
73
|
|
73
74
|
private
|
74
75
|
|
75
|
-
def encode_attributes(attributes, replace_attributes = [])
|
76
|
+
def encode_attributes(attributes, replace_attributes = [], expected_attributes = {})
|
76
77
|
encoded_attributes = {}
|
77
78
|
if attributes
|
79
|
+
|
80
|
+
expected_attributes.keys.each_with_index do |exkey, index|
|
81
|
+
for value in Array(expected_attributes[exkey])
|
82
|
+
encoded_attributes["Expected.#{index}.Name"] = exkey.to_s
|
83
|
+
encoded_attributes["Expected.#{index}.Value"] = sdb_encode(value)
|
84
|
+
end
|
85
|
+
end
|
86
|
+
|
78
87
|
index = 0
|
79
88
|
for key in attributes.keys
|
80
89
|
for value in Array(attributes[key])
|
@@ -117,8 +126,11 @@ module Fog
|
|
117
126
|
encoded_attributes
|
118
127
|
end
|
119
128
|
|
129
|
+
def reload
|
130
|
+
@connection.reset
|
131
|
+
end
|
132
|
+
|
120
133
|
def request(params)
|
121
|
-
@connection = Fog::Connection.new("#{@scheme}://#{@host}:#{@port}")
|
122
134
|
idempotent = params.delete(:idempotent)
|
123
135
|
parser = params.delete(:parser)
|
124
136
|
|
@@ -128,7 +140,7 @@ module Fog
|
|
128
140
|
:aws_access_key_id => @aws_access_key_id,
|
129
141
|
:hmac => @hmac,
|
130
142
|
:host => @host,
|
131
|
-
:version => '
|
143
|
+
:version => '2009-04-15'
|
132
144
|
}
|
133
145
|
)
|
134
146
|
|