aws-sdk-core 3.217.0 → 3.222.2
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 +67 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-core/assume_role_credentials.rb +1 -0
- data/lib/aws-sdk-core/assume_role_web_identity_credentials.rb +1 -0
- data/lib/aws-sdk-core/client_stubs.rb +22 -48
- data/lib/aws-sdk-core/credential_provider.rb +4 -0
- data/lib/aws-sdk-core/credential_provider_chain.rb +27 -7
- data/lib/aws-sdk-core/credentials.rb +6 -0
- data/lib/aws-sdk-core/ecs_credentials.rb +1 -0
- data/lib/aws-sdk-core/errors.rb +2 -2
- data/lib/aws-sdk-core/instance_profile_credentials.rb +1 -0
- data/lib/aws-sdk-core/plugins/client_metrics_plugin.rb +0 -1
- data/lib/aws-sdk-core/plugins/sign.rb +16 -2
- data/lib/aws-sdk-core/plugins/stub_responses.rb +24 -8
- data/lib/aws-sdk-core/plugins/user_agent.rb +23 -2
- data/lib/aws-sdk-core/process_credentials.rb +1 -1
- data/lib/aws-sdk-core/rest/request/headers.rb +1 -1
- data/lib/aws-sdk-core/shared_config.rb +71 -21
- data/lib/aws-sdk-core/shared_credentials.rb +1 -0
- data/lib/aws-sdk-core/sso_credentials.rb +2 -0
- data/lib/aws-sdk-sso/client.rb +29 -29
- data/lib/aws-sdk-sso/endpoint_provider.rb +14 -18
- data/lib/aws-sdk-sso.rb +1 -1
- data/lib/aws-sdk-ssooidc/client.rb +42 -31
- data/lib/aws-sdk-ssooidc/client_api.rb +6 -0
- data/lib/aws-sdk-ssooidc/endpoint_provider.rb +14 -18
- data/lib/aws-sdk-ssooidc/types.rb +28 -1
- data/lib/aws-sdk-ssooidc.rb +1 -1
- data/lib/aws-sdk-sts/client.rb +30 -30
- data/lib/aws-sdk-sts/endpoint_provider.rb +33 -38
- data/lib/aws-sdk-sts/errors.rb +16 -0
- data/lib/aws-sdk-sts.rb +1 -1
- data/lib/seahorse/client/async_base.rb +4 -5
- data/lib/seahorse/client/h2/connection.rb +18 -28
- data/lib/seahorse/client/net_http/connection_pool.rb +2 -0
- data/lib/seahorse/client/networking_error.rb +1 -1
- data/lib/seahorse/client/plugins/h2.rb +4 -4
- metadata +36 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f3ac3e91203df90508403c590586d006a456980b925d1f3b45ac39f5ab807ad3
|
4
|
+
data.tar.gz: 5ac691c82cc34033495e1acb648e5fb98362b9f8b814c05ceb154e9533313a4b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a3cf479d00b658644362745e1534b022e8bcc572c672addea625af06c8e30222dfc8c22def2cf506920386592bc96c323ede30f6daba28c04635021dd54fe304
|
7
|
+
data.tar.gz: cf05a4850b23d5a8b713f3cd20a17b1c984f6f094bb6cabcb2006721f8718fe8c3260074e06760b63e1e21f4a1124ee74fd921add8d19acaa5c558abb84dd955
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,73 @@
|
|
1
1
|
Unreleased Changes
|
2
2
|
------------------
|
3
3
|
|
4
|
+
3.222.2 (2025-04-16)
|
5
|
+
------------------
|
6
|
+
|
7
|
+
* Issue - Additional metrics collection for credentials in the User-Agent plugin.
|
8
|
+
|
9
|
+
3.222.1 (2025-03-28)
|
10
|
+
------------------
|
11
|
+
|
12
|
+
* Issue - Allow explicit modeled headers to override prefixed headers for `rest` protocols.
|
13
|
+
|
14
|
+
3.222.0 (2025-03-27)
|
15
|
+
------------------
|
16
|
+
|
17
|
+
* Feature - Updated Aws::SSOOIDC::Client with the latest API changes.
|
18
|
+
|
19
|
+
* Feature - This release adds AwsAdditionalDetails in the CreateTokenWithIAM API response.
|
20
|
+
|
21
|
+
3.221.0 (2025-03-24)
|
22
|
+
------------------
|
23
|
+
|
24
|
+
* Feature - Add `logger` as an explicit dependency for Ruby 3.5.
|
25
|
+
* Issue - Enable ALPN over TLS for H2 Connection by default.
|
26
|
+
* Issue - Fix HTTP-2 connections to properly use config values configured on the client.
|
27
|
+
|
28
|
+
3.220.2 (2025-03-20)
|
29
|
+
------------------
|
30
|
+
|
31
|
+
* Issue - Enable ALPN over TLS for H2 by default.
|
32
|
+
|
33
|
+
3.220.1 (2025-03-06)
|
34
|
+
------------------
|
35
|
+
|
36
|
+
* Issue - Convert stubs at request time.
|
37
|
+
|
38
|
+
3.220.0 (2025-03-04)
|
39
|
+
------------------
|
40
|
+
|
41
|
+
* Feature - Updated Aws::STS::Client with the latest API changes.
|
42
|
+
|
43
|
+
3.219.0 (2025-02-18)
|
44
|
+
------------------
|
45
|
+
|
46
|
+
* Feature - Updated Aws::STS::Client with the latest API changes.
|
47
|
+
|
48
|
+
* Feature - Updated Aws::SSOOIDC::Client with the latest API changes.
|
49
|
+
|
50
|
+
* Feature - Updated Aws::SSO::Client with the latest API changes.
|
51
|
+
|
52
|
+
3.218.1 (2025-02-07)
|
53
|
+
------------------
|
54
|
+
|
55
|
+
* Issue - Add handling of block in ExtendedSession delegation (#3178).
|
56
|
+
|
57
|
+
3.218.0 (2025-02-06)
|
58
|
+
------------------
|
59
|
+
|
60
|
+
* Feature - Updated Aws::STS::Client with the latest API changes.
|
61
|
+
|
62
|
+
* Feature - Updated Aws::SSOOIDC::Client with the latest API changes.
|
63
|
+
|
64
|
+
* Feature - Updated Aws::SSO::Client with the latest API changes.
|
65
|
+
|
66
|
+
3.217.1 (2025-01-30)
|
67
|
+
------------------
|
68
|
+
|
69
|
+
* Issue - Add `transfer-encoding` and `connection` to list of unsigned sigv4 headers.
|
70
|
+
|
4
71
|
3.217.0 (2025-01-24)
|
5
72
|
------------------
|
6
73
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
3.
|
1
|
+
3.222.2
|
@@ -15,27 +15,11 @@ module Aws
|
|
15
15
|
|
16
16
|
# @api private
|
17
17
|
def setup_stubbing
|
18
|
-
@stubs = {}
|
19
|
-
@stub_mutex = Mutex.new
|
20
18
|
if Hash === @config.stub_responses
|
21
19
|
@config.stub_responses.each do |operation_name, stubs|
|
22
20
|
apply_stubs(operation_name, Array === stubs ? stubs : [stubs])
|
23
21
|
end
|
24
22
|
end
|
25
|
-
|
26
|
-
# When a client is stubbed allow the user to access the requests made
|
27
|
-
requests = @api_requests = []
|
28
|
-
requests_mutex = @requests_mutex = Mutex.new
|
29
|
-
self.handle do |context|
|
30
|
-
requests_mutex.synchronize do
|
31
|
-
requests << {
|
32
|
-
operation_name: context.operation_name,
|
33
|
-
params: context.params,
|
34
|
-
context: context
|
35
|
-
}
|
36
|
-
end
|
37
|
-
@handler.call(context)
|
38
|
-
end
|
39
23
|
end
|
40
24
|
|
41
25
|
# Configures what data / errors should be returned from the named operation
|
@@ -175,7 +159,7 @@ module Aws
|
|
175
159
|
# on a client that has not enabled response stubbing via
|
176
160
|
# `:stub_responses => true`.
|
177
161
|
def stub_responses(operation_name, *stubs)
|
178
|
-
if config.stub_responses
|
162
|
+
if @config.stub_responses
|
179
163
|
apply_stubs(operation_name, stubs.flatten)
|
180
164
|
else
|
181
165
|
msg = 'stubbing is not enabled; enable stubbing in the constructor '\
|
@@ -194,12 +178,12 @@ module Aws
|
|
194
178
|
# @raise [NotImplementedError] Raises `NotImplementedError` when the client
|
195
179
|
# is not stubbed.
|
196
180
|
def api_requests(options = {})
|
197
|
-
if config.stub_responses
|
198
|
-
@
|
181
|
+
if @config.stub_responses
|
182
|
+
@config.api_requests_mutex.synchronize do
|
199
183
|
if options[:exclude_presign]
|
200
|
-
@api_requests.reject {|req| req[:context][:presigned_url] }
|
184
|
+
@config.api_requests.reject {|req| req[:context][:presigned_url] }
|
201
185
|
else
|
202
|
-
@api_requests
|
186
|
+
@config.api_requests
|
203
187
|
end
|
204
188
|
end
|
205
189
|
else
|
@@ -228,54 +212,44 @@ module Aws
|
|
228
212
|
# @return [Structure] Returns a stubbed response data structure. The
|
229
213
|
# actual class returned will depend on the given `operation_name`.
|
230
214
|
def stub_data(operation_name, data = {})
|
231
|
-
Stubbing::StubData.new(config.api.operation(operation_name)).stub(data)
|
215
|
+
Stubbing::StubData.new(@config.api.operation(operation_name)).stub(data)
|
232
216
|
end
|
233
217
|
|
234
218
|
# @api private
|
235
219
|
def next_stub(context)
|
236
220
|
operation_name = context.operation_name.to_sym
|
237
|
-
stub = @
|
238
|
-
stubs = @stubs[operation_name] || []
|
221
|
+
stub = @config.stubs_mutex.synchronize do
|
222
|
+
stubs = @config.stubs[operation_name] || []
|
239
223
|
case stubs.length
|
240
|
-
when 0 then
|
224
|
+
when 0 then stub_data(operation_name)
|
241
225
|
when 1 then stubs.first
|
242
226
|
else stubs.shift
|
243
227
|
end
|
244
228
|
end
|
245
|
-
|
229
|
+
stub = convert_stub(operation_name, stub, context)
|
230
|
+
stub[:mutex] = Mutex.new
|
231
|
+
stub
|
246
232
|
end
|
247
233
|
|
248
234
|
private
|
249
235
|
|
250
|
-
def
|
251
|
-
|
252
|
-
|
236
|
+
def apply_stubs(operation_name, stubs)
|
237
|
+
@config.stubs_mutex.synchronize do
|
238
|
+
@config.stubs[operation_name.to_sym] = stubs
|
239
|
+
end
|
253
240
|
end
|
254
241
|
|
255
242
|
# This method converts the given stub data and converts it to a
|
256
243
|
# HTTP response (when possible). This enables the response stubbing
|
257
244
|
# plugin to provide a HTTP response that triggers all normal events
|
258
245
|
# during response handling.
|
259
|
-
def
|
260
|
-
|
261
|
-
|
262
|
-
convert_stub(operation_name, stub)
|
263
|
-
end
|
264
|
-
end
|
265
|
-
end
|
266
|
-
|
267
|
-
def convert_stub(operation_name, stub)
|
268
|
-
stub = case stub
|
269
|
-
when Proc then stub
|
246
|
+
def convert_stub(operation_name, stub, context)
|
247
|
+
case stub
|
248
|
+
when Proc then convert_stub(operation_name, stub.call(context), context)
|
270
249
|
when Exception, Class then { error: stub }
|
271
250
|
when String then service_error_stub(stub)
|
272
|
-
|
273
|
-
else { data: stub }
|
274
|
-
end
|
275
|
-
if Hash === stub
|
276
|
-
stub[:mutex] = Mutex.new
|
251
|
+
else http_response_stub(operation_name, stub)
|
277
252
|
end
|
278
|
-
stub
|
279
253
|
end
|
280
254
|
|
281
255
|
def service_error_stub(error_code)
|
@@ -299,14 +273,14 @@ module Aws
|
|
299
273
|
end
|
300
274
|
|
301
275
|
def data_to_http_resp(operation_name, data)
|
302
|
-
api = config.api
|
276
|
+
api = @config.api
|
303
277
|
operation = api.operation(operation_name)
|
304
278
|
ParamValidator.new(operation.output, input: false).validate!(data)
|
305
279
|
protocol_helper.stub_data(api, operation, data)
|
306
280
|
end
|
307
281
|
|
308
282
|
def protocol_helper
|
309
|
-
case config.api.metadata['protocol']
|
283
|
+
case @config.api.metadata['protocol']
|
310
284
|
when 'json' then Stubbing::Protocols::Json
|
311
285
|
when 'rest-json' then Stubbing::Protocols::RestJson
|
312
286
|
when 'rest-xml' then Stubbing::Protocols::RestXml
|
@@ -42,12 +42,14 @@ module Aws
|
|
42
42
|
|
43
43
|
def static_credentials(options)
|
44
44
|
if options[:config]
|
45
|
-
Credentials.new(
|
45
|
+
creds = Credentials.new(
|
46
46
|
options[:config].access_key_id,
|
47
47
|
options[:config].secret_access_key,
|
48
48
|
options[:config].session_token,
|
49
49
|
account_id: options[:config].account_id
|
50
50
|
)
|
51
|
+
creds.metrics = ['CREDENTIALS_PROFILE']
|
52
|
+
creds
|
51
53
|
end
|
52
54
|
end
|
53
55
|
|
@@ -76,7 +78,9 @@ module Aws
|
|
76
78
|
|
77
79
|
def static_profile_credentials(options)
|
78
80
|
if options[:config] && options[:config].profile
|
79
|
-
SharedCredentials.new(profile_name: options[:config].profile)
|
81
|
+
creds = SharedCredentials.new(profile_name: options[:config].profile)
|
82
|
+
creds.metrics = ['CREDENTIALS_PROFILE']
|
83
|
+
creds
|
80
84
|
end
|
81
85
|
rescue Errors::NoSuchProfileError
|
82
86
|
nil
|
@@ -85,7 +89,11 @@ module Aws
|
|
85
89
|
def static_profile_process_credentials(options)
|
86
90
|
if Aws.shared_config.config_enabled? && options[:config] && options[:config].profile
|
87
91
|
process_provider = Aws.shared_config.credential_process(profile: options[:config].profile)
|
88
|
-
|
92
|
+
if process_provider
|
93
|
+
creds = ProcessCredentials.new([process_provider])
|
94
|
+
creds.metrics << 'CREDENTIALS_PROFILE_PROCESS'
|
95
|
+
creds
|
96
|
+
end
|
89
97
|
end
|
90
98
|
rescue Errors::NoSuchProfileError
|
91
99
|
nil
|
@@ -96,12 +104,14 @@ module Aws
|
|
96
104
|
secret = %w[AWS_SECRET_ACCESS_KEY AMAZON_SECRET_ACCESS_KEY AWS_SECRET_KEY]
|
97
105
|
token = %w[AWS_SESSION_TOKEN AMAZON_SESSION_TOKEN]
|
98
106
|
account_id = %w[AWS_ACCOUNT_ID]
|
99
|
-
Credentials.new(
|
107
|
+
creds = Credentials.new(
|
100
108
|
envar(key),
|
101
109
|
envar(secret),
|
102
110
|
envar(token),
|
103
111
|
account_id: envar(account_id)
|
104
112
|
)
|
113
|
+
creds.metrics = ['CREDENTIALS_ENV_VARS']
|
114
|
+
creds
|
105
115
|
end
|
106
116
|
|
107
117
|
def envar(keys)
|
@@ -117,7 +127,9 @@ module Aws
|
|
117
127
|
|
118
128
|
def shared_credentials(options)
|
119
129
|
profile_name = determine_profile_name(options)
|
120
|
-
SharedCredentials.new(profile_name: profile_name)
|
130
|
+
creds = SharedCredentials.new(profile_name: profile_name)
|
131
|
+
creds.metrics = ['CREDENTIALS_PROFILE']
|
132
|
+
creds
|
121
133
|
rescue Errors::NoSuchProfileError
|
122
134
|
nil
|
123
135
|
end
|
@@ -126,7 +138,11 @@ module Aws
|
|
126
138
|
profile_name = determine_profile_name(options)
|
127
139
|
if Aws.shared_config.config_enabled?
|
128
140
|
process_provider = Aws.shared_config.credential_process(profile: profile_name)
|
129
|
-
|
141
|
+
if process_provider
|
142
|
+
creds = ProcessCredentials.new([process_provider])
|
143
|
+
creds.metrics << 'CREDENTIALS_PROFILE_PROCESS'
|
144
|
+
creds
|
145
|
+
end
|
130
146
|
end
|
131
147
|
rescue Errors::NoSuchProfileError
|
132
148
|
nil
|
@@ -156,7 +172,11 @@ module Aws
|
|
156
172
|
role_session_name: ENV['AWS_ROLE_SESSION_NAME']
|
157
173
|
}
|
158
174
|
cfg[:region] = region if region
|
159
|
-
|
175
|
+
Aws::Plugins::UserAgent.metric('CREDENTIALS_ENV_VARS_STS_WEB_ID_TOKEN') do
|
176
|
+
creds = AssumeRoleWebIdentityCredentials.new(cfg)
|
177
|
+
creds.metrics << 'CREDENTIALS_ENV_VARS_STS_WEB_ID_TOKEN'
|
178
|
+
creds
|
179
|
+
end
|
160
180
|
elsif Aws.shared_config.config_enabled?
|
161
181
|
profile = options[:config].profile if options[:config]
|
162
182
|
Aws.shared_config.assume_role_web_identity_credentials_from_config(
|
@@ -14,6 +14,7 @@ module Aws
|
|
14
14
|
@secret_access_key = secret_access_key
|
15
15
|
@session_token = session_token
|
16
16
|
@account_id = kwargs[:account_id]
|
17
|
+
@metrics = ['CREDENTIALS_CODE']
|
17
18
|
end
|
18
19
|
|
19
20
|
# @return [String]
|
@@ -28,6 +29,11 @@ module Aws
|
|
28
29
|
# @return [String, nil]
|
29
30
|
attr_reader :account_id
|
30
31
|
|
32
|
+
# @api private
|
33
|
+
# Returns the credentials source. Used for tracking credentials
|
34
|
+
# related UserAgent metrics.
|
35
|
+
attr_accessor :metrics
|
36
|
+
|
31
37
|
# @return [Credentials]
|
32
38
|
def credentials
|
33
39
|
self
|
data/lib/aws-sdk-core/errors.rb
CHANGED
@@ -68,7 +68,7 @@ module Aws
|
|
68
68
|
end
|
69
69
|
end
|
70
70
|
|
71
|
-
#
|
71
|
+
# Raised when endpoint discovery failed for operations
|
72
72
|
# that requires endpoints from endpoint discovery
|
73
73
|
class EndpointDiscoveryError < RuntimeError
|
74
74
|
def initialize(*args)
|
@@ -78,7 +78,7 @@ module Aws
|
|
78
78
|
end
|
79
79
|
end
|
80
80
|
|
81
|
-
#
|
81
|
+
# Raised when hostLabel member is not provided
|
82
82
|
# at operation input when endpoint trait is available
|
83
83
|
# with 'hostPrefix' requirement
|
84
84
|
class MissingEndpointHostLabelValue < RuntimeError
|
@@ -180,7 +180,6 @@ all generated client side metrics. Defaults to an empty string.
|
|
180
180
|
complete_opts = {
|
181
181
|
latency: end_time - start_time,
|
182
182
|
attempt_count: context.retries + 1,
|
183
|
-
user_agent: context.http_request.headers["user-agent"],
|
184
183
|
final_error_retryable: final_error_retryable,
|
185
184
|
final_http_status_code: context.http_response.status_code,
|
186
185
|
final_aws_exception: final_aws_exception,
|
@@ -41,6 +41,7 @@ module Aws
|
|
41
41
|
class Handler < Seahorse::Client::Handler
|
42
42
|
def call(context)
|
43
43
|
# Skip signing if using sigv2 signing from s3_signer in S3
|
44
|
+
credentials = nil
|
44
45
|
unless v2_signing?(context.config)
|
45
46
|
signer = Sign.signer_for(
|
46
47
|
context[:auth_scheme],
|
@@ -48,13 +49,20 @@ module Aws
|
|
48
49
|
context[:sigv4_region],
|
49
50
|
context[:sigv4_credentials]
|
50
51
|
)
|
52
|
+
credentials = signer.credentials if signer.is_a?(SignatureV4)
|
51
53
|
signer.sign(context)
|
52
54
|
end
|
53
|
-
@handler.call(context)
|
55
|
+
with_metrics(credentials) { @handler.call(context) }
|
54
56
|
end
|
55
57
|
|
56
58
|
private
|
57
59
|
|
60
|
+
def with_metrics(credentials, &block)
|
61
|
+
return block.call unless credentials&.respond_to?(:metrics)
|
62
|
+
|
63
|
+
Aws::Plugins::UserAgent.metric(*credentials.metrics, &block)
|
64
|
+
end
|
65
|
+
|
58
66
|
def v2_signing?(config)
|
59
67
|
# 's3' is legacy signing, 'v4' is default
|
60
68
|
config.respond_to?(:signature_version) &&
|
@@ -92,6 +100,8 @@ module Aws
|
|
92
100
|
|
93
101
|
# @api private
|
94
102
|
class SignatureV4
|
103
|
+
attr_reader :signer
|
104
|
+
|
95
105
|
def initialize(auth_scheme, config, sigv4_overrides = {})
|
96
106
|
scheme_name = auth_scheme['name']
|
97
107
|
|
@@ -113,7 +123,7 @@ module Aws
|
|
113
123
|
signing_algorithm: scheme_name.to_sym,
|
114
124
|
uri_escape_path: !!!auth_scheme['disableDoubleEncoding'],
|
115
125
|
normalize_path: !!!auth_scheme['disableNormalizePath'],
|
116
|
-
unsigned_headers: %w[content-length user-agent x-amzn-trace-id]
|
126
|
+
unsigned_headers: %w[content-length user-agent x-amzn-trace-id expect transfer-encoding connection]
|
117
127
|
)
|
118
128
|
rescue Aws::Sigv4::Errors::MissingCredentialsError
|
119
129
|
raise Aws::Errors::MissingCredentialsError
|
@@ -155,6 +165,10 @@ module Aws
|
|
155
165
|
@signer.sign_event(*args)
|
156
166
|
end
|
157
167
|
|
168
|
+
def credentials
|
169
|
+
@signer.credentials_provider
|
170
|
+
end
|
171
|
+
|
158
172
|
private
|
159
173
|
|
160
174
|
def apply_authtype(context, req)
|
@@ -29,8 +29,16 @@ requests are made, and retries are disabled.
|
|
29
29
|
end
|
30
30
|
end
|
31
31
|
|
32
|
+
option(:stubs) { {} }
|
33
|
+
option(:stubs_mutex) { Mutex.new }
|
34
|
+
option(:api_requests) { [] }
|
35
|
+
option(:api_requests_mutex) { Mutex.new }
|
36
|
+
|
32
37
|
def add_handlers(handlers, config)
|
33
|
-
|
38
|
+
return unless config.stub_responses
|
39
|
+
|
40
|
+
handlers.add(ApiRequestsHandler)
|
41
|
+
handlers.add(StubbingHandler, step: :send)
|
34
42
|
end
|
35
43
|
|
36
44
|
def after_initialize(client)
|
@@ -46,8 +54,20 @@ requests are made, and retries are disabled.
|
|
46
54
|
end
|
47
55
|
end
|
48
56
|
|
49
|
-
class
|
57
|
+
class ApiRequestsHandler < Seahorse::Client::Handler
|
58
|
+
def call(context)
|
59
|
+
context.config.api_requests_mutex.synchronize do
|
60
|
+
context.config.api_requests << {
|
61
|
+
operation_name: context.operation_name,
|
62
|
+
params: context.params,
|
63
|
+
context: context
|
64
|
+
}
|
65
|
+
end
|
66
|
+
@handler.call(context)
|
67
|
+
end
|
68
|
+
end
|
50
69
|
|
70
|
+
class StubbingHandler < Seahorse::Client::Handler
|
51
71
|
def call(context)
|
52
72
|
span_wrapper(context) do
|
53
73
|
stub_responses(context)
|
@@ -57,14 +77,10 @@ requests are made, and retries are disabled.
|
|
57
77
|
private
|
58
78
|
|
59
79
|
def stub_responses(context)
|
60
|
-
stub = context.client.next_stub(context)
|
61
80
|
resp = Seahorse::Client::Response.new(context: context)
|
62
81
|
async_mode = context.client.is_a? Seahorse::Client::AsyncBase
|
63
|
-
|
64
|
-
|
65
|
-
else
|
66
|
-
apply_stub(stub, resp, async_mode)
|
67
|
-
end
|
82
|
+
stub = context.client.next_stub(context)
|
83
|
+
stub[:mutex].synchronize { apply_stub(stub, resp, async_mode) }
|
68
84
|
|
69
85
|
if async_mode
|
70
86
|
Seahorse::Client::AsyncResponse.new(
|
@@ -34,7 +34,27 @@ module Aws
|
|
34
34
|
"FLEXIBLE_CHECKSUMS_REQ_WHEN_SUPPORTED" : "Z",
|
35
35
|
"FLEXIBLE_CHECKSUMS_REQ_WHEN_REQUIRED" : "a",
|
36
36
|
"FLEXIBLE_CHECKSUMS_RES_WHEN_SUPPORTED" : "b",
|
37
|
-
"FLEXIBLE_CHECKSUMS_RES_WHEN_REQUIRED" : "c"
|
37
|
+
"FLEXIBLE_CHECKSUMS_RES_WHEN_REQUIRED" : "c",
|
38
|
+
"DDB_MAPPER": "d",
|
39
|
+
"CREDENTIALS_CODE" : "e",
|
40
|
+
"CREDENTIALS_ENV_VARS" : "g",
|
41
|
+
"CREDENTIALS_ENV_VARS_STS_WEB_ID_TOKEN" : "h",
|
42
|
+
"CREDENTIALS_STS_ASSUME_ROLE" : "i",
|
43
|
+
"CREDENTIALS_STS_ASSUME_ROLE_WEB_ID" : "k",
|
44
|
+
"CREDENTIALS_PROFILE" : "n",
|
45
|
+
"CREDENTIALS_PROFILE_SOURCE_PROFILE" : "o",
|
46
|
+
"CREDENTIALS_PROFILE_NAMED_PROVIDER" : "p",
|
47
|
+
"CREDENTIALS_PROFILE_STS_WEB_ID_TOKEN" : "q",
|
48
|
+
"CREDENTIALS_PROFILE_SSO" : "r",
|
49
|
+
"CREDENTIALS_SSO" : "s",
|
50
|
+
"CREDENTIALS_PROFILE_SSO_LEGACY" : "t",
|
51
|
+
"CREDENTIALS_SSO_LEGACY" : "u",
|
52
|
+
"CREDENTIALS_PROFILE_PROCESS" : "v",
|
53
|
+
"CREDENTIALS_PROCESS" : "w",
|
54
|
+
"CREDENTIALS_HTTP" : "z",
|
55
|
+
"CREDENTIALS_IMDS" : "0",
|
56
|
+
"SSO_LOGIN_DEVICE" : "1",
|
57
|
+
"SSO_LOGIN_AUTH" : "2"
|
38
58
|
}
|
39
59
|
METRICS
|
40
60
|
|
@@ -196,7 +216,8 @@ variable AWS_SDK_UA_APP_ID or the shared config profile attribute sdk_ua_app_id.
|
|
196
216
|
end
|
197
217
|
end
|
198
218
|
|
199
|
-
|
219
|
+
# Priority set to 5 in order to add user agent as late as possible after signing
|
220
|
+
handler(Handler, step: :sign, priority: 5)
|
200
221
|
end
|
201
222
|
end
|
202
223
|
end
|