aws-sdk-core 3.222.1 → 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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 60d14e86ef70bbaf2d67ef1e0b4eae11af4deb68b18bdab4137666397fb21baa
4
- data.tar.gz: 7a03b144af8e9ce4ebc7c91b4be1f6a582e5b5905b6a2b57a3574e85430268a2
3
+ metadata.gz: f3ac3e91203df90508403c590586d006a456980b925d1f3b45ac39f5ab807ad3
4
+ data.tar.gz: 5ac691c82cc34033495e1acb648e5fb98362b9f8b814c05ceb154e9533313a4b
5
5
  SHA512:
6
- metadata.gz: 34361a1c8fb1e2b92b19f50ef29c9ffd5ab4cd067032a0412ff352c660ea24f97fe92a635038e91dc16eacf05647af6884120154ab0ead29442f8bc5f52b2c9c
7
- data.tar.gz: 65a11e4900fda955ec95162dbbba0dc0ef29f4007d2067f5351f6da992ef8e7636735e696d175fb6187352a681713390bd4f37ea7182f4ceda61da7f785240b9
6
+ metadata.gz: a3cf479d00b658644362745e1534b022e8bcc572c672addea625af06c8e30222dfc8c22def2cf506920386592bc96c323ede30f6daba28c04635021dd54fe304
7
+ data.tar.gz: cf05a4850b23d5a8b713f3cd20a17b1c984f6f094bb6cabcb2006721f8718fe8c3260074e06760b63e1e21f4a1124ee74fd921add8d19acaa5c558abb84dd955
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
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
+
4
9
  3.222.1 (2025-03-28)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 3.222.1
1
+ 3.222.2
@@ -50,6 +50,7 @@ module Aws
50
50
  end
51
51
  @client = client_opts[:client] || STS::Client.new(client_opts)
52
52
  @async_refresh = true
53
+ @metrics = ['CREDENTIALS_STS_ASSUME_ROLE']
53
54
  super
54
55
  end
55
56
 
@@ -61,6 +61,7 @@ module Aws
61
61
  @assume_role_web_identity_params[:role_session_name] = _session_name
62
62
  end
63
63
  @client = client_opts[:client] || STS::Client.new(client_opts.merge(credentials: nil))
64
+ @metrics = ['CREDENTIALS_STS_ASSUME_ROLE_WEB_ID']
64
65
  super
65
66
  end
66
67
 
@@ -9,6 +9,10 @@ module Aws
9
9
  # @return [Time]
10
10
  attr_reader :expiration
11
11
 
12
+ # @api private
13
+ # Returns UserAgent metrics for credentials.
14
+ attr_accessor :metrics
15
+
12
16
  # @return [Boolean]
13
17
  def set?
14
18
  !!@credentials && @credentials.set?
@@ -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
- ProcessCredentials.new([process_provider]) if process_provider
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
- ProcessCredentials.new([process_provider]) if process_provider
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
- AssumeRoleWebIdentityCredentials.new(cfg)
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
@@ -77,6 +77,7 @@ module Aws
77
77
  @http_debug_output = options[:http_debug_output]
78
78
  @backoff = backoff(options[:backoff])
79
79
  @async_refresh = false
80
+ @metrics = ['CREDENTIALS_HTTP']
80
81
  super
81
82
  end
82
83
 
@@ -68,7 +68,7 @@ module Aws
68
68
  end
69
69
  end
70
70
 
71
- # Rasied when endpoint discovery failed for operations
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
- # raised when hostLabel member is not provided
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
@@ -90,6 +90,7 @@ module Aws
90
90
  @token = nil
91
91
  @no_refresh_until = nil
92
92
  @async_refresh = false
93
+ @metrics = ['CREDENTIALS_IMDS']
93
94
  super
94
95
  end
95
96
 
@@ -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
 
@@ -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)
@@ -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
- handler(Handler, step: :sign, priority: 97)
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
@@ -36,7 +36,7 @@ module Aws
36
36
  @process = process
37
37
  @credentials = credentials_from_process
38
38
  @async_refresh = false
39
-
39
+ @metrics = ['CREDENTIALS_PROCESS']
40
40
  super
41
41
  end
42
42
 
@@ -138,7 +138,11 @@ module Aws
138
138
  role_session_name: entry['role_session_name']
139
139
  }
140
140
  cfg[:region] = opts[:region] if opts[:region]
141
- AssumeRoleWebIdentityCredentials.new(cfg)
141
+ with_metrics('CREDENTIALS_PROFILE_STS_WEB_ID_TOKEN') do
142
+ creds = AssumeRoleWebIdentityCredentials.new(cfg)
143
+ creds.metrics << 'CREDENTIALS_PROFILE_STS_WEB_ID_TOKEN'
144
+ creds
145
+ end
142
146
  end
143
147
  end
144
148
  end
@@ -255,8 +259,8 @@ module Aws
255
259
  'provide only source_profile or credential_source, not both.'
256
260
  elsif opts[:source_profile]
257
261
  opts[:visited_profiles] ||= Set.new
258
- opts[:credentials] = resolve_source_profile(opts[:source_profile], opts)
259
- if opts[:credentials]
262
+ provider = resolve_source_profile(opts[:source_profile], opts)
263
+ if provider && (opts[:credentials] = provider.credentials)
260
264
  opts[:role_session_name] ||= prof_cfg['role_session_name']
261
265
  opts[:role_session_name] ||= 'default_session'
262
266
  opts[:role_arn] ||= prof_cfg['role_arn']
@@ -265,17 +269,28 @@ module Aws
265
269
  opts[:serial_number] ||= prof_cfg['mfa_serial']
266
270
  opts[:profile] = opts.delete(:source_profile)
267
271
  opts.delete(:visited_profiles)
268
- AssumeRoleCredentials.new(opts)
272
+
273
+ metrics = provider.metrics
274
+ if provider.is_a?(AssumeRoleCredentials)
275
+ opts[:credentials] = provider
276
+ metrics.delete('CREDENTIALS_STS_ASSUME_ROLE')
277
+ else
278
+ metrics << 'CREDENTIALS_PROFILE_SOURCE_PROFILE'
279
+ end
280
+ # Set the original credentials metrics to [] to prevent duplicate metrics during sign plugin
281
+ opts[:credentials].metrics = []
282
+ with_metrics(metrics) do
283
+ creds = AssumeRoleCredentials.new(opts)
284
+ creds.metrics.push(*metrics)
285
+ creds
286
+ end
269
287
  else
270
288
  raise Errors::NoSourceProfileError,
271
289
  "Profile #{profile} has a role_arn, and source_profile, but the"\
272
290
  ' source_profile does not have credentials.'
273
291
  end
274
292
  elsif credential_source
275
- opts[:credentials] = credentials_from_source(
276
- credential_source,
277
- chain_config
278
- )
293
+ opts[:credentials] = credentials_from_source(credential_source, chain_config)
279
294
  if opts[:credentials]
280
295
  opts[:role_session_name] ||= prof_cfg['role_session_name']
281
296
  opts[:role_session_name] ||= 'default_session'
@@ -284,7 +299,16 @@ module Aws
284
299
  opts[:external_id] ||= prof_cfg['external_id']
285
300
  opts[:serial_number] ||= prof_cfg['mfa_serial']
286
301
  opts.delete(:source_profile) # Cleanup
287
- AssumeRoleCredentials.new(opts)
302
+
303
+ metrics = opts[:credentials].metrics
304
+ metrics << 'CREDENTIALS_PROFILE_NAMED_PROVIDER'
305
+ # Set the original credentials metrics to [] to prevent duplicate metrics during sign plugin
306
+ opts[:credentials].metrics = []
307
+ with_metrics(metrics) do
308
+ creds = AssumeRoleCredentials.new(opts)
309
+ creds.metrics.push(*metrics)
310
+ creds
311
+ end
288
312
  else
289
313
  raise Errors::NoSourceCredentials,
290
314
  "Profile #{profile} could not get source credentials from"\
@@ -312,12 +336,24 @@ module Aws
312
336
  elsif profile_config && profile_config['source_profile']
313
337
  opts.delete(:source_profile)
314
338
  assume_role_credentials_from_config(opts.merge(profile: profile))
315
- elsif (provider = assume_role_web_identity_credentials_from_config(opts.merge(profile: profile)))
316
- provider.credentials if provider.credentials.set?
339
+ elsif (provider = assume_role_web_identity_credentials_from_config_with_metrics(opts.merge(profile: profile)))
340
+ provider if provider.credentials.set?
317
341
  elsif (provider = assume_role_process_credentials_from_config(profile))
318
- provider.credentials if provider.credentials.set?
319
- elsif (provider = sso_credentials_from_config(profile: profile))
320
- provider.credentials if provider.credentials.set?
342
+ provider if provider.credentials.set?
343
+ elsif (provider = sso_credentials_from_config_with_metrics(profile))
344
+ provider if provider.credentials.set?
345
+ end
346
+ end
347
+
348
+ def assume_role_web_identity_credentials_from_config_with_metrics(opts)
349
+ with_metrics('CREDENTIALS_PROFILE_SOURCE_PROFILE') do
350
+ assume_role_web_identity_credentials_from_config(opts)
351
+ end
352
+ end
353
+
354
+ def sso_credentials_from_config_with_metrics(profile)
355
+ with_metrics('CREDENTIALS_PROFILE_SOURCE_PROFILE') do
356
+ sso_credentials_from_config(profile: profile)
321
357
  end
322
358
  end
323
359
 
@@ -342,7 +378,11 @@ module Aws
342
378
  if @parsed_config
343
379
  credential_process ||= @parsed_config.fetch(profile, {})['credential_process']
344
380
  end
345
- ProcessCredentials.new([credential_process]) if credential_process
381
+ if credential_process
382
+ creds = ProcessCredentials.new([credential_process])
383
+ creds.metrics << 'CREDENTIALS_PROFILE_PROCESS'
384
+ creds
385
+ end
346
386
  end
347
387
 
348
388
  def credentials_from_shared(profile, _opts)
@@ -386,13 +426,18 @@ module Aws
386
426
  sso_start_url = prof_config['sso_start_url']
387
427
  end
388
428
 
389
- SSOCredentials.new(
390
- sso_account_id: prof_config['sso_account_id'],
391
- sso_role_name: prof_config['sso_role_name'],
392
- sso_session: prof_config['sso_session'],
393
- sso_region: sso_region,
394
- sso_start_url: sso_start_url
429
+ metric = prof_config['sso_session'] ? 'CREDENTIALS_PROFILE_SSO' : 'CREDENTIALS_PROFILE_SSO_LEGACY'
430
+ with_metrics(metric) do
431
+ creds = SSOCredentials.new(
432
+ sso_account_id: prof_config['sso_account_id'],
433
+ sso_role_name: prof_config['sso_role_name'],
434
+ sso_session: prof_config['sso_session'],
435
+ sso_region: sso_region,
436
+ sso_start_url: sso_start_url
395
437
  )
438
+ creds.metrics << metric
439
+ creds
440
+ end
396
441
  end
397
442
  end
398
443
 
@@ -420,6 +465,7 @@ module Aws
420
465
  prof_config['aws_session_token'],
421
466
  account_id: prof_config['aws_account_id']
422
467
  )
468
+ creds.metrics = ['CREDENTIALS_PROFILE']
423
469
  creds if creds.set?
424
470
  end
425
471
 
@@ -480,5 +526,9 @@ module Aws
480
526
 
481
527
  sso_session
482
528
  end
529
+
530
+ def with_metrics(metrics, &block)
531
+ Aws::Plugins::UserAgent.metric(*metrics, &block)
532
+ end
483
533
  end
484
534
  end
@@ -40,6 +40,7 @@ module Aws
40
40
  )
41
41
  @credentials = config.credentials(profile: @profile_name)
42
42
  end
43
+ @metrics = ['CREDENTIALS_CODE']
43
44
  end
44
45
 
45
46
  # @return [String]
@@ -91,6 +91,7 @@ module Aws
91
91
  client_opts[:credentials] = nil
92
92
  @client = Aws::SSO::Client.new(client_opts)
93
93
  end
94
+ @metrics = ['CREDENTIALS_SSO']
94
95
  else # legacy behavior
95
96
  missing_keys = LEGACY_REQUIRED_OPTS.select { |k| options[k].nil? }
96
97
  unless missing_keys.empty?
@@ -111,6 +112,7 @@ module Aws
111
112
  client_opts[:credentials] = nil
112
113
 
113
114
  @client = options[:client] || Aws::SSO::Client.new(client_opts)
115
+ @metrics = ['CREDENTIALS_SSO_LEGACY']
114
116
  end
115
117
 
116
118
  @async_refresh = true
@@ -692,7 +692,7 @@ module Aws::SSO
692
692
  tracer: tracer
693
693
  )
694
694
  context[:gem_name] = 'aws-sdk-core'
695
- context[:gem_version] = '3.222.1'
695
+ context[:gem_version] = '3.222.2'
696
696
  Seahorse::Client::Request.new(handlers, context)
697
697
  end
698
698
 
data/lib/aws-sdk-sso.rb CHANGED
@@ -56,7 +56,7 @@ module Aws::SSO
56
56
  autoload :EndpointProvider, 'aws-sdk-sso/endpoint_provider'
57
57
  autoload :Endpoints, 'aws-sdk-sso/endpoints'
58
58
 
59
- GEM_VERSION = '3.222.1'
59
+ GEM_VERSION = '3.222.2'
60
60
 
61
61
  end
62
62
 
@@ -1062,7 +1062,7 @@ module Aws::SSOOIDC
1062
1062
  tracer: tracer
1063
1063
  )
1064
1064
  context[:gem_name] = 'aws-sdk-core'
1065
- context[:gem_version] = '3.222.1'
1065
+ context[:gem_version] = '3.222.2'
1066
1066
  Seahorse::Client::Request.new(handlers, context)
1067
1067
  end
1068
1068
 
@@ -56,7 +56,7 @@ module Aws::SSOOIDC
56
56
  autoload :EndpointProvider, 'aws-sdk-ssooidc/endpoint_provider'
57
57
  autoload :Endpoints, 'aws-sdk-ssooidc/endpoints'
58
58
 
59
- GEM_VERSION = '3.222.1'
59
+ GEM_VERSION = '3.222.2'
60
60
 
61
61
  end
62
62
 
@@ -2595,7 +2595,7 @@ module Aws::STS
2595
2595
  tracer: tracer
2596
2596
  )
2597
2597
  context[:gem_name] = 'aws-sdk-core'
2598
- context[:gem_version] = '3.222.1'
2598
+ context[:gem_version] = '3.222.2'
2599
2599
  Seahorse::Client::Request.new(handlers, context)
2600
2600
  end
2601
2601
 
data/lib/aws-sdk-sts.rb CHANGED
@@ -56,7 +56,7 @@ module Aws::STS
56
56
  autoload :EndpointProvider, 'aws-sdk-sts/endpoint_provider'
57
57
  autoload :Endpoints, 'aws-sdk-sts/endpoints'
58
58
 
59
- GEM_VERSION = '3.222.1'
59
+ GEM_VERSION = '3.222.2'
60
60
 
61
61
  end
62
62
 
@@ -39,7 +39,7 @@ module Seahorse
39
39
 
40
40
  end
41
41
 
42
- # Rasied when trying to use an closed connection
42
+ # Raised when trying to use an closed connection
43
43
  class Http2ConnectionClosedError < StandardError; end
44
44
  end
45
45
  end
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.222.1
4
+ version: 3.222.2
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: 2025-03-28 00:00:00.000000000 Z
11
+ date: 2025-04-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-eventstream