fog 0.1.5 → 0.1.6
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +2 -2
- data/Gemfile.lock +6 -6
- data/README.rdoc +4 -1
- data/bin/fog +2 -1
- data/examples/bluebox_create.rb +33 -0
- data/fog.gemspec +58 -30
- data/lib/fog.rb +2 -1
- data/lib/fog/aws/elb.rb +0 -9
- data/lib/fog/aws/requests/elb/create_load_balancer.rb +3 -3
- data/lib/fog/aws/requests/elb/deregister_instances_from_load_balancer.rb +1 -1
- data/lib/fog/aws/requests/elb/describe_instance_health.rb +1 -1
- data/lib/fog/aws/requests/elb/describe_load_balancers.rb +1 -1
- data/lib/fog/aws/requests/elb/disable_availability_zones_for_load_balancer.rb +1 -1
- data/lib/fog/aws/requests/elb/enable_availability_zones_for_load_balancer.rb +1 -1
- data/lib/fog/aws/requests/elb/register_instances_with_load_balancer.rb +1 -1
- data/lib/fog/aws/requests/s3/get_bucket.rb +1 -6
- data/lib/fog/aws/requests/s3/get_bucket_acl.rb +1 -1
- data/lib/fog/aws/requests/s3/get_bucket_location.rb +1 -1
- data/lib/fog/aws/requests/s3/get_bucket_logging.rb +1 -1
- data/lib/fog/aws/requests/s3/get_bucket_object_versions.rb +1 -6
- data/lib/fog/aws/requests/s3/get_bucket_versioning.rb +1 -1
- data/lib/fog/aws/requests/s3/get_object.rb +1 -1
- data/lib/fog/aws/requests/s3/get_object_acl.rb +2 -2
- data/lib/fog/aws/requests/s3/get_object_torrent.rb +1 -1
- data/lib/fog/aws/requests/s3/get_request_payment.rb +1 -1
- data/lib/fog/aws/requests/s3/head_object.rb +1 -1
- data/lib/fog/aws/requests/s3/put_bucket_acl.rb +1 -1
- data/lib/fog/aws/requests/s3/put_bucket_logging.rb +1 -1
- data/lib/fog/aws/requests/s3/put_bucket_versioning.rb +1 -1
- data/lib/fog/aws/requests/s3/put_object_url.rb +54 -0
- data/lib/fog/aws/requests/s3/put_request_payment.rb +1 -1
- data/lib/fog/aws/s3.rb +7 -2
- data/lib/fog/bin.rb +1 -1
- data/lib/fog/bluebox.rb +100 -0
- data/lib/fog/bluebox/bin.rb +43 -0
- data/lib/fog/bluebox/models/flavor.rb +43 -0
- data/lib/fog/bluebox/models/flavors.rb +38 -0
- data/lib/fog/bluebox/models/image.rb +17 -0
- data/lib/fog/bluebox/models/images.rb +42 -0
- data/lib/fog/bluebox/models/server.rb +79 -0
- data/lib/fog/bluebox/models/servers.rb +39 -0
- data/lib/fog/bluebox/requests/create_block.rb +39 -0
- data/lib/fog/bluebox/requests/destroy_block.rb +32 -0
- data/lib/fog/bluebox/requests/get_block.rb +32 -0
- data/lib/fog/bluebox/requests/get_blocks.rb +34 -0
- data/lib/fog/bluebox/requests/get_product.rb +32 -0
- data/lib/fog/bluebox/requests/get_products.rb +31 -0
- data/lib/fog/bluebox/requests/get_template.rb +32 -0
- data/lib/fog/bluebox/requests/get_templates.rb +32 -0
- data/lib/fog/bluebox/requests/reboot_block.rb +33 -0
- data/lib/fog/credentials.rb +2 -1
- data/lib/fog/rackspace/files.rb +4 -12
- data/lib/fog/rackspace/models/servers/flavors.rb +1 -1
- data/lib/fog/rackspace/models/servers/images.rb +1 -1
- data/lib/fog/rackspace/models/servers/servers.rb +1 -1
- data/lib/fog/rackspace/requests/files/get_container.rb +1 -6
- data/lib/fog/rackspace/requests/files/get_containers.rb +1 -7
- data/lib/fog/rackspace/requests/files/head_container.rb +1 -1
- data/lib/fog/rackspace/requests/files/head_containers.rb +1 -1
- data/lib/fog/rackspace/requests/servers/create_server.rb +4 -5
- data/lib/fog/rackspace/requests/servers/delete_image.rb +2 -1
- data/lib/fog/rackspace/requests/servers/delete_server.rb +2 -3
- data/lib/fog/rackspace/requests/servers/get_server_details.rb +2 -3
- data/lib/fog/rackspace/requests/servers/list_addresses.rb +2 -3
- data/lib/fog/rackspace/requests/servers/list_private_addresses.rb +2 -3
- data/lib/fog/rackspace/requests/servers/list_public_addresses.rb +2 -3
- data/lib/fog/rackspace/requests/servers/reboot_server.rb +1 -1
- data/lib/fog/rackspace/requests/servers/update_server.rb +2 -3
- data/lib/fog/rackspace/servers.rb +21 -11
- data/lib/fog/slicehost.rb +18 -13
- data/lib/fog/vcloud.rb +148 -107
- data/lib/fog/vcloud/model.rb +2 -1
- data/lib/fog/vcloud/parser.rb +5 -0
- data/lib/fog/vcloud/requests/get_vdc.rb +3 -3
- data/lib/fog/vcloud/requests/get_versions.rb +1 -1
- data/lib/fog/vcloud/requests/login.rb +1 -1
- data/lib/fog/vcloud/terremark/ecloud.rb +34 -0
- data/lib/fog/vcloud/terremark/ecloud/models/internet_service.rb +29 -0
- data/lib/fog/vcloud/terremark/ecloud/models/internet_services.rb +51 -0
- data/lib/fog/vcloud/terremark/ecloud/models/public_ip.rb +26 -0
- data/lib/fog/vcloud/terremark/ecloud/models/public_ips.rb +32 -0
- data/lib/fog/vcloud/terremark/ecloud/models/vdc.rb +11 -0
- data/lib/fog/vcloud/terremark/ecloud/parsers/get_internet_services.rb +59 -0
- data/lib/fog/vcloud/terremark/ecloud/parsers/get_public_ip.rb +30 -0
- data/lib/fog/vcloud/terremark/ecloud/parsers/get_public_ips.rb +40 -0
- data/lib/fog/vcloud/terremark/ecloud/parsers/internet_service.rb +58 -0
- data/lib/fog/vcloud/terremark/ecloud/requests/add_internet_service.rb +82 -0
- data/lib/fog/vcloud/terremark/ecloud/requests/delete_internet_service.rb +39 -0
- data/lib/fog/vcloud/terremark/ecloud/requests/get_internet_services.rb +73 -0
- data/lib/fog/vcloud/terremark/ecloud/requests/get_public_ip.rb +49 -0
- data/lib/fog/vcloud/terremark/ecloud/requests/get_public_ips.rb +47 -0
- data/spec/bluebox/models/flavors_spec.rb +14 -0
- data/spec/bluebox/models/server_spec.rb +25 -0
- data/spec/bluebox/models/servers_spec.rb +27 -0
- data/spec/spec_helper.rb +16 -0
- data/spec/vcloud/spec_helper.rb +16 -1
- data/spec/vcloud/terremark/ecloud/models/internet_service_spec.rb +58 -0
- data/spec/vcloud/terremark/ecloud/models/internet_services_spec.rb +29 -0
- data/spec/vcloud/terremark/ecloud/models/public_ip_spec.rb +43 -0
- data/spec/vcloud/terremark/ecloud/models/public_ips_spec.rb +26 -0
- data/spec/vcloud/terremark/ecloud/models/vdc_spec.rb +4 -0
- data/spec/vcloud/terremark/ecloud/requests/add_internet_service_spec.rb +57 -0
- data/spec/vcloud/terremark/ecloud/requests/delete_internet_service_spec.rb +34 -0
- data/spec/vcloud/terremark/ecloud/requests/get_internet_services_spec.rb +57 -0
- data/spec/vcloud/terremark/ecloud/requests/get_public_ip_spec.rb +40 -0
- data/spec/vcloud/terremark/ecloud/requests/get_public_ips_spec.rb +44 -0
- data/tests/bluebox/helper.rb +26 -0
- data/tests/bluebox/requests/block_tests.rb +68 -0
- data/tests/bluebox/requests/product_tests.rb +25 -0
- data/tests/bluebox/requests/template_tests.rb +32 -0
- data/tests/helper.rb +6 -6
- data/tests/helper_tests.rb +4 -0
- data/tests/rackspace/helper.rb +0 -32
- data/tests/rackspace/requests/servers/address_tests.rb +40 -0
- data/tests/rackspace/requests/servers/flavor_tests.rb +34 -0
- data/tests/rackspace/requests/servers/image_tests.rb +59 -0
- data/tests/rackspace/requests/servers/server_tests.rb +83 -0
- data/tests/slicehost/helper.rb +0 -35
- data/tests/slicehost/requests/backup_tests.rb +17 -0
- data/tests/slicehost/requests/flavor_tests.rb +30 -0
- data/tests/slicehost/requests/image_tests.rb +28 -0
- data/tests/slicehost/requests/slice_tests.rb +63 -0
- metadata +59 -31
- data/tests/rackspace/requests/servers/create_image_tests.rb +0 -20
- data/tests/rackspace/requests/servers/create_server_tests.rb +0 -18
- data/tests/rackspace/requests/servers/delete_image_tests.rb +0 -23
- data/tests/rackspace/requests/servers/delete_server_tests.rb +0 -19
- data/tests/rackspace/requests/servers/get_flavor_details_tests.rb +0 -16
- data/tests/rackspace/requests/servers/get_image_details_tests.rb +0 -16
- data/tests/rackspace/requests/servers/get_server_details_tests.rb +0 -21
- data/tests/rackspace/requests/servers/list_addresses_tests.rb +0 -22
- data/tests/rackspace/requests/servers/list_flavors_detail_tests.rb +0 -9
- data/tests/rackspace/requests/servers/list_flavors_tests.rb +0 -9
- data/tests/rackspace/requests/servers/list_images_detail_tests.rb +0 -9
- data/tests/rackspace/requests/servers/list_images_tests.rb +0 -9
- data/tests/rackspace/requests/servers/list_private_addresses_tests.rb +0 -22
- data/tests/rackspace/requests/servers/list_public_addresses_tests.rb +0 -22
- data/tests/rackspace/requests/servers/list_servers_detail_tests.rb +0 -14
- data/tests/rackspace/requests/servers/list_servers_tests.rb +0 -14
- data/tests/rackspace/requests/servers/reboot_server_tests.rb +0 -30
- data/tests/rackspace/requests/servers/update_server_tests.rb +0 -22
- data/tests/slicehost/requests/create_slice_tests.rb +0 -14
- data/tests/slicehost/requests/delete_slice_tests.rb +0 -20
- data/tests/slicehost/requests/get_backups_tests.rb +0 -9
- data/tests/slicehost/requests/get_flavor_tests.rb +0 -17
- data/tests/slicehost/requests/get_flavors_tests.rb +0 -9
- data/tests/slicehost/requests/get_image_tests.rb +0 -17
- data/tests/slicehost/requests/get_images_tests.rb +0 -9
- data/tests/slicehost/requests/get_slice_tests.rb +0 -22
- data/tests/slicehost/requests/get_slices_tests.rb +0 -9
- 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.
|
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.
|
12
|
+
gem 'shindo', '>= 0.1.4'
|
13
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.0.
|
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.
|
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.
|
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.
|
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.
|
72
|
-
hash:
|
71
|
+
version: 0.1.4
|
72
|
+
hash: 47be4240cdce9d626cc1834c503ca8e275e76307
|
73
73
|
sources:
|
74
74
|
- Rubygems:
|
75
75
|
uri: http://gemcutter.org
|
data/README.rdoc
CHANGED
@@ -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.
|
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 =
|
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
|
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.1.
|
11
|
-
s.date = '2010-
|
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/
|
468
|
-
tests/rackspace/requests/servers/
|
469
|
-
tests/rackspace/requests/servers/
|
470
|
-
tests/rackspace/requests/servers/
|
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/
|
487
|
-
tests/slicehost/requests/
|
488
|
-
tests/slicehost/requests/
|
489
|
-
tests/slicehost/requests/
|
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.
|
51
|
+
VERSION = '0.1.6'
|
51
52
|
end
|
52
53
|
|
53
54
|
module Mock
|
data/lib/fog/aws/elb.rb
CHANGED
@@ -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!(
|
35
|
-
params.merge!(
|
36
|
-
params.merge!(
|
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 =
|
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 =
|
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 =
|
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 =
|
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 =
|
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 =
|
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 =>
|
48
|
+
:query => options
|
54
49
|
})
|
55
50
|
end
|
56
51
|
|