aws-sdk-core 3.114.3 → 3.115.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: a2a923ececa57310eb125e17602c198dd858b3960e1a337d330eb1227aff96d0
4
- data.tar.gz: f3d256f8d55d40e00e1647946eae2df2d6380de20f874e219015ae47de6af456
3
+ metadata.gz: c51427ddefb35e2594f5b19314371162a9ef641ee2347f2c569135f25c5e164e
4
+ data.tar.gz: ace6b55f07d11168cf425716aefcac7751ca6b1b7d30ccfc3a9a6f409055ab72
5
5
  SHA512:
6
- metadata.gz: 8d1be434b0538cc3608d27bda7e1be4a5f4ae43dc12dc81c66edf577cd5221351b8053996008a413bef6f81cf1a6cf7f68f11292c2c5308addd6fb2c993b2d3a
7
- data.tar.gz: 6acdb965572b57ca443761b9d23c34f662d7ad391345c65a534d3409f5caaa427b3dc929774e8c0393eb21ee0829d92b8d7adf039b8e928a069441e2ee7f1c3c
6
+ metadata.gz: 362d882a36335ccbf9567673cf9c433484bdc7c7da626800e7b2cf3429662ffe2b05cdf4ba3f3a5a91cdc1122c48fe6bb1348f21937c878ac1f1a46dbedd7110
7
+ data.tar.gz: 754a0a0d8320723ac59aaa084cd3aee95dba74d844764bcee42a6163566aacdbde8a06793aae2e94e9f191e15849e36575f3ee27f4d0901cec4a1ee29534f40b
data/CHANGELOG.md CHANGED
@@ -1,6 +1,12 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 3.115.0 (2021-06-23)
5
+ ------------------
6
+
7
+ * Feature - Add support for Assume Role Chaining in profiles. (#2531)
8
+ * Issue - Fixed an issue with `Seahorse::Client::H2::Connection` for non-https endpoints. (#2542)
9
+
4
10
  3.114.3 (2021-06-15)
5
11
  ------------------
6
12
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 3.114.3
1
+ 3.115.0
@@ -210,6 +210,10 @@ module Aws
210
210
  # Raised when SSO Credentials are invalid
211
211
  class InvalidSSOCredentials < RuntimeError; end
212
212
 
213
+ # Raised when there is a circular reference in chained
214
+ # source_profiles
215
+ class SourceProfileCircularReferenceError < RuntimeError; end
216
+
213
217
  # Raised when a client is constructed and region is not specified.
214
218
  class MissingRegionError < ArgumentError
215
219
  def initialize(*args)
@@ -205,6 +205,7 @@ module Aws
205
205
  'a credential_source. For assume role credentials, must '\
206
206
  'provide only source_profile or credential_source, not both.'
207
207
  elsif opts[:source_profile]
208
+ opts[:visited_profiles] ||= Set.new
208
209
  opts[:credentials] = resolve_source_profile(opts[:source_profile], opts)
209
210
  if opts[:credentials]
210
211
  opts[:role_session_name] ||= prof_cfg['role_session_name']
@@ -214,6 +215,7 @@ module Aws
214
215
  opts[:external_id] ||= prof_cfg['external_id']
215
216
  opts[:serial_number] ||= prof_cfg['mfa_serial']
216
217
  opts[:profile] = opts.delete(:source_profile)
218
+ opts.delete(:visited_profiles)
217
219
  AssumeRoleCredentials.new(opts)
218
220
  else
219
221
  raise Errors::NoSourceProfileError,
@@ -246,8 +248,21 @@ module Aws
246
248
  end
247
249
 
248
250
  def resolve_source_profile(profile, opts = {})
251
+ if opts[:visited_profiles] && opts[:visited_profiles].include?(profile)
252
+ raise Errors::SourceProfileCircularReferenceError
253
+ end
254
+ opts[:visited_profiles].add(profile) if opts[:visited_profiles]
255
+
256
+ profile_config = @parsed_credentials[profile]
257
+ if @config_enabled
258
+ profile_config ||= @parsed_config[profile]
259
+ end
260
+
249
261
  if (creds = credentials(profile: profile))
250
262
  creds # static credentials
263
+ elsif profile_config && profile_config['source_profile']
264
+ opts.delete(:source_profile)
265
+ assume_role_credentials_from_config(opts.merge(profile: profile))
251
266
  elsif (provider = assume_role_web_identity_credentials_from_config(opts.merge(profile: profile)))
252
267
  provider.credentials if provider.credentials.set?
253
268
  elsif (provider = assume_role_process_credentials_from_config(profile))
@@ -274,7 +289,10 @@ module Aws
274
289
 
275
290
  def assume_role_process_credentials_from_config(profile)
276
291
  validate_profile_exists(profile)
277
- credential_process = @parsed_config[profile]['credential_process']
292
+ credential_process = @parsed_credentials.fetch(profile, {})['credential_process']
293
+ if @parsed_config
294
+ credential_process ||= @parsed_config.fetch(profile, {})['credential_process']
295
+ end
278
296
  ProcessCredentials.new(credential_process) if credential_process
279
297
  end
280
298
 
data/lib/aws-sdk-sso.rb CHANGED
@@ -50,6 +50,6 @@ require_relative 'aws-sdk-sso/customizations'
50
50
  # @!group service
51
51
  module Aws::SSO
52
52
 
53
- GEM_VERSION = '3.114.3'
53
+ GEM_VERSION = '3.115.0'
54
54
 
55
55
  end
@@ -523,7 +523,7 @@ module Aws::SSO
523
523
  params: params,
524
524
  config: config)
525
525
  context[:gem_name] = 'aws-sdk-core'
526
- context[:gem_version] = '3.114.3'
526
+ context[:gem_version] = '3.115.0'
527
527
  Seahorse::Client::Request.new(handlers, context)
528
528
  end
529
529
 
data/lib/aws-sdk-sts.rb CHANGED
@@ -50,6 +50,6 @@ require_relative 'aws-sdk-sts/customizations'
50
50
  # @!group service
51
51
  module Aws::STS
52
52
 
53
- GEM_VERSION = '3.114.3'
53
+ GEM_VERSION = '3.115.0'
54
54
 
55
55
  end
@@ -2281,7 +2281,7 @@ module Aws::STS
2281
2281
  params: params,
2282
2282
  config: config)
2283
2283
  context[:gem_name] = 'aws-sdk-core'
2284
- context[:gem_version] = '3.114.3'
2284
+ context[:gem_version] = '3.115.0'
2285
2285
  Seahorse::Client::Request.new(handlers, context)
2286
2286
  end
2287
2287
 
@@ -80,13 +80,18 @@ module Seahorse
80
80
  _nonblocking_connect(tcp, addr)
81
81
  debug_output('opened')
82
82
 
83
- @socket = OpenSSL::SSL::SSLSocket.new(tcp, _tls_context)
84
- @socket.sync_close = true
85
- @socket.hostname = endpoint.host
83
+ if endpoint.scheme == 'https'
84
+ @socket = OpenSSL::SSL::SSLSocket.new(tcp, _tls_context)
85
+ @socket.sync_close = true
86
+ @socket.hostname = endpoint.host
87
+
88
+ debug_output("starting TLS for #{endpoint.host}:#{endpoint.port} ...")
89
+ @socket.connect
90
+ debug_output('TLS established')
91
+ else
92
+ @socket = tcp
93
+ end
86
94
 
87
- debug_output("starting TLS for #{endpoint.host}:#{endpoint.port} ...")
88
- @socket.connect
89
- debug_output('TLS established')
90
95
  _register_h2_callbacks
91
96
  @status = :active
92
97
  elsif @status == :closed
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.114.3
4
+ version: 3.115.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: 2021-06-15 00:00:00.000000000 Z
11
+ date: 2021-06-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jmespath