aws-sdk 1.4.1 → 1.5.0
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/.yardopts +0 -1
- data/lib/aws/api_config/AutoScaling-2011-01-01.yml +772 -544
- data/lib/aws/api_config/CloudFormation-2010-05-15.yml +284 -185
- data/lib/aws/api_config/DynamoDB-2011-12-05.yml +458 -738
- data/lib/aws/api_config/EC2-2011-12-15.yml +3502 -2653
- data/lib/aws/api_config/ELB-2011-08-15.yml +484 -352
- data/lib/aws/api_config/IAM-2010-05-08.yml +899 -711
- data/lib/aws/api_config/SNS-2010-03-31.yml +235 -167
- data/lib/aws/api_config/SQS-2011-10-01.yml +290 -251
- data/lib/aws/api_config/STS-2011-06-15.yml +35 -41
- data/lib/aws/api_config/SimpleDB-2009-04-15.yml +290 -263
- data/lib/aws/api_config/SimpleEmailService-2010-12-01.yml +144 -130
- data/lib/aws/api_config/SimpleWorkflow-2012-01-25.yml +697 -1139
- data/lib/aws/auto_scaling/activity_collection.rb +1 -1
- data/lib/aws/auto_scaling/client.rb +724 -9
- data/lib/aws/auto_scaling/errors.rb +1 -5
- data/lib/aws/auto_scaling/group.rb +1 -1
- data/lib/aws/auto_scaling/group_collection.rb +1 -1
- data/lib/aws/auto_scaling/instance_collection.rb +1 -1
- data/lib/aws/auto_scaling/launch_configuration.rb +1 -1
- data/lib/aws/auto_scaling/launch_configuration_collection.rb +1 -1
- data/lib/aws/auto_scaling/notification_configuration_collection.rb +1 -1
- data/lib/aws/auto_scaling/request.rb +1 -2
- data/lib/aws/auto_scaling/scaling_policy_collection.rb +1 -1
- data/lib/aws/auto_scaling/scheduled_action_collection.rb +3 -3
- data/lib/aws/auto_scaling/tag_collection.rb +1 -1
- data/lib/aws/cloud_formation.rb +1 -18
- data/lib/aws/cloud_formation/client.rb +314 -8
- data/lib/aws/cloud_formation/errors.rb +1 -5
- data/lib/aws/cloud_formation/request.rb +1 -2
- data/lib/aws/cloud_formation/stack.rb +4 -3
- data/lib/aws/cloud_formation/stack_collection.rb +2 -2
- data/lib/aws/cloud_formation/stack_resource_collection.rb +1 -1
- data/lib/aws/cloud_formation/stack_resource_summary_collection.rb +2 -2
- data/lib/aws/cloud_formation/stack_summary_collection.rb +1 -1
- data/lib/aws/core.rb +29 -14
- data/lib/aws/core/async_handle.rb +11 -12
- data/lib/aws/core/client.rb +112 -102
- data/lib/aws/core/client/query_json.rb +110 -0
- data/lib/aws/core/client/query_xml.rb +122 -0
- data/lib/aws/core/data.rb +242 -0
- data/lib/aws/core/http/request.rb +7 -4
- data/lib/aws/core/lazy_error_classes.rb +60 -38
- data/lib/aws/core/option_grammar.rb +1 -0
- data/lib/aws/core/policy.rb +2 -1
- data/lib/aws/core/resource.rb +38 -33
- data/lib/aws/core/response.rb +109 -44
- data/lib/aws/core/signature/version_2.rb +42 -0
- data/lib/aws/core/signature/version_3.rb +73 -0
- data/lib/aws/core/signature/version_3_http.rb +72 -0
- data/lib/aws/core/signature/version_4.rb +138 -0
- data/lib/aws/core/uri_escape.rb +6 -9
- data/lib/aws/core/xml/frame.rb +242 -0
- data/lib/aws/core/xml/frame_stack.rb +85 -0
- data/lib/aws/core/xml/grammar.rb +299 -0
- data/lib/aws/core/xml/parser.rb +70 -0
- data/lib/aws/core/xml/root_frame.rb +65 -0
- data/lib/aws/core/{configured_xml_grammars.rb → xml/sax_handlers/libxml.rb} +22 -20
- data/lib/aws/core/xml/sax_handlers/nokogiri.rb +55 -0
- data/lib/aws/core/{authorize_with_session_token.rb → xml/sax_handlers/ox.rb} +19 -7
- data/lib/aws/core/{configured_option_grammars.rb → xml/sax_handlers/rexml.rb} +22 -23
- data/lib/aws/core/xml/stub.rb +123 -0
- data/lib/aws/dynamo_db/batch_get.rb +1 -1
- data/lib/aws/dynamo_db/client.rb +796 -14
- data/lib/aws/dynamo_db/errors.rb +1 -38
- data/lib/aws/dynamo_db/item_collection.rb +29 -28
- data/lib/aws/dynamo_db/request.rb +3 -53
- data/lib/aws/dynamo_db/table.rb +6 -2
- data/lib/aws/ec2/attachment.rb +1 -1
- data/lib/aws/ec2/client.rb +3954 -9
- data/lib/aws/ec2/dhcp_options.rb +3 -3
- data/lib/aws/ec2/errors.rb +10 -4
- data/lib/aws/ec2/instance.rb +7 -6
- data/lib/aws/ec2/instance_collection.rb +2 -2
- data/lib/aws/ec2/key_pair_collection.rb +3 -3
- data/lib/aws/ec2/network_acl.rb +4 -2
- data/lib/aws/ec2/network_acl/entry.rb +10 -10
- data/lib/aws/ec2/network_interface.rb +2 -3
- data/lib/aws/ec2/network_interface/attachment.rb +8 -8
- data/lib/aws/ec2/permission_collection.rb +3 -3
- data/lib/aws/ec2/request.rb +1 -3
- data/lib/aws/ec2/resource_tag_collection.rb +4 -8
- data/lib/aws/ec2/route_table.rb +3 -2
- data/lib/aws/ec2/route_table/route.rb +7 -7
- data/lib/aws/ec2/security_group.rb +2 -2
- data/lib/aws/ec2/security_group/egress_ip_permission_collection.rb +16 -5
- data/lib/aws/ec2/security_group/ingress_ip_permission_collection.rb +4 -3
- data/lib/aws/ec2/security_group/ip_permission.rb +1 -2
- data/lib/aws/ec2/snapshot_collection.rb +6 -3
- data/lib/aws/ec2/subnet.rb +1 -1
- data/lib/aws/ec2/volume.rb +1 -3
- data/lib/aws/ec2/volume_collection.rb +2 -0
- data/lib/aws/elb/availability_zone_collection.rb +2 -2
- data/lib/aws/elb/backend_server_policy_collection.rb +1 -1
- data/lib/aws/elb/client.rb +513 -9
- data/lib/aws/elb/errors.rb +2 -6
- data/lib/aws/elb/instance_collection.rb +2 -2
- data/lib/aws/elb/request.rb +1 -1
- data/lib/aws/errors.rb +61 -74
- data/lib/aws/iam.rb +2 -3
- data/lib/aws/iam/client.rb +1178 -10
- data/lib/aws/iam/collection.rb +2 -1
- data/lib/aws/iam/errors.rb +1 -6
- data/lib/aws/iam/group.rb +8 -9
- data/lib/aws/iam/request.rb +1 -1
- data/lib/aws/iam/server_certificate_collection.rb +8 -5
- data/lib/aws/iam/signing_certificate.rb +1 -1
- data/lib/aws/iam/user.rb +2 -2
- data/lib/aws/iam/user_policy.rb +3 -2
- data/lib/aws/rails.rb +1 -2
- data/lib/aws/record.rb +3 -3
- data/lib/aws/record/abstract_base.rb +0 -3
- data/lib/aws/record/attributes.rb +7 -7
- data/lib/aws/record/model.rb +19 -19
- data/lib/aws/record/model/finder_methods.rb +7 -7
- data/lib/aws/s3/bucket.rb +7 -2
- data/lib/aws/s3/client.rb +391 -398
- data/lib/aws/s3/client/xml.rb +44 -71
- data/lib/aws/s3/data_options.rb +3 -2
- data/lib/aws/s3/errors.rb +8 -11
- data/lib/aws/s3/multipart_upload_collection.rb +1 -3
- data/lib/aws/s3/object_collection.rb +2 -1
- data/lib/aws/s3/object_metadata.rb +2 -2
- data/lib/aws/s3/paginated_collection.rb +2 -2
- data/lib/aws/s3/prefix_and_delimiter_collection.rb +1 -1
- data/lib/aws/s3/presigned_post.rb +18 -17
- data/lib/aws/s3/request.rb +4 -3
- data/lib/aws/s3/s3_object.rb +8 -10
- data/lib/aws/simple_db/attribute.rb +2 -2
- data/lib/aws/simple_db/attribute_collection.rb +14 -4
- data/lib/aws/simple_db/client.rb +313 -14
- data/lib/aws/simple_db/domain.rb +1 -1
- data/lib/aws/simple_db/domain_collection.rb +4 -4
- data/lib/aws/simple_db/domain_metadata.rb +1 -1
- data/lib/aws/simple_db/errors.rb +14 -2
- data/lib/aws/simple_db/expect_condition_option.rb +1 -1
- data/lib/aws/simple_db/item.rb +1 -1
- data/lib/aws/simple_db/item_collection.rb +9 -9
- data/lib/aws/simple_db/item_data.rb +9 -6
- data/lib/aws/simple_db/request.rb +1 -1
- data/lib/aws/simple_email_service.rb +8 -7
- data/lib/aws/simple_email_service/client.rb +174 -9
- data/lib/aws/simple_email_service/email_address_collection.rb +0 -1
- data/lib/aws/simple_email_service/errors.rb +1 -5
- data/lib/aws/simple_email_service/quotas.rb +8 -6
- data/lib/aws/simple_email_service/request.rb +7 -1
- data/lib/aws/simple_workflow/client.rb +1383 -6
- data/lib/aws/simple_workflow/decision_task.rb +1 -3
- data/lib/aws/simple_workflow/errors.rb +1 -38
- data/lib/aws/simple_workflow/history_event_collection.rb +2 -2
- data/lib/aws/simple_workflow/request.rb +5 -49
- data/lib/aws/simple_workflow/type.rb +1 -1
- data/lib/aws/simple_workflow/type_collection.rb +4 -3
- data/lib/aws/simple_workflow/workflow_execution_collection.rb +2 -2
- data/lib/aws/sns/client.rb +345 -9
- data/lib/aws/sns/errors.rb +1 -5
- data/lib/aws/sns/request.rb +1 -2
- data/lib/aws/sns/subscription_collection.rb +2 -2
- data/lib/aws/sns/topic.rb +15 -14
- data/lib/aws/sns/topic_collection.rb +1 -1
- data/lib/aws/sqs/client.rb +334 -9
- data/lib/aws/sqs/errors.rb +1 -6
- data/lib/aws/sqs/queue.rb +20 -21
- data/lib/aws/sqs/queue_collection.rb +3 -3
- data/lib/aws/sqs/request.rb +2 -2
- data/lib/aws/sts.rb +8 -10
- data/lib/aws/sts/client.rb +67 -10
- data/lib/aws/sts/errors.rb +1 -5
- data/lib/aws/sts/request.rb +1 -1
- data/lib/user.rb +49 -0
- metadata +21 -28
- data/lib/aws/auto_scaling/client/xml.rb +0 -32
- data/lib/aws/cloud_formation/client/xml.rb +0 -32
- data/lib/aws/core/api_config.rb +0 -44
- data/lib/aws/core/authorize_v2.rb +0 -39
- data/lib/aws/core/authorize_v3.rb +0 -38
- data/lib/aws/core/authorize_v4.rb +0 -149
- data/lib/aws/core/configured_client_methods.rb +0 -76
- data/lib/aws/core/configured_grammars.rb +0 -63
- data/lib/aws/core/configured_json_client_methods.rb +0 -74
- data/lib/aws/core/ignore_result_element.rb +0 -34
- data/lib/aws/core/json_client.rb +0 -41
- data/lib/aws/core/xml_grammar.rb +0 -957
- data/lib/aws/ec2/client/xml.rb +0 -175
- data/lib/aws/elb/client/xml.rb +0 -33
- data/lib/aws/elb/listener_spec.rb +0 -14
- data/lib/aws/iam/client/xml.rb +0 -34
- data/lib/aws/simple_db/client/options.rb +0 -32
- data/lib/aws/simple_db/client/xml.rb +0 -63
- data/lib/aws/simple_email_service/client/xml.rb +0 -34
- data/lib/aws/sns/client/xml.rb +0 -34
- data/lib/aws/sqs/client/xml.rb +0 -33
- data/lib/aws/sts/client/xml.rb +0 -34
data/lib/aws/ec2/dhcp_options.rb
CHANGED
|
@@ -45,9 +45,9 @@ module AWS
|
|
|
45
45
|
|
|
46
46
|
# @return [Hash]
|
|
47
47
|
def configuration
|
|
48
|
-
dhcp_configuration_set.inject({}) do |config,opt|
|
|
49
|
-
key = opt
|
|
50
|
-
values = opt
|
|
48
|
+
dhcp_configuration_set.to_a.inject({}) do |config,opt|
|
|
49
|
+
key = opt[:key].gsub(/-/, '_').to_sym
|
|
50
|
+
values = opt[:value_set].map{|v| v[:value] }
|
|
51
51
|
values = values.first if key == :domain_name
|
|
52
52
|
values = values.first.to_i if key == :netbios_node_type
|
|
53
53
|
config.merge(key => values)
|
data/lib/aws/ec2/errors.rb
CHANGED
|
@@ -13,13 +13,19 @@
|
|
|
13
13
|
|
|
14
14
|
module AWS
|
|
15
15
|
class EC2
|
|
16
|
-
|
|
17
|
-
# @private
|
|
18
16
|
module Errors
|
|
19
17
|
|
|
20
|
-
|
|
18
|
+
# @private
|
|
19
|
+
GRAMMAR = Core::XML::Grammar.customize do
|
|
20
|
+
element "Errors" do
|
|
21
|
+
ignore
|
|
22
|
+
element "Error" do
|
|
23
|
+
ignore
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
21
27
|
|
|
22
|
-
|
|
28
|
+
extend Core::LazyErrorClasses
|
|
23
29
|
|
|
24
30
|
end
|
|
25
31
|
end
|
data/lib/aws/ec2/instance.rb
CHANGED
|
@@ -343,7 +343,7 @@ module AWS
|
|
|
343
343
|
|
|
344
344
|
provider(:terminate_instances, :start_instances, :stop_instances) do |provider|
|
|
345
345
|
provider.find do |resp|
|
|
346
|
-
resp.instances_set.find {
|
|
346
|
+
resp.instances_set.find {|i| i.instance_id == id }
|
|
347
347
|
end
|
|
348
348
|
provider.provides :status, :get_as => :current_state
|
|
349
349
|
provider.provides :status_code, :get_as => :current_state
|
|
@@ -351,7 +351,7 @@ module AWS
|
|
|
351
351
|
|
|
352
352
|
provider(:monitor_instances, :unmonitor_instances) do |provider|
|
|
353
353
|
provider.find do |resp|
|
|
354
|
-
resp.instances_set.find {
|
|
354
|
+
resp.instances_set.find {|i| i.instance_id == id }
|
|
355
355
|
end
|
|
356
356
|
provider.provides :monitoring
|
|
357
357
|
end
|
|
@@ -448,8 +448,8 @@ module AWS
|
|
|
448
448
|
# Enables or disables monitoring for this instance.
|
|
449
449
|
# @param [Boolean] state A true or false value. Enables monintoring
|
|
450
450
|
# for a true value, disables it for a false value.
|
|
451
|
-
def monitoring_enabled=
|
|
452
|
-
|
|
451
|
+
def monitoring_enabled= state
|
|
452
|
+
state ? enable_monitoring : disable_monitoring
|
|
453
453
|
end
|
|
454
454
|
|
|
455
455
|
# @return [Booelan] Returns +true+ if CloudWatch monitoring is
|
|
@@ -656,8 +656,9 @@ module AWS
|
|
|
656
656
|
protected
|
|
657
657
|
def attributes_from_response_object(obj)
|
|
658
658
|
if atts = super(obj)
|
|
659
|
-
|
|
660
|
-
obj.
|
|
659
|
+
if obj[:instance_state]
|
|
660
|
+
atts[:status] = obj[:instance_state].name.tr("-","_").to_sym
|
|
661
|
+
end
|
|
661
662
|
atts
|
|
662
663
|
end
|
|
663
664
|
end
|
|
@@ -261,8 +261,8 @@ module AWS
|
|
|
261
261
|
# @yield [Instance] Yields each instance in the collection.
|
|
262
262
|
def each(&block)
|
|
263
263
|
response = filtered_request(:describe_instances)
|
|
264
|
-
response.reservation_set.each do |
|
|
265
|
-
|
|
264
|
+
response.reservation_set.each do |reservation|
|
|
265
|
+
reservation.instances_set.each do |i|
|
|
266
266
|
yield(Instance.new(i.instance_id, :config => config))
|
|
267
267
|
end
|
|
268
268
|
end
|
|
@@ -85,9 +85,9 @@ module AWS
|
|
|
85
85
|
response = client.send(client_method, options)
|
|
86
86
|
|
|
87
87
|
options = {}
|
|
88
|
-
options[:fingerprint] = response.key_fingerprint
|
|
89
|
-
if response
|
|
90
|
-
options[:private_key] = response.key_material
|
|
88
|
+
options[:fingerprint] = response.data[:key_fingerprint]
|
|
89
|
+
if response[:key_material]
|
|
90
|
+
options[:private_key] = response.data[:key_material]
|
|
91
91
|
end
|
|
92
92
|
|
|
93
93
|
KeyPair.new(response.key_name, options)
|
data/lib/aws/ec2/network_acl.rb
CHANGED
|
@@ -21,7 +21,7 @@ module AWS
|
|
|
21
21
|
#
|
|
22
22
|
# @attr_reader [String] vpc_id
|
|
23
23
|
#
|
|
24
|
-
# @attr_reader [Boolean] default
|
|
24
|
+
# @attr_reader [Boolean] default Returns true if this is the default
|
|
25
25
|
# network ACL.
|
|
26
26
|
#
|
|
27
27
|
class NetworkACL < Resource
|
|
@@ -40,7 +40,9 @@ module AWS
|
|
|
40
40
|
|
|
41
41
|
attribute :vpc_id, :static => true
|
|
42
42
|
|
|
43
|
-
attribute :default
|
|
43
|
+
attribute :default, :static => true
|
|
44
|
+
|
|
45
|
+
alias_method :default?, :default
|
|
44
46
|
|
|
45
47
|
attribute :entry_set
|
|
46
48
|
|
|
@@ -20,18 +20,18 @@ module AWS
|
|
|
20
20
|
|
|
21
21
|
def initialize network_acl, details
|
|
22
22
|
@network_acl = network_acl
|
|
23
|
-
@rule_number = details
|
|
24
|
-
@protocol = details
|
|
25
|
-
@action = details
|
|
26
|
-
@egress = details
|
|
23
|
+
@rule_number = details[:rule_number]
|
|
24
|
+
@protocol = details[:protocol].to_i
|
|
25
|
+
@action = details[:rule_action].to_sym
|
|
26
|
+
@egress = details[:egress]
|
|
27
27
|
@ingress = !@egress
|
|
28
|
-
@cidr_block = details
|
|
29
|
-
if details
|
|
30
|
-
@icmp_type =
|
|
31
|
-
@icmp_code =
|
|
28
|
+
@cidr_block = details[:cidr_block]
|
|
29
|
+
if type_code = details[:icmp_type_code]
|
|
30
|
+
@icmp_type = type_code[:type]
|
|
31
|
+
@icmp_code = type_code[:code]
|
|
32
32
|
end
|
|
33
|
-
if details
|
|
34
|
-
@port_range = (
|
|
33
|
+
if range = details[:port_range]
|
|
34
|
+
@port_range = (range[:from]..range[:to])
|
|
35
35
|
end
|
|
36
36
|
end
|
|
37
37
|
|
|
@@ -45,10 +45,9 @@ module AWS
|
|
|
45
45
|
|
|
46
46
|
attribute :private_dns_name, :static => true
|
|
47
47
|
|
|
48
|
-
mutable_attribute :source_dest_check
|
|
49
|
-
:set_as => :source_dest_check
|
|
48
|
+
mutable_attribute :source_dest_check
|
|
50
49
|
|
|
51
|
-
alias_method :source_dest_check
|
|
50
|
+
alias_method :source_dest_check?, :source_dest_check
|
|
52
51
|
|
|
53
52
|
attribute :attachment_details, :as => :attachment
|
|
54
53
|
|
|
@@ -20,15 +20,15 @@ module AWS
|
|
|
20
20
|
|
|
21
21
|
def initialize network_interface, details
|
|
22
22
|
@network_interface = network_interface
|
|
23
|
-
@attachment_id = details
|
|
24
|
-
@instance = Instance.new(details
|
|
25
|
-
:owner_id => details
|
|
23
|
+
@attachment_id = details[:attachment_id]
|
|
24
|
+
@instance = Instance.new(details[:instance_id],
|
|
25
|
+
:owner_id => details[:instance_owner_id],
|
|
26
26
|
:config => network_interface.config)
|
|
27
|
-
@instance_owner_id = details
|
|
28
|
-
@device_index = details
|
|
29
|
-
@status = details
|
|
30
|
-
@attach_time = details
|
|
31
|
-
@delete_on_termination = details
|
|
27
|
+
@instance_owner_id = details[:instance_owner_id]
|
|
28
|
+
@device_index = details[:device_index]
|
|
29
|
+
@status = details[:status].to_sym
|
|
30
|
+
@attach_time = details[:attach_time]
|
|
31
|
+
@delete_on_termination = details[:delete_on_termination]
|
|
32
32
|
end
|
|
33
33
|
|
|
34
34
|
# @return [String] Returns the attachment id.
|
|
@@ -35,8 +35,8 @@ module AWS
|
|
|
35
35
|
def each(&block)
|
|
36
36
|
resp = client.send(describe_call, describe_params)
|
|
37
37
|
resp.send(inflected_permissions_attribute).each do |permission|
|
|
38
|
-
if permission
|
|
39
|
-
user_id = permission
|
|
38
|
+
if permission[:user_id]
|
|
39
|
+
user_id = permission[:user_id]
|
|
40
40
|
yield(user_id)
|
|
41
41
|
end
|
|
42
42
|
end
|
|
@@ -57,7 +57,7 @@ module AWS
|
|
|
57
57
|
def public?
|
|
58
58
|
resp = client.send(describe_call, describe_params)
|
|
59
59
|
resp.send(inflected_permissions_attribute).any? do |permission|
|
|
60
|
-
permission
|
|
60
|
+
permission[:group] and permission[:group] == "all"
|
|
61
61
|
end
|
|
62
62
|
end
|
|
63
63
|
|
data/lib/aws/ec2/request.rb
CHANGED
|
@@ -57,9 +57,8 @@ module AWS
|
|
|
57
57
|
@tags.to_a.empty?
|
|
58
58
|
end
|
|
59
59
|
|
|
60
|
+
# @param [String or Symbol] key The key of the tag to check.
|
|
60
61
|
# @return [Boolean] True if the resource has a tag for the given key.
|
|
61
|
-
#
|
|
62
|
-
# @param [String or Symbol] The key of the tag to check.
|
|
63
62
|
def has_key?(key)
|
|
64
63
|
if cached = cached_tags
|
|
65
64
|
return cached.has_key?(key.to_s)
|
|
@@ -70,9 +69,8 @@ module AWS
|
|
|
70
69
|
alias_method :include?, :has_key?
|
|
71
70
|
alias_method :member?, :has_key?
|
|
72
71
|
|
|
72
|
+
# @param [String or Symbol] value The value to check.
|
|
73
73
|
# @return [Boolean] True if the resource has a tag with the given value.
|
|
74
|
-
#
|
|
75
|
-
# @param [String or Symbol] The value to check.
|
|
76
74
|
def has_value?(value)
|
|
77
75
|
if cached = cached_tags
|
|
78
76
|
return cached.values.include?(value)
|
|
@@ -82,10 +80,8 @@ module AWS
|
|
|
82
80
|
alias_method :value?, :has_value?
|
|
83
81
|
|
|
84
82
|
# Changes the value of a tag.
|
|
85
|
-
#
|
|
86
|
-
# @param [String
|
|
87
|
-
#
|
|
88
|
-
# @param [String] The new value. If this is nil, the tag will
|
|
83
|
+
# @param [String or Symbol] key The key of the tag to set.
|
|
84
|
+
# @param [String] value The new value. If this is nil, the tag will
|
|
89
85
|
# be deleted.
|
|
90
86
|
def []=(key, value)
|
|
91
87
|
if value
|
data/lib/aws/ec2/route_table.rb
CHANGED
|
@@ -107,8 +107,9 @@ module AWS
|
|
|
107
107
|
# {RouteTable::Association} objects (association to subnets).
|
|
108
108
|
def associations
|
|
109
109
|
association_set.collect do |details|
|
|
110
|
-
|
|
111
|
-
|
|
110
|
+
Association.new(self,
|
|
111
|
+
details[:route_table_association_id],
|
|
112
|
+
details[:subnet_id])
|
|
112
113
|
end
|
|
113
114
|
end
|
|
114
115
|
|
|
@@ -32,22 +32,22 @@ module AWS
|
|
|
32
32
|
|
|
33
33
|
@destination_cidr_block = details.destination_cidr_block
|
|
34
34
|
|
|
35
|
-
if details
|
|
35
|
+
if details[:gateway_id]
|
|
36
36
|
@internet_gateway = InternetGateway.new(
|
|
37
|
-
details
|
|
37
|
+
details[:gateway_id],
|
|
38
38
|
:config => route_table.config)
|
|
39
39
|
end
|
|
40
40
|
|
|
41
|
-
if details
|
|
42
|
-
@instance = Instance.new(details
|
|
41
|
+
if details[:instance_id]
|
|
42
|
+
@instance = Instance.new(details[:instance_id],
|
|
43
43
|
:vpc_id => route_table.vpc_id,
|
|
44
|
-
:owner_id => details
|
|
44
|
+
:owner_id => details[:instance_owner_id],
|
|
45
45
|
:config => route_table.config)
|
|
46
46
|
end
|
|
47
47
|
|
|
48
|
-
if details
|
|
48
|
+
if details[:network_interface_id]
|
|
49
49
|
@network_interface = NetworkInterface.new(
|
|
50
|
-
details
|
|
50
|
+
details[:network_interface_id],
|
|
51
51
|
:vpc_id => route_table.vpc_id,
|
|
52
52
|
:config => route_table.config)
|
|
53
53
|
end
|
|
@@ -114,7 +114,7 @@ module AWS
|
|
|
114
114
|
# # only allow ping from a particular address
|
|
115
115
|
# security_group.allow_ping('123.123.123.123/0')
|
|
116
116
|
#
|
|
117
|
-
# @param [String]
|
|
117
|
+
# @param [String] sources One or more IP ranges to allow ping from.
|
|
118
118
|
# Defaults to 0.0.0.0/0
|
|
119
119
|
#
|
|
120
120
|
# @return [nil]
|
|
@@ -127,7 +127,7 @@ module AWS
|
|
|
127
127
|
# Removes ingress rules for ICMP pings. Defaults to 0.0.0.0/0 for
|
|
128
128
|
# the list of IP ranges to revoke.
|
|
129
129
|
#
|
|
130
|
-
# @param [String]
|
|
130
|
+
# @param [String] sources One or more IP ranges to disallow ping from.
|
|
131
131
|
# Defaults to 0.0.0.0/0
|
|
132
132
|
#
|
|
133
133
|
# @return [nil]
|
|
@@ -14,14 +14,25 @@
|
|
|
14
14
|
module AWS
|
|
15
15
|
class EC2
|
|
16
16
|
class SecurityGroup < Resource
|
|
17
|
-
class EgressIpPermissionCollection
|
|
17
|
+
class EgressIpPermissionCollection
|
|
18
|
+
|
|
19
|
+
include Core::Model
|
|
20
|
+
include Enumerable
|
|
21
|
+
|
|
22
|
+
def initialize security_group, options = {}
|
|
23
|
+
@security_group = security_group
|
|
24
|
+
super
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
# @return [SecurityGroup]
|
|
28
|
+
attr_reader :security_group
|
|
18
29
|
|
|
19
30
|
def each
|
|
20
31
|
security_group.ip_permissions_list_egress.each do |p|
|
|
21
32
|
|
|
22
33
|
# egress permissions don't always have ports
|
|
23
|
-
if p
|
|
24
|
-
ports = [p
|
|
34
|
+
if p[:from_port]
|
|
35
|
+
ports = [p[:from_port], p[:to_port]]
|
|
25
36
|
else
|
|
26
37
|
ports = nil
|
|
27
38
|
end
|
|
@@ -29,8 +40,8 @@ module AWS
|
|
|
29
40
|
ip_ranges = p.ip_ranges.collect{|ip| ip.cidr_ip }
|
|
30
41
|
|
|
31
42
|
groups = p.groups.collect do |group|
|
|
32
|
-
SecurityGroup.new(group
|
|
33
|
-
:owner_id => group
|
|
43
|
+
SecurityGroup.new(group[:group_id],
|
|
44
|
+
:owner_id => group[:user_id],
|
|
34
45
|
:vpc_id => security_group.vpc_id,
|
|
35
46
|
:config => config)
|
|
36
47
|
end
|
|
@@ -20,17 +20,18 @@ module AWS
|
|
|
20
20
|
include Core::Model
|
|
21
21
|
include Enumerable
|
|
22
22
|
|
|
23
|
-
attr_reader :security_group
|
|
24
|
-
|
|
25
23
|
def initialize security_group, options = {}
|
|
26
24
|
@security_group = security_group
|
|
27
25
|
super
|
|
28
26
|
end
|
|
29
27
|
|
|
28
|
+
# @return [SecurityGroup]
|
|
29
|
+
attr_reader :security_group
|
|
30
|
+
|
|
30
31
|
def each
|
|
31
32
|
security_group.ip_permissions_list.each do |p|
|
|
32
33
|
|
|
33
|
-
ports = p
|
|
34
|
+
ports = p[:from_port] ? [p[:from_port], p[:to_port]] : nil
|
|
34
35
|
|
|
35
36
|
ip_ranges = p.ip_ranges.collect{|ip| ip.cidr_ip }
|
|
36
37
|
|
|
@@ -20,8 +20,7 @@ module AWS
|
|
|
20
20
|
|
|
21
21
|
# @param protocol [:tcp, :udp, :icmp]
|
|
22
22
|
#
|
|
23
|
-
# @param
|
|
24
|
-
# to open ports for.
|
|
23
|
+
# @param [Integer,Range<Integer>] ports A port or port range to allow.
|
|
25
24
|
#
|
|
26
25
|
# @param [Hash] options
|
|
27
26
|
#
|
|
@@ -94,14 +94,17 @@ module AWS
|
|
|
94
94
|
# @param [Hash] opts Options for creating the snapshot.
|
|
95
95
|
# Either +:volume+ or +:volume_id+ is required.
|
|
96
96
|
#
|
|
97
|
-
# @
|
|
97
|
+
# @option opts [Volume] :volume The Amazon EBS volume of which
|
|
98
98
|
# to take a snapshot.
|
|
99
99
|
#
|
|
100
|
-
# @
|
|
100
|
+
# @option opts [String] :volume_id The ID of the Amazon EBS
|
|
101
101
|
# volume of which to take a snapshot.
|
|
102
102
|
#
|
|
103
|
-
# @
|
|
103
|
+
# @option opts [String] :description An optional description of
|
|
104
104
|
# the snapshot. May contain up to 255 characters.
|
|
105
|
+
#
|
|
106
|
+
# @return [Snapshot]
|
|
107
|
+
#
|
|
105
108
|
def create opts = {}
|
|
106
109
|
if volume = opts.delete(:volume)
|
|
107
110
|
opts[:volume_id] = volume.id
|
data/lib/aws/ec2/subnet.rb
CHANGED
|
@@ -92,7 +92,7 @@ module AWS
|
|
|
92
92
|
# route table associated with this subnet, that association
|
|
93
93
|
# is replaced.
|
|
94
94
|
#
|
|
95
|
-
# @param [RouteTable,String]
|
|
95
|
+
# @param [RouteTable,String] route_table A {RouteTable} object or
|
|
96
96
|
# a route table id string.
|
|
97
97
|
#
|
|
98
98
|
# @return [RouteTable::Association]
|
data/lib/aws/ec2/volume.rb
CHANGED
|
@@ -66,9 +66,7 @@ module AWS
|
|
|
66
66
|
|
|
67
67
|
attribute :snapshot_id, :static => true
|
|
68
68
|
|
|
69
|
-
attribute :size, :static => true
|
|
70
|
-
translates_output {|value| value.to_i if value }
|
|
71
|
-
end
|
|
69
|
+
attribute :size, :static => true
|
|
72
70
|
|
|
73
71
|
attribute :availability_zone_name, :as => :availability_zone,
|
|
74
72
|
:static => true
|
|
@@ -74,7 +74,9 @@ module AWS
|
|
|
74
74
|
# The Availability Zone in which to create the new volume.
|
|
75
75
|
# To get a list of the availability zones you can use, see
|
|
76
76
|
# {EC2#availability_zones}.
|
|
77
|
+
#
|
|
77
78
|
# @return [Volume]
|
|
79
|
+
#
|
|
78
80
|
def create options = {}
|
|
79
81
|
if snapshot = options.delete(:snapshot)
|
|
80
82
|
options[:snapshot_id] = snapshot.id
|