fog 0.2.21 → 0.2.22
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/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.2.
|
11
|
-
s.date = '2010-
|
10
|
+
s.version = '0.2.22'
|
11
|
+
s.date = '2010-08-01'
|
12
12
|
s.rubyforge_project = 'fog'
|
13
13
|
|
14
14
|
## Make sure your summary is short. The description may be as long
|
@@ -117,6 +117,7 @@ Gem::Specification.new do |s|
|
|
117
117
|
lib/fog/aws/parsers/ec2/describe_volumes.rb
|
118
118
|
lib/fog/aws/parsers/ec2/detach_volume.rb
|
119
119
|
lib/fog/aws/parsers/ec2/get_console_output.rb
|
120
|
+
lib/fog/aws/parsers/ec2/register_image.rb
|
120
121
|
lib/fog/aws/parsers/ec2/run_instances.rb
|
121
122
|
lib/fog/aws/parsers/ec2/start_stop_instances.rb
|
122
123
|
lib/fog/aws/parsers/ec2/terminate_instances.rb
|
@@ -170,7 +171,9 @@ Gem::Specification.new do |s|
|
|
170
171
|
lib/fog/aws/requests/ec2/disassociate_address.rb
|
171
172
|
lib/fog/aws/requests/ec2/get_console_output.rb
|
172
173
|
lib/fog/aws/requests/ec2/modify_image_attributes.rb
|
174
|
+
lib/fog/aws/requests/ec2/modify_snapshot_attribute.rb
|
173
175
|
lib/fog/aws/requests/ec2/reboot_instances.rb
|
176
|
+
lib/fog/aws/requests/ec2/register_image.rb
|
174
177
|
lib/fog/aws/requests/ec2/release_address.rb
|
175
178
|
lib/fog/aws/requests/ec2/revoke_security_group_ingress.rb
|
176
179
|
lib/fog/aws/requests/ec2/run_instances.rb
|
data/lib/fog.rb
CHANGED
data/lib/fog/aws/ec2.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
module Fog
|
1
|
+
module Fog
|
2
2
|
module AWS
|
3
3
|
module EC2
|
4
4
|
extend Fog::Service
|
@@ -54,8 +54,10 @@ module Fog
|
|
54
54
|
request 'disassociate_address'
|
55
55
|
request 'get_console_output'
|
56
56
|
request 'modify_image_attributes'
|
57
|
+
request 'modify_snapshot_attribute'
|
57
58
|
request 'reboot_instances'
|
58
59
|
request 'release_address'
|
60
|
+
request 'register_image'
|
59
61
|
request 'revoke_security_group_ingress'
|
60
62
|
request 'run_instances'
|
61
63
|
request 'terminate_instances'
|
@@ -0,0 +1,20 @@
|
|
1
|
+
module Fog
|
2
|
+
module Parsers
|
3
|
+
module AWS
|
4
|
+
module EC2
|
5
|
+
|
6
|
+
class RegisterImage < Fog::Parsers::Base
|
7
|
+
|
8
|
+
def end_element(name)
|
9
|
+
case name
|
10
|
+
when 'requestId', 'imageId'
|
11
|
+
@response[name] = @value
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
end
|
16
|
+
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
module Fog
|
2
|
+
module AWS
|
3
|
+
module EC2
|
4
|
+
class Real
|
5
|
+
|
6
|
+
# Modify snapshot attributes
|
7
|
+
#
|
8
|
+
# ==== Parameters
|
9
|
+
# * snapshot_id<~String> - Id of snapshot to modify
|
10
|
+
# * attribute<~String> - Attribute to modify, in ['createVolumePermission']
|
11
|
+
# * operation_type<~String> - Operation to perform on attribute, in ['add', 'remove']
|
12
|
+
#
|
13
|
+
def modify_snapshot_attribute(snapshot_id, attribute, operation_type, options = {})
|
14
|
+
params = {}
|
15
|
+
params.merge!(AWS.indexed_param('UserId', options['UserId'], 1))
|
16
|
+
params.merge!(AWS.indexed_param('UserGroup', options['UserGroup'], 1))
|
17
|
+
request({
|
18
|
+
'Action' => 'ModifySnapshotAttribute',
|
19
|
+
'Attribute' => attribute,
|
20
|
+
'SnapshotId' => snapshot_id,
|
21
|
+
'OperationType' => operation_type,
|
22
|
+
:idempotent => true,
|
23
|
+
:parser => Fog::Parsers::AWS::EC2::Basic.new
|
24
|
+
}.merge!(params))
|
25
|
+
end
|
26
|
+
|
27
|
+
end
|
28
|
+
|
29
|
+
class Mock
|
30
|
+
|
31
|
+
def modify_snapshot_attribute(snapshot_id, attribute, operation_type, options = {})
|
32
|
+
Fog::Mock.not_implemented
|
33
|
+
end
|
34
|
+
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
@@ -0,0 +1,89 @@
|
|
1
|
+
module Fog
|
2
|
+
module AWS
|
3
|
+
module EC2
|
4
|
+
class Real
|
5
|
+
|
6
|
+
require 'fog/aws/parsers/ec2/register_image'
|
7
|
+
|
8
|
+
# register an image
|
9
|
+
#
|
10
|
+
# ==== Parameters
|
11
|
+
# * Name<~String> - Name of the AMI to be registered
|
12
|
+
# * Description<~String> - AMI description
|
13
|
+
# * Location<~String> - S3 manifest location (for S3 backed AMIs)
|
14
|
+
# or
|
15
|
+
# * RootDeviceName<~String> - Name of Root Device (for EBS snapshot backed AMIs)
|
16
|
+
# * BlockDevices<~Array>:
|
17
|
+
# * BlockDeviceOptions<~Hash>:
|
18
|
+
# * DeviceName<~String> - Name of the Block Device
|
19
|
+
# * VirtualName<~String> - Name of the Virtual Device
|
20
|
+
# * SnapshotId<~String> - id of the EBS Snapshot
|
21
|
+
# * VolumeSize<~Integer> - Size of the snapshot (optional)
|
22
|
+
# * NoDevice<~Boolean> - Do not use an ebs device (def: true)
|
23
|
+
# * DeleteOnTermation<~Boolean> - Delete EBS volume on instance term (def: true)
|
24
|
+
# * Options<~Hash>:
|
25
|
+
# * Architecture<~String> - i386 or x86_64
|
26
|
+
# * KernelId<~String> - kernelId
|
27
|
+
# * RamdiskId<~String> - ramdiskId
|
28
|
+
#
|
29
|
+
# ==== Returns
|
30
|
+
# * response<~Excon::Response>:
|
31
|
+
# * body<~Hash>:
|
32
|
+
# * 'imageId'<~String> - Id of newly created AMI
|
33
|
+
|
34
|
+
def register_image(name, description, location, block_devices=[], options={})
|
35
|
+
common_options = {
|
36
|
+
'Action' => 'RegisterImage',
|
37
|
+
'Name' => name,
|
38
|
+
'Description' => description,
|
39
|
+
:parser => Fog::Parsers::AWS::EC2::RegisterImage.new
|
40
|
+
}
|
41
|
+
|
42
|
+
# This determines if we are doing a snapshot or a S3 backed AMI.
|
43
|
+
if(location =~ /^\/dev\/sd[a-p]\d{0,2}$/)
|
44
|
+
common_options['RootDeviceName'] = location
|
45
|
+
else
|
46
|
+
common_options['ImageLocation'] = location
|
47
|
+
end
|
48
|
+
|
49
|
+
bdi = 0
|
50
|
+
block_devices.each do |bd|
|
51
|
+
bdi += 1
|
52
|
+
["DeviceName","VirtualName"].each do |n|
|
53
|
+
common_options["BlockDeviceMapping.#{bdi}.#{n}"] = bd["#{n}"] if bd["#{n}"]
|
54
|
+
end
|
55
|
+
["SnapshotId","VolumeSize","NoDevice","DeleteOnTermination"].each do |n|
|
56
|
+
common_options["BlockDeviceMapping.#{bdi}.Ebs.#{n}"] = bd["#{n}"] if bd["#{n}"]
|
57
|
+
end
|
58
|
+
|
59
|
+
end
|
60
|
+
|
61
|
+
request(common_options.merge!(options))
|
62
|
+
end
|
63
|
+
|
64
|
+
end
|
65
|
+
|
66
|
+
class Mock
|
67
|
+
|
68
|
+
def register_image(name, description, location, block_devices=[], options={})
|
69
|
+
response = Excon::Response.new
|
70
|
+
if !name.empty?
|
71
|
+
response.status = 200
|
72
|
+
response.body = {
|
73
|
+
'requestId' => Fog::AWS::Mock.request_id,
|
74
|
+
'imageId' => Fog::AWS::Mock.image_id
|
75
|
+
}
|
76
|
+
response
|
77
|
+
else
|
78
|
+
message = 'MissingParameter => '
|
79
|
+
if name.empty?
|
80
|
+
message << 'The request must contain the parameter name'
|
81
|
+
end
|
82
|
+
raise Fog::AWS::EC2::Error.new(message)
|
83
|
+
end
|
84
|
+
end
|
85
|
+
|
86
|
+
end
|
87
|
+
end
|
88
|
+
end
|
89
|
+
end
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 2
|
8
|
-
-
|
9
|
-
version: 0.2.
|
8
|
+
- 22
|
9
|
+
version: 0.2.22
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- geemus (Wesley Beary)
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2010-
|
17
|
+
date: 2010-08-01 00:00:00 -07:00
|
18
18
|
default_executable: fog
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
@@ -211,6 +211,7 @@ files:
|
|
211
211
|
- lib/fog/aws/parsers/ec2/describe_volumes.rb
|
212
212
|
- lib/fog/aws/parsers/ec2/detach_volume.rb
|
213
213
|
- lib/fog/aws/parsers/ec2/get_console_output.rb
|
214
|
+
- lib/fog/aws/parsers/ec2/register_image.rb
|
214
215
|
- lib/fog/aws/parsers/ec2/run_instances.rb
|
215
216
|
- lib/fog/aws/parsers/ec2/start_stop_instances.rb
|
216
217
|
- lib/fog/aws/parsers/ec2/terminate_instances.rb
|
@@ -264,7 +265,9 @@ files:
|
|
264
265
|
- lib/fog/aws/requests/ec2/disassociate_address.rb
|
265
266
|
- lib/fog/aws/requests/ec2/get_console_output.rb
|
266
267
|
- lib/fog/aws/requests/ec2/modify_image_attributes.rb
|
268
|
+
- lib/fog/aws/requests/ec2/modify_snapshot_attribute.rb
|
267
269
|
- lib/fog/aws/requests/ec2/reboot_instances.rb
|
270
|
+
- lib/fog/aws/requests/ec2/register_image.rb
|
268
271
|
- lib/fog/aws/requests/ec2/release_address.rb
|
269
272
|
- lib/fog/aws/requests/ec2/revoke_security_group_ingress.rb
|
270
273
|
- lib/fog/aws/requests/ec2/run_instances.rb
|