fog 0.0.40 → 0.0.41
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.
- data/README.rdoc +2 -0
- data/Rakefile +12 -0
- data/VERSION +1 -1
- data/bin/fog +28 -40
- data/fog.gemspec +16 -3
- data/lib/fog.rb +27 -3
- data/lib/fog/aws/ec2.rb +7 -3
- data/lib/fog/aws/models/ec2/security_group.rb +1 -1
- data/lib/fog/aws/models/ec2/server.rb +8 -3
- data/lib/fog/aws/models/ec2/servers.rb +1 -1
- data/lib/fog/aws/parsers/ec2/terminate_instances.rb +10 -10
- data/lib/fog/aws/requests/ec2/run_instances.rb +1 -1
- data/lib/fog/aws/s3.rb +6 -2
- data/lib/fog/rackspace.rb +8 -2
- data/lib/fog/slicehost.rb +3 -1
- data/spec/aws/models/ec2/address_spec.rb +8 -8
- data/spec/aws/models/ec2/addresses_spec.rb +10 -10
- data/spec/aws/models/ec2/key_pair_spec.rb +8 -8
- data/spec/aws/models/ec2/key_pairs_spec.rb +10 -10
- data/spec/aws/models/ec2/security_group_spec.rb +8 -8
- data/spec/aws/models/ec2/security_groups_spec.rb +10 -10
- data/spec/aws/models/ec2/server_spec.rb +1 -4
- data/spec/aws/models/ec2/servers_spec.rb +1 -1
- data/spec/aws/models/ec2/snapshot_spec.rb +12 -10
- data/spec/aws/models/ec2/snapshots_spec.rb +20 -20
- data/spec/aws/models/ec2/volume_spec.rb +10 -10
- data/spec/aws/models/ec2/volumes_spec.rb +10 -10
- data/spec/aws/models/s3/directories_spec.rb +8 -8
- data/spec/aws/models/s3/directory_spec.rb +11 -11
- data/spec/aws/models/s3/file_spec.rb +2 -2
- data/spec/aws/models/s3/files_spec.rb +2 -2
- data/spec/aws/requests/ec2/allocate_address_spec.rb +2 -2
- data/spec/aws/requests/ec2/associate_address_spec.rb +15 -13
- data/spec/aws/requests/ec2/attach_volume_spec.rb +12 -12
- data/spec/aws/requests/ec2/authorize_security_group_ingress_spec.rb +3 -3
- data/spec/aws/requests/ec2/create_key_pair_spec.rb +5 -5
- data/spec/aws/requests/ec2/create_security_group_spec.rb +5 -5
- data/spec/aws/requests/ec2/create_snapshot_spec.rb +5 -5
- data/spec/aws/requests/ec2/create_volume_spec.rb +2 -2
- data/spec/aws/requests/ec2/delete_key_pair_spec.rb +3 -3
- data/spec/aws/requests/ec2/delete_security_group_spec.rb +3 -3
- data/spec/aws/requests/ec2/delete_snapshot_spec.rb +5 -5
- data/spec/aws/requests/ec2/delete_volume_spec.rb +3 -3
- data/spec/aws/requests/ec2/describe_addresses_spec.rb +5 -5
- data/spec/aws/requests/ec2/describe_availability_zones_spec.rb +2 -2
- data/spec/aws/requests/ec2/describe_images_spec.rb +2 -2
- data/spec/aws/requests/ec2/describe_instances_spec.rb +5 -5
- data/spec/aws/requests/ec2/describe_key_pairs_spec.rb +5 -5
- data/spec/aws/requests/ec2/describe_regions_spec.rb +2 -2
- data/spec/aws/requests/ec2/describe_security_groups_spec.rb +5 -5
- data/spec/aws/requests/ec2/describe_snapshots_spec.rb +7 -7
- data/spec/aws/requests/ec2/describe_volumes_spec.rb +5 -5
- data/spec/aws/requests/ec2/detach_volume_spec.rb +7 -7
- data/spec/aws/requests/ec2/disassociate_address_spec.rb +9 -7
- data/spec/aws/requests/ec2/get_console_output_spec.rb +4 -4
- data/spec/aws/requests/ec2/reboot_instances_spec.rb +4 -4
- data/spec/aws/requests/ec2/release_address_spec.rb +3 -3
- data/spec/aws/requests/ec2/revoke_security_group_ingress_spec.rb +4 -4
- data/spec/aws/requests/ec2/run_instances_spec.rb +2 -2
- data/spec/aws/requests/ec2/terminate_instances_spec.rb +7 -7
- data/spec/aws/requests/s3/copy_object_spec.rb +11 -11
- data/spec/aws/requests/s3/delete_bucket_spec.rb +8 -8
- data/spec/aws/requests/s3/delete_object_spec.rb +8 -8
- data/spec/aws/requests/s3/get_bucket_location_spec.rb +4 -4
- data/spec/aws/requests/s3/get_bucket_spec.rb +12 -12
- data/spec/aws/requests/s3/get_object_spec.rb +9 -9
- data/spec/aws/requests/s3/get_request_payment_spec.rb +4 -4
- data/spec/aws/requests/s3/get_service_spec.rb +4 -4
- data/spec/aws/requests/s3/head_object_spec.rb +5 -5
- data/spec/aws/requests/s3/put_bucket_spec.rb +3 -3
- data/spec/aws/requests/s3/put_object_spec.rb +11 -11
- data/spec/aws/requests/s3/put_request_payment_spec.rb +4 -4
- data/spec/aws/requests/simpledb/batch_put_attributes_spec.rb +4 -4
- data/spec/aws/requests/simpledb/create_domain_spec.rb +4 -4
- data/spec/aws/requests/simpledb/delete_attributes_spec.rb +8 -8
- data/spec/aws/requests/simpledb/delete_domain_spec.rb +3 -3
- data/spec/aws/requests/simpledb/domain_metadata_spec.rb +6 -6
- data/spec/aws/requests/simpledb/get_attributes_spec.rb +9 -9
- data/spec/aws/requests/simpledb/list_domains_spec.rb +4 -4
- data/spec/aws/requests/simpledb/put_attributes_spec.rb +4 -4
- data/spec/compact_progress_bar_formatter.rb +195 -0
- data/spec/rackspace/models/servers/server_spec.rb +1 -1
- data/spec/rackspace/requests/files/delete_container_spec.rb +3 -3
- data/spec/rackspace/requests/files/delete_object_spec.rb +8 -8
- data/spec/rackspace/requests/files/get_container_spec.rb +6 -6
- data/spec/rackspace/requests/files/get_containers_spec.rb +3 -3
- data/spec/rackspace/requests/files/head_container_spec.rb +6 -6
- data/spec/rackspace/requests/files/head_containers_spec.rb +3 -3
- data/spec/rackspace/requests/files/put_container_spec.rb +2 -2
- data/spec/rackspace/requests/files/put_object_spec.rb +4 -4
- data/spec/rackspace/requests/servers/create_image_spec.rb +4 -4
- data/spec/rackspace/requests/servers/create_server_spec.rb +2 -2
- data/spec/rackspace/requests/servers/delete_image_spec.rb +5 -5
- data/spec/rackspace/requests/servers/delete_server_spec.rb +3 -3
- data/spec/rackspace/requests/servers/get_flavor_details_spec.rb +1 -1
- data/spec/rackspace/requests/servers/get_server_details_spec.rb +4 -4
- data/spec/rackspace/requests/servers/list_addresses_spec.rb +4 -4
- data/spec/rackspace/requests/servers/list_flavors_detail_spec.rb +1 -1
- data/spec/rackspace/requests/servers/list_flavors_spec.rb +1 -1
- data/spec/rackspace/requests/servers/list_images_detail_spec.rb +1 -1
- data/spec/rackspace/requests/servers/list_images_spec.rb +1 -1
- data/spec/rackspace/requests/servers/list_private_addresses_spec.rb +4 -4
- data/spec/rackspace/requests/servers/list_public_addresses_spec.rb +4 -4
- data/spec/rackspace/requests/servers/list_servers_detail_spec.rb +3 -3
- data/spec/rackspace/requests/servers/list_servers_spec.rb +3 -3
- data/spec/rackspace/requests/servers/reboot_server_spec.rb +4 -4
- data/spec/rackspace/requests/servers/update_server_spec.rb +4 -4
- data/spec/slicehost/requests/create_slice_spec.rb +2 -2
- data/spec/slicehost/requests/delete_slice_spec.rb +2 -2
- data/spec/slicehost/requests/get_backups_spec.rb +1 -1
- data/spec/slicehost/requests/get_flavors_spec.rb +1 -1
- data/spec/slicehost/requests/get_images_spec.rb +1 -1
- data/spec/slicehost/requests/get_slices_spec.rb +1 -1
- data/spec/spec_helper.rb +60 -38
- metadata +16 -3
- data/spec/spec.opts +0 -1
data/README.rdoc
CHANGED
@@ -46,6 +46,8 @@ Lets boot up a server on EC2
|
|
46
46
|
|
47
47
|
# boot a gentoo server
|
48
48
|
server = connection.servers.new(:image_id => 'ami-5ee70037')
|
49
|
+
# you might also want to add the server to security groups, which goes like this:
|
50
|
+
# AWS.servers.create(:image_id => 'ami-5ee70037', :groups => ['web', 'db'])
|
49
51
|
|
50
52
|
# wait for it to be ready to do stuff
|
51
53
|
server.wait_for { ready? }
|
data/Rakefile
CHANGED
@@ -20,6 +20,18 @@ begin
|
|
20
20
|
gem.rubyforge_project = "fog"
|
21
21
|
|
22
22
|
gem.post_install_message = <<MESSAGE
|
23
|
+
#{'=' * 50}
|
24
|
+
|
25
|
+
fog 0.0.41 has a minor change to the API for ec2 servers:
|
26
|
+
|
27
|
+
# what_it_was => what_it_is
|
28
|
+
|
29
|
+
ec2.servers.new(:group_id => 'foo') => ec2.servers.new(:groups => ['foo'])
|
30
|
+
|
31
|
+
Updating to the newest api version also means you can now assign multiple groups:
|
32
|
+
|
33
|
+
ec2.servers.new(:groups => ['foo', 'bar'])
|
34
|
+
|
23
35
|
#{'=' * 50}
|
24
36
|
|
25
37
|
fog 0.0.40 has API changes you should know about.
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.41
|
data/bin/fog
CHANGED
@@ -5,20 +5,8 @@ require 'yaml'
|
|
5
5
|
|
6
6
|
module Fog
|
7
7
|
module Credentials
|
8
|
-
|
9
|
-
unless Fog.credentials
|
10
|
-
print("\n To run as '#{key}', add credentials like the following to ~/.fog\n")
|
11
|
-
yml = <<-YML
|
12
|
-
|
13
|
-
:#{key}:
|
14
|
-
:aws_access_key_id: INTENTIONALLY_LEFT_BLANK
|
15
|
-
:aws_secret_access_key: INTENTIONALLY_LEFT_BLANK
|
16
|
-
:rackspace_api_key: INTENTIONALLY_LEFT_BLANK
|
17
|
-
:rackspace_username: INTENTIONALLY_LEFT_BLANK
|
18
|
-
:slicehost_password: INTENTIONALLY_LEFT_BLANK
|
19
|
-
|
20
|
-
YML
|
21
|
-
print(yml)
|
8
|
+
Fog.credential = (ARGV.first && :"#{ARGV.first}") || :default
|
9
|
+
unless Fog.credentials
|
22
10
|
exit
|
23
11
|
end
|
24
12
|
end
|
@@ -26,15 +14,14 @@ end
|
|
26
14
|
|
27
15
|
module AWS
|
28
16
|
class << self
|
29
|
-
|
30
|
-
if Fog.credentials
|
17
|
+
credential = (ARGV.first && :"#{ARGV.first}") || :default
|
18
|
+
if Fog.credentials[:aws_access_key_id] && Fog.credentials[:aws_secret_access_key]
|
31
19
|
|
32
|
-
def
|
20
|
+
def [](service)
|
33
21
|
@@connections ||= Hash.new do |hash, key|
|
34
|
-
credentials =
|
35
|
-
:aws_access_key_id
|
36
|
-
|
37
|
-
}
|
22
|
+
credentials = Fog.credentials.reject do |k, v|
|
23
|
+
![:aws_access_key_id, :aws_secret_access_key].include?(k)
|
24
|
+
end
|
38
25
|
hash[key] = case key
|
39
26
|
when :ec2
|
40
27
|
Fog::AWS::EC2.new(credentials)
|
@@ -42,42 +29,43 @@ module AWS
|
|
42
29
|
Fog::AWS::S3.new(credentials)
|
43
30
|
end
|
44
31
|
end
|
32
|
+
@@connections[service]
|
45
33
|
end
|
46
34
|
|
47
35
|
def addresses
|
48
|
-
|
36
|
+
self[:ec2].addresses
|
49
37
|
end
|
50
38
|
|
51
39
|
def directories
|
52
|
-
|
40
|
+
self[:s3].directories
|
53
41
|
end
|
54
42
|
|
55
43
|
def flavors
|
56
|
-
|
44
|
+
self[:ec2].flavors
|
57
45
|
end
|
58
46
|
|
59
47
|
def images
|
60
|
-
|
48
|
+
self[:ec2].images
|
61
49
|
end
|
62
50
|
|
63
51
|
def servers
|
64
|
-
|
52
|
+
self[:ec2].servers
|
65
53
|
end
|
66
54
|
|
67
55
|
def key_pairs
|
68
|
-
|
56
|
+
self[:ec2].key_pairs
|
69
57
|
end
|
70
58
|
|
71
59
|
def security_groups
|
72
|
-
|
60
|
+
self[:ec2].security_groups
|
73
61
|
end
|
74
62
|
|
75
63
|
def snapshots
|
76
|
-
|
64
|
+
self[:ec2].snapshots
|
77
65
|
end
|
78
66
|
|
79
67
|
def volumes
|
80
|
-
|
68
|
+
self[:ec2].volumes
|
81
69
|
end
|
82
70
|
|
83
71
|
end
|
@@ -86,15 +74,14 @@ end
|
|
86
74
|
|
87
75
|
module Rackspace
|
88
76
|
class << self
|
89
|
-
|
90
|
-
if Fog.credentials(key)[:rackspace_api_key] && Fog.credentials(key)[:rackspace_username]
|
77
|
+
if Fog.credentials[:rackspace_api_key] && Fog.credentials[:rackspace_username]
|
91
78
|
|
92
|
-
def
|
79
|
+
def [](service)
|
93
80
|
@@connections ||= Hash.new do |hash, key|
|
94
|
-
|
95
|
-
|
96
|
-
:
|
97
|
-
|
81
|
+
credential = (ARGV.first && :"#{ARGV.first}") || :default
|
82
|
+
credentials = Fog.credentials.reject do |k,v|
|
83
|
+
![:rackspace_api_key, :rackspace_username].include?(k)
|
84
|
+
end
|
98
85
|
hash[key] = case key
|
99
86
|
when :files
|
100
87
|
Fog::Rackspace::Files.new(credentials)
|
@@ -102,18 +89,19 @@ module Rackspace
|
|
102
89
|
Fog::Rackspace::Servers.new(credentials)
|
103
90
|
end
|
104
91
|
end
|
92
|
+
@@connections[service]
|
105
93
|
end
|
106
94
|
|
107
95
|
def flavors
|
108
|
-
|
96
|
+
self[:servers].flavors
|
109
97
|
end
|
110
98
|
|
111
99
|
def images
|
112
|
-
|
100
|
+
self[:servers].images
|
113
101
|
end
|
114
102
|
|
115
103
|
def servers
|
116
|
-
|
104
|
+
self[:servers].servers
|
117
105
|
end
|
118
106
|
|
119
107
|
end
|
data/fog.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{fog}
|
8
|
-
s.version = "0.0.
|
8
|
+
s.version = "0.0.41"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["geemus (Wesley Beary)"]
|
12
|
-
s.date = %q{2010-01-
|
12
|
+
s.date = %q{2010-01-25}
|
13
13
|
s.default_executable = %q{fog}
|
14
14
|
s.description = %q{brings clouds to you}
|
15
15
|
s.email = %q{me@geemus.com}
|
@@ -248,6 +248,7 @@ Gem::Specification.new do |s|
|
|
248
248
|
"spec/aws/requests/simpledb/list_domains_spec.rb",
|
249
249
|
"spec/aws/requests/simpledb/put_attributes_spec.rb",
|
250
250
|
"spec/aws/requests/simpledb/select_spec.rb",
|
251
|
+
"spec/compact_progress_bar_formatter.rb",
|
251
252
|
"spec/lorem.txt",
|
252
253
|
"spec/rackspace/models/servers/server_spec.rb",
|
253
254
|
"spec/rackspace/requests/files/delete_container_spec.rb",
|
@@ -282,12 +283,23 @@ Gem::Specification.new do |s|
|
|
282
283
|
"spec/slicehost/requests/get_flavors_spec.rb",
|
283
284
|
"spec/slicehost/requests/get_images_spec.rb",
|
284
285
|
"spec/slicehost/requests/get_slices_spec.rb",
|
285
|
-
"spec/spec.opts",
|
286
286
|
"spec/spec_helper.rb"
|
287
287
|
]
|
288
288
|
s.homepage = %q{http://github.com/geemus/fog}
|
289
289
|
s.post_install_message = %q{==================================================
|
290
290
|
|
291
|
+
fog 0.0.41 has a minor change to the API for ec2 servers:
|
292
|
+
|
293
|
+
# what_it_was => what_it_is
|
294
|
+
|
295
|
+
ec2.servers.new(:group_id => 'foo') => ec2.servers.new(:groups => ['foo'])
|
296
|
+
|
297
|
+
Updating to the newest api version also means you can now assign multiple groups:
|
298
|
+
|
299
|
+
ec2.servers.new(:groups => ['foo', 'bar'])
|
300
|
+
|
301
|
+
==================================================
|
302
|
+
|
291
303
|
fog 0.0.40 has API changes you should know about.
|
292
304
|
|
293
305
|
Some changes you might care about happened in the models:
|
@@ -379,6 +391,7 @@ Gem::Specification.new do |s|
|
|
379
391
|
"spec/aws/requests/simpledb/list_domains_spec.rb",
|
380
392
|
"spec/aws/requests/simpledb/put_attributes_spec.rb",
|
381
393
|
"spec/aws/requests/simpledb/select_spec.rb",
|
394
|
+
"spec/compact_progress_bar_formatter.rb",
|
382
395
|
"spec/rackspace/models/servers/server_spec.rb",
|
383
396
|
"spec/rackspace/requests/files/delete_container_spec.rb",
|
384
397
|
"spec/rackspace/requests/files/delete_object_spec.rb",
|
data/lib/fog.rb
CHANGED
@@ -38,16 +38,40 @@ module Fog
|
|
38
38
|
load "fog/slicehost.rb"
|
39
39
|
end
|
40
40
|
|
41
|
-
def self.
|
41
|
+
def self.credential=(new_credential)
|
42
|
+
@credential = new_credential
|
43
|
+
@credentials = nil
|
44
|
+
end
|
45
|
+
|
46
|
+
def self.credential
|
47
|
+
@credential || :default
|
48
|
+
end
|
49
|
+
|
50
|
+
def self.credentials
|
42
51
|
@credentials ||= begin
|
43
52
|
path = File.expand_path('~/.fog')
|
44
|
-
if File.exists?(path)
|
53
|
+
credentials = if File.exists?(path)
|
45
54
|
File.open(path) do |file|
|
46
|
-
YAML.load(file.read)
|
55
|
+
YAML.load(file.read)
|
47
56
|
end
|
48
57
|
else
|
49
58
|
nil
|
50
59
|
end
|
60
|
+
unless credentials
|
61
|
+
print("\n To run as '#{key}', add credentials like the following to ~/.fog\n")
|
62
|
+
yml = <<-YML
|
63
|
+
|
64
|
+
:#{key}:
|
65
|
+
:aws_access_key_id: INTENTIONALLY_LEFT_BLANK
|
66
|
+
:aws_secret_access_key: INTENTIONALLY_LEFT_BLANK
|
67
|
+
:rackspace_api_key: INTENTIONALLY_LEFT_BLANK
|
68
|
+
:rackspace_username: INTENTIONALLY_LEFT_BLANK
|
69
|
+
:slicehost_password: INTENTIONALLY_LEFT_BLANK
|
70
|
+
|
71
|
+
YML
|
72
|
+
print(yml)
|
73
|
+
end
|
74
|
+
credentials[credential]
|
51
75
|
end
|
52
76
|
end
|
53
77
|
|
data/lib/fog/aws/ec2.rb
CHANGED
@@ -127,8 +127,12 @@ module Fog
|
|
127
127
|
# ==== Returns
|
128
128
|
# * EC2 object with connection to aws.
|
129
129
|
def initialize(options={})
|
130
|
-
@aws_access_key_id
|
131
|
-
|
130
|
+
unless @aws_access_key_id = options[:aws_access_key_id]
|
131
|
+
raise ArgumentError.new('aws_access_key_id is required to access ec2')
|
132
|
+
end
|
133
|
+
unless @aws_secret_access_key = options[:aws_secret_access_key]
|
134
|
+
raise ArgumentError.new('aws_secret_access_key is required to access ec2')
|
135
|
+
end
|
132
136
|
@hmac = HMAC::SHA256.new(@aws_secret_access_key)
|
133
137
|
@host = options[:host] || 'ec2.amazonaws.com'
|
134
138
|
@port = options[:port] || 443
|
@@ -153,7 +157,7 @@ module Fog
|
|
153
157
|
'SignatureMethod' => 'HmacSHA256',
|
154
158
|
'SignatureVersion' => '2',
|
155
159
|
'Timestamp' => Time.now.utc.strftime("%Y-%m-%dT%H:%M:%SZ"),
|
156
|
-
'Version' => '2009-
|
160
|
+
'Version' => '2009-11-30'
|
157
161
|
})
|
158
162
|
|
159
163
|
body = ''
|
@@ -9,7 +9,7 @@ module Fog
|
|
9
9
|
attribute :ami_launch_index, 'amiLaunchIndex'
|
10
10
|
attribute :availability_zone, 'availabilityZone'
|
11
11
|
attribute :dns_name, 'dnsName'
|
12
|
-
attribute :
|
12
|
+
attribute :groups
|
13
13
|
attribute :image_id, 'imageId'
|
14
14
|
attribute :state, 'instanceState'
|
15
15
|
attribute :flavor_id, 'instanceType'
|
@@ -23,6 +23,11 @@ module Fog
|
|
23
23
|
attribute :reason
|
24
24
|
attribute :user_data
|
25
25
|
|
26
|
+
def initialize(attributes)
|
27
|
+
@groups ||= ["default"]
|
28
|
+
super
|
29
|
+
end
|
30
|
+
|
26
31
|
def addresses
|
27
32
|
requires :id
|
28
33
|
|
@@ -99,8 +104,8 @@ module Fog
|
|
99
104
|
if @availability_zone
|
100
105
|
options['Placement.AvailabilityZone'] = @availability_zone
|
101
106
|
end
|
102
|
-
|
103
|
-
options[
|
107
|
+
@groups.each_with_index do |group, index|
|
108
|
+
options["SecurityGroup.#{index}"] = group
|
104
109
|
end
|
105
110
|
if @kernel_id
|
106
111
|
options['KernelId'] = @kernel_id
|
@@ -26,7 +26,7 @@ module Fog
|
|
26
26
|
data = connection.describe_instances(server_id).body
|
27
27
|
data['reservationSet'].each do |reservation|
|
28
28
|
reservation['instancesSet'].each do |instance|
|
29
|
-
self << new(instance)
|
29
|
+
self << new(instance.merge(:groups => reservation['groupSet']))
|
30
30
|
end
|
31
31
|
end
|
32
32
|
self
|
@@ -6,15 +6,15 @@ module Fog
|
|
6
6
|
class TerminateInstances < Fog::Parsers::Base
|
7
7
|
|
8
8
|
def reset
|
9
|
-
@instance = { 'previousState' => {}, '
|
9
|
+
@instance = { 'previousState' => {}, 'currentState' => {} }
|
10
10
|
@response = { 'instancesSet' => [] }
|
11
11
|
end
|
12
12
|
|
13
13
|
def start_element(name, attrs = [])
|
14
14
|
if name == 'previousState'
|
15
15
|
@in_previous_state = true
|
16
|
-
elsif name == '
|
17
|
-
@
|
16
|
+
elsif name == 'currentState'
|
17
|
+
@in_current_state = true
|
18
18
|
end
|
19
19
|
@value = ''
|
20
20
|
end
|
@@ -25,25 +25,25 @@ module Fog
|
|
25
25
|
@instance[name] = @value
|
26
26
|
when 'item'
|
27
27
|
@response['instancesSet'] << @instance
|
28
|
-
@instance = { 'previousState' => {}, '
|
28
|
+
@instance = { 'previousState' => {}, 'currentState' => {} }
|
29
29
|
when 'code'
|
30
30
|
if @in_previous_state
|
31
31
|
@instance['previousState'][name] = @value.to_i
|
32
|
-
elsif @
|
33
|
-
@instance['
|
32
|
+
elsif @in_current_state
|
33
|
+
@instance['currentState'][name] = @value.to_i
|
34
34
|
end
|
35
35
|
when 'name'
|
36
36
|
if @in_previous_state
|
37
37
|
@instance['previousState'][name] = @value
|
38
|
-
elsif @
|
39
|
-
@instance['
|
38
|
+
elsif @in_current_state
|
39
|
+
@instance['currentState'][name] = @value
|
40
40
|
end
|
41
41
|
when 'previousState'
|
42
42
|
@in_previous_state = false
|
43
43
|
when 'requestId'
|
44
44
|
@response[name] = @value
|
45
|
-
when '
|
46
|
-
@
|
45
|
+
when 'currentState'
|
46
|
+
@in_current_state = false
|
47
47
|
end
|
48
48
|
end
|
49
49
|
|
@@ -21,7 +21,7 @@ unless Fog.mocking?
|
|
21
21
|
# * 'Placement.AvailabilityZone'<~String> - Placement constraint for instances
|
22
22
|
# * 'DeviceName'<~String> - ?
|
23
23
|
# * 'Encoding'<~String> - ?
|
24
|
-
# * '
|
24
|
+
# * 'SecurityGroup.n'<~String> - Indexed names of security groups for instances
|
25
25
|
# * 'InstanceType'<~String> - Type of instance to boot. Valid options
|
26
26
|
# in ['m1.small', 'm1.large', 'm1.xlarge', 'c1.medium', 'c1.xlarge', 'm2.2xlarge', 'm2.4xlarge']
|
27
27
|
# default is 'm1.small'
|
data/lib/fog/aws/s3.rb
CHANGED
@@ -59,8 +59,12 @@ module Fog
|
|
59
59
|
# ==== Returns
|
60
60
|
# * S3 object with connection to aws.
|
61
61
|
def initialize(options={})
|
62
|
-
@aws_access_key_id
|
63
|
-
|
62
|
+
unless @aws_access_key_id = options[:aws_access_key_id]
|
63
|
+
raise ArgumentError.new('aws_access_key_id is required to access ec2')
|
64
|
+
end
|
65
|
+
unless @aws_secret_access_key = options[:aws_secret_access_key]
|
66
|
+
raise ArgumentError.new('aws_secret_access_key is required to access ec2')
|
67
|
+
end
|
64
68
|
@hmac = HMAC::SHA1.new(@aws_secret_access_key)
|
65
69
|
@host = options[:host] || 's3.amazonaws.com'
|
66
70
|
@port = options[:port] || 443
|
data/lib/fog/rackspace.rb
CHANGED
@@ -9,12 +9,18 @@ module Fog
|
|
9
9
|
unless Fog.mocking?
|
10
10
|
|
11
11
|
def self.authenticate(options)
|
12
|
+
unless @rackspace_api_key = options[:rackspace_api_key]
|
13
|
+
raise ArgumentError.new('rackspace_api_key is required to access rackspace')
|
14
|
+
end
|
15
|
+
unless @rackspace_username = options[:rackspace_username]
|
16
|
+
raise ArgumentError.new('rackspace_username is required to access rackspace')
|
17
|
+
end
|
12
18
|
connection = Fog::Connection.new("https://auth.api.rackspacecloud.com")
|
13
19
|
response = connection.request({
|
14
20
|
:expects => 204,
|
15
21
|
:headers => {
|
16
|
-
'X-Auth-Key' =>
|
17
|
-
'X-Auth-User' =>
|
22
|
+
'X-Auth-Key' => @rackspace_api_key,
|
23
|
+
'X-Auth-User' => @rackspace_username
|
18
24
|
},
|
19
25
|
:host => 'auth.api.rackspacecloud.com',
|
20
26
|
:method => 'GET',
|
data/lib/fog/slicehost.rb
CHANGED
@@ -30,7 +30,9 @@ module Fog
|
|
30
30
|
end
|
31
31
|
|
32
32
|
def initialize(options={})
|
33
|
-
@password
|
33
|
+
unless @password = options[:password]
|
34
|
+
raise ArgumentError.new('password is required to access slicehost')
|
35
|
+
end
|
34
36
|
@host = options[:host] || "api.slicehost.com"
|
35
37
|
@port = options[:port] || 443
|
36
38
|
@scheme = options[:scheme] || 'https'
|