fog 0.0.39 → 0.0.40

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 (49) hide show
  1. data/README.rdoc +88 -31
  2. data/Rakefile +25 -2
  3. data/VERSION +1 -1
  4. data/bin/fog +57 -43
  5. data/fog.gemspec +52 -23
  6. data/lib/fog.rb +7 -4
  7. data/lib/fog/aws/ec2.rb +6 -2
  8. data/lib/fog/aws/models/ec2/address.rb +13 -13
  9. data/lib/fog/aws/models/ec2/addresses.rb +5 -5
  10. data/lib/fog/aws/models/ec2/flavor.rb +19 -0
  11. data/lib/fog/aws/models/ec2/flavors.rb +43 -0
  12. data/lib/fog/aws/models/ec2/image.rb +24 -0
  13. data/lib/fog/aws/models/ec2/images.rb +44 -0
  14. data/lib/fog/aws/models/ec2/{instance.rb → server.rb} +22 -10
  15. data/lib/fog/aws/models/ec2/{instances.rb → servers.rb} +12 -12
  16. data/lib/fog/aws/models/ec2/snapshot.rb +2 -2
  17. data/lib/fog/aws/models/ec2/volume.rb +17 -17
  18. data/lib/fog/aws/models/ec2/volumes.rb +5 -5
  19. data/lib/fog/aws/models/s3/{buckets.rb → directories.rb} +16 -13
  20. data/lib/fog/aws/models/s3/{bucket.rb → directory.rb} +5 -10
  21. data/lib/fog/aws/models/s3/{object.rb → file.rb} +16 -18
  22. data/lib/fog/aws/models/s3/{objects.rb → files.rb} +19 -19
  23. data/lib/fog/aws/requests/ec2/run_instances.rb +1 -1
  24. data/lib/fog/aws/s3.rb +6 -6
  25. data/lib/fog/rackspace/files.rb +6 -3
  26. data/lib/fog/rackspace/models/servers/flavor.rb +26 -1
  27. data/lib/fog/rackspace/models/servers/image.rb +3 -3
  28. data/lib/fog/rackspace/models/servers/server.rb +20 -9
  29. data/lib/fog/rackspace/models/servers/servers.rb +3 -1
  30. data/lib/fog/rackspace/servers.rb +2 -1
  31. data/spec/aws/models/ec2/address_spec.rb +8 -8
  32. data/spec/aws/models/ec2/server_spec.rb +109 -0
  33. data/spec/aws/models/ec2/servers_spec.rb +52 -0
  34. data/spec/aws/models/ec2/snapshot_spec.rb +2 -1
  35. data/spec/aws/models/ec2/volume_spec.rb +22 -22
  36. data/spec/aws/models/s3/directories_spec.rb +49 -0
  37. data/spec/aws/models/s3/directory_spec.rb +112 -0
  38. data/spec/aws/models/s3/file_spec.rb +106 -0
  39. data/spec/aws/models/s3/files_spec.rb +116 -0
  40. data/spec/rackspace/models/servers/server_spec.rb +51 -0
  41. data/spec/shared_examples/server_examples.rb +42 -0
  42. data/spec/spec_helper.rb +1 -1
  43. metadata +51 -22
  44. data/spec/aws/models/ec2/instance_spec.rb +0 -161
  45. data/spec/aws/models/ec2/instances_spec.rb +0 -70
  46. data/spec/aws/models/s3/bucket_spec.rb +0 -129
  47. data/spec/aws/models/s3/buckets_spec.rb +0 -70
  48. data/spec/aws/models/s3/object_spec.rb +0 -121
  49. data/spec/aws/models/s3/objects_spec.rb +0 -141
@@ -2,52 +2,105 @@
2
2
 
3
3
  fog helps you interact with cloud services. fog is a work in progress.
4
4
 
5
- == Features
5
+ == Install
6
6
 
7
- * Low level api calls
8
- * Model level abstractions
9
- * Mocks
7
+ sudo gem install fog
10
8
 
11
- == Supports
9
+ == Getting Started
12
10
 
13
- * AWS EC2
14
- * AWS S3
15
- * AWS SimpleDB (no models yet)
16
- * Rackspace Files (no models yet, just getting started on requests)
17
- * Rackspace Servers (some requests, server model, just getting started)
11
+ You can start stumbling around as soon as you install with the fog command line tool.
12
+ After installing, just type 'fog' to get started.
13
+ If you don't have credentials setup it will let you know what to do.
14
+
15
+ Then just start playing around, fog should let you know if you are forget things.
16
+
17
+ For example if you try to create a server but leave out stuff:
18
+
19
+ server = AWS.servers.create
18
20
 
19
- == Synopsis
21
+ You'll get reminded that things are missing.
22
+
23
+ ArgumentError: image_id is required for this operation
24
+
25
+ So just add the missing stuff and you are off to the races:
26
+
27
+ server = AWS.servers.create(:image_id => 'ami-5ee70037')
28
+
29
+ But don't forget to cleanup or you'll regret it when you get the bill:
30
+
31
+ server.destroy
32
+
33
+ Rinse, repeat, enjoy!
34
+
35
+ == Working with Servers
36
+
37
+ Lets boot up a server on EC2
20
38
 
21
39
  require 'fog'
22
40
 
23
- # turn on mocking (if desired)
24
- Fog.mock!
41
+ # initialize a connection to Amazon Elastic Compute Cloud
42
+ connection = Fog::AWS::EC2.new(
43
+ :aws_access_key_id => id,
44
+ :aws_secret_access_key => key
45
+ )
46
+
47
+ # boot a gentoo server
48
+ server = connection.servers.new(:image_id => 'ami-5ee70037')
49
+
50
+ # wait for it to be ready to do stuff
51
+ server.wait_for { ready? }
52
+
53
+ # DO STUFF
54
+
55
+ # shutdown the server
56
+ server.destroy
57
+
58
+ Now we will try again, but with Rackspace
59
+
60
+ # initialize a connection to Rackspace Servers
61
+ connection = Fog::Rackspace::Servers.new(
62
+ :rackspace_api_key => key,
63
+ :rackspace_username => username
64
+ )
65
+
66
+ # boot a gentoo server (flavor 1 = 256, image 3 = gentoo 2008.0)
67
+ server = connection.servers.new(:flavor_id => 1, :image_id => 3, :name => 'my_server')
68
+
69
+ # wait for it to be ready to do stuff
70
+ server.wait_for { ready? }
71
+
72
+ # DO STUFF
73
+
74
+ # shutdown the server
75
+ server.destroy
25
76
 
26
- # initialize a connection
27
- s3 = Fog::AWS::S3.new(
77
+ == Working with Directories and Files
78
+
79
+ require 'fog'
80
+
81
+ # initialize a connection to Amazon Simple Storage Solution
82
+ connection = Fog::AWS::S3.new(
28
83
  :aws_access_key_id => id,
29
84
  :aws_secret_access_key => key
30
85
  )
31
86
 
32
- # low level requests
33
- s3.put_bucket('bucketname')
34
- s3.put_object('bucketname', 'objectname', 'objectbody')
87
+ # create a directory
88
+ directory = connection.directory.create(:name => 'directoryname')
35
89
 
36
- s3.get_bucket('bucketname')
37
- s3.get_object('bucketname', 'objectname')
90
+ # create a new file in your directory
91
+ directory.files.create(:key => 'filename', :body => 'filebody')
38
92
 
39
- s3.delete_object('bucketname', 'objectname')
40
- s3.delete_bucket('bucketname')
93
+ # connect to your directory
94
+ directory = connection.directories.get('filename')
41
95
 
42
- # models
43
- bucket = s3.buckets.create(:name => 'bucketname')
44
- bucket.objects.create(:key => 'objectname', :body => 'objectbody')
96
+ # get your file
97
+ file = directory.files.get('filename')
45
98
 
46
- bucket = s3.buckets.get('bucketname')
47
- object = bucket.objects.get('objectname')
99
+ # delete the file
100
+ file.destroy
48
101
 
49
- object.destroy
50
- bucket.destroy
102
+ # delete the directory
103
+ directory.destroy
51
104
 
52
105
  == Requirements
53
106
 
@@ -56,9 +109,13 @@ fog helps you interact with cloud services. fog is a work in progress.
56
109
  * mime-types
57
110
  * nokogiri
58
111
 
59
- == Install
112
+ == Supports
60
113
 
61
- sudo gem install fog
114
+ * AWS EC2
115
+ * AWS S3
116
+ * AWS SimpleDB (no models yet)
117
+ * Rackspace Files (no models yet, just getting started on requests)
118
+ * Rackspace Servers (some requests, server model, just getting started)
62
119
 
63
120
  == Copyright
64
121
 
data/Rakefile CHANGED
@@ -7,7 +7,7 @@ require "#{current_directory}/lib/fog"
7
7
  begin
8
8
  require 'jeweler'
9
9
  Jeweler::Tasks.new do |gem|
10
- gem.add_dependency('excon', '>=0.0.14')
10
+ gem.add_dependency('excon', '>=0.0.18')
11
11
  gem.add_dependency('mime-types')
12
12
  gem.add_dependency('nokogiri')
13
13
  gem.add_dependency('ruby-hmac')
@@ -18,7 +18,30 @@ begin
18
18
  gem.homepage = "http://github.com/geemus/fog"
19
19
  gem.authors = ["geemus (Wesley Beary)"]
20
20
  gem.rubyforge_project = "fog"
21
- # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
21
+
22
+ gem.post_install_message = <<MESSAGE
23
+ #{'=' * 50}
24
+
25
+ fog 0.0.40 has API changes you should know about.
26
+
27
+ Some changes you might care about happened in the models:
28
+
29
+ # what_it_was => what_it_is
30
+
31
+ ec2.instances => ec2.servers
32
+ ec2.instance => ec2.server
33
+
34
+ s3.buckets => s3.directories
35
+ s3.bucket => s3.directory
36
+
37
+ s3.objects => s3.files
38
+ s3.object => s3.file
39
+
40
+ Sorry for the bother, but it will allow for a more consistent API as fog continues to expand.
41
+
42
+ #{'=' * 50}
43
+ MESSAGE
44
+
22
45
  end
23
46
  rescue LoadError
24
47
  puts "Jeweler not available. Install it with: sudo gem install technicalpickles-jeweler -s http://gems.github.com"
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.39
1
+ 0.0.40
data/bin/fog CHANGED
@@ -3,8 +3,8 @@ require File.join(File.dirname(__FILE__), '..', 'lib', 'fog')
3
3
  require 'irb'
4
4
  require 'yaml'
5
5
 
6
- module AWS
7
- class << self
6
+ module Fog
7
+ module Credentials
8
8
  key = (ARGV.first && :"#{ARGV.first}") || :default
9
9
  unless Fog.credentials(key)
10
10
  print("\n To run as '#{key}', add credentials like the following to ~/.fog\n")
@@ -19,46 +19,65 @@ module AWS
19
19
 
20
20
  YML
21
21
  print(yml)
22
- raise ArgumentError.new("No credentials for :#{key}")
22
+ exit
23
23
  end
24
- if Fog.credentials(key)[:aws_access_key_id] && Fog.credentials(key)[:aws_secret_access_key]
24
+ end
25
+ end
25
26
 
26
- @@ec2 = Fog::AWS::EC2.new(
27
- :aws_access_key_id => Fog.credentials[:aws_access_key_id],
28
- :aws_secret_access_key => Fog.credentials[:aws_secret_access_key]
29
- )
27
+ module AWS
28
+ class << self
29
+ key = (ARGV.first && :"#{ARGV.first}") || :default
30
+ if Fog.credentials(key)[:aws_access_key_id] && Fog.credentials(key)[:aws_secret_access_key]
30
31
 
31
- @@s3 = Fog::AWS::S3.new(
32
- :aws_access_key_id => Fog.credentials[:aws_access_key_id],
33
- :aws_secret_access_key => Fog.credentials[:aws_secret_access_key]
34
- )
32
+ def connections
33
+ @@connections ||= Hash.new do |hash, key|
34
+ credentials = {
35
+ :aws_access_key_id => Fog.credentials[:aws_access_key_id],
36
+ :aws_secret_access_key => Fog.credentials[:aws_secret_access_key]
37
+ }
38
+ hash[key] = case key
39
+ when :ec2
40
+ Fog::AWS::EC2.new(credentials)
41
+ when :s3
42
+ Fog::AWS::S3.new(credentials)
43
+ end
44
+ end
45
+ end
35
46
 
36
47
  def addresses
37
- @@ec2.addresses
48
+ connections[:ec2].addresses
49
+ end
50
+
51
+ def directories
52
+ connections[:s3].directories
38
53
  end
39
54
 
40
- def buckets
41
- @@s3.buckets
55
+ def flavors
56
+ connections[:ec2].flavors
57
+ end
58
+
59
+ def images
60
+ connections[:ec2].images
42
61
  end
43
62
 
44
- def instances
45
- @@ec2.instances
63
+ def servers
64
+ connections[:ec2].servers
46
65
  end
47
66
 
48
67
  def key_pairs
49
- @@ec2.key_pairs
68
+ connections[:ec2].key_pairs
50
69
  end
51
70
 
52
71
  def security_groups
53
- @@ec2.security_groups
72
+ connections[:ec2].security_groups
54
73
  end
55
74
 
56
75
  def snapshots
57
- @@ec2.snapshots
76
+ connections[:ec2].snapshots
58
77
  end
59
78
 
60
79
  def volumes
61
- @@ec2.volumes
80
+ connections[:ec2].volumes
62
81
  end
63
82
 
64
83
  end
@@ -68,38 +87,33 @@ end
68
87
  module Rackspace
69
88
  class << self
70
89
  key = (ARGV.first && :"#{ARGV.first}") || :default
71
- unless Fog.credentials(key)
72
- print("\n To run as '#{key}', add credentials like the following to ~/.fog\n")
73
- yml = <<-YML
74
-
75
- :#{key}:
76
- :aws_access_key_id: INTENTIONALLY_LEFT_BLANK
77
- :aws_secret_access_key: INTENTIONALLY_LEFT_BLANK
78
- :rackspace_api_key: INTENTIONALLY_LEFT_BLANK
79
- :rackspace_username: INTENTIONALLY_LEFT_BLANK
80
- :slicehost_password: INTENTIONALLY_LEFT_BLANK
81
-
82
- YML
83
- print(yml)
84
- raise ArgumentError.new("No credentials for :#{key}")
85
- end
86
90
  if Fog.credentials(key)[:rackspace_api_key] && Fog.credentials(key)[:rackspace_username]
87
91
 
88
- @@servers = Fog::Rackspace::Servers.new(
89
- :rackspace_api_key => Fog.credentials[:rackspace_api_key],
90
- :rackspace_username => Fog.credentials[:rackspace_username]
91
- )
92
+ def connections
93
+ @@connections ||= Hash.new do |hash, key|
94
+ credentials = {
95
+ :rackspace_api_key => Fog.credentials[:rackspace_api_key],
96
+ :rackspace_username => Fog.credentials[:rackspace_username]
97
+ }
98
+ hash[key] = case key
99
+ when :files
100
+ Fog::Rackspace::Files.new(credentials)
101
+ when :servers
102
+ Fog::Rackspace::Servers.new(credentials)
103
+ end
104
+ end
105
+ end
92
106
 
93
107
  def flavors
94
- @@servers.flavors
108
+ connections[:servers].flavors
95
109
  end
96
110
 
97
111
  def images
98
- @@servers.images
112
+ connections[:servers].images
99
113
  end
100
114
 
101
115
  def servers
102
- @@servers.servers
116
+ connections[:servers].servers
103
117
  end
104
118
 
105
119
  end
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{fog}
8
- s.version = "0.0.39"
8
+ s.version = "0.0.40"
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-04}
12
+ s.date = %q{2010-01-14}
13
13
  s.default_executable = %q{fog}
14
14
  s.description = %q{brings clouds to you}
15
15
  s.email = %q{me@geemus.com}
@@ -33,20 +33,24 @@ Gem::Specification.new do |s|
33
33
  "lib/fog/aws/ec2.rb",
34
34
  "lib/fog/aws/models/ec2/address.rb",
35
35
  "lib/fog/aws/models/ec2/addresses.rb",
36
- "lib/fog/aws/models/ec2/instance.rb",
37
- "lib/fog/aws/models/ec2/instances.rb",
36
+ "lib/fog/aws/models/ec2/flavor.rb",
37
+ "lib/fog/aws/models/ec2/flavors.rb",
38
+ "lib/fog/aws/models/ec2/image.rb",
39
+ "lib/fog/aws/models/ec2/images.rb",
38
40
  "lib/fog/aws/models/ec2/key_pair.rb",
39
41
  "lib/fog/aws/models/ec2/key_pairs.rb",
40
42
  "lib/fog/aws/models/ec2/security_group.rb",
41
43
  "lib/fog/aws/models/ec2/security_groups.rb",
44
+ "lib/fog/aws/models/ec2/server.rb",
45
+ "lib/fog/aws/models/ec2/servers.rb",
42
46
  "lib/fog/aws/models/ec2/snapshot.rb",
43
47
  "lib/fog/aws/models/ec2/snapshots.rb",
44
48
  "lib/fog/aws/models/ec2/volume.rb",
45
49
  "lib/fog/aws/models/ec2/volumes.rb",
46
- "lib/fog/aws/models/s3/bucket.rb",
47
- "lib/fog/aws/models/s3/buckets.rb",
48
- "lib/fog/aws/models/s3/object.rb",
49
- "lib/fog/aws/models/s3/objects.rb",
50
+ "lib/fog/aws/models/s3/directories.rb",
51
+ "lib/fog/aws/models/s3/directory.rb",
52
+ "lib/fog/aws/models/s3/file.rb",
53
+ "lib/fog/aws/models/s3/files.rb",
50
54
  "lib/fog/aws/parsers/ec2/allocate_address.rb",
51
55
  "lib/fog/aws/parsers/ec2/attach_volume.rb",
52
56
  "lib/fog/aws/parsers/ec2/basic.rb",
@@ -180,20 +184,20 @@ Gem::Specification.new do |s|
180
184
  "lib/fog/slicehost/requests/get_slices.rb",
181
185
  "spec/aws/models/ec2/address_spec.rb",
182
186
  "spec/aws/models/ec2/addresses_spec.rb",
183
- "spec/aws/models/ec2/instance_spec.rb",
184
- "spec/aws/models/ec2/instances_spec.rb",
185
187
  "spec/aws/models/ec2/key_pair_spec.rb",
186
188
  "spec/aws/models/ec2/key_pairs_spec.rb",
187
189
  "spec/aws/models/ec2/security_group_spec.rb",
188
190
  "spec/aws/models/ec2/security_groups_spec.rb",
191
+ "spec/aws/models/ec2/server_spec.rb",
192
+ "spec/aws/models/ec2/servers_spec.rb",
189
193
  "spec/aws/models/ec2/snapshot_spec.rb",
190
194
  "spec/aws/models/ec2/snapshots_spec.rb",
191
195
  "spec/aws/models/ec2/volume_spec.rb",
192
196
  "spec/aws/models/ec2/volumes_spec.rb",
193
- "spec/aws/models/s3/bucket_spec.rb",
194
- "spec/aws/models/s3/buckets_spec.rb",
195
- "spec/aws/models/s3/object_spec.rb",
196
- "spec/aws/models/s3/objects_spec.rb",
197
+ "spec/aws/models/s3/directories_spec.rb",
198
+ "spec/aws/models/s3/directory_spec.rb",
199
+ "spec/aws/models/s3/file_spec.rb",
200
+ "spec/aws/models/s3/files_spec.rb",
197
201
  "spec/aws/requests/ec2/allocate_address_spec.rb",
198
202
  "spec/aws/requests/ec2/associate_address_spec.rb",
199
203
  "spec/aws/requests/ec2/attach_volume_spec.rb",
@@ -245,6 +249,7 @@ Gem::Specification.new do |s|
245
249
  "spec/aws/requests/simpledb/put_attributes_spec.rb",
246
250
  "spec/aws/requests/simpledb/select_spec.rb",
247
251
  "spec/lorem.txt",
252
+ "spec/rackspace/models/servers/server_spec.rb",
248
253
  "spec/rackspace/requests/files/delete_container_spec.rb",
249
254
  "spec/rackspace/requests/files/delete_object_spec.rb",
250
255
  "spec/rackspace/requests/files/get_container_spec.rb",
@@ -270,6 +275,7 @@ Gem::Specification.new do |s|
270
275
  "spec/rackspace/requests/servers/list_servers_spec.rb",
271
276
  "spec/rackspace/requests/servers/reboot_server_spec.rb",
272
277
  "spec/rackspace/requests/servers/update_server_spec.rb",
278
+ "spec/shared_examples/server_examples.rb",
273
279
  "spec/slicehost/requests/create_slice_spec.rb",
274
280
  "spec/slicehost/requests/delete_slice_spec.rb",
275
281
  "spec/slicehost/requests/get_backups_spec.rb",
@@ -280,6 +286,27 @@ Gem::Specification.new do |s|
280
286
  "spec/spec_helper.rb"
281
287
  ]
282
288
  s.homepage = %q{http://github.com/geemus/fog}
289
+ s.post_install_message = %q{==================================================
290
+
291
+ fog 0.0.40 has API changes you should know about.
292
+
293
+ Some changes you might care about happened in the models:
294
+
295
+ # what_it_was => what_it_is
296
+
297
+ ec2.instances => ec2.servers
298
+ ec2.instance => ec2.server
299
+
300
+ s3.buckets => s3.directories
301
+ s3.bucket => s3.directory
302
+
303
+ s3.objects => s3.files
304
+ s3.object => s3.file
305
+
306
+ Sorry for the bother, but it will allow for a more consistent API as fog continues to expand.
307
+
308
+ ==================================================
309
+ }
283
310
  s.rdoc_options = ["--charset=UTF-8"]
284
311
  s.require_paths = ["lib"]
285
312
  s.rubyforge_project = %q{fog}
@@ -288,20 +315,20 @@ Gem::Specification.new do |s|
288
315
  s.test_files = [
289
316
  "spec/aws/models/ec2/address_spec.rb",
290
317
  "spec/aws/models/ec2/addresses_spec.rb",
291
- "spec/aws/models/ec2/instance_spec.rb",
292
- "spec/aws/models/ec2/instances_spec.rb",
293
318
  "spec/aws/models/ec2/key_pair_spec.rb",
294
319
  "spec/aws/models/ec2/key_pairs_spec.rb",
295
320
  "spec/aws/models/ec2/security_group_spec.rb",
296
321
  "spec/aws/models/ec2/security_groups_spec.rb",
322
+ "spec/aws/models/ec2/server_spec.rb",
323
+ "spec/aws/models/ec2/servers_spec.rb",
297
324
  "spec/aws/models/ec2/snapshot_spec.rb",
298
325
  "spec/aws/models/ec2/snapshots_spec.rb",
299
326
  "spec/aws/models/ec2/volume_spec.rb",
300
327
  "spec/aws/models/ec2/volumes_spec.rb",
301
- "spec/aws/models/s3/bucket_spec.rb",
302
- "spec/aws/models/s3/buckets_spec.rb",
303
- "spec/aws/models/s3/object_spec.rb",
304
- "spec/aws/models/s3/objects_spec.rb",
328
+ "spec/aws/models/s3/directories_spec.rb",
329
+ "spec/aws/models/s3/directory_spec.rb",
330
+ "spec/aws/models/s3/file_spec.rb",
331
+ "spec/aws/models/s3/files_spec.rb",
305
332
  "spec/aws/requests/ec2/allocate_address_spec.rb",
306
333
  "spec/aws/requests/ec2/associate_address_spec.rb",
307
334
  "spec/aws/requests/ec2/attach_volume_spec.rb",
@@ -352,6 +379,7 @@ Gem::Specification.new do |s|
352
379
  "spec/aws/requests/simpledb/list_domains_spec.rb",
353
380
  "spec/aws/requests/simpledb/put_attributes_spec.rb",
354
381
  "spec/aws/requests/simpledb/select_spec.rb",
382
+ "spec/rackspace/models/servers/server_spec.rb",
355
383
  "spec/rackspace/requests/files/delete_container_spec.rb",
356
384
  "spec/rackspace/requests/files/delete_object_spec.rb",
357
385
  "spec/rackspace/requests/files/get_container_spec.rb",
@@ -377,6 +405,7 @@ Gem::Specification.new do |s|
377
405
  "spec/rackspace/requests/servers/list_servers_spec.rb",
378
406
  "spec/rackspace/requests/servers/reboot_server_spec.rb",
379
407
  "spec/rackspace/requests/servers/update_server_spec.rb",
408
+ "spec/shared_examples/server_examples.rb",
380
409
  "spec/slicehost/requests/create_slice_spec.rb",
381
410
  "spec/slicehost/requests/delete_slice_spec.rb",
382
411
  "spec/slicehost/requests/get_backups_spec.rb",
@@ -391,18 +420,18 @@ Gem::Specification.new do |s|
391
420
  s.specification_version = 3
392
421
 
393
422
  if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
394
- s.add_runtime_dependency(%q<excon>, [">= 0.0.14"])
423
+ s.add_runtime_dependency(%q<excon>, [">= 0.0.18"])
395
424
  s.add_runtime_dependency(%q<mime-types>, [">= 0"])
396
425
  s.add_runtime_dependency(%q<nokogiri>, [">= 0"])
397
426
  s.add_runtime_dependency(%q<ruby-hmac>, [">= 0"])
398
427
  else
399
- s.add_dependency(%q<excon>, [">= 0.0.14"])
428
+ s.add_dependency(%q<excon>, [">= 0.0.18"])
400
429
  s.add_dependency(%q<mime-types>, [">= 0"])
401
430
  s.add_dependency(%q<nokogiri>, [">= 0"])
402
431
  s.add_dependency(%q<ruby-hmac>, [">= 0"])
403
432
  end
404
433
  else
405
- s.add_dependency(%q<excon>, [">= 0.0.14"])
434
+ s.add_dependency(%q<excon>, [">= 0.0.18"])
406
435
  s.add_dependency(%q<mime-types>, [">= 0"])
407
436
  s.add_dependency(%q<nokogiri>, [">= 0"])
408
437
  s.add_dependency(%q<ruby-hmac>, [">= 0"])