aws-sdk-core 3.114.3 → 3.115.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: 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