fog-aws 3.13.0 → 3.21.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +123 -2
- data/README.md +57 -0
- data/lib/fog/aws/auto_scaling.rb +1 -1
- data/lib/fog/aws/beanstalk.rb +1 -1
- data/lib/fog/aws/cdn.rb +1 -1
- data/lib/fog/aws/cloud_formation.rb +1 -1
- data/lib/fog/aws/cloud_watch.rb +1 -1
- data/lib/fog/aws/compute.rb +1 -1
- data/lib/fog/aws/credential_fetcher.rb +9 -1
- data/lib/fog/aws/data_pipeline.rb +1 -1
- data/lib/fog/aws/dns.rb +1 -1
- data/lib/fog/aws/dynamodb.rb +1 -1
- data/lib/fog/aws/ecs.rb +1 -1
- data/lib/fog/aws/elasticache.rb +1 -1
- data/lib/fog/aws/elb.rb +1 -1
- data/lib/fog/aws/elbv2.rb +1 -1
- data/lib/fog/aws/emr.rb +1 -1
- data/lib/fog/aws/glacier.rb +1 -1
- data/lib/fog/aws/iam.rb +1 -1
- data/lib/fog/aws/kinesis.rb +1 -1
- data/lib/fog/aws/kms.rb +1 -1
- data/lib/fog/aws/lambda.rb +1 -1
- data/lib/fog/aws/models/compute/flavors.rb +2144 -754
- data/lib/fog/aws/models/storage/directories.rb +1 -0
- data/lib/fog/aws/models/storage/file.rb +24 -8
- data/lib/fog/aws/parsers/iam/get_group_policy.rb +1 -1
- data/lib/fog/aws/parsers/iam/get_role_policy.rb +1 -1
- data/lib/fog/aws/parsers/iam/get_user_policy.rb +1 -1
- data/lib/fog/aws/parsers/iam/policy_version.rb +1 -1
- data/lib/fog/aws/rds.rb +1 -1
- data/lib/fog/aws/redshift.rb +1 -1
- data/lib/fog/aws/requests/rds/add_tags_to_resource.rb +12 -10
- data/lib/fog/aws/requests/rds/list_tags_for_resource.rb +10 -7
- data/lib/fog/aws/requests/rds/remove_tags_from_resource.rb +9 -8
- data/lib/fog/aws/requests/storage/get_service.rb +1 -1
- data/lib/fog/aws/requests/storage/sync_clock.rb +9 -1
- data/lib/fog/aws/ses.rb +1 -1
- data/lib/fog/aws/simpledb.rb +1 -1
- data/lib/fog/aws/sns.rb +1 -1
- data/lib/fog/aws/sqs.rb +1 -1
- data/lib/fog/aws/storage.rb +20 -2
- data/lib/fog/aws/support.rb +1 -1
- data/lib/fog/aws/version.rb +1 -1
- data/lib/fog/aws.rb +3 -3
- metadata +3 -3
@@ -11,6 +11,7 @@ module Fog
|
|
11
11
|
load(data)
|
12
12
|
end
|
13
13
|
|
14
|
+
# Warning! This retrieves and caches meta data for the first 10,000 objects in the bucket, which can be very expensive. When possible use directories.new
|
14
15
|
def get(key, options = {})
|
15
16
|
remap_attributes(options, {
|
16
17
|
:delimiter => 'delimiter',
|
@@ -180,7 +180,8 @@ module Fog
|
|
180
180
|
|
181
181
|
remove_method :metadata
|
182
182
|
def metadata
|
183
|
-
attributes.reject {|key, value| !(key.to_s =~ /^x-amz-/)}
|
183
|
+
attributes.reject {|key, value| !(key.to_s =~ /^x-amz-/) }
|
184
|
+
.reject {|key, value| ['x-amz-id-2', 'x-amz-request-id'].include?(key) }
|
184
185
|
end
|
185
186
|
|
186
187
|
remove_method :metadata=
|
@@ -335,12 +336,12 @@ module Fog
|
|
335
336
|
body.rewind rescue nil
|
336
337
|
end
|
337
338
|
while (chunk = body.read(multipart_chunk_size)) do
|
338
|
-
part_upload = service.upload_part(directory.key, key, upload_id, part_tags.size + 1, chunk, part_headers(chunk
|
339
|
+
part_upload = service.upload_part(directory.key, key, upload_id, part_tags.size + 1, chunk, part_headers(chunk))
|
339
340
|
part_tags << part_upload.headers["ETag"]
|
340
341
|
end
|
341
342
|
|
342
343
|
if part_tags.empty? #it is an error to have a multipart upload with no parts
|
343
|
-
part_upload = service.upload_part(directory.key, key, upload_id, 1, '', part_headers(''
|
344
|
+
part_upload = service.upload_part(directory.key, key, upload_id, 1, '', part_headers(''))
|
344
345
|
part_tags << part_upload.headers["ETag"]
|
345
346
|
end
|
346
347
|
|
@@ -387,11 +388,18 @@ module Fog
|
|
387
388
|
end
|
388
389
|
end
|
389
390
|
|
390
|
-
def part_headers(chunk
|
391
|
-
|
392
|
-
|
393
|
-
|
394
|
-
|
391
|
+
def part_headers(chunk)
|
392
|
+
base_headers = part_checksum_headers(chunk)
|
393
|
+
|
394
|
+
# Only SSE-C headers needed in the UploadPart request. [1]
|
395
|
+
# x-amz-server-side-encryption and
|
396
|
+
# x-amz-server-side-encryption-aws-kms-key-id are only needed
|
397
|
+
# in the CreateMultipartUpload request. [2]
|
398
|
+
# [1] https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html
|
399
|
+
# [2] https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html
|
400
|
+
base_headers.merge!(encryption_customer_key_headers) if encryption && encryption_key
|
401
|
+
|
402
|
+
base_headers
|
395
403
|
end
|
396
404
|
|
397
405
|
def encryption_customer_key_headers
|
@@ -402,6 +410,14 @@ module Fog
|
|
402
410
|
}
|
403
411
|
end
|
404
412
|
|
413
|
+
def part_checksum_headers(chunk)
|
414
|
+
if service.disable_content_md5_validation
|
415
|
+
{}
|
416
|
+
else
|
417
|
+
{ 'Content-MD5' => Base64.encode64(OpenSSL::Digest::MD5.digest(chunk)).strip }
|
418
|
+
end
|
419
|
+
end
|
420
|
+
|
405
421
|
def create_part_list(upload_part_options)
|
406
422
|
current_pos = 0
|
407
423
|
count = 0
|
@@ -14,7 +14,7 @@ module Fog
|
|
14
14
|
when 'GroupName', 'PolicyName'
|
15
15
|
@response[name] = value
|
16
16
|
when 'PolicyDocument'
|
17
|
-
@response['Policy'][name] = if decoded_string = URI.
|
17
|
+
@response['Policy'][name] = if decoded_string = URI.decode_www_form_component(value)
|
18
18
|
Fog::JSON.decode(decoded_string) rescue value
|
19
19
|
else
|
20
20
|
value
|
@@ -12,7 +12,7 @@ module Fog
|
|
12
12
|
when 'RoleName', 'PolicyName'
|
13
13
|
@response['Policy'][name] = value
|
14
14
|
when 'PolicyDocument'
|
15
|
-
@response['Policy'][name] = if decoded_string = URI.
|
15
|
+
@response['Policy'][name] = if decoded_string = URI.decode_www_form_component(value)
|
16
16
|
Fog::JSON.decode(decoded_string) rescue value
|
17
17
|
else
|
18
18
|
value
|
@@ -14,7 +14,7 @@ module Fog
|
|
14
14
|
when 'UserName', 'PolicyName'
|
15
15
|
@response['Policy'][name] = value
|
16
16
|
when 'PolicyDocument'
|
17
|
-
@response['Policy'][name] = if decoded_string = URI.
|
17
|
+
@response['Policy'][name] = if decoded_string = URI.decode_www_form_component(value)
|
18
18
|
Fog::JSON.decode(decoded_string) rescue value
|
19
19
|
else
|
20
20
|
value
|
@@ -18,7 +18,7 @@ module Fog
|
|
18
18
|
when 'IsDefaultVersion'
|
19
19
|
@version[name] = (value == 'true')
|
20
20
|
when 'Document'
|
21
|
-
@version[name] = if decoded_string = URI.
|
21
|
+
@version[name] = if decoded_string = URI.decode_www_form_component(value)
|
22
22
|
Fog::JSON.decode(decoded_string) rescue value
|
23
23
|
else
|
24
24
|
value
|
data/lib/fog/aws/rds.rb
CHANGED
@@ -9,7 +9,7 @@ module Fog
|
|
9
9
|
class AuthorizationAlreadyExists < Fog::Errors::Error; end
|
10
10
|
|
11
11
|
requires :aws_access_key_id, :aws_secret_access_key
|
12
|
-
recognizes :region, :host, :path, :port, :scheme, :persistent, :use_iam_profile, :aws_session_token, :aws_credentials_expire_at, :version, :instrumentor, :instrumentor_name
|
12
|
+
recognizes :region, :host, :path, :port, :scheme, :persistent, :use_iam_profile, :aws_session_token, :aws_credentials_expire_at, :version, :instrumentor, :instrumentor_name, :sts_endpoint
|
13
13
|
|
14
14
|
request_path 'fog/aws/requests/rds'
|
15
15
|
request :describe_events
|
data/lib/fog/aws/redshift.rb
CHANGED
@@ -4,7 +4,7 @@ module Fog
|
|
4
4
|
extend Fog::AWS::CredentialFetcher::ServiceMethods
|
5
5
|
|
6
6
|
requires :aws_access_key_id, :aws_secret_access_key
|
7
|
-
recognizes :region, :host, :path, :port, :scheme, :persistent, :use_iam_profile, :aws_session_token, :aws_credentials_expire_at, :instrumentor, :instrumentor_name
|
7
|
+
recognizes :region, :host, :path, :port, :scheme, :persistent, :use_iam_profile, :aws_session_token, :aws_credentials_expire_at, :instrumentor, :instrumentor_name, :sts_endpoint
|
8
8
|
|
9
9
|
request_path 'fog/aws/requests/redshift'
|
10
10
|
|
@@ -12,28 +12,30 @@ module Fog
|
|
12
12
|
# * body<~Hash>:
|
13
13
|
def add_tags_to_resource(rds_id, tags)
|
14
14
|
keys = tags.keys.sort
|
15
|
-
values = keys.map {|key| tags[key]}
|
15
|
+
values = keys.map { |key| tags[key] }
|
16
|
+
resource_name = "arn:aws:rds:#{@region}:#{owner_id}:db:#{rds_id}"
|
17
|
+
%w[us-gov-west-1 us-gov-east-1].include?(@region) ? resource_name.insert(7, '-us-gov') : resource_name
|
16
18
|
request({
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
merge(Fog::AWS.indexed_param('Tags.member.%d.Value', values)))
|
19
|
+
'Action' => 'AddTagsToResource',
|
20
|
+
'ResourceName' => resource_name,
|
21
|
+
:parser => Fog::Parsers::AWS::RDS::Base.new
|
22
|
+
}.merge(Fog::AWS.indexed_param('Tags.member.%d.Key', keys))
|
23
|
+
.merge(Fog::AWS.indexed_param('Tags.member.%d.Value', values)))
|
22
24
|
end
|
23
25
|
end
|
24
26
|
|
25
27
|
class Mock
|
26
28
|
def add_tags_to_resource(rds_id, tags)
|
27
29
|
response = Excon::Response.new
|
28
|
-
if server =
|
29
|
-
|
30
|
+
if server = data[:servers][rds_id]
|
31
|
+
data[:tags][rds_id].merge! tags
|
30
32
|
response.status = 200
|
31
33
|
response.body = {
|
32
|
-
|
34
|
+
'ResponseMetadata' => { 'RequestId' => Fog::AWS::Mock.request_id }
|
33
35
|
}
|
34
36
|
response
|
35
37
|
else
|
36
|
-
raise Fog::AWS::RDS::NotFound
|
38
|
+
raise Fog::AWS::RDS::NotFound, "DBInstance #{rds_id} not found"
|
37
39
|
end
|
38
40
|
end
|
39
41
|
end
|
@@ -11,11 +11,14 @@ module Fog
|
|
11
11
|
# ==== Returns
|
12
12
|
# * response<~Excon::Response>:
|
13
13
|
# * body<~Hash>:
|
14
|
+
|
14
15
|
def list_tags_for_resource(rds_id)
|
16
|
+
resource_name = "arn:aws:rds:#{@region}:#{owner_id}:db:#{rds_id}"
|
17
|
+
%w[us-gov-west-1 us-gov-east-1].include?(@region) ? resource_name.insert(7, '-us-gov') : resource_name
|
15
18
|
request(
|
16
|
-
'Action'
|
17
|
-
'ResourceName'
|
18
|
-
:parser
|
19
|
+
'Action' => 'ListTagsForResource',
|
20
|
+
'ResourceName' => resource_name,
|
21
|
+
:parser => Fog::Parsers::AWS::RDS::TagListParser.new
|
19
22
|
)
|
20
23
|
end
|
21
24
|
end
|
@@ -23,15 +26,15 @@ module Fog
|
|
23
26
|
class Mock
|
24
27
|
def list_tags_for_resource(rds_id)
|
25
28
|
response = Excon::Response.new
|
26
|
-
if server =
|
29
|
+
if server = data[:servers][rds_id]
|
27
30
|
response.status = 200
|
28
31
|
response.body = {
|
29
|
-
|
30
|
-
{
|
32
|
+
'ListTagsForResourceResult' =>
|
33
|
+
{ 'TagList' => data[:tags][rds_id] }
|
31
34
|
}
|
32
35
|
response
|
33
36
|
else
|
34
|
-
raise Fog::AWS::RDS::NotFound
|
37
|
+
raise Fog::AWS::RDS::NotFound, "DBInstance #{rds_id} not found"
|
35
38
|
end
|
36
39
|
end
|
37
40
|
end
|
@@ -11,11 +11,12 @@ module Fog
|
|
11
11
|
# * response<~Excon::Response>:
|
12
12
|
# * body<~Hash>:
|
13
13
|
def remove_tags_from_resource(rds_id, keys)
|
14
|
+
resource_name = "arn:aws:rds:#{@region}:#{owner_id}:db:#{rds_id}"
|
15
|
+
%w[us-gov-west-1 us-gov-east-1].include?(@region) ? resource_name.insert(7, '-us-gov') : resource_name
|
14
16
|
request(
|
15
|
-
{ 'Action'
|
16
|
-
'ResourceName'
|
17
|
-
:parser
|
18
|
-
}.merge(Fog::AWS.indexed_param('TagKeys.member.%d', keys))
|
17
|
+
{ 'Action' => 'RemoveTagsFromResource',
|
18
|
+
'ResourceName' => resource_name,
|
19
|
+
:parser => Fog::Parsers::AWS::RDS::Base.new }.merge(Fog::AWS.indexed_param('TagKeys.member.%d', keys))
|
19
20
|
)
|
20
21
|
end
|
21
22
|
end
|
@@ -23,15 +24,15 @@ module Fog
|
|
23
24
|
class Mock
|
24
25
|
def remove_tags_from_resource(rds_id, keys)
|
25
26
|
response = Excon::Response.new
|
26
|
-
if server =
|
27
|
-
keys.each {|key|
|
27
|
+
if server = data[:servers][rds_id]
|
28
|
+
keys.each { |key| data[:tags][rds_id].delete key }
|
28
29
|
response.status = 200
|
29
30
|
response.body = {
|
30
|
-
|
31
|
+
'ResponseMetadata' => { 'RequestId' => Fog::AWS::Mock.request_id }
|
31
32
|
}
|
32
33
|
response
|
33
34
|
else
|
34
|
-
raise Fog::AWS::RDS::NotFound
|
35
|
+
raise Fog::AWS::RDS::NotFound, "DBInstance #{rds_id} not found"
|
35
36
|
end
|
36
37
|
end
|
37
38
|
end
|
@@ -6,12 +6,20 @@ module Fog
|
|
6
6
|
#
|
7
7
|
def sync_clock
|
8
8
|
response = begin
|
9
|
-
|
9
|
+
Excon.get(sync_clock_url)
|
10
10
|
rescue Excon::Errors::HTTPStatusError => error
|
11
11
|
error.response
|
12
12
|
end
|
13
13
|
Fog::Time.now = Time.parse(response.headers['Date'])
|
14
14
|
end
|
15
|
+
|
16
|
+
private
|
17
|
+
|
18
|
+
def sync_clock_url
|
19
|
+
host = @acceleration ? region_to_host(@region) : @host
|
20
|
+
|
21
|
+
"#{@scheme}://#{host}:#{@port}"
|
22
|
+
end
|
15
23
|
end # Real
|
16
24
|
|
17
25
|
class Mock # :nodoc:all
|
data/lib/fog/aws/ses.rb
CHANGED
@@ -7,7 +7,7 @@ module Fog
|
|
7
7
|
class MessageRejected < Fog::Errors::Error; end
|
8
8
|
|
9
9
|
requires :aws_access_key_id, :aws_secret_access_key
|
10
|
-
recognizes :region, :host, :path, :port, :scheme, :persistent, :use_iam_profile, :aws_session_token, :aws_credentials_expire_at, :instrumentor, :instrumentor_name
|
10
|
+
recognizes :region, :host, :path, :port, :scheme, :persistent, :use_iam_profile, :aws_session_token, :aws_credentials_expire_at, :instrumentor, :instrumentor_name, :sts_endpoint
|
11
11
|
|
12
12
|
request_path 'fog/aws/requests/ses'
|
13
13
|
request :delete_verified_email_address
|
data/lib/fog/aws/simpledb.rb
CHANGED
@@ -4,7 +4,7 @@ module Fog
|
|
4
4
|
extend Fog::AWS::CredentialFetcher::ServiceMethods
|
5
5
|
|
6
6
|
requires :aws_access_key_id, :aws_secret_access_key
|
7
|
-
recognizes :host, :nil_string, :path, :port, :scheme, :persistent, :region, :aws_session_token, :use_iam_profile, :aws_credentials_expire_at, :instrumentor, :instrumentor_name
|
7
|
+
recognizes :host, :nil_string, :path, :port, :scheme, :persistent, :region, :aws_session_token, :use_iam_profile, :aws_credentials_expire_at, :instrumentor, :instrumentor_name, :sts_endpoint
|
8
8
|
|
9
9
|
request_path 'fog/aws/requests/simpledb'
|
10
10
|
request :batch_put_attributes
|
data/lib/fog/aws/sns.rb
CHANGED
@@ -4,7 +4,7 @@ module Fog
|
|
4
4
|
extend Fog::AWS::CredentialFetcher::ServiceMethods
|
5
5
|
|
6
6
|
requires :aws_access_key_id, :aws_secret_access_key
|
7
|
-
recognizes :host, :path, :port, :scheme, :persistent, :region, :use_iam_profile, :aws_session_token, :aws_credentials_expire_at, :instrumentor, :instrumentor_name
|
7
|
+
recognizes :host, :path, :port, :scheme, :persistent, :region, :use_iam_profile, :aws_session_token, :aws_credentials_expire_at, :instrumentor, :instrumentor_name, :sts_endpoint
|
8
8
|
|
9
9
|
request_path 'fog/aws/requests/sns'
|
10
10
|
request :add_permission
|
data/lib/fog/aws/sqs.rb
CHANGED
@@ -4,7 +4,7 @@ module Fog
|
|
4
4
|
extend Fog::AWS::CredentialFetcher::ServiceMethods
|
5
5
|
|
6
6
|
requires :aws_access_key_id, :aws_secret_access_key
|
7
|
-
recognizes :region, :host, :path, :port, :scheme, :persistent, :aws_session_token, :use_iam_profile, :aws_credentials_expire_at, :instrumentor, :instrumentor_name
|
7
|
+
recognizes :region, :host, :path, :port, :scheme, :persistent, :aws_session_token, :use_iam_profile, :aws_credentials_expire_at, :instrumentor, :instrumentor_name, :sts_endpoint
|
8
8
|
|
9
9
|
request_path 'fog/aws/requests/sqs'
|
10
10
|
request :change_message_visibility
|
data/lib/fog/aws/storage.rb
CHANGED
@@ -14,6 +14,14 @@ module Fog
|
|
14
14
|
'https' => 443
|
15
15
|
}
|
16
16
|
|
17
|
+
DEFAULT_CONNECTION_OPTIONS = {
|
18
|
+
retry_limit: 5,
|
19
|
+
retry_interval: 1,
|
20
|
+
retry_errors: [
|
21
|
+
Excon::Error::Timeout, Excon::Error::Socket, Excon::Error::Server
|
22
|
+
]
|
23
|
+
}
|
24
|
+
|
17
25
|
MIN_MULTIPART_CHUNK_SIZE = 5242880
|
18
26
|
MAX_SINGLE_PUT_SIZE = 5368709120
|
19
27
|
|
@@ -46,7 +54,7 @@ module Fog
|
|
46
54
|
]
|
47
55
|
|
48
56
|
requires :aws_access_key_id, :aws_secret_access_key
|
49
|
-
recognizes :endpoint, :region, :host, :port, :scheme, :persistent, :use_iam_profile, :aws_session_token, :aws_credentials_expire_at, :path_style, :acceleration, :instrumentor, :instrumentor_name, :aws_signature_version, :enable_signature_v4_streaming, :virtual_host, :cname, :max_put_chunk_size, :max_copy_chunk_size
|
57
|
+
recognizes :endpoint, :region, :host, :port, :scheme, :persistent, :use_iam_profile, :aws_session_token, :aws_credentials_expire_at, :path_style, :acceleration, :instrumentor, :instrumentor_name, :aws_signature_version, :enable_signature_v4_streaming, :virtual_host, :cname, :max_put_chunk_size, :max_copy_chunk_size, :aws_credentials_refresh_threshold_seconds, :disable_content_md5_validation, :sts_endpoint
|
50
58
|
|
51
59
|
secrets :aws_secret_access_key, :hmac
|
52
60
|
|
@@ -119,6 +127,7 @@ module Fog
|
|
119
127
|
|
120
128
|
module Utils
|
121
129
|
attr_accessor :region
|
130
|
+
attr_accessor :disable_content_md5_validation
|
122
131
|
|
123
132
|
# Amazon S3 limits max chunk size that can be uploaded/copied in a single request to 5GB.
|
124
133
|
# Other S3-compatible storages (like, Ceph) do not have such limit.
|
@@ -486,6 +495,8 @@ module Fog
|
|
486
495
|
init_max_put_chunk_size!(options)
|
487
496
|
init_max_copy_chunk_size!(options)
|
488
497
|
|
498
|
+
@disable_content_md5_validation = options[:disable_content_md5_validation] || false
|
499
|
+
|
489
500
|
@signature_version = options.fetch(:aws_signature_version, 4)
|
490
501
|
validate_signature_version!
|
491
502
|
setup_credentials(options)
|
@@ -500,6 +511,8 @@ module Fog
|
|
500
511
|
end
|
501
512
|
|
502
513
|
def setup_credentials(options)
|
514
|
+
@aws_credentials_refresh_threshold_seconds = options[:aws_credentials_refresh_threshold_seconds]
|
515
|
+
|
503
516
|
@aws_access_key_id = options[:aws_access_key_id]
|
504
517
|
@aws_secret_access_key = options[:aws_secret_access_key]
|
505
518
|
@aws_session_token = options[:aws_session_token]
|
@@ -541,7 +554,8 @@ module Fog
|
|
541
554
|
@use_iam_profile = options[:use_iam_profile]
|
542
555
|
@instrumentor = options[:instrumentor]
|
543
556
|
@instrumentor_name = options[:instrumentor_name] || 'fog.aws.storage'
|
544
|
-
@connection_options
|
557
|
+
@connection_options =
|
558
|
+
DEFAULT_CONNECTION_OPTIONS.merge(options[:connection_options] || {})
|
545
559
|
@persistent = options.fetch(:persistent, false)
|
546
560
|
@acceleration = options.fetch(:acceleration, false)
|
547
561
|
@signature_version = options.fetch(:aws_signature_version, 4)
|
@@ -552,6 +566,8 @@ module Fog
|
|
552
566
|
init_max_put_chunk_size!(options)
|
553
567
|
init_max_copy_chunk_size!(options)
|
554
568
|
|
569
|
+
@disable_content_md5_validation = options[:disable_content_md5_validation] || false
|
570
|
+
|
555
571
|
@region = options[:region] || DEFAULT_REGION
|
556
572
|
|
557
573
|
if @endpoint = options[:endpoint]
|
@@ -577,6 +593,8 @@ module Fog
|
|
577
593
|
|
578
594
|
|
579
595
|
def setup_credentials(options)
|
596
|
+
@aws_credentials_refresh_threshold_seconds = options[:aws_credentials_refresh_threshold_seconds]
|
597
|
+
|
580
598
|
@aws_access_key_id = options[:aws_access_key_id]
|
581
599
|
@aws_secret_access_key = options[:aws_secret_access_key]
|
582
600
|
@aws_session_token = options[:aws_session_token]
|
data/lib/fog/aws/support.rb
CHANGED
@@ -4,7 +4,7 @@ module Fog
|
|
4
4
|
extend Fog::AWS::CredentialFetcher::ServiceMethods
|
5
5
|
|
6
6
|
requires :aws_access_key_id, :aws_secret_access_key
|
7
|
-
recognizes :host, :path, :port, :scheme, :instrumentor, :instrumentor_name, :region, :persistent, :aws_session_token
|
7
|
+
recognizes :host, :path, :port, :scheme, :instrumentor, :instrumentor_name, :region, :persistent, :aws_session_token, :aws_credentials_expire_at, :sts_endpoint
|
8
8
|
|
9
9
|
model_path 'fog/aws/models/support'
|
10
10
|
request_path 'fog/aws/requests/support'
|
data/lib/fog/aws/version.rb
CHANGED
data/lib/fog/aws.rb
CHANGED
@@ -224,14 +224,14 @@ module Fog
|
|
224
224
|
'ap-east-1',
|
225
225
|
'ap-northeast-1', 'ap-northeast-2', 'ap-northeast-3',
|
226
226
|
'ap-south-1',
|
227
|
-
'ap-southeast-1', 'ap-southeast-2',
|
227
|
+
'ap-southeast-1', 'ap-southeast-2', 'ap-southeast-3', 'ap-southeast-4',
|
228
228
|
'ca-central-1',
|
229
229
|
'cn-north-1',
|
230
230
|
'cn-northwest-1',
|
231
231
|
'eu-central-1',
|
232
232
|
'eu-north-1',
|
233
|
-
'eu-west-1', 'eu-west-2', 'eu-west-3', 'eu-south-1',
|
234
|
-
'me-south-1',
|
233
|
+
'eu-west-1', 'eu-west-2', 'eu-west-3', 'eu-south-1', 'eu-south-2',
|
234
|
+
'me-south-1','me-central-1',
|
235
235
|
'us-east-1', 'us-east-2',
|
236
236
|
'us-west-1', 'us-west-2',
|
237
237
|
'sa-east-1',
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fog-aws
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.21.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Josh Lane
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2023-09-29 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
@@ -1458,7 +1458,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
1458
1458
|
- !ruby/object:Gem::Version
|
1459
1459
|
version: '0'
|
1460
1460
|
requirements: []
|
1461
|
-
rubygems_version: 3.3.
|
1461
|
+
rubygems_version: 3.3.26
|
1462
1462
|
signing_key:
|
1463
1463
|
specification_version: 4
|
1464
1464
|
summary: Module for the 'fog' gem to support Amazon Web Services.
|