fog-aws 3.13.0 → 3.21.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 +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.
|