fog 0.0.56 → 0.0.57

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 (85) hide show
  1. data/Rakefile +1 -1
  2. data/VERSION.yml +1 -1
  3. data/fog.gemspec +4 -4
  4. data/lib/fog/aws.rb +4 -3
  5. data/lib/fog/aws/ec2.rb +136 -150
  6. data/lib/fog/aws/models/ec2/address.rb +3 -1
  7. data/lib/fog/aws/models/ec2/addresses.rb +20 -6
  8. data/lib/fog/aws/models/ec2/flavor.rb +3 -1
  9. data/lib/fog/aws/models/ec2/flavors.rb +14 -3
  10. data/lib/fog/aws/models/ec2/image.rb +3 -1
  11. data/lib/fog/aws/models/ec2/images.rb +14 -3
  12. data/lib/fog/aws/models/ec2/key_pair.rb +3 -1
  13. data/lib/fog/aws/models/ec2/key_pairs.rb +14 -3
  14. data/lib/fog/aws/models/ec2/security_group.rb +3 -1
  15. data/lib/fog/aws/models/ec2/security_groups.rb +14 -3
  16. data/lib/fog/aws/models/ec2/server.rb +3 -1
  17. data/lib/fog/aws/models/ec2/servers.rb +14 -3
  18. data/lib/fog/aws/models/ec2/snapshot.rb +3 -1
  19. data/lib/fog/aws/models/ec2/snapshots.rb +18 -5
  20. data/lib/fog/aws/models/ec2/volume.rb +3 -1
  21. data/lib/fog/aws/models/ec2/volumes.rb +18 -5
  22. data/lib/fog/aws/models/s3/directories.rb +14 -3
  23. data/lib/fog/aws/models/s3/directory.rb +4 -1
  24. data/lib/fog/aws/models/s3/file.rb +3 -1
  25. data/lib/fog/aws/models/s3/files.rb +4 -1
  26. data/lib/fog/aws/parsers/simpledb/domain_metadata.rb +2 -0
  27. data/lib/fog/aws/parsers/simpledb/get_attributes.rb +2 -0
  28. data/lib/fog/aws/parsers/simpledb/list_domains.rb +2 -0
  29. data/lib/fog/aws/parsers/simpledb/select.rb +2 -0
  30. data/lib/fog/aws/requests/ec2/allocate_address.rb +11 -16
  31. data/lib/fog/aws/requests/ec2/associate_address.rb +14 -19
  32. data/lib/fog/aws/requests/ec2/attach_volume.rb +16 -21
  33. data/lib/fog/aws/requests/ec2/authorize_security_group_ingress.rb +29 -27
  34. data/lib/fog/aws/requests/ec2/create_key_pair.rb +13 -18
  35. data/lib/fog/aws/requests/ec2/create_security_group.rb +14 -19
  36. data/lib/fog/aws/requests/ec2/create_snapshot.rb +13 -18
  37. data/lib/fog/aws/requests/ec2/create_volume.rb +14 -19
  38. data/lib/fog/aws/requests/ec2/delete_key_pair.rb +12 -17
  39. data/lib/fog/aws/requests/ec2/delete_security_group.rb +13 -18
  40. data/lib/fog/aws/requests/ec2/delete_snapshot.rb +12 -17
  41. data/lib/fog/aws/requests/ec2/delete_volume.rb +13 -18
  42. data/lib/fog/aws/requests/ec2/describe_addresses.rb +11 -16
  43. data/lib/fog/aws/requests/ec2/describe_availability_zones.rb +9 -14
  44. data/lib/fog/aws/requests/ec2/describe_images.rb +9 -14
  45. data/lib/fog/aws/requests/ec2/describe_instances.rb +17 -22
  46. data/lib/fog/aws/requests/ec2/describe_key_pairs.rb +11 -16
  47. data/lib/fog/aws/requests/ec2/describe_regions.rb +9 -14
  48. data/lib/fog/aws/requests/ec2/describe_reserved_instances.rb +9 -14
  49. data/lib/fog/aws/requests/ec2/describe_security_groups.rb +11 -16
  50. data/lib/fog/aws/requests/ec2/describe_snapshots.rb +12 -17
  51. data/lib/fog/aws/requests/ec2/describe_volumes.rb +14 -19
  52. data/lib/fog/aws/requests/ec2/detach_volume.rb +11 -16
  53. data/lib/fog/aws/requests/ec2/disassociate_address.rb +12 -17
  54. data/lib/fog/aws/requests/ec2/get_console_output.rb +12 -17
  55. data/lib/fog/aws/requests/ec2/reboot_instances.rb +11 -16
  56. data/lib/fog/aws/requests/ec2/release_address.rb +12 -17
  57. data/lib/fog/aws/requests/ec2/revoke_security_group_ingress.rb +10 -15
  58. data/lib/fog/aws/requests/ec2/run_instances.rb +36 -38
  59. data/lib/fog/aws/requests/ec2/terminate_instances.rb +16 -20
  60. data/lib/fog/aws/requests/s3/copy_object.rb +9 -15
  61. data/lib/fog/aws/requests/s3/delete_bucket.rb +9 -16
  62. data/lib/fog/aws/requests/s3/delete_object.rb +6 -14
  63. data/lib/fog/aws/requests/s3/get_bucket.rb +9 -14
  64. data/lib/fog/aws/requests/s3/get_bucket_location.rb +8 -14
  65. data/lib/fog/aws/requests/s3/get_object.rb +7 -15
  66. data/lib/fog/aws/requests/s3/get_request_payment.rb +7 -13
  67. data/lib/fog/aws/requests/s3/get_service.rb +7 -13
  68. data/lib/fog/aws/requests/s3/head_object.rb +6 -14
  69. data/lib/fog/aws/requests/s3/put_bucket.rb +13 -21
  70. data/lib/fog/aws/requests/s3/put_object.rb +8 -16
  71. data/lib/fog/aws/requests/s3/put_request_payment.rb +7 -16
  72. data/lib/fog/aws/requests/simpledb/batch_put_attributes.rb +14 -21
  73. data/lib/fog/aws/requests/simpledb/create_domain.rb +11 -18
  74. data/lib/fog/aws/requests/simpledb/delete_attributes.rb +15 -22
  75. data/lib/fog/aws/requests/simpledb/delete_domain.rb +11 -18
  76. data/lib/fog/aws/requests/simpledb/domain_metadata.rb +14 -19
  77. data/lib/fog/aws/requests/simpledb/get_attributes.rb +19 -23
  78. data/lib/fog/aws/requests/simpledb/list_domains.rb +11 -16
  79. data/lib/fog/aws/requests/simpledb/put_attributes.rb +15 -15
  80. data/lib/fog/aws/requests/simpledb/select.rb +12 -17
  81. data/lib/fog/aws/s3.rb +117 -121
  82. data/lib/fog/aws/simpledb.rb +127 -127
  83. data/lib/fog/rackspace/models/servers/images.rb +1 -1
  84. data/spec/aws/requests/ec2/authorize_security_group_ingress_spec.rb +11 -1
  85. metadata +4 -4
@@ -1,6 +1,8 @@
1
+ require 'fog/model'
2
+
1
3
  module Fog
2
4
  module AWS
3
- class EC2
5
+ module EC2
4
6
 
5
7
  class Image < Fog::Model
6
8
 
@@ -1,9 +1,20 @@
1
+ require 'fog/collection'
2
+ require 'fog/aws/models/ec2/image'
3
+
1
4
  module Fog
2
5
  module AWS
3
- class EC2
6
+ module EC2
4
7
 
5
- def images
6
- Fog::AWS::EC2::Images.new(:connection => self)
8
+ class Mock
9
+ def images
10
+ Fog::AWS::EC2::Images.new(:connection => self)
11
+ end
12
+ end
13
+
14
+ class Real
15
+ def images
16
+ Fog::AWS::EC2::Images.new(:connection => self)
17
+ end
7
18
  end
8
19
 
9
20
  class Images < Fog::Collection
@@ -1,6 +1,8 @@
1
+ require 'fog/model'
2
+
1
3
  module Fog
2
4
  module AWS
3
- class EC2
5
+ module EC2
4
6
 
5
7
  class KeyPair < Fog::Model
6
8
 
@@ -1,9 +1,20 @@
1
+ require 'fog/collection'
2
+ require 'fog/aws/models/ec2/key_pair'
3
+
1
4
  module Fog
2
5
  module AWS
3
- class EC2
6
+ module EC2
4
7
 
5
- def key_pairs
6
- Fog::AWS::EC2::KeyPairs.new(:connection => self)
8
+ class Mock
9
+ def key_pairs
10
+ Fog::AWS::EC2::KeyPairs.new(:connection => self)
11
+ end
12
+ end
13
+
14
+ class Real
15
+ def key_pairs
16
+ Fog::AWS::EC2::KeyPairs.new(:connection => self)
17
+ end
7
18
  end
8
19
 
9
20
  class KeyPairs < Fog::Collection
@@ -1,6 +1,8 @@
1
+ require 'fog/model'
2
+
1
3
  module Fog
2
4
  module AWS
3
- class EC2
5
+ module EC2
4
6
 
5
7
  class SecurityGroup < Fog::Model
6
8
 
@@ -1,9 +1,20 @@
1
+ require 'fog/collection'
2
+ require 'fog/aws/models/ec2/security_group'
3
+
1
4
  module Fog
2
5
  module AWS
3
- class EC2
6
+ module EC2
4
7
 
5
- def security_groups
6
- Fog::AWS::EC2::SecurityGroups.new(:connection => self)
8
+ class Mock
9
+ def security_groups
10
+ Fog::AWS::EC2::SecurityGroups.new(:connection => self)
11
+ end
12
+ end
13
+
14
+ class Real
15
+ def security_groups
16
+ Fog::AWS::EC2::SecurityGroups.new(:connection => self)
17
+ end
7
18
  end
8
19
 
9
20
  class SecurityGroups < Fog::Collection
@@ -1,6 +1,8 @@
1
+ require 'fog/model'
2
+
1
3
  module Fog
2
4
  module AWS
3
- class EC2
5
+ module EC2
4
6
 
5
7
  class Server < Fog::Model
6
8
 
@@ -1,9 +1,20 @@
1
+ require 'fog/collection'
2
+ require 'fog/aws/models/ec2/server'
3
+
1
4
  module Fog
2
5
  module AWS
3
- class EC2
6
+ module EC2
4
7
 
5
- def servers
6
- Fog::AWS::EC2::Servers.new(:connection => self)
8
+ class Mock
9
+ def servers
10
+ Fog::AWS::EC2::Servers.new(:connection => self)
11
+ end
12
+ end
13
+
14
+ class Real
15
+ def servers
16
+ Fog::AWS::EC2::Servers.new(:connection => self)
17
+ end
7
18
  end
8
19
 
9
20
  class Servers < Fog::Collection
@@ -1,6 +1,8 @@
1
+ require 'fog/model'
2
+
1
3
  module Fog
2
4
  module AWS
3
- class EC2
5
+ module EC2
4
6
 
5
7
  class Snapshot < Fog::Model
6
8
 
@@ -1,11 +1,24 @@
1
+ require 'fog/collection'
2
+ require 'fog/aws/models/ec2/snapshot'
3
+
1
4
  module Fog
2
5
  module AWS
3
- class EC2
6
+ module EC2
4
7
 
5
- def snapshots(attributes = {})
6
- Fog::AWS::EC2::Snapshots.new({
7
- :connection => self
8
- }.merge!(attributes))
8
+ class Mock
9
+ def snapshots(attributes = {})
10
+ Fog::AWS::EC2::Snapshots.new({
11
+ :connection => self
12
+ }.merge!(attributes))
13
+ end
14
+ end
15
+
16
+ class Real
17
+ def snapshots(attributes = {})
18
+ Fog::AWS::EC2::Snapshots.new({
19
+ :connection => self
20
+ }.merge!(attributes))
21
+ end
9
22
  end
10
23
 
11
24
  class Snapshots < Fog::Collection
@@ -1,6 +1,8 @@
1
+ require 'fog/model'
2
+
1
3
  module Fog
2
4
  module AWS
3
- class EC2
5
+ module EC2
4
6
 
5
7
  class Volume < Fog::Model
6
8
 
@@ -1,11 +1,24 @@
1
+ require 'fog/collection'
2
+ require 'fog/aws/models/ec2/volume'
3
+
1
4
  module Fog
2
5
  module AWS
3
- class EC2
6
+ module EC2
4
7
 
5
- def volumes(attributes = {})
6
- Fog::AWS::EC2::Volumes.new({
7
- :connection => self
8
- }.merge!(attributes))
8
+ class Mock
9
+ def volumes(attributes = {})
10
+ Fog::AWS::EC2::Volumes.new({
11
+ :connection => self
12
+ }.merge!(attributes))
13
+ end
14
+ end
15
+
16
+ class Real
17
+ def volumes(attributes = {})
18
+ Fog::AWS::EC2::Volumes.new({
19
+ :connection => self
20
+ }.merge!(attributes))
21
+ end
9
22
  end
10
23
 
11
24
  class Volumes < Fog::Collection
@@ -1,9 +1,20 @@
1
+ require 'fog/collection'
2
+ require 'fog/aws/models/s3/directory'
3
+
1
4
  module Fog
2
5
  module AWS
3
- class S3
6
+ module S3
4
7
 
5
- def directories
6
- Fog::AWS::S3::Directories.new(:connection => self)
8
+ class Real
9
+ def directories
10
+ Fog::AWS::S3::Directories.new(:connection => self)
11
+ end
12
+ end
13
+
14
+ class Mock
15
+ def directories
16
+ Fog::AWS::S3::Directories.new(:connection => self)
17
+ end
7
18
  end
8
19
 
9
20
  class Directories < Fog::Collection
@@ -1,6 +1,9 @@
1
+ require 'fog/model'
2
+ require 'fog/aws/models/s3/files'
3
+
1
4
  module Fog
2
5
  module AWS
3
- class S3
6
+ module S3
4
7
 
5
8
  class Directory < Fog::Model
6
9
 
@@ -1,6 +1,8 @@
1
+ require 'fog/model'
2
+
1
3
  module Fog
2
4
  module AWS
3
- class S3
5
+ module S3
4
6
 
5
7
  class File < Fog::Model
6
8
 
@@ -1,6 +1,9 @@
1
+ require 'fog/collection'
2
+ require 'fog/aws/models/s3/file'
3
+
1
4
  module Fog
2
5
  module AWS
3
- class S3
6
+ module S3
4
7
 
5
8
  class Files < Fog::Collection
6
9
 
@@ -1,3 +1,5 @@
1
+ require 'fog/aws/parsers/simpledb/basic'
2
+
1
3
  module Fog
2
4
  module Parsers
3
5
  module AWS
@@ -1,3 +1,5 @@
1
+ require 'fog/aws/parsers/simpledb/basic'
2
+
1
3
  module Fog
2
4
  module Parsers
3
5
  module AWS
@@ -1,3 +1,5 @@
1
+ require 'fog/aws/parsers/simpledb/basic'
2
+
1
3
  module Fog
2
4
  module Parsers
3
5
  module AWS
@@ -1,3 +1,5 @@
1
+ require 'fog/aws/parsers/simpledb/basic'
2
+
1
3
  module Fog
2
4
  module Parsers
3
5
  module AWS
@@ -1,8 +1,9 @@
1
- unless Fog.mocking?
1
+ module Fog
2
+ module AWS
3
+ module EC2
4
+ class Real
2
5
 
3
- module Fog
4
- module AWS
5
- class EC2
6
+ require 'fog/aws/parsers/ec2/allocate_address'
6
7
 
7
8
  # Acquire an elastic IP address.
8
9
  #
@@ -12,20 +13,15 @@ unless Fog.mocking?
12
13
  # * 'publicIp'<~String> - The acquired address
13
14
  # * 'requestId'<~String> - Id of the request
14
15
  def allocate_address
15
- request({
16
- 'Action' => 'AllocateAddress'
17
- }, Fog::Parsers::AWS::EC2::AllocateAddress.new)
16
+ request(
17
+ 'Action' => 'AllocateAddress',
18
+ :parser => Fog::Parsers::AWS::EC2::AllocateAddress.new
19
+ )
18
20
  end
19
21
 
20
22
  end
21
- end
22
- end
23
23
 
24
- else
25
-
26
- module Fog
27
- module AWS
28
- class EC2
24
+ class Mock
29
25
 
30
26
  def allocate_address
31
27
  response = Excon::Response.new
@@ -35,7 +31,7 @@ else
35
31
  'instanceId' => '',
36
32
  'publicIp' => public_ip
37
33
  }
38
- Fog::AWS::EC2.data[:addresses][public_ip] = data
34
+ @data[:addresses][public_ip] = data
39
35
  response.body = {
40
36
  'publicIp' => public_ip,
41
37
  'requestId' => Fog::AWS::Mock.request_id
@@ -46,5 +42,4 @@ else
46
42
  end
47
43
  end
48
44
  end
49
-
50
45
  end
@@ -1,8 +1,9 @@
1
- unless Fog.mocking?
1
+ module Fog
2
+ module AWS
3
+ module EC2
4
+ class Real
2
5
 
3
- module Fog
4
- module AWS
5
- class EC2
6
+ require 'fog/aws/parsers/ec2/basic'
6
7
 
7
8
  # Associate an elastic IP address with an instance
8
9
  #
@@ -16,28 +17,23 @@ unless Fog.mocking?
16
17
  # * 'requestId'<~String> - Id of request
17
18
  # * 'return'<~Boolean> - success?
18
19
  def associate_address(instance_id, public_ip)
19
- request({
20
- 'Action' => 'AssociateAddress',
21
- 'InstanceId' => instance_id,
22
- 'PublicIp' => public_ip
23
- }, Fog::Parsers::AWS::EC2::Basic.new)
20
+ request(
21
+ 'Action' => 'AssociateAddress',
22
+ 'InstanceId' => instance_id,
23
+ 'PublicIp' => public_ip,
24
+ :parser => Fog::Parsers::AWS::EC2::Basic.new
25
+ )
24
26
  end
25
27
 
26
28
  end
27
- end
28
- end
29
29
 
30
- else
31
-
32
- module Fog
33
- module AWS
34
- class EC2
30
+ class Mock
35
31
 
36
32
  def associate_address(instance_id, public_ip)
37
33
  response = Excon::Response.new
38
34
  response.status = 200
39
- instance = Fog::AWS::EC2.data[:instances][instance_id]
40
- address = Fog::AWS::EC2.data[:addresses][public_ip]
35
+ instance = @data[:instances][instance_id]
36
+ address = @data[:addresses][public_ip]
41
37
  if instance && address
42
38
  address['instanceId'] = instance_id
43
39
  response.status = 200
@@ -55,5 +51,4 @@ else
55
51
  end
56
52
  end
57
53
  end
58
-
59
54
  end
@@ -1,8 +1,9 @@
1
- unless Fog.mocking?
1
+ module Fog
2
+ module AWS
3
+ module EC2
4
+ class Real
2
5
 
3
- module Fog
4
- module AWS
5
- class EC2
6
+ require 'fog/aws/parsers/ec2/attach_volume'
6
7
 
7
8
  # Attach an Amazon EBS volume with a running instance, exposing as specified device
8
9
  #
@@ -21,30 +22,25 @@ unless Fog.mocking?
21
22
  # * 'status'<~String> - Status of volume
22
23
  # * 'volumeId'<~String> - Reference to volume
23
24
  def attach_volume(instance_id, volume_id, device)
24
- request({
25
- 'Action' => 'AttachVolume',
26
- 'VolumeId' => volume_id,
27
- 'InstanceId' => instance_id,
28
- 'Device' => device
29
- }, Fog::Parsers::AWS::EC2::AttachVolume.new)
25
+ request(
26
+ 'Action' => 'AttachVolume',
27
+ 'VolumeId' => volume_id,
28
+ 'InstanceId' => instance_id,
29
+ 'Device' => device,
30
+ :parser => Fog::Parsers::AWS::EC2::AttachVolume.new
31
+ )
30
32
  end
31
33
 
32
34
  end
33
- end
34
- end
35
35
 
36
- else
37
-
38
- module Fog
39
- module AWS
40
- class EC2
36
+ class Mock
41
37
 
42
38
  def attach_volume(instance_id, volume_id, device)
43
39
  response = Excon::Response.new
44
40
  if instance_id && volume_id && device
45
41
  response.status = 200
46
- instance = Fog::AWS::EC2.data[:instances][instance_id]
47
- volume = Fog::AWS::EC2.data[:volumes][volume_id]
42
+ instance = @data[:instances][instance_id]
43
+ volume = @data[:volumes][volume_id]
48
44
  if instance && volume
49
45
  data = {
50
46
  'attachTime' => Time.now,
@@ -81,5 +77,4 @@ else
81
77
  end
82
78
  end
83
79
  end
84
-
85
- end
80
+ end