aws-sdk-core 3.121.5 → 3.123.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: 0b5bb4cda445702b95455d7dbc44a112e3c16a1126a28e85fea333ec5c77c172
4
- data.tar.gz: 1846a0a908996c79f4ff83c927c5050b220621dce5b5a1b1711326ce2241fbef
3
+ metadata.gz: 361f40271ca2518c380ab89eaaab1922d017b3c8a6d35b0492d92e234730b9d4
4
+ data.tar.gz: 1cc223ef8460881b2d94da8e1f10b4226fbab5419e91ac6c712ab701b0e62a4b
5
5
  SHA512:
6
- metadata.gz: b0504f7da8b17697b4e5113726a1e210a3f5b68e3f939db3aee0cf44cb14bdf611714180e406d679ea46fdce971c931e53ac874f4ecb40cd7b1031b077b88ae0
7
- data.tar.gz: 9d5d48918e4b6cfdb29ca34d0f2513554b3bf02e4789151f9a43545b2f7fa40870dbe446fc8e906333d0fac95197da8cd015f1d508db4b36093462461bfab210
6
+ metadata.gz: 2696936a66a24fc8d5094d5787b0039e974d7a23ba7218d571bda19f090bc836344987121c8ab0d2fca91c7b9b84398a2715674eac9dbb1d6b8fc286ae9e494a
7
+ data.tar.gz: da67f89367288d43599d1f5b84bfe6a28c3d50da43d7afad5b6f8490744dacda575bd247a2f1642e2be6d6d32bda977e178ab6bf9a5d5dcb9a6ed25c348c53b9
data/CHANGELOG.md CHANGED
@@ -1,6 +1,34 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 3.123.0 (2021-11-23)
5
+ ------------------
6
+
7
+ * Feature - Updated Aws::STS::Client with the latest API changes.
8
+
9
+ 3.122.1 (2021-11-09)
10
+ ------------------
11
+
12
+ * Issue - Correctly serialize/deserialize header lists.
13
+
14
+ 3.122.0 (2021-11-04)
15
+ ------------------
16
+
17
+ * Feature - Updated Aws::STS::Client with the latest API changes.
18
+
19
+ * Feature - Updated Aws::SSO::Client with the latest API changes.
20
+
21
+ * Issue - Fix parsing of ISO8601 timestamps with millisecond precision in headers.
22
+
23
+ * Feature - Support modeled dualstack endpoints. It can be configured with shared configuration (`use_dualstack_endpoint`), an ENV variable (`AWS_USE_DUALSTACK_ENDPOINT`), and a constructor option (`:use_dualstack_endpoint`). Requests made to services without a dualstack endpoint will fail.
24
+
25
+ * Feature - Support modeled fips endpoints. It can be configured with shared configuration (`use_fips_endpoint`), an ENV variable (`AWS_USE_FIPS_ENDPOINT`), and a constructor option (`:use_fips_endpoint`). Requests made to services without a fips endpoint will fail.
26
+
27
+ 3.121.6 (2021-11-02)
28
+ ------------------
29
+
30
+ * Issue - Improve `SSOCredentials` error handling when profile file does not exist (#2605)
31
+
4
32
  3.121.5 (2021-10-29)
5
33
  ------------------
6
34
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 3.121.5
1
+ 3.123.0
@@ -24,6 +24,25 @@ a default `:region` is searched for in the following locations:
24
24
  resolve_region(cfg)
25
25
  end
26
26
 
27
+ option(:use_dualstack_endpoint,
28
+ doc_type: 'Boolean',
29
+ docstring: <<-DOCS) do |cfg|
30
+ When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
31
+ will be used if available.
32
+ DOCS
33
+ resolve_use_dualstack_endpoint(cfg)
34
+ end
35
+
36
+ option(:use_fips_endpoint,
37
+ doc_type: 'Boolean',
38
+ docstring: <<-DOCS) do |cfg|
39
+ When set to `true`, fips compatible endpoints will be used if available.
40
+ When a `fips` region is used, the region is normalized and this config
41
+ is set to `true`.
42
+ DOCS
43
+ resolve_use_fips_endpoint(cfg)
44
+ end
45
+
27
46
  option(:regional_endpoint, false)
28
47
 
29
48
  option(:endpoint, doc_type: String, docstring: <<-DOCS) do |cfg|
@@ -42,10 +61,23 @@ to test or custom endpoints. This should be a valid HTTP(S) URI.
42
61
  raise Errors::InvalidRegionError
43
62
  end
44
63
 
64
+ region = cfg.region
65
+ new_region = region.gsub('fips-', '').gsub('-fips', '')
66
+ if region != new_region
67
+ warn("Legacy region #{region} was transformed to #{new_region}."\
68
+ '`use_fips_endpoint` config was set to true.')
69
+ cfg.override_config(:use_fips_endpoint, true)
70
+ cfg.override_config(:region, new_region)
71
+ end
72
+
45
73
  Aws::Partitions::EndpointProvider.resolve(
46
74
  cfg.region,
47
75
  endpoint_prefix,
48
- sts_regional
76
+ sts_regional,
77
+ {
78
+ dualstack: cfg.use_dualstack_endpoint,
79
+ fips: cfg.use_fips_endpoint
80
+ }
49
81
  )
50
82
  end
51
83
  end
@@ -66,6 +98,20 @@ to test or custom endpoints. This should be a valid HTTP(S) URI.
66
98
  cfg_region = Aws.shared_config.region(profile: cfg.profile)
67
99
  env_region || cfg_region
68
100
  end
101
+
102
+ def resolve_use_dualstack_endpoint(cfg)
103
+ value = ENV['AWS_USE_DUALSTACK_ENDPOINT']
104
+ value ||= Aws.shared_config.use_dualstack_endpoint(
105
+ profile: cfg.profile
106
+ )
107
+ Aws::Util.str_2_bool(value) || false
108
+ end
109
+
110
+ def resolve_use_fips_endpoint(cfg)
111
+ value = ENV['AWS_USE_FIPS_ENDPOINT']
112
+ value ||= Aws.shared_config.use_fips_endpoint(profile: cfg.profile)
113
+ Aws::Util.str_2_bool(value) || false
114
+ end
69
115
  end
70
116
  end
71
117
  end
@@ -35,6 +35,7 @@ module Aws
35
35
  headers[ref.location_name] =
36
36
  case ref.shape
37
37
  when TimestampShape then timestamp(ref, value)
38
+ when ListShape then list(ref, value)
38
39
  else value.to_s
39
40
  end
40
41
  end
@@ -49,6 +50,10 @@ module Aws
49
50
  end
50
51
  end
51
52
 
53
+ def list(_ref, value)
54
+ value.compact.join(",")
55
+ end
56
+
52
57
  def apply_header_map(headers, ref, values)
53
58
  prefix = ref.location_name || ''
54
59
  values.each_pair do |name, value|
@@ -57,7 +62,7 @@ module Aws
57
62
  end
58
63
 
59
64
  # With complex headers value in json syntax,
60
- # base64 encodes value to aviod weird characters
65
+ # base64 encodes value to avoid weird characters
61
66
  # causing potential issues in headers
62
67
  def apply_json_trait(value)
63
68
  Base64.strict_encode64(value)
@@ -40,8 +40,10 @@ module Aws
40
40
  when IntegerShape then value.to_i
41
41
  when FloatShape then value.to_f
42
42
  when BooleanShape then value == 'true'
43
+ when ListShape then
44
+ value.split(",").map { |v| cast_value(ref.shape.member, v) }
43
45
  when TimestampShape
44
- if value =~ /\d+(\.\d*)/
46
+ if value =~ /^\d+(\.\d*)/
45
47
  Time.at(value.to_f)
46
48
  elsif value =~ /^\d+$/
47
49
  Time.at(value.to_i)
@@ -163,6 +163,8 @@ module Aws
163
163
  :ca_bundle,
164
164
  :credential_process,
165
165
  :endpoint_discovery_enabled,
166
+ :use_dualstack_endpoint,
167
+ :use_fips_endpoint,
166
168
  :ec2_metadata_service_endpoint,
167
169
  :ec2_metadata_service_endpoint_mode,
168
170
  :max_attempts,
@@ -100,7 +100,7 @@ module Aws
100
100
  raise ArgumentError, 'Cached SSO Token is expired.'
101
101
  end
102
102
  cached_token
103
- rescue Aws::Json::ParseError, ArgumentError
103
+ rescue Errno::ENOENT, Aws::Json::ParseError, ArgumentError
104
104
  raise Errors::InvalidSSOCredentials, SSO_LOGIN_GUIDANCE
105
105
  end
106
106
 
data/lib/aws-sdk-core.rb CHANGED
@@ -88,6 +88,9 @@ require_relative 'aws-sdk-core/arn'
88
88
  require_relative 'aws-sdk-core/arn_parser'
89
89
  require_relative 'aws-sdk-core/ec2_metadata'
90
90
 
91
+ # plugins
92
+ # loaded through building STS or SSO ..
93
+
91
94
  # aws-sdk-sts is included to support Aws::AssumeRoleCredentials
92
95
  require_relative 'aws-sdk-sts'
93
96
 
@@ -275,6 +275,15 @@ module Aws::SSO
275
275
  # ** Please note ** When response stubbing is enabled, no HTTP
276
276
  # requests are made, and retries are disabled.
277
277
  #
278
+ # @option options [Boolean] :use_dualstack_endpoint
279
+ # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
280
+ # will be used if available.
281
+ #
282
+ # @option options [Boolean] :use_fips_endpoint
283
+ # When set to `true`, fips compatible endpoints will be used if available.
284
+ # When a `fips` region is used, the region is normalized and this config
285
+ # is set to `true`.
286
+ #
278
287
  # @option options [Boolean] :validate_params (true)
279
288
  # When `true`, request parameters are validated before
280
289
  # sending the request.
@@ -521,7 +530,7 @@ module Aws::SSO
521
530
  params: params,
522
531
  config: config)
523
532
  context[:gem_name] = 'aws-sdk-core'
524
- context[:gem_version] = '3.121.5'
533
+ context[:gem_version] = '3.123.0'
525
534
  Seahorse::Client::Request.new(handlers, context)
526
535
  end
527
536
 
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.121.5'
53
+ GEM_VERSION = '3.123.0'
54
54
 
55
55
  end
@@ -282,6 +282,15 @@ module Aws::STS
282
282
  # ** Please note ** When response stubbing is enabled, no HTTP
283
283
  # requests are made, and retries are disabled.
284
284
  #
285
+ # @option options [Boolean] :use_dualstack_endpoint
286
+ # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
287
+ # will be used if available.
288
+ #
289
+ # @option options [Boolean] :use_fips_endpoint
290
+ # When set to `true`, fips compatible endpoints will be used if available.
291
+ # When a `fips` region is used, the region is normalized and this config
292
+ # is set to `true`.
293
+ #
285
294
  # @option options [Boolean] :validate_params (true)
286
295
  # When `true`, request parameters are validated before
287
296
  # sending the request.
@@ -341,15 +350,15 @@ module Aws::STS
341
350
  # `AssumeRole` within your account or for cross-account access. For a
342
351
  # comparison of `AssumeRole` with other API operations that produce
343
352
  # temporary credentials, see [Requesting Temporary Security
344
- # Credentials][1] and [Comparing the STS API operations][2] in the *IAM
345
- # User Guide*.
353
+ # Credentials][1] and [Comparing the Amazon Web Services STS API
354
+ # operations][2] in the *IAM User Guide*.
346
355
  #
347
356
  # **Permissions**
348
357
  #
349
358
  # The temporary security credentials created by `AssumeRole` can be used
350
359
  # to make API calls to any Amazon Web Services service with the
351
- # following exception: You cannot call the STS `GetFederationToken` or
352
- # `GetSessionToken` API operations.
360
+ # following exception: You cannot call the Amazon Web Services STS
361
+ # `GetFederationToken` or `GetSessionToken` API operations.
353
362
  #
354
363
  # (Optional) You can pass inline or managed [session policies][3] to
355
364
  # this operation. You can pass a single JSON policy document to use as
@@ -366,28 +375,37 @@ module Aws::STS
366
375
  # assumed. For more information, see [Session Policies][3] in the *IAM
367
376
  # User Guide*.
368
377
  #
369
- # To assume a role from a different account, your account must be
370
- # trusted by the role. The trust relationship is defined in the role's
371
- # trust policy when the role is created. That trust policy states which
372
- # accounts are allowed to delegate that access to users in the account.
378
+ # When you create a role, you create two policies: A role trust policy
379
+ # that specifies *who* can assume the role and a permissions policy that
380
+ # specifies *what* can be done with the role. You specify the trusted
381
+ # principal who is allowed to assume the role in the role trust policy.
382
+ #
383
+ # To assume a role from a different account, your Amazon Web Services
384
+ # account must be trusted by the role. The trust relationship is defined
385
+ # in the role's trust policy when the role is created. That trust
386
+ # policy states which accounts are allowed to delegate that access to
387
+ # users in the account.
373
388
  #
374
389
  # A user who wants to access a role in a different account must also
375
390
  # have permissions that are delegated from the user account
376
391
  # administrator. The administrator must attach a policy that allows the
377
392
  # user to call `AssumeRole` for the ARN of the role in the other
378
- # account. If the user is in the same account as the role, then you can
379
- # do either of the following:
393
+ # account.
394
+ #
395
+ # To allow a user to assume a role in the same account, you can do
396
+ # either of the following:
380
397
  #
381
- # * Attach a policy to the user (identical to the previous user in a
382
- # different account).
398
+ # * Attach a policy to the user that allows the user to call
399
+ # `AssumeRole` (as long as the role's trust policy trusts the
400
+ # account).
383
401
  #
384
402
  # * Add the user as a principal directly in the role's trust policy.
385
403
  #
386
- # In this case, the trust policy acts as an IAM resource-based policy.
387
- # Users in the same account as the role do not need explicit permission
388
- # to assume the role. For more information about trust policies and
389
- # resource-based policies, see [IAM Policies][4] in the *IAM User
390
- # Guide*.
404
+ # You can do either because the role’s trust policy acts as an IAM
405
+ # resource-based policy. When a resource-based policy grants access to a
406
+ # principal in the same account, no additional identity-based policy is
407
+ # required. For more information about trust policies and resource-based
408
+ # policies, see [IAM Policies][4] in the *IAM User Guide*.
391
409
  #
392
410
  # **Tags**
393
411
  #
@@ -529,15 +547,25 @@ module Aws::STS
529
547
  #
530
548
  # @option params [Integer] :duration_seconds
531
549
  # The duration, in seconds, of the role session. The value specified can
532
- # can range from 900 seconds (15 minutes) up to the maximum session
533
- # duration that is set for the role. The maximum session duration
534
- # setting can have a value from 1 hour to 12 hours. If you specify a
535
- # value higher than this setting or the administrator setting (whichever
536
- # is lower), the operation fails. For example, if you specify a session
537
- # duration of 12 hours, but your administrator set the maximum session
538
- # duration to 6 hours, your operation fails. To learn how to view the
539
- # maximum value for your role, see [View the Maximum Session Duration
540
- # Setting for a Role][1] in the *IAM User Guide*.
550
+ # range from 900 seconds (15 minutes) up to the maximum session duration
551
+ # set for the role. The maximum session duration setting can have a
552
+ # value from 1 hour to 12 hours. If you specify a value higher than this
553
+ # setting or the administrator setting (whichever is lower), the
554
+ # operation fails. For example, if you specify a session duration of 12
555
+ # hours, but your administrator set the maximum session duration to 6
556
+ # hours, your operation fails.
557
+ #
558
+ # Role chaining limits your Amazon Web Services CLI or Amazon Web
559
+ # Services API role session to a maximum of one hour. When you use the
560
+ # `AssumeRole` API operation to assume a role, you can specify the
561
+ # duration of your role session with the `DurationSeconds` parameter.
562
+ # You can specify a parameter value of up to 43200 seconds (12 hours),
563
+ # depending on the maximum session duration setting for your role.
564
+ # However, if you assume a role using role chaining and provide a
565
+ # `DurationSeconds` parameter value greater than one hour, the operation
566
+ # fails. To learn how to view the maximum value for your role, see [View
567
+ # the Maximum Session Duration Setting for a Role][1] in the *IAM User
568
+ # Guide*.
541
569
  #
542
570
  # By default, the value is set to `3600` seconds.
543
571
  #
@@ -546,8 +574,8 @@ module Aws::STS
546
574
  # The request to the federation endpoint for a console sign-in token
547
575
  # takes a `SessionDuration` parameter that specifies the maximum length
548
576
  # of the console session. For more information, see [Creating a URL that
549
- # Enables Federated Users to Access the Management Console][2] in the
550
- # *IAM User Guide*.
577
+ # Enables Federated Users to Access the Amazon Web Services Management
578
+ # Console][2] in the *IAM User Guide*.
551
579
  #
552
580
  # </note>
553
581
  #
@@ -559,8 +587,8 @@ module Aws::STS
559
587
  # @option params [Array<Types::Tag>] :tags
560
588
  # A list of session tags that you want to pass. Each session tag
561
589
  # consists of a key name and an associated value. For more information
562
- # about session tags, see [Tagging STS Sessions][1] in the *IAM User
563
- # Guide*.
590
+ # about session tags, see [Tagging Amazon Web Services STS Sessions][1]
591
+ # in the *IAM User Guide*.
564
592
  #
565
593
  # This parameter is optional. You can pass up to 50 session tags. The
566
594
  # plaintext session tag keys can’t exceed 128 characters, and the values
@@ -789,8 +817,8 @@ module Aws::STS
789
817
  # user-specific credentials or configuration. For a comparison of
790
818
  # `AssumeRoleWithSAML` with the other API operations that produce
791
819
  # temporary credentials, see [Requesting Temporary Security
792
- # Credentials][1] and [Comparing the STS API operations][2] in the *IAM
793
- # User Guide*.
820
+ # Credentials][1] and [Comparing the Amazon Web Services STS API
821
+ # operations][2] in the *IAM User Guide*.
794
822
  #
795
823
  # The temporary security credentials returned by this operation consist
796
824
  # of an access key ID, a secret access key, and a security token.
@@ -1042,8 +1070,8 @@ module Aws::STS
1042
1070
  # The request to the federation endpoint for a console sign-in token
1043
1071
  # takes a `SessionDuration` parameter that specifies the maximum length
1044
1072
  # of the console session. For more information, see [Creating a URL that
1045
- # Enables Federated Users to Access the Management Console][2] in the
1046
- # *IAM User Guide*.
1073
+ # Enables Federated Users to Access the Amazon Web Services Management
1074
+ # Console][2] in the *IAM User Guide*.
1047
1075
  #
1048
1076
  # </note>
1049
1077
  #
@@ -1163,8 +1191,8 @@ module Aws::STS
1163
1191
  # a token from the web identity provider. For a comparison of
1164
1192
  # `AssumeRoleWithWebIdentity` with the other API operations that produce
1165
1193
  # temporary credentials, see [Requesting Temporary Security
1166
- # Credentials][5] and [Comparing the STS API operations][6] in the *IAM
1167
- # User Guide*.
1194
+ # Credentials][5] and [Comparing the Amazon Web Services STS API
1195
+ # operations][6] in the *IAM User Guide*.
1168
1196
  #
1169
1197
  # The temporary security credentials returned by this API consist of an
1170
1198
  # access key ID, a secret access key, and a security token. Applications
@@ -1424,8 +1452,8 @@ module Aws::STS
1424
1452
  # The request to the federation endpoint for a console sign-in token
1425
1453
  # takes a `SessionDuration` parameter that specifies the maximum length
1426
1454
  # of the console session. For more information, see [Creating a URL that
1427
- # Enables Federated Users to Access the Management Console][2] in the
1428
- # *IAM User Guide*.
1455
+ # Enables Federated Users to Access the Amazon Web Services Management
1456
+ # Console][2] in the *IAM User Guide*.
1429
1457
  #
1430
1458
  # </note>
1431
1459
  #
@@ -1531,17 +1559,17 @@ module Aws::STS
1531
1559
  # </note>
1532
1560
  #
1533
1561
  # The message is encoded because the details of the authorization status
1534
- # can constitute privileged information that the user who requested the
1562
+ # can contain privileged information that the user who requested the
1535
1563
  # operation should not see. To decode an authorization status message, a
1536
- # user must be granted permissions via an IAM policy to request the
1537
- # `DecodeAuthorizationMessage` (`sts:DecodeAuthorizationMessage`)
1564
+ # user must be granted permissions through an IAM [policy][1] to request
1565
+ # the `DecodeAuthorizationMessage` (`sts:DecodeAuthorizationMessage`)
1538
1566
  # action.
1539
1567
  #
1540
1568
  # The decoded message includes the following type of information:
1541
1569
  #
1542
1570
  # * Whether the request was denied due to an explicit deny or due to the
1543
1571
  # absence of an explicit allow. For more information, see [Determining
1544
- # Whether a Request is Allowed or Denied][1] in the *IAM User Guide*.
1572
+ # Whether a Request is Allowed or Denied][2] in the *IAM User Guide*.
1545
1573
  #
1546
1574
  # * The principal who made the request.
1547
1575
  #
@@ -1553,7 +1581,8 @@ module Aws::STS
1553
1581
  #
1554
1582
  #
1555
1583
  #
1556
- # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html#policy-eval-denyallow
1584
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html
1585
+ # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html#policy-eval-denyallow
1557
1586
  #
1558
1587
  # @option params [required, String] :encoded_message
1559
1588
  # The encoded message that was returned with the response.
@@ -1748,8 +1777,8 @@ module Aws::STS
1748
1777
  # can be safely stored, usually in a server-based application. For a
1749
1778
  # comparison of `GetFederationToken` with the other API operations that
1750
1779
  # produce temporary credentials, see [Requesting Temporary Security
1751
- # Credentials][1] and [Comparing the STS API operations][2] in the *IAM
1752
- # User Guide*.
1780
+ # Credentials][1] and [Comparing the Amazon Web Services STS API
1781
+ # operations][2] in the *IAM User Guide*.
1753
1782
  #
1754
1783
  # <note markdown="1"> You can create a mobile-based or browser-based app that can
1755
1784
  # authenticate users using a web identity provider like Login with
@@ -1773,7 +1802,7 @@ module Aws::STS
1773
1802
  # The temporary credentials are valid for the specified duration, from
1774
1803
  # 900 seconds (15 minutes) up to a maximum of 129,600 seconds (36
1775
1804
  # hours). The default session duration is 43,200 seconds (12 hours).
1776
- # Temporary credentials that are obtained by using Amazon Web Services
1805
+ # Temporary credentials obtained by using the Amazon Web Services
1777
1806
  # account root user credentials have a maximum duration of 3,600 seconds
1778
1807
  # (1 hour).
1779
1808
  #
@@ -1828,65 +1857,6 @@ module Aws::STS
1828
1857
  #
1829
1858
  # </note>
1830
1859
  #
1831
- # You can also call `GetFederationToken` using the security credentials
1832
- # of an Amazon Web Services account root user, but we do not recommend
1833
- # it. Instead, we recommend that you create an IAM user for the purpose
1834
- # of the proxy application. Then attach a policy to the IAM user that
1835
- # limits federated users to only the actions and resources that they
1836
- # need to access. For more information, see [IAM Best Practices][5] in
1837
- # the *IAM User Guide*.
1838
- #
1839
- # **Session duration**
1840
- #
1841
- # The temporary credentials are valid for the specified duration, from
1842
- # 900 seconds (15 minutes) up to a maximum of 129,600 seconds (36
1843
- # hours). The default session duration is 43,200 seconds (12 hours).
1844
- # Temporary credentials that are obtained by using Amazon Web Services
1845
- # account root user credentials have a maximum duration of 3,600 seconds
1846
- # (1 hour).
1847
- #
1848
- # **Permissions**
1849
- #
1850
- # You can use the temporary credentials created by `GetFederationToken`
1851
- # in any Amazon Web Services service except the following:
1852
- #
1853
- # * You cannot call any IAM operations using the CLI or the Amazon Web
1854
- # Services API.
1855
- #
1856
- # * You cannot call any STS operations except `GetCallerIdentity`.
1857
- #
1858
- # You must pass an inline or managed [session policy][6] to this
1859
- # operation. You can pass a single JSON policy document to use as an
1860
- # inline session policy. You can also specify up to 10 managed policies
1861
- # to use as managed session policies. The plain text that you use for
1862
- # both inline and managed session policies can't exceed 2,048
1863
- # characters.
1864
- #
1865
- # Though the session policy parameters are optional, if you do not pass
1866
- # a policy, then the resulting federated user session has no
1867
- # permissions. When you pass session policies, the session permissions
1868
- # are the intersection of the IAM user policies and the session policies
1869
- # that you pass. This gives you a way to further restrict the
1870
- # permissions for a federated user. You cannot use session policies to
1871
- # grant more permissions than those that are defined in the permissions
1872
- # policy of the IAM user. For more information, see [Session
1873
- # Policies][6] in the *IAM User Guide*. For information about using
1874
- # `GetFederationToken` to create temporary security credentials, see
1875
- # [GetFederationToken—Federation Through a Custom Identity Broker][7].
1876
- #
1877
- # You can use the credentials to access a resource that has a
1878
- # resource-based policy. If that policy specifically references the
1879
- # federated user session in the `Principal` element of the policy, the
1880
- # session has the permissions allowed by the policy. These permissions
1881
- # are granted in addition to the permissions granted by the session
1882
- # policies.
1883
- #
1884
- # **Tags**
1885
- #
1886
- # (Optional) You can pass tag key-value pairs to your session. These are
1887
- # called session tags. For more information about session tags, see
1888
- # [Passing Session Tags in STS][8] in the *IAM User Guide*.
1889
- #
1890
1860
  # An administrator must grant you the permissions necessary to pass
1891
1861
  # session tags. The administrator can also create granular permissions
1892
1862
  # to allow you to pass only specific session tags. For more information,
@@ -2155,8 +2125,8 @@ module Aws::STS
2155
2125
  # correct MFA code, then the API returns an access denied error. For a
2156
2126
  # comparison of `GetSessionToken` with the other API operations that
2157
2127
  # produce temporary credentials, see [Requesting Temporary Security
2158
- # Credentials][1] and [Comparing the STS API operations][2] in the *IAM
2159
- # User Guide*.
2128
+ # Credentials][1] and [Comparing the Amazon Web Services STS API
2129
+ # operations][2] in the *IAM User Guide*.
2160
2130
  #
2161
2131
  # **Session Duration**
2162
2132
  #
@@ -2224,8 +2194,8 @@ module Aws::STS
2224
2194
  # The value is either the serial number for a hardware device (such as
2225
2195
  # `GAHT12345678`) or an Amazon Resource Name (ARN) for a virtual device
2226
2196
  # (such as `arn:aws:iam::123456789012:mfa/user`). You can find the
2227
- # device for an IAM user by going to the Management Console and viewing
2228
- # the user's security credentials.
2197
+ # device for an IAM user by going to the Amazon Web Services Management
2198
+ # Console and viewing the user's security credentials.
2229
2199
  #
2230
2200
  # The regex used to validate this parameter is a string of characters
2231
2201
  # consisting of upper- and lower-case alphanumeric characters with no
@@ -2303,7 +2273,7 @@ module Aws::STS
2303
2273
  params: params,
2304
2274
  config: config)
2305
2275
  context[:gem_name] = 'aws-sdk-core'
2306
- context[:gem_version] = '3.121.5'
2276
+ context[:gem_version] = '3.123.0'
2307
2277
  Seahorse::Client::Request.new(handlers, context)
2308
2278
  end
2309
2279
 
@@ -53,7 +53,13 @@ module Aws
53
53
  )
54
54
 
55
55
  url = Aws::Partitions::EndpointProvider.resolve(
56
- req.context.config.region, 'sts', 'regional'
56
+ req.context.config.region,
57
+ 'sts',
58
+ req.context.config.sts_regional_endpoints,
59
+ {
60
+ dualstack: req.context.config.use_dualstack_endpoint,
61
+ fips: req.context.config.use_fips_endpoint
62
+ }
57
63
  )
58
64
  url += "/?#{param_list}"
59
65
 
@@ -132,16 +132,25 @@ module Aws::STS
132
132
  #
133
133
  # @!attribute [rw] duration_seconds
134
134
  # The duration, in seconds, of the role session. The value specified
135
- # can can range from 900 seconds (15 minutes) up to the maximum
136
- # session duration that is set for the role. The maximum session
137
- # duration setting can have a value from 1 hour to 12 hours. If you
138
- # specify a value higher than this setting or the administrator
139
- # setting (whichever is lower), the operation fails. For example, if
140
- # you specify a session duration of 12 hours, but your administrator
141
- # set the maximum session duration to 6 hours, your operation fails.
142
- # To learn how to view the maximum value for your role, see [View the
143
- # Maximum Session Duration Setting for a Role][1] in the *IAM User
144
- # Guide*.
135
+ # can range from 900 seconds (15 minutes) up to the maximum session
136
+ # duration set for the role. The maximum session duration setting can
137
+ # have a value from 1 hour to 12 hours. If you specify a value higher
138
+ # than this setting or the administrator setting (whichever is lower),
139
+ # the operation fails. For example, if you specify a session duration
140
+ # of 12 hours, but your administrator set the maximum session duration
141
+ # to 6 hours, your operation fails.
142
+ #
143
+ # Role chaining limits your Amazon Web Services CLI or Amazon Web
144
+ # Services API role session to a maximum of one hour. When you use the
145
+ # `AssumeRole` API operation to assume a role, you can specify the
146
+ # duration of your role session with the `DurationSeconds` parameter.
147
+ # You can specify a parameter value of up to 43200 seconds (12 hours),
148
+ # depending on the maximum session duration setting for your role.
149
+ # However, if you assume a role using role chaining and provide a
150
+ # `DurationSeconds` parameter value greater than one hour, the
151
+ # operation fails. To learn how to view the maximum value for your
152
+ # role, see [View the Maximum Session Duration Setting for a Role][1]
153
+ # in the *IAM User Guide*.
145
154
  #
146
155
  # By default, the value is set to `3600` seconds.
147
156
  #
@@ -150,8 +159,8 @@ module Aws::STS
150
159
  # credentials. The request to the federation endpoint for a console
151
160
  # sign-in token takes a `SessionDuration` parameter that specifies the
152
161
  # maximum length of the console session. For more information, see
153
- # [Creating a URL that Enables Federated Users to Access the
154
- # Management Console][2] in the *IAM User Guide*.
162
+ # [Creating a URL that Enables Federated Users to Access the Amazon
163
+ # Web Services Management Console][2] in the *IAM User Guide*.
155
164
  #
156
165
  # </note>
157
166
  #
@@ -164,8 +173,8 @@ module Aws::STS
164
173
  # @!attribute [rw] tags
165
174
  # A list of session tags that you want to pass. Each session tag
166
175
  # consists of a key name and an associated value. For more information
167
- # about session tags, see [Tagging STS Sessions][1] in the *IAM User
168
- # Guide*.
176
+ # about session tags, see [Tagging Amazon Web Services STS
177
+ # Sessions][1] in the *IAM User Guide*.
169
178
  #
170
179
  # This parameter is optional. You can pass up to 50 session tags. The
171
180
  # plaintext session tag keys can’t exceed 128 characters, and the
@@ -516,8 +525,8 @@ module Aws::STS
516
525
  # credentials. The request to the federation endpoint for a console
517
526
  # sign-in token takes a `SessionDuration` parameter that specifies the
518
527
  # maximum length of the console session. For more information, see
519
- # [Creating a URL that Enables Federated Users to Access the
520
- # Management Console][2] in the *IAM User Guide*.
528
+ # [Creating a URL that Enables Federated Users to Access the Amazon
529
+ # Web Services Management Console][2] in the *IAM User Guide*.
521
530
  #
522
531
  # </note>
523
532
  #
@@ -802,8 +811,8 @@ module Aws::STS
802
811
  # credentials. The request to the federation endpoint for a console
803
812
  # sign-in token takes a `SessionDuration` parameter that specifies the
804
813
  # maximum length of the console session. For more information, see
805
- # [Creating a URL that Enables Federated Users to Access the
806
- # Management Console][2] in the *IAM User Guide*.
814
+ # [Creating a URL that Enables Federated Users to Access the Amazon
815
+ # Web Services Management Console][2] in the *IAM User Guide*.
807
816
  #
808
817
  # </note>
809
818
  #
@@ -1012,7 +1021,7 @@ module Aws::STS
1012
1021
  # returned in response to an Amazon Web Services request.
1013
1022
  #
1014
1023
  # @!attribute [rw] decoded_message
1015
- # An XML document that contains the decoded message.
1024
+ # The API returns a response with the decoded message.
1016
1025
  # @return [String]
1017
1026
  #
1018
1027
  # @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/DecodeAuthorizationMessageResponse AWS API Documentation
@@ -1396,8 +1405,8 @@ module Aws::STS
1396
1405
  # The value is either the serial number for a hardware device (such as
1397
1406
  # `GAHT12345678`) or an Amazon Resource Name (ARN) for a virtual
1398
1407
  # device (such as `arn:aws:iam::123456789012:mfa/user`). You can find
1399
- # the device for an IAM user by going to the Management Console and
1400
- # viewing the user's security credentials.
1408
+ # the device for an IAM user by going to the Amazon Web Services
1409
+ # Management Console and viewing the user's security credentials.
1401
1410
  #
1402
1411
  # The regex used to validate this parameter is a string of characters
1403
1412
  # consisting of upper- and lower-case alphanumeric characters with no
@@ -1546,7 +1555,7 @@ module Aws::STS
1546
1555
  #
1547
1556
  #
1548
1557
  # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html
1549
- # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html
1558
+ # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html#reference_iam-limits-entity-length
1550
1559
  #
1551
1560
  # @!attribute [rw] message
1552
1561
  # @return [String]
@@ -1612,7 +1621,8 @@ module Aws::STS
1612
1621
  # You can pass custom key-value pair attributes when you assume a role
1613
1622
  # or federate a user. These are called session tags. You can then use
1614
1623
  # the session tags to control access to resources. For more information,
1615
- # see [Tagging STS Sessions][1] in the *IAM User Guide*.
1624
+ # see [Tagging Amazon Web Services STS Sessions][1] in the *IAM User
1625
+ # Guide*.
1616
1626
  #
1617
1627
  #
1618
1628
  #
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.121.5'
53
+ GEM_VERSION = '3.123.0'
54
54
 
55
55
  end
@@ -195,6 +195,10 @@ module Seahorse
195
195
  @members.include?(method_name) or super
196
196
  end
197
197
 
198
+ def override_config(k, v)
199
+ @struct[k] = v
200
+ end
201
+
198
202
  private
199
203
 
200
204
  def value_at(opt_name)
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.121.5
4
+ version: 3.123.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-10-29 00:00:00.000000000 Z
11
+ date: 2021-11-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jmespath
@@ -33,7 +33,7 @@ dependencies:
33
33
  version: '1'
34
34
  - - ">="
35
35
  - !ruby/object:Gem::Version
36
- version: 1.520.1
36
+ version: 1.525.0
37
37
  type: :runtime
38
38
  prerelease: false
39
39
  version_requirements: !ruby/object:Gem::Requirement
@@ -43,7 +43,7 @@ dependencies:
43
43
  version: '1'
44
44
  - - ">="
45
45
  - !ruby/object:Gem::Version
46
- version: 1.520.1
46
+ version: 1.525.0
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: aws-sigv4
49
49
  requirement: !ruby/object:Gem::Requirement