fog 0.0.56 → 0.0.57

Sign up to get free protection for your applications and to get access to all the features.
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