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 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: