aws-sdk-core 3.188.0 → 3.189.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 +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:
|