fog 0.1.5 → 0.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (151) hide show
  1. data/Gemfile +2 -2
  2. data/Gemfile.lock +6 -6
  3. data/README.rdoc +4 -1
  4. data/bin/fog +2 -1
  5. data/examples/bluebox_create.rb +33 -0
  6. data/fog.gemspec +58 -30
  7. data/lib/fog.rb +2 -1
  8. data/lib/fog/aws/elb.rb +0 -9
  9. data/lib/fog/aws/requests/elb/create_load_balancer.rb +3 -3
  10. data/lib/fog/aws/requests/elb/deregister_instances_from_load_balancer.rb +1 -1
  11. data/lib/fog/aws/requests/elb/describe_instance_health.rb +1 -1
  12. data/lib/fog/aws/requests/elb/describe_load_balancers.rb +1 -1
  13. data/lib/fog/aws/requests/elb/disable_availability_zones_for_load_balancer.rb +1 -1
  14. data/lib/fog/aws/requests/elb/enable_availability_zones_for_load_balancer.rb +1 -1
  15. data/lib/fog/aws/requests/elb/register_instances_with_load_balancer.rb +1 -1
  16. data/lib/fog/aws/requests/s3/get_bucket.rb +1 -6
  17. data/lib/fog/aws/requests/s3/get_bucket_acl.rb +1 -1
  18. data/lib/fog/aws/requests/s3/get_bucket_location.rb +1 -1
  19. data/lib/fog/aws/requests/s3/get_bucket_logging.rb +1 -1
  20. data/lib/fog/aws/requests/s3/get_bucket_object_versions.rb +1 -6
  21. data/lib/fog/aws/requests/s3/get_bucket_versioning.rb +1 -1
  22. data/lib/fog/aws/requests/s3/get_object.rb +1 -1
  23. data/lib/fog/aws/requests/s3/get_object_acl.rb +2 -2
  24. data/lib/fog/aws/requests/s3/get_object_torrent.rb +1 -1
  25. data/lib/fog/aws/requests/s3/get_request_payment.rb +1 -1
  26. data/lib/fog/aws/requests/s3/head_object.rb +1 -1
  27. data/lib/fog/aws/requests/s3/put_bucket_acl.rb +1 -1
  28. data/lib/fog/aws/requests/s3/put_bucket_logging.rb +1 -1
  29. data/lib/fog/aws/requests/s3/put_bucket_versioning.rb +1 -1
  30. data/lib/fog/aws/requests/s3/put_object_url.rb +54 -0
  31. data/lib/fog/aws/requests/s3/put_request_payment.rb +1 -1
  32. data/lib/fog/aws/s3.rb +7 -2
  33. data/lib/fog/bin.rb +1 -1
  34. data/lib/fog/bluebox.rb +100 -0
  35. data/lib/fog/bluebox/bin.rb +43 -0
  36. data/lib/fog/bluebox/models/flavor.rb +43 -0
  37. data/lib/fog/bluebox/models/flavors.rb +38 -0
  38. data/lib/fog/bluebox/models/image.rb +17 -0
  39. data/lib/fog/bluebox/models/images.rb +42 -0
  40. data/lib/fog/bluebox/models/server.rb +79 -0
  41. data/lib/fog/bluebox/models/servers.rb +39 -0
  42. data/lib/fog/bluebox/requests/create_block.rb +39 -0
  43. data/lib/fog/bluebox/requests/destroy_block.rb +32 -0
  44. data/lib/fog/bluebox/requests/get_block.rb +32 -0
  45. data/lib/fog/bluebox/requests/get_blocks.rb +34 -0
  46. data/lib/fog/bluebox/requests/get_product.rb +32 -0
  47. data/lib/fog/bluebox/requests/get_products.rb +31 -0
  48. data/lib/fog/bluebox/requests/get_template.rb +32 -0
  49. data/lib/fog/bluebox/requests/get_templates.rb +32 -0
  50. data/lib/fog/bluebox/requests/reboot_block.rb +33 -0
  51. data/lib/fog/credentials.rb +2 -1
  52. data/lib/fog/rackspace/files.rb +4 -12
  53. data/lib/fog/rackspace/models/servers/flavors.rb +1 -1
  54. data/lib/fog/rackspace/models/servers/images.rb +1 -1
  55. data/lib/fog/rackspace/models/servers/servers.rb +1 -1
  56. data/lib/fog/rackspace/requests/files/get_container.rb +1 -6
  57. data/lib/fog/rackspace/requests/files/get_containers.rb +1 -7
  58. data/lib/fog/rackspace/requests/files/head_container.rb +1 -1
  59. data/lib/fog/rackspace/requests/files/head_containers.rb +1 -1
  60. data/lib/fog/rackspace/requests/servers/create_server.rb +4 -5
  61. data/lib/fog/rackspace/requests/servers/delete_image.rb +2 -1
  62. data/lib/fog/rackspace/requests/servers/delete_server.rb +2 -3
  63. data/lib/fog/rackspace/requests/servers/get_server_details.rb +2 -3
  64. data/lib/fog/rackspace/requests/servers/list_addresses.rb +2 -3
  65. data/lib/fog/rackspace/requests/servers/list_private_addresses.rb +2 -3
  66. data/lib/fog/rackspace/requests/servers/list_public_addresses.rb +2 -3
  67. data/lib/fog/rackspace/requests/servers/reboot_server.rb +1 -1
  68. data/lib/fog/rackspace/requests/servers/update_server.rb +2 -3
  69. data/lib/fog/rackspace/servers.rb +21 -11
  70. data/lib/fog/slicehost.rb +18 -13
  71. data/lib/fog/vcloud.rb +148 -107
  72. data/lib/fog/vcloud/model.rb +2 -1
  73. data/lib/fog/vcloud/parser.rb +5 -0
  74. data/lib/fog/vcloud/requests/get_vdc.rb +3 -3
  75. data/lib/fog/vcloud/requests/get_versions.rb +1 -1
  76. data/lib/fog/vcloud/requests/login.rb +1 -1
  77. data/lib/fog/vcloud/terremark/ecloud.rb +34 -0
  78. data/lib/fog/vcloud/terremark/ecloud/models/internet_service.rb +29 -0
  79. data/lib/fog/vcloud/terremark/ecloud/models/internet_services.rb +51 -0
  80. data/lib/fog/vcloud/terremark/ecloud/models/public_ip.rb +26 -0
  81. data/lib/fog/vcloud/terremark/ecloud/models/public_ips.rb +32 -0
  82. data/lib/fog/vcloud/terremark/ecloud/models/vdc.rb +11 -0
  83. data/lib/fog/vcloud/terremark/ecloud/parsers/get_internet_services.rb +59 -0
  84. data/lib/fog/vcloud/terremark/ecloud/parsers/get_public_ip.rb +30 -0
  85. data/lib/fog/vcloud/terremark/ecloud/parsers/get_public_ips.rb +40 -0
  86. data/lib/fog/vcloud/terremark/ecloud/parsers/internet_service.rb +58 -0
  87. data/lib/fog/vcloud/terremark/ecloud/requests/add_internet_service.rb +82 -0
  88. data/lib/fog/vcloud/terremark/ecloud/requests/delete_internet_service.rb +39 -0
  89. data/lib/fog/vcloud/terremark/ecloud/requests/get_internet_services.rb +73 -0
  90. data/lib/fog/vcloud/terremark/ecloud/requests/get_public_ip.rb +49 -0
  91. data/lib/fog/vcloud/terremark/ecloud/requests/get_public_ips.rb +47 -0
  92. data/spec/bluebox/models/flavors_spec.rb +14 -0
  93. data/spec/bluebox/models/server_spec.rb +25 -0
  94. data/spec/bluebox/models/servers_spec.rb +27 -0
  95. data/spec/spec_helper.rb +16 -0
  96. data/spec/vcloud/spec_helper.rb +16 -1
  97. data/spec/vcloud/terremark/ecloud/models/internet_service_spec.rb +58 -0
  98. data/spec/vcloud/terremark/ecloud/models/internet_services_spec.rb +29 -0
  99. data/spec/vcloud/terremark/ecloud/models/public_ip_spec.rb +43 -0
  100. data/spec/vcloud/terremark/ecloud/models/public_ips_spec.rb +26 -0
  101. data/spec/vcloud/terremark/ecloud/models/vdc_spec.rb +4 -0
  102. data/spec/vcloud/terremark/ecloud/requests/add_internet_service_spec.rb +57 -0
  103. data/spec/vcloud/terremark/ecloud/requests/delete_internet_service_spec.rb +34 -0
  104. data/spec/vcloud/terremark/ecloud/requests/get_internet_services_spec.rb +57 -0
  105. data/spec/vcloud/terremark/ecloud/requests/get_public_ip_spec.rb +40 -0
  106. data/spec/vcloud/terremark/ecloud/requests/get_public_ips_spec.rb +44 -0
  107. data/tests/bluebox/helper.rb +26 -0
  108. data/tests/bluebox/requests/block_tests.rb +68 -0
  109. data/tests/bluebox/requests/product_tests.rb +25 -0
  110. data/tests/bluebox/requests/template_tests.rb +32 -0
  111. data/tests/helper.rb +6 -6
  112. data/tests/helper_tests.rb +4 -0
  113. data/tests/rackspace/helper.rb +0 -32
  114. data/tests/rackspace/requests/servers/address_tests.rb +40 -0
  115. data/tests/rackspace/requests/servers/flavor_tests.rb +34 -0
  116. data/tests/rackspace/requests/servers/image_tests.rb +59 -0
  117. data/tests/rackspace/requests/servers/server_tests.rb +83 -0
  118. data/tests/slicehost/helper.rb +0 -35
  119. data/tests/slicehost/requests/backup_tests.rb +17 -0
  120. data/tests/slicehost/requests/flavor_tests.rb +30 -0
  121. data/tests/slicehost/requests/image_tests.rb +28 -0
  122. data/tests/slicehost/requests/slice_tests.rb +63 -0
  123. metadata +59 -31
  124. data/tests/rackspace/requests/servers/create_image_tests.rb +0 -20
  125. data/tests/rackspace/requests/servers/create_server_tests.rb +0 -18
  126. data/tests/rackspace/requests/servers/delete_image_tests.rb +0 -23
  127. data/tests/rackspace/requests/servers/delete_server_tests.rb +0 -19
  128. data/tests/rackspace/requests/servers/get_flavor_details_tests.rb +0 -16
  129. data/tests/rackspace/requests/servers/get_image_details_tests.rb +0 -16
  130. data/tests/rackspace/requests/servers/get_server_details_tests.rb +0 -21
  131. data/tests/rackspace/requests/servers/list_addresses_tests.rb +0 -22
  132. data/tests/rackspace/requests/servers/list_flavors_detail_tests.rb +0 -9
  133. data/tests/rackspace/requests/servers/list_flavors_tests.rb +0 -9
  134. data/tests/rackspace/requests/servers/list_images_detail_tests.rb +0 -9
  135. data/tests/rackspace/requests/servers/list_images_tests.rb +0 -9
  136. data/tests/rackspace/requests/servers/list_private_addresses_tests.rb +0 -22
  137. data/tests/rackspace/requests/servers/list_public_addresses_tests.rb +0 -22
  138. data/tests/rackspace/requests/servers/list_servers_detail_tests.rb +0 -14
  139. data/tests/rackspace/requests/servers/list_servers_tests.rb +0 -14
  140. data/tests/rackspace/requests/servers/reboot_server_tests.rb +0 -30
  141. data/tests/rackspace/requests/servers/update_server_tests.rb +0 -22
  142. data/tests/slicehost/requests/create_slice_tests.rb +0 -14
  143. data/tests/slicehost/requests/delete_slice_tests.rb +0 -20
  144. data/tests/slicehost/requests/get_backups_tests.rb +0 -9
  145. data/tests/slicehost/requests/get_flavor_tests.rb +0 -17
  146. data/tests/slicehost/requests/get_flavors_tests.rb +0 -9
  147. data/tests/slicehost/requests/get_image_tests.rb +0 -17
  148. data/tests/slicehost/requests/get_images_tests.rb +0 -9
  149. data/tests/slicehost/requests/get_slice_tests.rb +0 -22
  150. data/tests/slicehost/requests/get_slices_tests.rb +0 -9
  151. data/tests/slicehost/requests/reboot_slice_tests.rb +0 -23
data/Gemfile CHANGED
@@ -1,7 +1,7 @@
1
1
  source 'http://gemcutter.org'
2
2
 
3
3
  gem 'rake'
4
- gem 'excon', '>= 0.0.24'
4
+ gem 'excon', '>= 0.0.25'
5
5
  gem 'formatador', ">= 0.0.10"
6
6
  gem 'json', ">= 0"
7
7
  gem 'mime-types', ">= 0"
@@ -9,5 +9,5 @@ gem 'net-ssh', ">= 0"
9
9
  gem 'nokogiri', ">= 0"
10
10
  gem 'ruby-hmac', ">= 0"
11
11
  gem 'rspec', '>= 0'
12
- gem 'shindo', '>= 0.1.2'
12
+ gem 'shindo', '>= 0.1.4'
13
13
  gem 'builder', '>= 0'
@@ -31,7 +31,7 @@ dependencies:
31
31
  excon:
32
32
  group:
33
33
  - :default
34
- version: ">= 0.0.24"
34
+ version: ">= 0.0.25"
35
35
  builder:
36
36
  group:
37
37
  - :default
@@ -39,7 +39,7 @@ dependencies:
39
39
  shindo:
40
40
  group:
41
41
  - :default
42
- version: ">= 0.1.2"
42
+ version: ">= 0.1.4"
43
43
  nokogiri:
44
44
  group:
45
45
  - :default
@@ -50,7 +50,7 @@ specs:
50
50
  - builder:
51
51
  version: 2.1.2
52
52
  - excon:
53
- version: 0.0.24
53
+ version: 0.0.25
54
54
  - formatador:
55
55
  version: 0.0.14
56
56
  - gestalt:
@@ -60,7 +60,7 @@ specs:
60
60
  - mime-types:
61
61
  version: "1.16"
62
62
  - net-ssh:
63
- version: 2.0.22
63
+ version: 2.0.23
64
64
  - nokogiri:
65
65
  version: 1.4.2
66
66
  - rspec:
@@ -68,8 +68,8 @@ specs:
68
68
  - ruby-hmac:
69
69
  version: 0.4.0
70
70
  - shindo:
71
- version: 0.1.3
72
- hash: 4e55927c1be02ee00fc3353e71caecdebd9d4817
71
+ version: 0.1.4
72
+ hash: 47be4240cdce9d626cc1834c503ca8e275e76307
73
73
  sources:
74
74
  - Rubygems:
75
75
  uri: http://gemcutter.org
@@ -46,7 +46,7 @@ As an example, we'll try initializing and persisting a rackspace server:
46
46
  )
47
47
 
48
48
  # boot a gentoo server (flavor 1 = 256, image 3 = gentoo 2008.0)
49
- server = connection.servers.new(:flavor_id => 1, :image_id => 3, :name => 'my_server')
49
+ server = connection.servers.create(:flavor_id => 1, :image_id => 3, :name => 'my_server')
50
50
 
51
51
  # wait for it to be ready to do stuff
52
52
  server.wait_for { ready? }
@@ -89,18 +89,21 @@ It will return an excon response, which has headers and body methods. Both give
89
89
  == Go forth and conquer
90
90
 
91
91
  That should give you some stuff to try and places to look.
92
+ For a more in depth walk through, check out the {getting started guide}[http://wiki.github.com/geemus/fog/getting-started-with-fog].
92
93
 
93
94
  You should try out the (varying) support fog has for:
94
95
  * AWS [EC2, S3, SimpleDB]
95
96
  * Rackspace [Files, Servers]
96
97
  * Slicehost
97
98
  * Terremark vCloud Express
99
+ * Blue Box Group [Blocks]
98
100
 
99
101
  Enjoy, and let me know what I can do to continue improving fog!
100
102
 
101
103
  * Follow {@geemus}[http://twitter.com/geemus] on Twitter.
102
104
  * See upcoming work in the {tracker}[http://www.pivotaltracker.com/projects/54635].
103
105
  * Report bugs in {issues}[http://github.com/geemus/fog/issues].
106
+ * Learn about {contributing}[http://wiki.github.com/geemus/fog/contributors-guide].
104
107
 
105
108
  == Copyright
106
109
 
data/bin/fog CHANGED
@@ -5,7 +5,7 @@ require 'yaml'
5
5
  require File.join('fog', 'credentials')
6
6
  require File.join('fog', 'bin')
7
7
 
8
- Fog.credential = (ARGV.first && :"#{ARGV.first}") || :default
8
+ Fog.credential = ARGV.first ? :"#{ARGV.first}" : :default
9
9
  unless Fog.credentials
10
10
  exit
11
11
  end
@@ -16,6 +16,7 @@ require File.join('fog', 'rackspace', 'bin')
16
16
  require File.join('fog', 'slicehost', 'bin')
17
17
  require File.join('fog', 'terremark', 'bin')
18
18
  require File.join('fog', 'vcloud', 'bin')
19
+ require File.join('fog', 'bluebox', 'bin')
19
20
 
20
21
  if ARGV.length > 1
21
22
  print(instance_eval(ARGV[1..-1].join(' ')).to_json)
@@ -0,0 +1,33 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ # For example only - you'd want to use your own AMI id.
4
+ unless defined?(GENTOO_AMI)
5
+ GENTOO_AMI = 'ami-5ee70037'
6
+ end
7
+
8
+ require 'rubygems'
9
+ require 'fog'
10
+
11
+ @bluebox_api_key = "CHANGEME"
12
+ @aws_access_key_id = "CHANGEME"
13
+ @aws_secret_access_key = "CHANGEME"
14
+
15
+ @flavor_id = "94fd37a7-2606-47f7-84d5-9000deda52ae" # Block 1GB Virtual Server
16
+ @image_id = "03807e08-a13d-44e4-b011-ebec7ef2c928" # Ubuntu 10.04 x64 LTS
17
+
18
+ # Grab our current list of servers
19
+ @bbg_servers = Fog::Bluebox.new(:bluebox_api_key => @bluebox_api_key).servers
20
+ @ec2_servers = Fog::AWS::EC2.new(:aws_access_key_id => @aws_access_key_id, :aws_secret_access_key => @aws_secret_access_key).servers
21
+
22
+ # Create a new server.
23
+ @server = @bbg_servers.new(:flavor_id => @flavor_id, :image_id => @image_id,
24
+ :name => "My Server", :password => "MyPassword")
25
+
26
+ # Save the server, triggering its creation
27
+ @server.save
28
+
29
+ if @server.status == 'error'
30
+ # The create failed - create a new server on Amazon instead
31
+ @server = @ec2_servers.new(:image_id => GENTOO_AMI)
32
+ @server.save
33
+ end
@@ -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.1.5'
11
- s.date = '2010-05-27'
10
+ s.version = '0.1.6'
11
+ s.date = '2010-06-06'
12
12
  s.rubyforge_project = 'fog'
13
13
 
14
14
  ## Make sure your summary is short. The description may be as long
@@ -68,6 +68,7 @@ Gem::Specification.new do |s|
68
68
  benchs/params.rb
69
69
  benchs/parse_vs_push.rb
70
70
  bin/fog
71
+ examples/bluebox_create.rb
71
72
  fog.gemspec
72
73
  lib/fog.rb
73
74
  lib/fog/aws.rb
@@ -196,6 +197,7 @@ Gem::Specification.new do |s|
196
197
  lib/fog/aws/requests/s3/put_bucket_logging.rb
197
198
  lib/fog/aws/requests/s3/put_bucket_versioning.rb
198
199
  lib/fog/aws/requests/s3/put_object.rb
200
+ lib/fog/aws/requests/s3/put_object_url.rb
199
201
  lib/fog/aws/requests/s3/put_request_payment.rb
200
202
  lib/fog/aws/requests/simpledb/batch_put_attributes.rb
201
203
  lib/fog/aws/requests/simpledb/create_domain.rb
@@ -209,6 +211,23 @@ Gem::Specification.new do |s|
209
211
  lib/fog/aws/s3.rb
210
212
  lib/fog/aws/simpledb.rb
211
213
  lib/fog/bin.rb
214
+ lib/fog/bluebox.rb
215
+ lib/fog/bluebox/bin.rb
216
+ lib/fog/bluebox/models/flavor.rb
217
+ lib/fog/bluebox/models/flavors.rb
218
+ lib/fog/bluebox/models/image.rb
219
+ lib/fog/bluebox/models/images.rb
220
+ lib/fog/bluebox/models/server.rb
221
+ lib/fog/bluebox/models/servers.rb
222
+ lib/fog/bluebox/requests/create_block.rb
223
+ lib/fog/bluebox/requests/destroy_block.rb
224
+ lib/fog/bluebox/requests/get_block.rb
225
+ lib/fog/bluebox/requests/get_blocks.rb
226
+ lib/fog/bluebox/requests/get_product.rb
227
+ lib/fog/bluebox/requests/get_products.rb
228
+ lib/fog/bluebox/requests/get_template.rb
229
+ lib/fog/bluebox/requests/get_templates.rb
230
+ lib/fog/bluebox/requests/reboot_block.rb
212
231
  lib/fog/collection.rb
213
232
  lib/fog/connection.rb
214
233
  lib/fog/credentials.rb
@@ -369,9 +388,22 @@ Gem::Specification.new do |s|
369
388
  lib/fog/vcloud/requests/login.rb
370
389
  lib/fog/vcloud/terremark/all.rb
371
390
  lib/fog/vcloud/terremark/ecloud.rb
391
+ lib/fog/vcloud/terremark/ecloud/models/internet_service.rb
392
+ lib/fog/vcloud/terremark/ecloud/models/internet_services.rb
393
+ lib/fog/vcloud/terremark/ecloud/models/public_ip.rb
394
+ lib/fog/vcloud/terremark/ecloud/models/public_ips.rb
372
395
  lib/fog/vcloud/terremark/ecloud/models/vdc.rb
373
396
  lib/fog/vcloud/terremark/ecloud/models/vdcs.rb
397
+ lib/fog/vcloud/terremark/ecloud/parsers/get_internet_services.rb
398
+ lib/fog/vcloud/terremark/ecloud/parsers/get_public_ip.rb
399
+ lib/fog/vcloud/terremark/ecloud/parsers/get_public_ips.rb
374
400
  lib/fog/vcloud/terremark/ecloud/parsers/get_vdc.rb
401
+ lib/fog/vcloud/terremark/ecloud/parsers/internet_service.rb
402
+ lib/fog/vcloud/terremark/ecloud/requests/add_internet_service.rb
403
+ lib/fog/vcloud/terremark/ecloud/requests/delete_internet_service.rb
404
+ lib/fog/vcloud/terremark/ecloud/requests/get_internet_services.rb
405
+ lib/fog/vcloud/terremark/ecloud/requests/get_public_ip.rb
406
+ lib/fog/vcloud/terremark/ecloud/requests/get_public_ips.rb
375
407
  lib/fog/vcloud/terremark/ecloud/requests/get_vdc.rb
376
408
  lib/fog/vcloud/terremark/ecloud/requests/login.rb
377
409
  lib/fog/vcloud/terremark/vcloud.rb
@@ -416,6 +448,9 @@ Gem::Specification.new do |s|
416
448
  spec/aws/requests/simpledb/list_domains_spec.rb
417
449
  spec/aws/requests/simpledb/put_attributes_spec.rb
418
450
  spec/aws/requests/simpledb/select_spec.rb
451
+ spec/bluebox/models/flavors_spec.rb
452
+ spec/bluebox/models/server_spec.rb
453
+ spec/bluebox/models/servers_spec.rb
419
454
  spec/compact_progress_bar_formatter.rb
420
455
  spec/lorem.txt
421
456
  spec/rackspace/models/servers/flavors_spec.rb
@@ -446,8 +481,17 @@ Gem::Specification.new do |s|
446
481
  spec/vcloud/requests/get_versions_spec.rb
447
482
  spec/vcloud/requests/login_spec.rb
448
483
  spec/vcloud/spec_helper.rb
484
+ spec/vcloud/terremark/ecloud/models/internet_service_spec.rb
485
+ spec/vcloud/terremark/ecloud/models/internet_services_spec.rb
486
+ spec/vcloud/terremark/ecloud/models/public_ip_spec.rb
487
+ spec/vcloud/terremark/ecloud/models/public_ips_spec.rb
449
488
  spec/vcloud/terremark/ecloud/models/vdc_spec.rb
450
489
  spec/vcloud/terremark/ecloud/models/vdcs_spec.rb
490
+ spec/vcloud/terremark/ecloud/requests/add_internet_service_spec.rb
491
+ spec/vcloud/terremark/ecloud/requests/delete_internet_service_spec.rb
492
+ spec/vcloud/terremark/ecloud/requests/get_internet_services_spec.rb
493
+ spec/vcloud/terremark/ecloud/requests/get_public_ip_spec.rb
494
+ spec/vcloud/terremark/ecloud/requests/get_public_ips_spec.rb
451
495
  spec/vcloud/terremark/ecloud/requests/get_vdc_spec.rb
452
496
  spec/vcloud/terremark/ecloud/requests/login_spec.rb
453
497
  spec/vcloud/terremark/vcloud/requests/get_vdc_spec.rb
@@ -461,38 +505,22 @@ Gem::Specification.new do |s|
461
505
  tests/aws/requests/ec2/security_group_tests.rb
462
506
  tests/aws/requests/ec2/snapshot_tests.rb
463
507
  tests/aws/requests/ec2/volume_tests.rb
508
+ tests/bluebox/helper.rb
509
+ tests/bluebox/requests/block_tests.rb
510
+ tests/bluebox/requests/product_tests.rb
511
+ tests/bluebox/requests/template_tests.rb
464
512
  tests/helper.rb
465
513
  tests/helper_tests.rb
466
514
  tests/rackspace/helper.rb
467
- tests/rackspace/requests/servers/create_image_tests.rb
468
- tests/rackspace/requests/servers/create_server_tests.rb
469
- tests/rackspace/requests/servers/delete_image_tests.rb
470
- tests/rackspace/requests/servers/delete_server_tests.rb
471
- tests/rackspace/requests/servers/get_flavor_details_tests.rb
472
- tests/rackspace/requests/servers/get_image_details_tests.rb
473
- tests/rackspace/requests/servers/get_server_details_tests.rb
474
- tests/rackspace/requests/servers/list_addresses_tests.rb
475
- tests/rackspace/requests/servers/list_flavors_detail_tests.rb
476
- tests/rackspace/requests/servers/list_flavors_tests.rb
477
- tests/rackspace/requests/servers/list_images_detail_tests.rb
478
- tests/rackspace/requests/servers/list_images_tests.rb
479
- tests/rackspace/requests/servers/list_private_addresses_tests.rb
480
- tests/rackspace/requests/servers/list_public_addresses_tests.rb
481
- tests/rackspace/requests/servers/list_servers_detail_tests.rb
482
- tests/rackspace/requests/servers/list_servers_tests.rb
483
- tests/rackspace/requests/servers/reboot_server_tests.rb
484
- tests/rackspace/requests/servers/update_server_tests.rb
515
+ tests/rackspace/requests/servers/address_tests.rb
516
+ tests/rackspace/requests/servers/flavor_tests.rb
517
+ tests/rackspace/requests/servers/image_tests.rb
518
+ tests/rackspace/requests/servers/server_tests.rb
485
519
  tests/slicehost/helper.rb
486
- tests/slicehost/requests/create_slice_tests.rb
487
- tests/slicehost/requests/delete_slice_tests.rb
488
- tests/slicehost/requests/get_backups_tests.rb
489
- tests/slicehost/requests/get_flavor_tests.rb
490
- tests/slicehost/requests/get_flavors_tests.rb
491
- tests/slicehost/requests/get_image_tests.rb
492
- tests/slicehost/requests/get_images_tests.rb
493
- tests/slicehost/requests/get_slice_tests.rb
494
- tests/slicehost/requests/get_slices_tests.rb
495
- tests/slicehost/requests/reboot_slice_tests.rb
520
+ tests/slicehost/requests/backup_tests.rb
521
+ tests/slicehost/requests/flavor_tests.rb
522
+ tests/slicehost/requests/image_tests.rb
523
+ tests/slicehost/requests/slice_tests.rb
496
524
  ]
497
525
  # = MANIFEST =
498
526
 
data/lib/fog.rb CHANGED
@@ -38,6 +38,7 @@ module Fog
38
38
  end
39
39
 
40
40
  require 'fog/aws'
41
+ require 'fog/bluebox'
41
42
  require 'fog/local'
42
43
  require 'fog/rackspace'
43
44
  require 'fog/slicehost'
@@ -47,7 +48,7 @@ require 'fog/vcloud'
47
48
  module Fog
48
49
 
49
50
  unless const_defined?(:VERSION)
50
- VERSION = '0.1.5'
51
+ VERSION = '0.1.6'
51
52
  end
52
53
 
53
54
  module Mock
@@ -33,15 +33,6 @@ module Fog
33
33
  Fog::AWS::ELB::Real.new(options)
34
34
  end
35
35
 
36
- def self.indexed_param(key, values, idx_offset = 0)
37
- params = {}
38
- key.concat(".%") unless key.include?("%")
39
- [*values].each_with_index do |value, index|
40
- params["#{key.gsub("%", (index + idx_offset).to_s)}"] = value
41
- end
42
- return params
43
- end
44
-
45
36
  class Real
46
37
 
47
38
  # Initialize connection to ELB
@@ -31,9 +31,9 @@ module Fog
31
31
  listener_instance_port.push(listener['InstancePort'])
32
32
  end
33
33
 
34
- params.merge!(ELB.indexed_param('Listeners.member.%.Protocol', listener_protocol, 1))
35
- params.merge!(ELB.indexed_param('Listeners.member.%.LoadBalancerPort', listener_lb_port, 1))
36
- params.merge!(ELB.indexed_param('Listeners.member.%.InstancePort', listener_instance_port, 1))
34
+ params.merge!(AWS.indexed_param('Listeners.member.%.Protocol', listener_protocol, 1))
35
+ params.merge!(AWS.indexed_param('Listeners.member.%.LoadBalancerPort', listener_lb_port, 1))
36
+ params.merge!(AWS.indexed_param('Listeners.member.%.InstancePort', listener_instance_port, 1))
37
37
 
38
38
  request({
39
39
  'Action' => 'CreateLoadBalancer',
@@ -18,7 +18,7 @@ module Fog
18
18
  # * 'Instances'<~Array> - array of hashes describing instances currently enabled
19
19
  # * 'InstanceId'<~String>
20
20
  def deregister_instances_from_load_balancer(instance_ids, lb_name)
21
- params = ELB.indexed_param('Instances.member.%.InstanceId', [*instance_ids], 1)
21
+ params = AWS.indexed_param('Instances.member.%.InstanceId', [*instance_ids], 1)
22
22
  request({
23
23
  'Action' => 'DeregisterInstancesFromLoadBalancer',
24
24
  'LoadBalancerName' => lb_name,
@@ -21,7 +21,7 @@ module Fog
21
21
  # * 'InstanceId'<~String>
22
22
  # * 'ReasonCode'<~String>
23
23
  def describe_instance_health(lb_name, instance_ids = [])
24
- params = ELB.indexed_param('Instances.member.%.InstanceId', [*instance_ids], 1)
24
+ params = AWS.indexed_param('Instances.member.%.InstanceId', [*instance_ids], 1)
25
25
  request({
26
26
  'Action' => 'DescribeInstanceHealth',
27
27
  'LoadBalancerName' => lb_name,
@@ -36,7 +36,7 @@ module Fog
36
36
  # * 'AvailabilityZones'<~Array> - list of availability zones covered by this load balancer
37
37
  # * 'Instances'<~Array> - list of instances that the load balancer balances between
38
38
  def describe_load_balancers(lb_name = [])
39
- params = ELB.indexed_param('LoadBalancerNames.member', [*lb_name], 1)
39
+ params = AWS.indexed_param('LoadBalancerNames.member', [*lb_name], 1)
40
40
  request({
41
41
  'Action' => 'DescribeLoadBalancers',
42
42
  :parser => Fog::Parsers::AWS::ELB::DescribeLoadBalancers.new
@@ -17,7 +17,7 @@ module Fog
17
17
  # * 'DisableAvailabilityZonesForLoadBalancerResult'<~Hash>:
18
18
  # * 'AvailabilityZones'<~Array> - array of strings describing instances currently enabled
19
19
  def disable_availability_zones_for_load_balancer(availability_zones, lb_name)
20
- params = ELB.indexed_param('AvailabilityZones.member', [*availability_zones], 1)
20
+ params = AWS.indexed_param('AvailabilityZones.member', [*availability_zones], 1)
21
21
  request({
22
22
  'Action' => 'DisableAvailabilityZonesForLoadBalancer',
23
23
  'LoadBalancerName' => lb_name,
@@ -17,7 +17,7 @@ module Fog
17
17
  # * 'EnableAvailabilityZonesForLoadBalancerResult'<~Hash>:
18
18
  # * 'AvailabilityZones'<~Array> - array of strings describing instances currently enabled
19
19
  def enable_availability_zones_for_load_balancer(availability_zones, lb_name)
20
- params = ELB.indexed_param('AvailabilityZones.member', [*availability_zones], 1)
20
+ params = AWS.indexed_param('AvailabilityZones.member', [*availability_zones], 1)
21
21
  request({
22
22
  'Action' => 'EnableAvailabilityZonesForLoadBalancer',
23
23
  'LoadBalancerName' => lb_name,
@@ -18,7 +18,7 @@ module Fog
18
18
  # * 'Instances'<~Array> - array of hashes describing instances currently enabled
19
19
  # * 'InstanceId'<~String>
20
20
  def register_instances_with_load_balancer(instance_ids, lb_name)
21
- params = ELB.indexed_param('Instances.member.%.InstanceId', [*instance_ids], 1)
21
+ params = AWS.indexed_param('Instances.member.%.InstanceId', [*instance_ids], 1)
22
22
  request({
23
23
  'Action' => 'RegisterInstancesWithLoadBalancer',
24
24
  'LoadBalancerName' => lb_name,
@@ -38,11 +38,6 @@ module Fog
38
38
  unless bucket_name
39
39
  raise ArgumentError.new('bucket_name is required')
40
40
  end
41
- query = ''
42
- for key, value in options
43
- query << "#{key}=#{CGI.escape(value.to_s).gsub(/\+/, '%20')}&"
44
- end
45
- query.chop!
46
41
  request({
47
42
  :expects => 200,
48
43
  :headers => {},
@@ -50,7 +45,7 @@ module Fog
50
45
  :idempotent => true,
51
46
  :method => 'GET',
52
47
  :parser => Fog::Parsers::AWS::S3::GetBucket.new,
53
- :query => query
48
+ :query => options
54
49
  })
55
50
  end
56
51
 
@@ -35,7 +35,7 @@ module Fog
35
35
  :idempotent => true,
36
36
  :method => 'GET',
37
37
  :parser => Fog::Parsers::AWS::S3::AccessControlList.new,
38
- :query => 'acl'
38
+ :query => {'acl' => nil}
39
39
  })
40
40
  end
41
41
 
@@ -20,7 +20,7 @@ module Fog
20
20
  :idempotent => true,
21
21
  :method => 'GET',
22
22
  :parser => Fog::Parsers::AWS::S3::GetBucketLocation.new,
23
- :query => 'location'
23
+ :query => {'location' => nil}
24
24
  })
25
25
  end
26
26
 
@@ -35,7 +35,7 @@ module Fog
35
35
  :idempotent => true,
36
36
  :method => 'GET',
37
37
  :parser => Fog::Parsers::AWS::S3::GetBucketLogging.new,
38
- :query => 'logging'
38
+ :query => {'logging' => nil}
39
39
  })
40
40
  end
41
41