aws-sdk-core 3.188.0 → 3.189.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 +11 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-core/endpoints.rb +1 -1
- data/lib/aws-sdk-core/plugins/checksum_algorithm.rb +4 -2
- data/lib/aws-sdk-core/plugins/http_checksum.rb +2 -1
- data/lib/aws-sdk-core/plugins/sign.rb +15 -10
- data/lib/aws-sdk-core/refreshing_credentials.rb +12 -6
- data/lib/aws-sdk-core/shared_config.rb +1 -0
- data/lib/aws-sdk-sso/client.rb +1 -1
- data/lib/aws-sdk-sso/plugins/endpoints.rb +3 -2
- data/lib/aws-sdk-sso.rb +1 -1
- data/lib/aws-sdk-ssooidc/client.rb +1 -1
- data/lib/aws-sdk-ssooidc/plugins/endpoints.rb +3 -2
- data/lib/aws-sdk-ssooidc.rb +1 -1
- data/lib/aws-sdk-sts/client.rb +1 -1
- data/lib/aws-sdk-sts/plugins/endpoints.rb +3 -2
- data/lib/aws-sdk-sts.rb +1 -1
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5d31e3056417287225e7e768fcc5e0b74e8529240ca9a35072a235950b325353
|
4
|
+
data.tar.gz: 986ab2973fd413c2928beab42e5811e9ae6b190e4dd27b1747cf0852b3ae1a5d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ea8a8cb3551e0ea979f39d4d4209208395d2bd86fad147ae4af82265c2e72c709057dcfdcfb047612486d01492521b6a83669221e30ff819fbe30734d8f969c2
|
7
|
+
data.tar.gz: 87475be62f02da7a68d6e5e01e8c46215383aedd1d86b56ef588ec9f8d48318b8f0d38ed73ec932f4a6eacbdf1a05d3373db24e8563cfc4a8b7a43887945641e
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,17 @@
|
|
1
1
|
Unreleased Changes
|
2
2
|
------------------
|
3
3
|
|
4
|
+
3.189.0 (2023-11-28)
|
5
|
+
------------------
|
6
|
+
|
7
|
+
* Feature - Updated Aws::STS::Client with the latest API changes.
|
8
|
+
|
9
|
+
* Feature - Updated Aws::SSOOIDC::Client with the latest API changes.
|
10
|
+
|
11
|
+
* Feature - Updated Aws::SSO::Client with the latest API changes.
|
12
|
+
|
13
|
+
* Feature - Support S3 Express authentication.
|
14
|
+
|
4
15
|
3.188.0 (2023-11-22)
|
5
16
|
------------------
|
6
17
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
3.
|
1
|
+
3.189.0
|
@@ -53,7 +53,7 @@ module Aws
|
|
53
53
|
end
|
54
54
|
|
55
55
|
def merge_signing_defaults(auth_scheme, config)
|
56
|
-
if %w[sigv4 sigv4a].include?(auth_scheme['name'])
|
56
|
+
if %w[sigv4 sigv4a sigv4-s3express].include?(auth_scheme['name'])
|
57
57
|
auth_scheme['signingName'] ||= sigv4_name(config)
|
58
58
|
if auth_scheme['name'] == 'sigv4a'
|
59
59
|
auth_scheme['signingRegionSet'] ||= ['*']
|
@@ -117,7 +117,8 @@ module Aws
|
|
117
117
|
|
118
118
|
def call(context)
|
119
119
|
if should_calculate_request_checksum?(context)
|
120
|
-
request_algorithm_input = ChecksumAlgorithm.request_algorithm_selection(context)
|
120
|
+
request_algorithm_input = ChecksumAlgorithm.request_algorithm_selection(context) ||
|
121
|
+
context[:default_request_checksum_algorithm]
|
121
122
|
context[:checksum_algorithms] = request_algorithm_input
|
122
123
|
|
123
124
|
request_checksum_property = {
|
@@ -140,7 +141,8 @@ module Aws
|
|
140
141
|
|
141
142
|
def should_calculate_request_checksum?(context)
|
142
143
|
context.operation.http_checksum &&
|
143
|
-
ChecksumAlgorithm.request_algorithm_selection(context)
|
144
|
+
(ChecksumAlgorithm.request_algorithm_selection(context) ||
|
145
|
+
context[:default_request_checksum_algorithm])
|
144
146
|
end
|
145
147
|
|
146
148
|
def should_verify_response_checksum?(context)
|
@@ -12,7 +12,8 @@ module Aws
|
|
12
12
|
|
13
13
|
def call(context)
|
14
14
|
if checksum_required?(context) &&
|
15
|
-
!context[:checksum_algorithms] # skip in favor of flexible checksum
|
15
|
+
!context[:checksum_algorithms] && # skip in favor of flexible checksum
|
16
|
+
!context[:s3_express_endpoint] # s3 express endpoints do not support md5
|
16
17
|
body = context.http_request.body
|
17
18
|
context.http_request.headers['Content-Md5'] ||= md5(body)
|
18
19
|
end
|
@@ -13,7 +13,7 @@ module Aws
|
|
13
13
|
option(:sigv4_region)
|
14
14
|
option(:unsigned_operations, default: [])
|
15
15
|
|
16
|
-
supported_auth_types = %w[sigv4 bearer none]
|
16
|
+
supported_auth_types = %w[sigv4 bearer sigv4-s3express none]
|
17
17
|
supported_auth_types += ['sigv4a'] if Aws::Sigv4::Signer.use_crt?
|
18
18
|
SUPPORTED_AUTH_TYPES = supported_auth_types.freeze
|
19
19
|
|
@@ -24,10 +24,14 @@ module Aws
|
|
24
24
|
|
25
25
|
# @api private
|
26
26
|
# Return a signer with the `sign(context)` method
|
27
|
-
def self.signer_for(auth_scheme, config,
|
27
|
+
def self.signer_for(auth_scheme, config, sigv4_region_override = nil, sigv4_credentials_override = nil)
|
28
28
|
case auth_scheme['name']
|
29
|
-
when 'sigv4', 'sigv4a'
|
30
|
-
|
29
|
+
when 'sigv4', 'sigv4a', 'sigv4-s3express'
|
30
|
+
sigv4_overrides = {
|
31
|
+
region: sigv4_region_override,
|
32
|
+
credentials: sigv4_credentials_override
|
33
|
+
}
|
34
|
+
SignatureV4.new(auth_scheme, config, sigv4_overrides)
|
31
35
|
when 'bearer'
|
32
36
|
Bearer.new
|
33
37
|
else
|
@@ -42,7 +46,8 @@ module Aws
|
|
42
46
|
signer = Sign.signer_for(
|
43
47
|
context[:auth_scheme],
|
44
48
|
context.config,
|
45
|
-
context[:sigv4_region]
|
49
|
+
context[:sigv4_region],
|
50
|
+
context[:sigv4_credentials]
|
46
51
|
)
|
47
52
|
signer.sign(context)
|
48
53
|
end
|
@@ -88,12 +93,12 @@ module Aws
|
|
88
93
|
|
89
94
|
# @api private
|
90
95
|
class SignatureV4
|
91
|
-
def initialize(auth_scheme, config,
|
96
|
+
def initialize(auth_scheme, config, sigv4_overrides = {})
|
92
97
|
scheme_name = auth_scheme['name']
|
93
98
|
|
94
|
-
unless %w[sigv4 sigv4a].include?(scheme_name)
|
99
|
+
unless %w[sigv4 sigv4a sigv4-s3express].include?(scheme_name)
|
95
100
|
raise ArgumentError,
|
96
|
-
"Expected sigv4 or
|
101
|
+
"Expected sigv4, sigv4a, or sigv4-s3express auth scheme, got #{scheme_name}"
|
97
102
|
end
|
98
103
|
|
99
104
|
region = if scheme_name == 'sigv4a'
|
@@ -104,8 +109,8 @@ module Aws
|
|
104
109
|
begin
|
105
110
|
@signer = Aws::Sigv4::Signer.new(
|
106
111
|
service: config.sigv4_name || auth_scheme['signingName'],
|
107
|
-
region:
|
108
|
-
credentials_provider: config.credentials,
|
112
|
+
region: sigv4_overrides[:region] || config.sigv4_region || region,
|
113
|
+
credentials_provider: sigv4_overrides[:credentials] || config.credentials,
|
109
114
|
signing_algorithm: scheme_name.to_sym,
|
110
115
|
uri_escape_path: !!!auth_scheme['disableDoubleEncoding'],
|
111
116
|
normalize_path: !!!auth_scheme['disableNormalizePath'],
|
@@ -1,7 +1,5 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require 'thread'
|
4
|
-
|
5
3
|
module Aws
|
6
4
|
|
7
5
|
# Base class used credential classes that can be refreshed. This
|
@@ -48,6 +46,14 @@ module Aws
|
|
48
46
|
|
49
47
|
private
|
50
48
|
|
49
|
+
def sync_expiration_length
|
50
|
+
self.class::SYNC_EXPIRATION_LENGTH
|
51
|
+
end
|
52
|
+
|
53
|
+
def async_expiration_length
|
54
|
+
self.class::ASYNC_EXPIRATION_LENGTH
|
55
|
+
end
|
56
|
+
|
51
57
|
# Refreshes credentials asynchronously and synchronously.
|
52
58
|
# If we are near to expiration, block while getting new credentials.
|
53
59
|
# Otherwise, if we're approaching expiration, use the existing credentials
|
@@ -56,18 +62,18 @@ module Aws
|
|
56
62
|
# Note: This check is an optimization. Rather than acquire the mutex on every #refresh_if_near_expiration
|
57
63
|
# call, we check before doing so, and then we check within the mutex to avoid a race condition.
|
58
64
|
# See issue: https://github.com/aws/aws-sdk-ruby/issues/2641 for more info.
|
59
|
-
if near_expiration?(
|
65
|
+
if near_expiration?(sync_expiration_length)
|
60
66
|
@mutex.synchronize do
|
61
|
-
if near_expiration?(
|
67
|
+
if near_expiration?(sync_expiration_length)
|
62
68
|
@before_refresh.call(self) if @before_refresh
|
63
69
|
refresh
|
64
70
|
end
|
65
71
|
end
|
66
|
-
elsif @async_refresh && near_expiration?(
|
72
|
+
elsif @async_refresh && near_expiration?(async_expiration_length)
|
67
73
|
unless @mutex.locked?
|
68
74
|
Thread.new do
|
69
75
|
@mutex.synchronize do
|
70
|
-
if near_expiration?(
|
76
|
+
if near_expiration?(async_expiration_length)
|
71
77
|
@before_refresh.call(self) if @before_refresh
|
72
78
|
refresh
|
73
79
|
end
|
data/lib/aws-sdk-sso/client.rb
CHANGED
@@ -25,16 +25,17 @@ module Aws::SSO
|
|
25
25
|
# @api private
|
26
26
|
class Handler < Seahorse::Client::Handler
|
27
27
|
def call(context)
|
28
|
-
# If endpoint was discovered, do not resolve or apply the endpoint.
|
29
28
|
unless context[:discovered_endpoint]
|
30
29
|
params = parameters_for_operation(context)
|
31
30
|
endpoint = context.config.endpoint_provider.resolve_endpoint(params)
|
32
31
|
|
33
32
|
context.http_request.endpoint = endpoint.url
|
34
33
|
apply_endpoint_headers(context, endpoint.headers)
|
34
|
+
|
35
|
+
context[:endpoint_params] = params
|
36
|
+
context[:endpoint_properties] = endpoint.properties
|
35
37
|
end
|
36
38
|
|
37
|
-
context[:endpoint_params] = params
|
38
39
|
context[:auth_scheme] =
|
39
40
|
Aws::Endpoints.resolve_auth_scheme(context, endpoint)
|
40
41
|
|
data/lib/aws-sdk-sso.rb
CHANGED
@@ -25,16 +25,17 @@ module Aws::SSOOIDC
|
|
25
25
|
# @api private
|
26
26
|
class Handler < Seahorse::Client::Handler
|
27
27
|
def call(context)
|
28
|
-
# If endpoint was discovered, do not resolve or apply the endpoint.
|
29
28
|
unless context[:discovered_endpoint]
|
30
29
|
params = parameters_for_operation(context)
|
31
30
|
endpoint = context.config.endpoint_provider.resolve_endpoint(params)
|
32
31
|
|
33
32
|
context.http_request.endpoint = endpoint.url
|
34
33
|
apply_endpoint_headers(context, endpoint.headers)
|
34
|
+
|
35
|
+
context[:endpoint_params] = params
|
36
|
+
context[:endpoint_properties] = endpoint.properties
|
35
37
|
end
|
36
38
|
|
37
|
-
context[:endpoint_params] = params
|
38
39
|
context[:auth_scheme] =
|
39
40
|
Aws::Endpoints.resolve_auth_scheme(context, endpoint)
|
40
41
|
|
data/lib/aws-sdk-ssooidc.rb
CHANGED
data/lib/aws-sdk-sts/client.rb
CHANGED
@@ -2352,7 +2352,7 @@ module Aws::STS
|
|
2352
2352
|
params: params,
|
2353
2353
|
config: config)
|
2354
2354
|
context[:gem_name] = 'aws-sdk-core'
|
2355
|
-
context[:gem_version] = '3.
|
2355
|
+
context[:gem_version] = '3.189.0'
|
2356
2356
|
Seahorse::Client::Request.new(handlers, context)
|
2357
2357
|
end
|
2358
2358
|
|
@@ -25,16 +25,17 @@ module Aws::STS
|
|
25
25
|
# @api private
|
26
26
|
class Handler < Seahorse::Client::Handler
|
27
27
|
def call(context)
|
28
|
-
# If endpoint was discovered, do not resolve or apply the endpoint.
|
29
28
|
unless context[:discovered_endpoint]
|
30
29
|
params = parameters_for_operation(context)
|
31
30
|
endpoint = context.config.endpoint_provider.resolve_endpoint(params)
|
32
31
|
|
33
32
|
context.http_request.endpoint = endpoint.url
|
34
33
|
apply_endpoint_headers(context, endpoint.headers)
|
34
|
+
|
35
|
+
context[:endpoint_params] = params
|
36
|
+
context[:endpoint_properties] = endpoint.properties
|
35
37
|
end
|
36
38
|
|
37
|
-
context[:endpoint_params] = params
|
38
39
|
context[:auth_scheme] =
|
39
40
|
Aws::Endpoints.resolve_auth_scheme(context, endpoint)
|
40
41
|
|
data/lib/aws-sdk-sts.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: aws-sdk-core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.189.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Amazon Web Services
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-11-
|
11
|
+
date: 2023-11-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: jmespath
|
@@ -56,14 +56,14 @@ dependencies:
|
|
56
56
|
requirements:
|
57
57
|
- - "~>"
|
58
58
|
- !ruby/object:Gem::Version
|
59
|
-
version: '1.
|
59
|
+
version: '1.8'
|
60
60
|
type: :runtime
|
61
61
|
prerelease: false
|
62
62
|
version_requirements: !ruby/object:Gem::Requirement
|
63
63
|
requirements:
|
64
64
|
- - "~>"
|
65
65
|
- !ruby/object:Gem::Version
|
66
|
-
version: '1.
|
66
|
+
version: '1.8'
|
67
67
|
- !ruby/object:Gem::Dependency
|
68
68
|
name: aws-eventstream
|
69
69
|
requirement: !ruby/object:Gem::Requirement
|
@@ -73,7 +73,7 @@ dependencies:
|
|
73
73
|
version: '1'
|
74
74
|
- - ">="
|
75
75
|
- !ruby/object:Gem::Version
|
76
|
-
version: 1.0
|
76
|
+
version: 1.3.0
|
77
77
|
type: :runtime
|
78
78
|
prerelease: false
|
79
79
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -83,7 +83,7 @@ dependencies:
|
|
83
83
|
version: '1'
|
84
84
|
- - ">="
|
85
85
|
- !ruby/object:Gem::Version
|
86
|
-
version: 1.0
|
86
|
+
version: 1.3.0
|
87
87
|
description: Provides API clients for AWS. This gem is part of the official AWS SDK
|
88
88
|
for Ruby.
|
89
89
|
email:
|