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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 116ce287a47541305621ccf38cc1e53f756812b453ad271432f09b149e0a6a1e
4
- data.tar.gz: dead4ace5e8003c81b726f8d33e4d9a87ef67d4ee05f9db0a1b597a0e08efeed
3
+ metadata.gz: 5d31e3056417287225e7e768fcc5e0b74e8529240ca9a35072a235950b325353
4
+ data.tar.gz: 986ab2973fd413c2928beab42e5811e9ae6b190e4dd27b1747cf0852b3ae1a5d
5
5
  SHA512:
6
- metadata.gz: 5c8e05a07f49a55341bd54cfc39da5383de63172059a51167f26d6410d94f2a2dc6b5afa184efcbd565606e82a4706804d80c7da19ee3a6e32023e743cd24651
7
- data.tar.gz: 8e2b3599e93a1fbaa7e1db5509b76a522a0eed215b6823d92cd90575829ace8f0d647e7c936d37ce067a9a25c105761d866fb34239e426240193802aa7d28658
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.188.0
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, region_override = nil)
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
- SignatureV4.new(auth_scheme, config, region_override)
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, region_override = nil)
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 sigv4a auth scheme, got #{scheme_name}"
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: region_override || config.sigv4_region || 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?(SYNC_EXPIRATION_LENGTH)
65
+ if near_expiration?(sync_expiration_length)
60
66
  @mutex.synchronize do
61
- if near_expiration?(SYNC_EXPIRATION_LENGTH)
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?(ASYNC_EXPIRATION_LENGTH)
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?(ASYNC_EXPIRATION_LENGTH)
76
+ if near_expiration?(async_expiration_length)
71
77
  @before_refresh.call(self) if @before_refresh
72
78
  refresh
73
79
  end
@@ -218,6 +218,7 @@ module Aws
218
218
  :s3_use_arn_region,
219
219
  :s3_us_east_1_regional_endpoint,
220
220
  :s3_disable_multiregion_access_points,
221
+ :s3_disable_express_session_auth,
221
222
  :defaults_mode,
222
223
  :sdk_ua_app_id,
223
224
  :disable_request_compression,
@@ -605,7 +605,7 @@ module Aws::SSO
605
605
  params: params,
606
606
  config: config)
607
607
  context[:gem_name] = 'aws-sdk-core'
608
- context[:gem_version] = '3.188.0'
608
+ context[:gem_version] = '3.189.0'
609
609
  Seahorse::Client::Request.new(handlers, context)
610
610
  end
611
611
 
@@ -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
@@ -54,6 +54,6 @@ require_relative 'aws-sdk-sso/customizations'
54
54
  # @!group service
55
55
  module Aws::SSO
56
56
 
57
- GEM_VERSION = '3.188.0'
57
+ GEM_VERSION = '3.189.0'
58
58
 
59
59
  end
@@ -910,7 +910,7 @@ module Aws::SSOOIDC
910
910
  params: params,
911
911
  config: config)
912
912
  context[:gem_name] = 'aws-sdk-core'
913
- context[:gem_version] = '3.188.0'
913
+ context[:gem_version] = '3.189.0'
914
914
  Seahorse::Client::Request.new(handlers, context)
915
915
  end
916
916
 
@@ -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
 
@@ -54,6 +54,6 @@ require_relative 'aws-sdk-ssooidc/customizations'
54
54
  # @!group service
55
55
  module Aws::SSOOIDC
56
56
 
57
- GEM_VERSION = '3.188.0'
57
+ GEM_VERSION = '3.189.0'
58
58
 
59
59
  end
@@ -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.188.0'
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
@@ -54,6 +54,6 @@ require_relative 'aws-sdk-sts/customizations'
54
54
  # @!group service
55
55
  module Aws::STS
56
56
 
57
- GEM_VERSION = '3.188.0'
57
+ GEM_VERSION = '3.189.0'
58
58
 
59
59
  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.188.0
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-22 00:00:00.000000000 Z
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.5'
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.5'
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.2
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.2
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: