fog-aws 3.22.0 → 3.30.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +13 -1305
- data/fog-aws.gemspec +6 -3
- data/lib/fog/aws/credential_fetcher.rb +15 -2
- data/lib/fog/aws/elasticache.rb +1 -1
- data/lib/fog/aws/kms.rb +5 -1
- data/lib/fog/aws/models/compute/dhcp_option.rb +1 -1
- data/lib/fog/aws/models/compute/flavors.rb +3 -3
- data/lib/fog/aws/models/compute/network_interfaces.rb +1 -1
- data/lib/fog/aws/models/elasticache/cluster.rb +1 -1
- data/lib/fog/aws/models/storage/file.rb +2 -2
- data/lib/fog/aws/models/storage/files.rb +3 -2
- data/lib/fog/aws/parsers/iam/list_server_certificates.rb +1 -1
- data/lib/fog/aws/parsers/kms/describe_key.rb +2 -2
- data/lib/fog/aws/parsers/kms/get_public_key.rb +30 -0
- data/lib/fog/aws/parsers/kms/schedule_key_deletion.rb +28 -0
- data/lib/fog/aws/parsers/kms/sign.rb +24 -0
- data/lib/fog/aws/parsers/rds/db_cluster_parser.rb +1 -1
- data/lib/fog/aws/parsers/rds/db_parser.rb +1 -1
- data/lib/fog/aws/parsers/rds/modify_db_subnet_group.rb +1 -1
- data/lib/fog/aws/parsers/redshift/cluster_subnet_group_parser.rb +1 -1
- data/lib/fog/aws/requests/auto_scaling/attach_load_balancer_target_groups.rb +1 -1
- data/lib/fog/aws/requests/auto_scaling/describe_scaling_activities.rb +1 -1
- data/lib/fog/aws/requests/auto_scaling/put_scheduled_update_group_action.rb +1 -1
- data/lib/fog/aws/requests/cloud_formation/create_change_set.rb +1 -1
- data/lib/fog/aws/requests/cloud_formation/create_stack.rb +1 -1
- data/lib/fog/aws/requests/cloud_formation/get_template_summary.rb +1 -1
- data/lib/fog/aws/requests/cloud_formation/update_stack.rb +1 -1
- data/lib/fog/aws/requests/cloud_watch/list_metrics.rb +1 -1
- data/lib/fog/aws/requests/compute/authorize_security_group_egress.rb +1 -1
- data/lib/fog/aws/requests/compute/authorize_security_group_ingress.rb +1 -1
- data/lib/fog/aws/requests/compute/create_network_interface.rb +1 -1
- data/lib/fog/aws/requests/compute/create_vpc.rb +1 -1
- data/lib/fog/aws/requests/compute/describe_network_interfaces.rb +2 -2
- data/lib/fog/aws/requests/compute/modify_network_interface_attribute.rb +1 -1
- data/lib/fog/aws/requests/compute/modify_volume.rb +1 -1
- data/lib/fog/aws/requests/compute/revoke_security_group_egress.rb +1 -1
- data/lib/fog/aws/requests/compute/revoke_security_group_ingress.rb +1 -1
- data/lib/fog/aws/requests/compute/run_instances.rb +2 -2
- data/lib/fog/aws/requests/data_pipeline/deactivate_pipeline.rb +1 -1
- data/lib/fog/aws/requests/ecs/list_task_definitions.rb +1 -1
- data/lib/fog/aws/requests/efs/create_file_system.rb +1 -1
- data/lib/fog/aws/requests/elasticache/authorize_cache_security_group_ingress.rb +1 -1
- data/lib/fog/aws/requests/elasticache/create_cache_cluster.rb +2 -2
- data/lib/fog/aws/requests/elasticache/describe_engine_default_parameters.rb +1 -1
- data/lib/fog/aws/requests/elb/delete_load_balancer_listeners.rb +1 -1
- data/lib/fog/aws/requests/elbv2/describe_tags.rb +2 -2
- data/lib/fog/aws/requests/glacier/initiate_job.rb +1 -1
- data/lib/fog/aws/requests/glacier/initiate_multipart_upload.rb +1 -1
- data/lib/fog/aws/requests/kinesis/list_streams.rb +1 -1
- data/lib/fog/aws/requests/kms/create_key.rb +74 -36
- data/lib/fog/aws/requests/kms/get_public_key.rb +35 -0
- data/lib/fog/aws/requests/kms/list_keys.rb +3 -4
- data/lib/fog/aws/requests/kms/schedule_key_deletion.rb +37 -0
- data/lib/fog/aws/requests/kms/sign.rb +62 -0
- data/lib/fog/aws/requests/rds/authorize_db_security_group_ingress.rb +2 -2
- data/lib/fog/aws/requests/rds/create_db_cluster.rb +1 -1
- data/lib/fog/aws/requests/rds/describe_db_snapshots.rb +1 -1
- data/lib/fog/aws/requests/rds/modify_db_instance.rb +1 -1
- data/lib/fog/aws/requests/rds/modify_db_parameter_group.rb +1 -1
- data/lib/fog/aws/requests/ses/send_raw_email.rb +1 -1
- data/lib/fog/aws/requests/sqs/change_message_visibility.rb +1 -1
- data/lib/fog/aws/requests/sqs/delete_message.rb +1 -1
- data/lib/fog/aws/requests/storage/copy_object.rb +1 -1
- data/lib/fog/aws/requests/storage/get_bucket.rb +2 -2
- data/lib/fog/aws/requests/storage/get_bucket_object_versions.rb +2 -2
- data/lib/fog/aws/requests/storage/list_parts.rb +1 -1
- data/lib/fog/aws/requests/storage/put_bucket.rb +0 -4
- data/lib/fog/aws/requests/storage/put_bucket_lifecycle.rb +1 -1
- data/lib/fog/aws/requests/storage/put_bucket_notification.rb +1 -1
- data/lib/fog/aws/requests/storage/put_object.rb +1 -1
- data/lib/fog/aws/requests/storage/upload_part_copy.rb +1 -1
- data/lib/fog/aws/ses.rb +19 -16
- data/lib/fog/aws/signaturev4.rb +1 -1
- data/lib/fog/aws/storage.rb +21 -11
- data/lib/fog/aws/version.rb +1 -1
- data/lib/fog/aws.rb +5 -2
- metadata +27 -6
data/fog-aws.gemspec
CHANGED
@@ -28,7 +28,10 @@ Gem::Specification.new do |spec|
|
|
28
28
|
spec.add_development_dependency 'rubyzip', '~> 2.3.0'
|
29
29
|
spec.add_development_dependency 'shindo', '~> 0.3'
|
30
30
|
|
31
|
-
spec.add_dependency '
|
32
|
-
spec.add_dependency 'fog-
|
33
|
-
spec.add_dependency 'fog-
|
31
|
+
spec.add_dependency 'base64', '~> 0.2.0'
|
32
|
+
spec.add_dependency 'fog-core', '~> 2.6'
|
33
|
+
spec.add_dependency 'fog-json', '~> 1.1'
|
34
|
+
spec.add_dependency 'fog-xml', '~> 0.1'
|
35
|
+
|
36
|
+
spec.metadata['changelog_uri'] = spec.homepage + '/blob/master/CHANGELOG.md'
|
34
37
|
end
|
@@ -21,7 +21,7 @@ module Fog
|
|
21
21
|
if options[:use_iam_profile]
|
22
22
|
begin
|
23
23
|
role_data = nil
|
24
|
-
region = options[:region] || ENV["AWS_DEFAULT_REGION"]
|
24
|
+
region = options[:region] || ENV["AWS_REGION"] || ENV["AWS_DEFAULT_REGION"]
|
25
25
|
|
26
26
|
if ENV["AWS_CONTAINER_CREDENTIALS_RELATIVE_URI"]
|
27
27
|
connection = options[:connection] || Excon.new(CONTAINER_CREDENTIALS_HOST)
|
@@ -29,6 +29,17 @@ module Fog
|
|
29
29
|
role_data = connection.get(:path => credential_path, :idempotent => true, :expects => 200).body
|
30
30
|
session = Fog::JSON.decode(role_data)
|
31
31
|
|
32
|
+
if region.nil?
|
33
|
+
connection = options[:metadata_connection] || Excon.new(INSTANCE_METADATA_HOST)
|
34
|
+
token_header = fetch_credentials_token_header(connection, options[:disable_imds_v2])
|
35
|
+
region = connection.get(:path => INSTANCE_METADATA_AZ, :idempotent => true, :expects => 200, :headers => token_header).body[0..-2]
|
36
|
+
end
|
37
|
+
elsif ENV["AWS_CONTAINER_CREDENTIALS_FULL_URI"]
|
38
|
+
connection = options[:connection] || Excon.new(ENV['AWS_CONTAINER_CREDENTIALS_FULL_URI'])
|
39
|
+
container_authorization_token = File.read(options[:aws_container_authorization_token_file] || ENV['AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE'])
|
40
|
+
role_data = connection.get(:idempotent => true, :expects => 200, :headers => {'Authorization' => container_authorization_token}).body
|
41
|
+
session = Fog::JSON.decode(role_data)
|
42
|
+
|
32
43
|
if region.nil?
|
33
44
|
connection = options[:metadata_connection] || Excon.new(INSTANCE_METADATA_HOST)
|
34
45
|
token_header = fetch_credentials_token_header(connection, options[:disable_imds_v2])
|
@@ -45,7 +56,9 @@ module Fog
|
|
45
56
|
}
|
46
57
|
|
47
58
|
sts_endpoint =
|
48
|
-
if ENV["
|
59
|
+
if ENV["AWS_ENDPOINT_URL_STS"]
|
60
|
+
ENV["AWS_ENDPOINT_URL_STS"]
|
61
|
+
elsif ENV["AWS_STS_REGIONAL_ENDPOINTS"] == "regional" && region
|
49
62
|
"https://sts.#{region}.amazonaws.com"
|
50
63
|
else
|
51
64
|
"https://sts.amazonaws.com"
|
data/lib/fog/aws/elasticache.rb
CHANGED
@@ -195,7 +195,7 @@ module Fog
|
|
195
195
|
@aws_access_key_id = options[:aws_access_key_id]
|
196
196
|
end
|
197
197
|
|
198
|
-
# returns an Array of (Mock) elasticache nodes,
|
198
|
+
# returns an Array of (Mock) elasticache nodes, represented as Hashes
|
199
199
|
def create_cache_nodes(cluster_id, num_nodes = 1, port = '11211')
|
200
200
|
(1..num_nodes).map do |node_number|
|
201
201
|
node_id = "%04d" % node_number
|
data/lib/fog/aws/kms.rb
CHANGED
@@ -20,6 +20,9 @@ module Fog
|
|
20
20
|
request :list_keys
|
21
21
|
request :create_key
|
22
22
|
request :describe_key
|
23
|
+
request :get_public_key
|
24
|
+
request :schedule_key_deletion
|
25
|
+
request :sign
|
23
26
|
|
24
27
|
model_path 'fog/aws/models/kms'
|
25
28
|
model :key
|
@@ -30,7 +33,8 @@ module Fog
|
|
30
33
|
@data ||= Hash.new do |hash, region|
|
31
34
|
hash[region] = Hash.new do |region_hash, access_key|
|
32
35
|
region_hash[access_key] = {
|
33
|
-
:
|
36
|
+
keys: {},
|
37
|
+
pkeys: {}
|
34
38
|
}
|
35
39
|
end
|
36
40
|
end
|
@@ -288,7 +288,7 @@ module Fog
|
|
288
288
|
},
|
289
289
|
{
|
290
290
|
:id => 't4g.nano',
|
291
|
-
:name => 'T4G Nano
|
291
|
+
:name => 'T4G Nano Instance',
|
292
292
|
:bits => 64,
|
293
293
|
:cores => 2,
|
294
294
|
:disk => 0,
|
@@ -318,7 +318,7 @@ module Fog
|
|
318
318
|
},
|
319
319
|
{
|
320
320
|
:id => 't4g.medium',
|
321
|
-
:name => 'T4G Medium
|
321
|
+
:name => 'T4G Medium Instance',
|
322
322
|
:bits => 64,
|
323
323
|
:cores => 2,
|
324
324
|
:disk => 0,
|
@@ -3558,7 +3558,7 @@ module Fog
|
|
3558
3558
|
},
|
3559
3559
|
{
|
3560
3560
|
:id => "m6a.48xlarge",
|
3561
|
-
:name => "m6a
|
3561
|
+
:name => "m6a Forty Eight Extra Large",
|
3562
3562
|
:bits => 64,
|
3563
3563
|
:cores => 192,
|
3564
3564
|
:ram => 824634,
|
@@ -54,7 +54,7 @@ module Fog
|
|
54
54
|
:engine_version => engine_version,
|
55
55
|
:notification_topic_arn => notification_config['TopicArn'],
|
56
56
|
:port => port,
|
57
|
-
:
|
57
|
+
:preferred_availability_zone => zone,
|
58
58
|
:preferred_maintenance_window => maintenance_window,
|
59
59
|
:s3_snapshot_location => s3_snapshot_location,
|
60
60
|
:parameter_group_name => parameter_group_name || parameter_group['CacheParameterGroupName'],
|
@@ -246,7 +246,7 @@ module Fog
|
|
246
246
|
# @param [Hash] options
|
247
247
|
# @option options [String] acl sets x-amz-acl HTTP header. Valid values include, private | public-read | public-read-write | authenticated-read | bucket-owner-read | bucket-owner-full-control
|
248
248
|
# @option options [String] cache_control sets Cache-Control header. For example, 'No-cache'
|
249
|
-
# @option options [String] content_disposition sets Content-Disposition HTTP header. For
|
249
|
+
# @option options [String] content_disposition sets Content-Disposition HTTP header. For example, 'attachment; filename=testing.txt'
|
250
250
|
# @option options [String] content_encoding sets Content-Encoding HTTP header. For example, 'x-gzip'
|
251
251
|
# @option options [String] content_md5 sets Content-MD5. For example, '79054025255fb1a26e4bc422aef54eb4'
|
252
252
|
# @option options [String] content_type Content-Type. For example, 'text/plain'
|
@@ -281,7 +281,7 @@ module Fog
|
|
281
281
|
merge_attributes(data.body)
|
282
282
|
else
|
283
283
|
data = service.put_object(directory.key, key, body, options)
|
284
|
-
merge_attributes(data.headers.reject {|key, value| ['Content-Length', 'Content-Type'].include?(key)})
|
284
|
+
merge_attributes(data.headers.reject {|key, value| ['Connection', 'Content-Length', 'Content-Type'].include?(key)})
|
285
285
|
end
|
286
286
|
self.etag = self.etag.gsub('"','') if self.etag
|
287
287
|
self.content_length = Fog::Storage.get_body_size(body)
|
@@ -125,8 +125,9 @@ module Fog
|
|
125
125
|
def normalize_headers(data)
|
126
126
|
data.headers['Last-Modified'] = Time.parse(fetch_and_delete_header(data, 'Last-Modified'))
|
127
127
|
|
128
|
-
etag = fetch_and_delete_header(data, 'ETag')
|
129
|
-
|
128
|
+
if (etag = fetch_and_delete_header(data, 'ETag'))
|
129
|
+
data.headers['ETag'] = etag.gsub('"', '')
|
130
|
+
end
|
130
131
|
|
131
132
|
DASHED_HEADERS.each do |header|
|
132
133
|
value = fetch_and_delete_header(data, header)
|
@@ -17,9 +17,9 @@ module Fog
|
|
17
17
|
|
18
18
|
def end_element(name)
|
19
19
|
case name
|
20
|
-
when '
|
20
|
+
when 'Arn', 'AWSAccountId', 'Description', 'KeyId', 'KeySpec', 'KeyState', 'KeyUsage'
|
21
21
|
@key[name] = value
|
22
|
-
when 'CreationDate'
|
22
|
+
when 'CreationDate', 'DeletionDate'
|
23
23
|
@key[name] = Time.parse(value)
|
24
24
|
when 'Enabled'
|
25
25
|
@key[name] = (value == 'true')
|
@@ -0,0 +1,30 @@
|
|
1
|
+
module Fog
|
2
|
+
module Parsers
|
3
|
+
module AWS
|
4
|
+
module KMS
|
5
|
+
class GetPublicKey < Fog::Parsers::Base
|
6
|
+
def reset
|
7
|
+
@response = {}
|
8
|
+
end
|
9
|
+
|
10
|
+
def start_element(name, attrs = [])
|
11
|
+
super
|
12
|
+
case name
|
13
|
+
when 'EncryptionAlgorithms', 'KeyAgreementAlgorithms', 'SigningAlgorithms'
|
14
|
+
@response[name] = []
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
def end_element(name)
|
19
|
+
case name
|
20
|
+
when 'KeyId', 'KeySpec', 'KeyUsage', 'PublicKey'
|
21
|
+
@response[name] = value
|
22
|
+
when 'EncryptionAlgorithms', 'KeyAgreementAlgorithms', 'SigningAlgorithms'
|
23
|
+
@response[name] << value
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
module Fog
|
2
|
+
module Parsers
|
3
|
+
module AWS
|
4
|
+
module KMS
|
5
|
+
class ScheduleKeyDeletion < Fog::Parsers::Base
|
6
|
+
def reset
|
7
|
+
@response = {}
|
8
|
+
end
|
9
|
+
|
10
|
+
def start_element(name, attrs = [])
|
11
|
+
super
|
12
|
+
end
|
13
|
+
|
14
|
+
def end_element(name)
|
15
|
+
case name
|
16
|
+
when 'DeletionDate'
|
17
|
+
@response[name] = Time.parse(value)
|
18
|
+
when 'KeyId', 'KeyState'
|
19
|
+
@response[name] = value
|
20
|
+
when 'PendingWindowInDays'
|
21
|
+
@response[name] = value.to_i
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
module Fog
|
2
|
+
module Parsers
|
3
|
+
module AWS
|
4
|
+
module KMS
|
5
|
+
class Sign < Fog::Parsers::Base
|
6
|
+
def reset
|
7
|
+
@response = {}
|
8
|
+
end
|
9
|
+
|
10
|
+
def start_element(name, attrs = [])
|
11
|
+
super
|
12
|
+
end
|
13
|
+
|
14
|
+
def end_element(name)
|
15
|
+
case name
|
16
|
+
when 'KeyId', 'Signature', 'SigningAlgorithm'
|
17
|
+
@response[name] = value
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -42,7 +42,7 @@ module Fog
|
|
42
42
|
when 'VpcSecurityGroupId'
|
43
43
|
@vpc_security_group[name] = value
|
44
44
|
when 'Status'
|
45
|
-
# Unfortunately, status is used in
|
45
|
+
# Unfortunately, status is used in VpcSecurityGroupMembership and
|
46
46
|
# DBSecurityGroups
|
47
47
|
if @in_db_security_groups
|
48
48
|
@db_security_group[name]=value
|
@@ -105,7 +105,7 @@ module Fog
|
|
105
105
|
when 'VpcSecurityGroupId'
|
106
106
|
@vpc_security_group[name] = value
|
107
107
|
when 'Status'
|
108
|
-
# Unfortunately, status is used in
|
108
|
+
# Unfortunately, status is used in VpcSecurityGroupMembership and
|
109
109
|
# DBSecurityGroups
|
110
110
|
if @in_db_security_groups
|
111
111
|
@db_security_group[name]=value
|
@@ -4,7 +4,7 @@ module Fog
|
|
4
4
|
module RDS
|
5
5
|
class ModifyDBSubnetGroup < Fog::Parsers::Base
|
6
6
|
def reset
|
7
|
-
@response = { '
|
7
|
+
@response = { 'ModifyDBSubnetGroupAttributeResult' => {}, 'ResponseMetadata' => {} }
|
8
8
|
end
|
9
9
|
|
10
10
|
def start_element(name, attrs = [])
|
@@ -32,7 +32,7 @@ module Fog
|
|
32
32
|
def end_element(name)
|
33
33
|
super
|
34
34
|
case name
|
35
|
-
when 'ClusterSubnetGroupName', '
|
35
|
+
when 'ClusterSubnetGroupName', 'Description', 'VpcId', 'SubnetGroupStatus'
|
36
36
|
@response[name] = value
|
37
37
|
when 'SubnetIdentifier', 'SubnetStatus'
|
38
38
|
@subnet[name] = value
|
@@ -11,7 +11,7 @@ module Fog
|
|
11
11
|
# * auto_scaling_group_name<~String> - The name of the Auto Scaling
|
12
12
|
# group.
|
13
13
|
# * options<~Hash>:
|
14
|
-
# '
|
14
|
+
# 'TargetGroupARNs'<~Array> - A list of target group arns to use.
|
15
15
|
#
|
16
16
|
# ==== See Also
|
17
17
|
# http://docs.amazonwebservices.com/AutoScaling/latest/APIReference/API_AttachLoadBalancerTargetGroups.html
|
@@ -40,7 +40,7 @@ module Fog
|
|
40
40
|
# * 'ActivityId'<~String> - Specifies the ID of the activity.
|
41
41
|
# * 'AutoScalingGroupName'<~String> - The name of the Auto
|
42
42
|
# Scaling group.
|
43
|
-
# * 'Cause'<~String> -
|
43
|
+
# * 'Cause'<~String> - Contains the reason the activity was
|
44
44
|
# begun.
|
45
45
|
# * 'Description'<~String> - Contains a friendly, more verbose
|
46
46
|
# description of the scaling activity.
|
@@ -39,7 +39,7 @@ module Fog
|
|
39
39
|
# http://docs.amazonwebservices.com/AutoScaling/latest/APIReference/API_PutScheduledUpdateGroupAction.html
|
40
40
|
#
|
41
41
|
def put_scheduled_update_group_action(auto_scaling_group_name, scheduled_action_name, time=nil, options = {})
|
42
|
-
# The 'Time'
|
42
|
+
# The 'Time' parameter is now an alias for StartTime and needs to be identical if specified.
|
43
43
|
time = options['StartTime'].nil? ? time : options['StartTime']
|
44
44
|
if !time.nil?
|
45
45
|
time = time.class == Time ? time.utc.iso8601 : Time.parse(time).utc.iso8601
|
@@ -16,7 +16,7 @@ module Fog
|
|
16
16
|
# * UsePreviousTemplate [Boolean] Reuse the template that is associated with the stack to create the change set.
|
17
17
|
# * NotificationARNs [Array] List of SNS topics to publish events to.
|
18
18
|
# * Parameters [Hash] Hash of providers to supply to template.
|
19
|
-
# * Capabilities [Array] List of
|
19
|
+
# * Capabilities [Array] List of capabilities the stack is granted. Currently CAPABILITY_IAM for allowing the creation of IAM resources.
|
20
20
|
#
|
21
21
|
# @return [Excon::Response]:
|
22
22
|
# * body [Hash:
|
@@ -16,7 +16,7 @@ module Fog
|
|
16
16
|
# * NotificationARNs [Array] List of SNS topics to publish events to.
|
17
17
|
# * Parameters [Hash] Hash of providers to supply to template
|
18
18
|
# * TimeoutInMinutes [Integer] Minutes to wait before status is set to CREATE_FAILED
|
19
|
-
# * Capabilities [Array] List of
|
19
|
+
# * Capabilities [Array] List of capabilities the stack is granted. Currently CAPABILITY_IAM for allowing the creation of IAM resources
|
20
20
|
# * StackPolicyBody [String] Structure containing the stack policy body.
|
21
21
|
# * StackPolicyURL [String] URL of file containing the stack policy.
|
22
22
|
# * Tags [Array] Key-value pairs to associate with this stack.
|
@@ -15,7 +15,7 @@ module Fog
|
|
15
15
|
#
|
16
16
|
# @return [Excon::Response]:
|
17
17
|
# * body [Hash:
|
18
|
-
# * Capabilities [Array] List of
|
18
|
+
# * Capabilities [Array] List of capabilities in the template.
|
19
19
|
# * CapabilitiesReason [String] The list of resources that generated the values in the Capabilities response element.
|
20
20
|
# * Description [String] Template Description.
|
21
21
|
# * Metadata [String] Template Metadata.
|
@@ -12,7 +12,7 @@ module Fog
|
|
12
12
|
# or (one of the two Template parameters is required)
|
13
13
|
# * TemplateURL [String] URL of file containing the template body.
|
14
14
|
# * Parameters [Hash] Hash of providers to supply to template.
|
15
|
-
# * Capabilities [Array] List of
|
15
|
+
# * Capabilities [Array] List of capabilities the stack is granted. Currently CAPABILITY_IAM for allowing the creation of IAM resources.
|
16
16
|
# * NotificationARNs [Array] List of SNS topics to publish events to.
|
17
17
|
# * ResourceTypes [Array] The template resource types that you have permissions to work.
|
18
18
|
# * StackPolicyBody [String] Structure containing the stack policy body.
|
@@ -7,7 +7,7 @@ module Fog
|
|
7
7
|
# Add permissions to a security group
|
8
8
|
#
|
9
9
|
# ==== Parameters
|
10
|
-
# * group_name<~String> - Name of group, optional (can also be
|
10
|
+
# * group_name<~String> - Name of group, optional (can also be specified as GroupName in options)
|
11
11
|
# * options<~Hash>:
|
12
12
|
# * 'GroupName'<~String> - Name of security group to modify
|
13
13
|
# * 'GroupId'<~String> - Id of security group to modify
|
@@ -7,7 +7,7 @@ module Fog
|
|
7
7
|
# Add permissions to a security group
|
8
8
|
#
|
9
9
|
# ==== Parameters
|
10
|
-
# * group_name<~String> - Name of group, optional (can also be
|
10
|
+
# * group_name<~String> - Name of group, optional (can also be specified as GroupName in options)
|
11
11
|
# * options<~Hash>:
|
12
12
|
# * 'GroupName'<~String> - Name of security group to modify
|
13
13
|
# * 'GroupId'<~String> - Id of security group to modify
|
@@ -25,7 +25,7 @@ module Fog
|
|
25
25
|
# * 'availabilityZone'<~String> - The availability zone
|
26
26
|
# * 'description'<~String> - The description
|
27
27
|
# * 'ownerId'<~String> - The ID of the person who created the interface
|
28
|
-
# * 'requesterId'<~String> - The ID
|
28
|
+
# * 'requesterId'<~String> - The ID or the entity requesting this interface
|
29
29
|
# * 'requesterManaged'<~String> -
|
30
30
|
# * 'status'<~String> - "available" or "in-use"
|
31
31
|
# * 'macAddress'<~String> -
|
@@ -67,7 +67,7 @@ module Fog
|
|
67
67
|
route_table = self.data[:route_tables].find { |routetable| routetable["routeTableId"].eql? default_route.id }
|
68
68
|
|
69
69
|
# This pushes a main route to the associationSet
|
70
|
-
# add_route_association(routeTableId, subnetId, main=false) is declared in
|
70
|
+
# add_route_association(routeTableId, subnetId, main=false) is declared in associate_route_table.rb
|
71
71
|
assoc = add_route_association(default_route.id, nil, true)
|
72
72
|
route_table["associationSet"].push(assoc)
|
73
73
|
|
@@ -20,7 +20,7 @@ module Fog
|
|
20
20
|
# * 'availabilityZone'<~String> - The availability zone
|
21
21
|
# * 'description'<~String> - The description
|
22
22
|
# * 'ownerId'<~String> - The ID of the person who created the interface
|
23
|
-
# * 'requesterId'<~String> - The ID
|
23
|
+
# * 'requesterId'<~String> - The ID of the entity requesting this interface
|
24
24
|
# * 'requesterManaged'<~String> -
|
25
25
|
# * 'status'<~String> - "available" or "in-use"
|
26
26
|
# * 'macAddress'<~String> -
|
@@ -49,7 +49,7 @@ module Fog
|
|
49
49
|
# * 'privateIpAddresses' <~Array>:
|
50
50
|
# * 'privateIpAddress'<~String> - One of the additional private ip address
|
51
51
|
# * 'privateDnsName'<~String> - The private DNS associate to the ip address
|
52
|
-
# * '
|
52
|
+
# * 'primary'<~String> - Whether main ip associate with NIC true of false
|
53
53
|
#
|
54
54
|
# {Amazon API Reference}[http://docs.amazonwebservices.com/AWSEC2/2012-03-01/APIReference/index.html?ApiReference-query-DescribeNetworkInterfaces.html]
|
55
55
|
def describe_network_interfaces(filters = {})
|
@@ -9,7 +9,7 @@ module Fog
|
|
9
9
|
# ==== Parameters
|
10
10
|
# * network_interface_id<~String> - The ID of the network interface you want to describe an attribute of
|
11
11
|
# * attribute<~String> - The attribute to modify, must be one of 'description', 'groupSet', 'sourceDestCheck' or 'attachment'
|
12
|
-
# * value<~Object> - New value of attribute, the actual
|
12
|
+
# * value<~Object> - New value of attribute, the actual type depends on the attribute:
|
13
13
|
# description - a string
|
14
14
|
# groupSet - a list of group id's
|
15
15
|
# sourceDestCheck - a boolean value
|
@@ -10,7 +10,7 @@ module Fog
|
|
10
10
|
# * volume_id<~String> - The ID of the volume
|
11
11
|
# * options<~Hash>:
|
12
12
|
# * 'VolumeType'<~String> - Type of volume
|
13
|
-
# * 'Size'<~Integer> - Size in GiBs
|
13
|
+
# * 'Size'<~Integer> - Size in GiBs of the volume
|
14
14
|
# * 'Iops'<~Integer> - Number of IOPS the volume supports
|
15
15
|
#
|
16
16
|
# ==== Response
|
@@ -7,7 +7,7 @@ module Fog
|
|
7
7
|
# Remove permissions from a security group
|
8
8
|
#
|
9
9
|
# ==== Parameters
|
10
|
-
# * group_name<~String> - Name of group, optional (can also be
|
10
|
+
# * group_name<~String> - Name of group, optional (can also be specified as GroupName in options)
|
11
11
|
# * options<~Hash>:
|
12
12
|
# * 'GroupName'<~String> - Name of security group to modify
|
13
13
|
# * 'GroupId'<~String> - Id of security group to modify
|
@@ -7,7 +7,7 @@ module Fog
|
|
7
7
|
# Remove permissions from a security group
|
8
8
|
#
|
9
9
|
# ==== Parameters
|
10
|
-
# * group_name<~String> - Name of group, optional (can also be
|
10
|
+
# * group_name<~String> - Name of group, optional (can also be specified as GroupName in options)
|
11
11
|
# * options<~Hash>:
|
12
12
|
# * 'GroupName'<~String> - Name of security group to modify
|
13
13
|
# * 'GroupId'<~String> - Id of security group to modify
|
@@ -31,7 +31,7 @@ module Fog
|
|
31
31
|
# * 'Ebs.VolumeType'<~String> - Type of EBS volue. Valid options in ['standard', 'io1'] default is 'standard'.
|
32
32
|
# * 'Ebs.Iops'<~String> - The number of I/O operations per second (IOPS) that the volume supports. Required when VolumeType is 'io1'
|
33
33
|
# * 'HibernationOptions'<~Array>: array of hashes
|
34
|
-
# * 'Configured'<~Boolean> - specifies whether or not the instance is
|
34
|
+
# * 'Configured'<~Boolean> - specifies whether or not the instance is configured for hibernation. This parameter is valid only if the instance meets the hibernation prerequisites.
|
35
35
|
# * 'NetworkInterfaces'<~Array>: array of hashes
|
36
36
|
# * 'NetworkInterfaceId'<~String> - An existing interface to attach to a single instance
|
37
37
|
# * 'DeviceIndex'<~String> - The device index. Applies both to attaching an existing network interface and creating a network interface
|
@@ -46,7 +46,7 @@ module Fog
|
|
46
46
|
# * 'AssociatePublicIpAddress'<~String> - Indicates whether to assign a public IP address to an instance in a VPC. The public IP address is assigned to a specific network interface
|
47
47
|
# * 'TagSpecifications'<~Array>: array of hashes
|
48
48
|
# * 'ResourceType'<~String> - Type of resource to apply tags on, e.g: instance or volume
|
49
|
-
# * 'Tags'<~Array> - List of
|
49
|
+
# * 'Tags'<~Array> - List of hashes reprensenting tag to be set
|
50
50
|
# * 'Key'<~String> - Tag name
|
51
51
|
# * 'Value'<~String> - Tag value
|
52
52
|
# * 'ClientToken'<~String> - unique case-sensitive token for ensuring idempotency
|
@@ -13,7 +13,7 @@ module Fog
|
|
13
13
|
# ==== Returns
|
14
14
|
# * response<~Excon::Response>:
|
15
15
|
# * body<~Hash>:
|
16
|
-
# * 'TaskDefinitionArns' <~Array> - list of task definition Amazon Resource Name (ARN) entries for the
|
16
|
+
# * 'TaskDefinitionArns' <~Array> - list of task definition Amazon Resource Name (ARN) entries for the ListTaskDefinitions request.
|
17
17
|
# * 'NextToken' <~String> - nextToken value to include in a future ListTaskDefinitions request
|
18
18
|
def list_task_definitions(params={})
|
19
19
|
request({
|
@@ -23,7 +23,7 @@ module Fog
|
|
23
23
|
:method => 'POST',
|
24
24
|
:expects => 201,
|
25
25
|
'CreationToken' => creation_token,
|
26
|
-
'PerformanceMode' => options[:
|
26
|
+
'PerformanceMode' => options[:performance_mode] || 'generalPurpose',
|
27
27
|
'Encrypted' => options[:encrypted] || false
|
28
28
|
}
|
29
29
|
params[:kms_key_id] = options[:kms_key_id] if options.key?(:kms_key_id)
|
@@ -34,7 +34,7 @@ module Fog
|
|
34
34
|
if sec_group = self.data[:security_groups][name]
|
35
35
|
|
36
36
|
if sec_group['EC2SecurityGroups'].find{|h| h['EC2SecurityGroupName'] == opts['EC2SecurityGroupName']}
|
37
|
-
raise Fog::AWS::Elasticache::AuthorizationAlreadyExists.new("AuthorizationAlreadyExists => #{opts['EC2SecurityGroupName']} is
|
37
|
+
raise Fog::AWS::Elasticache::AuthorizationAlreadyExists.new("AuthorizationAlreadyExists => #{opts['EC2SecurityGroupName']} is already defined")
|
38
38
|
end
|
39
39
|
sec_group['EC2SecurityGroups'] << opts.merge({'Status' => 'authorizing'})
|
40
40
|
|
@@ -19,7 +19,7 @@ module Fog
|
|
19
19
|
# * :engine_version <~String> - The Cluster's caching software version
|
20
20
|
# * :notification_topic_arn <~String> - Amazon SNS Resource Name
|
21
21
|
# * :port <~Integer> - The memcached port number
|
22
|
-
# * :
|
22
|
+
# * :preferred_availability_zone <~String>
|
23
23
|
# * :preferred_maintenance_window <~String>
|
24
24
|
# * :cache_subnet_group_name <~String>
|
25
25
|
# * :s3_snapshot_location <~String> - Amazon resource location for snapshot
|
@@ -39,7 +39,7 @@ module Fog
|
|
39
39
|
'EngineVersion' => options[:engine_version],
|
40
40
|
'NotificationTopicArn' => options[:notification_topic_arn],
|
41
41
|
'Port' => options[:port],
|
42
|
-
'PreferredAvailabilityZone' => options[:
|
42
|
+
'PreferredAvailabilityZone' => options[:preferred_availability_zone],
|
43
43
|
'PreferredMaintenanceWindow' => options[:preferred_maintenance_window],
|
44
44
|
:parser => Fog::Parsers::AWS::Elasticache::SingleCacheCluster.new
|
45
45
|
}
|