aws-sdk-core 3.121.6 → 3.124.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: 2d1e4fbf8c98bc0d54f4f6ec16a185ed87bb223549e5766fc8a1b62e63f601d7
4
- data.tar.gz: 6664442786370782a056f504b193210b21b0ee5fe174c68fbd962bf37aec9407
3
+ metadata.gz: 2e6d1b5c90cf269b88901ee018179a1355f080b486a9d68954d73e2f7aa43c08
4
+ data.tar.gz: f5f92dc12397b5de01bb5a363d56f1ea03e9e7e827ed5d9d342d74619dbca086
5
5
  SHA512:
6
- metadata.gz: 512190e5152cf45e7adc39ea601302174297aee06d6c9cba16bbb91392265390e3afa300f5c3f0e0acd5f6006bac73d45344b25a0f843a22cbffdec115035eee
7
- data.tar.gz: bda1e426b67de3c684269c9bd1027ce059263b45b89c907019a26dd856421fc93f8558c3d3b3e77f6caa3d8c0a807e1d407d4d16b28e98d5fc40e547cc8c7ca1
6
+ metadata.gz: 139b9278f19e6ee1789a4223e8d8f71a6f71347b5ff22c36108372ce16f892e9d428924ea78d0356cd26067b852db4a1be6b1e9c2c915b687a4cbe575630d634
7
+ data.tar.gz: e5a4242fe69db060d531265e4b7811e8b6e76bf5de477a51d4f8fe1c4b5c3d857d0cf0801a9381e69d68a395e802b7eb84f1e815f5ef3aef2f5e65922cddf300
data/CHANGELOG.md CHANGED
@@ -1,6 +1,36 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 3.124.0 (2021-11-30)
5
+ ------------------
6
+
7
+ * Feature - Updated Aws::STS::Client with the latest API changes.
8
+
9
+ * Feature - Updated Aws::SSO::Client with the latest API changes.
10
+
11
+ 3.123.0 (2021-11-23)
12
+ ------------------
13
+
14
+ * Feature - Updated Aws::STS::Client with the latest API changes.
15
+
16
+ 3.122.1 (2021-11-09)
17
+ ------------------
18
+
19
+ * Issue - Correctly serialize/deserialize header lists.
20
+
21
+ 3.122.0 (2021-11-04)
22
+ ------------------
23
+
24
+ * Feature - Updated Aws::STS::Client with the latest API changes.
25
+
26
+ * Feature - Updated Aws::SSO::Client with the latest API changes.
27
+
28
+ * Issue - Fix parsing of ISO8601 timestamps with millisecond precision in headers.
29
+
30
+ * 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.
31
+
32
+ * 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.
33
+
4
34
  3.121.6 (2021-11-02)
5
35
  ------------------
6
36
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 3.121.6
1
+ 3.124.0
@@ -64,7 +64,9 @@ locations will be searched for credentials:
64
64
  * EC2/ECS IMDS instance profile - When used by default, the timeouts
65
65
  are very aggressive. Construct and pass an instance of
66
66
  `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
67
- enable retries and extended timeouts.
67
+ enable retries and extended timeouts. Instance profile credential
68
+ fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
69
+ to true.
68
70
  DOCS
69
71
  ) do |config|
70
72
  CredentialProviderChain.new(config).resolve
@@ -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,
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
 
@@ -119,7 +119,9 @@ module Aws::SSO
119
119
  # * EC2/ECS IMDS instance profile - When used by default, the timeouts
120
120
  # are very aggressive. Construct and pass an instance of
121
121
  # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
122
- # enable retries and extended timeouts.
122
+ # enable retries and extended timeouts. Instance profile credential
123
+ # fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
124
+ # to true.
123
125
  #
124
126
  # @option options [required, String] :region
125
127
  # The AWS region to connect to. The configured `:region` is
@@ -275,6 +277,15 @@ module Aws::SSO
275
277
  # ** Please note ** When response stubbing is enabled, no HTTP
276
278
  # requests are made, and retries are disabled.
277
279
  #
280
+ # @option options [Boolean] :use_dualstack_endpoint
281
+ # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
282
+ # will be used if available.
283
+ #
284
+ # @option options [Boolean] :use_fips_endpoint
285
+ # When set to `true`, fips compatible endpoints will be used if available.
286
+ # When a `fips` region is used, the region is normalized and this config
287
+ # is set to `true`.
288
+ #
278
289
  # @option options [Boolean] :validate_params (true)
279
290
  # When `true`, request parameters are validated before
280
291
  # sending the request.
@@ -521,7 +532,7 @@ module Aws::SSO
521
532
  params: params,
522
533
  config: config)
523
534
  context[:gem_name] = 'aws-sdk-core'
524
- context[:gem_version] = '3.121.6'
535
+ context[:gem_version] = '3.124.0'
525
536
  Seahorse::Client::Request.new(handlers, context)
526
537
  end
527
538
 
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.6'
53
+ GEM_VERSION = '3.124.0'
54
54
 
55
55
  end
@@ -121,7 +121,9 @@ module Aws::STS
121
121
  # * EC2/ECS IMDS instance profile - When used by default, the timeouts
122
122
  # are very aggressive. Construct and pass an instance of
123
123
  # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
124
- # enable retries and extended timeouts.
124
+ # enable retries and extended timeouts. Instance profile credential
125
+ # fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
126
+ # to true.
125
127
  #
126
128
  # @option options [required, String] :region
127
129
  # The AWS region to connect to. The configured `:region` is
@@ -282,6 +284,15 @@ module Aws::STS
282
284
  # ** Please note ** When response stubbing is enabled, no HTTP
283
285
  # requests are made, and retries are disabled.
284
286
  #
287
+ # @option options [Boolean] :use_dualstack_endpoint
288
+ # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
289
+ # will be used if available.
290
+ #
291
+ # @option options [Boolean] :use_fips_endpoint
292
+ # When set to `true`, fips compatible endpoints will be used if available.
293
+ # When a `fips` region is used, the region is normalized and this config
294
+ # is set to `true`.
295
+ #
285
296
  # @option options [Boolean] :validate_params (true)
286
297
  # When `true`, request parameters are validated before
287
298
  # sending the request.
@@ -341,15 +352,15 @@ module Aws::STS
341
352
  # `AssumeRole` within your account or for cross-account access. For a
342
353
  # comparison of `AssumeRole` with other API operations that produce
343
354
  # temporary credentials, see [Requesting Temporary Security
344
- # Credentials][1] and [Comparing the STS API operations][2] in the *IAM
345
- # User Guide*.
355
+ # Credentials][1] and [Comparing the Amazon Web Services STS API
356
+ # operations][2] in the *IAM User Guide*.
346
357
  #
347
358
  # **Permissions**
348
359
  #
349
360
  # The temporary security credentials created by `AssumeRole` can be used
350
361
  # 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.
362
+ # following exception: You cannot call the Amazon Web Services STS
363
+ # `GetFederationToken` or `GetSessionToken` API operations.
353
364
  #
354
365
  # (Optional) You can pass inline or managed [session policies][3] to
355
366
  # this operation. You can pass a single JSON policy document to use as
@@ -366,28 +377,37 @@ module Aws::STS
366
377
  # assumed. For more information, see [Session Policies][3] in the *IAM
367
378
  # User Guide*.
368
379
  #
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.
380
+ # When you create a role, you create two policies: A role trust policy
381
+ # that specifies *who* can assume the role and a permissions policy that
382
+ # specifies *what* can be done with the role. You specify the trusted
383
+ # principal who is allowed to assume the role in the role trust policy.
384
+ #
385
+ # To assume a role from a different account, your Amazon Web Services
386
+ # account must be trusted by the role. The trust relationship is defined
387
+ # in the role's trust policy when the role is created. That trust
388
+ # policy states which accounts are allowed to delegate that access to
389
+ # users in the account.
373
390
  #
374
391
  # A user who wants to access a role in a different account must also
375
392
  # have permissions that are delegated from the user account
376
393
  # administrator. The administrator must attach a policy that allows the
377
394
  # 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:
395
+ # account.
396
+ #
397
+ # To allow a user to assume a role in the same account, you can do
398
+ # either of the following:
380
399
  #
381
- # * Attach a policy to the user (identical to the previous user in a
382
- # different account).
400
+ # * Attach a policy to the user that allows the user to call
401
+ # `AssumeRole` (as long as the role's trust policy trusts the
402
+ # account).
383
403
  #
384
404
  # * Add the user as a principal directly in the role's trust policy.
385
405
  #
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*.
406
+ # You can do either because the role’s trust policy acts as an IAM
407
+ # resource-based policy. When a resource-based policy grants access to a
408
+ # principal in the same account, no additional identity-based policy is
409
+ # required. For more information about trust policies and resource-based
410
+ # policies, see [IAM Policies][4] in the *IAM User Guide*.
391
411
  #
392
412
  # **Tags**
393
413
  #
@@ -529,15 +549,25 @@ module Aws::STS
529
549
  #
530
550
  # @option params [Integer] :duration_seconds
531
551
  # 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*.
552
+ # range from 900 seconds (15 minutes) up to the maximum session duration
553
+ # set for the role. The maximum session duration setting can have a
554
+ # value from 1 hour to 12 hours. If you specify a value higher than this
555
+ # setting or the administrator setting (whichever is lower), the
556
+ # operation fails. For example, if you specify a session duration of 12
557
+ # hours, but your administrator set the maximum session duration to 6
558
+ # hours, your operation fails.
559
+ #
560
+ # Role chaining limits your Amazon Web Services CLI or Amazon Web
561
+ # Services API role session to a maximum of one hour. When you use the
562
+ # `AssumeRole` API operation to assume a role, you can specify the
563
+ # duration of your role session with the `DurationSeconds` parameter.
564
+ # You can specify a parameter value of up to 43200 seconds (12 hours),
565
+ # depending on the maximum session duration setting for your role.
566
+ # However, if you assume a role using role chaining and provide a
567
+ # `DurationSeconds` parameter value greater than one hour, the operation
568
+ # fails. To learn how to view the maximum value for your role, see [View
569
+ # the Maximum Session Duration Setting for a Role][1] in the *IAM User
570
+ # Guide*.
541
571
  #
542
572
  # By default, the value is set to `3600` seconds.
543
573
  #
@@ -546,8 +576,8 @@ module Aws::STS
546
576
  # The request to the federation endpoint for a console sign-in token
547
577
  # takes a `SessionDuration` parameter that specifies the maximum length
548
578
  # 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*.
579
+ # Enables Federated Users to Access the Amazon Web Services Management
580
+ # Console][2] in the *IAM User Guide*.
551
581
  #
552
582
  # </note>
553
583
  #
@@ -559,8 +589,8 @@ module Aws::STS
559
589
  # @option params [Array<Types::Tag>] :tags
560
590
  # A list of session tags that you want to pass. Each session tag
561
591
  # 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*.
592
+ # about session tags, see [Tagging Amazon Web Services STS Sessions][1]
593
+ # in the *IAM User Guide*.
564
594
  #
565
595
  # This parameter is optional. You can pass up to 50 session tags. The
566
596
  # plaintext session tag keys can’t exceed 128 characters, and the values
@@ -789,8 +819,8 @@ module Aws::STS
789
819
  # user-specific credentials or configuration. For a comparison of
790
820
  # `AssumeRoleWithSAML` with the other API operations that produce
791
821
  # temporary credentials, see [Requesting Temporary Security
792
- # Credentials][1] and [Comparing the STS API operations][2] in the *IAM
793
- # User Guide*.
822
+ # Credentials][1] and [Comparing the Amazon Web Services STS API
823
+ # operations][2] in the *IAM User Guide*.
794
824
  #
795
825
  # The temporary security credentials returned by this operation consist
796
826
  # of an access key ID, a secret access key, and a security token.
@@ -1042,8 +1072,8 @@ module Aws::STS
1042
1072
  # The request to the federation endpoint for a console sign-in token
1043
1073
  # takes a `SessionDuration` parameter that specifies the maximum length
1044
1074
  # 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*.
1075
+ # Enables Federated Users to Access the Amazon Web Services Management
1076
+ # Console][2] in the *IAM User Guide*.
1047
1077
  #
1048
1078
  # </note>
1049
1079
  #
@@ -1163,8 +1193,8 @@ module Aws::STS
1163
1193
  # a token from the web identity provider. For a comparison of
1164
1194
  # `AssumeRoleWithWebIdentity` with the other API operations that produce
1165
1195
  # temporary credentials, see [Requesting Temporary Security
1166
- # Credentials][5] and [Comparing the STS API operations][6] in the *IAM
1167
- # User Guide*.
1196
+ # Credentials][5] and [Comparing the Amazon Web Services STS API
1197
+ # operations][6] in the *IAM User Guide*.
1168
1198
  #
1169
1199
  # The temporary security credentials returned by this API consist of an
1170
1200
  # access key ID, a secret access key, and a security token. Applications
@@ -1424,8 +1454,8 @@ module Aws::STS
1424
1454
  # The request to the federation endpoint for a console sign-in token
1425
1455
  # takes a `SessionDuration` parameter that specifies the maximum length
1426
1456
  # 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*.
1457
+ # Enables Federated Users to Access the Amazon Web Services Management
1458
+ # Console][2] in the *IAM User Guide*.
1429
1459
  #
1430
1460
  # </note>
1431
1461
  #
@@ -1531,17 +1561,17 @@ module Aws::STS
1531
1561
  # </note>
1532
1562
  #
1533
1563
  # The message is encoded because the details of the authorization status
1534
- # can constitute privileged information that the user who requested the
1564
+ # can contain privileged information that the user who requested the
1535
1565
  # 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`)
1566
+ # user must be granted permissions through an IAM [policy][1] to request
1567
+ # the `DecodeAuthorizationMessage` (`sts:DecodeAuthorizationMessage`)
1538
1568
  # action.
1539
1569
  #
1540
1570
  # The decoded message includes the following type of information:
1541
1571
  #
1542
1572
  # * Whether the request was denied due to an explicit deny or due to the
1543
1573
  # absence of an explicit allow. For more information, see [Determining
1544
- # Whether a Request is Allowed or Denied][1] in the *IAM User Guide*.
1574
+ # Whether a Request is Allowed or Denied][2] in the *IAM User Guide*.
1545
1575
  #
1546
1576
  # * The principal who made the request.
1547
1577
  #
@@ -1553,7 +1583,8 @@ module Aws::STS
1553
1583
  #
1554
1584
  #
1555
1585
  #
1556
- # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html#policy-eval-denyallow
1586
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html
1587
+ # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html#policy-eval-denyallow
1557
1588
  #
1558
1589
  # @option params [required, String] :encoded_message
1559
1590
  # The encoded message that was returned with the response.
@@ -1748,8 +1779,8 @@ module Aws::STS
1748
1779
  # can be safely stored, usually in a server-based application. For a
1749
1780
  # comparison of `GetFederationToken` with the other API operations that
1750
1781
  # produce temporary credentials, see [Requesting Temporary Security
1751
- # Credentials][1] and [Comparing the STS API operations][2] in the *IAM
1752
- # User Guide*.
1782
+ # Credentials][1] and [Comparing the Amazon Web Services STS API
1783
+ # operations][2] in the *IAM User Guide*.
1753
1784
  #
1754
1785
  # <note markdown="1"> You can create a mobile-based or browser-based app that can
1755
1786
  # authenticate users using a web identity provider like Login with
@@ -1773,7 +1804,7 @@ module Aws::STS
1773
1804
  # The temporary credentials are valid for the specified duration, from
1774
1805
  # 900 seconds (15 minutes) up to a maximum of 129,600 seconds (36
1775
1806
  # hours). The default session duration is 43,200 seconds (12 hours).
1776
- # Temporary credentials that are obtained by using Amazon Web Services
1807
+ # Temporary credentials obtained by using the Amazon Web Services
1777
1808
  # account root user credentials have a maximum duration of 3,600 seconds
1778
1809
  # (1 hour).
1779
1810
  #
@@ -1828,65 +1859,6 @@ module Aws::STS
1828
1859
  #
1829
1860
  # </note>
1830
1861
  #
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
1862
  # An administrator must grant you the permissions necessary to pass
1891
1863
  # session tags. The administrator can also create granular permissions
1892
1864
  # to allow you to pass only specific session tags. For more information,
@@ -2155,8 +2127,8 @@ module Aws::STS
2155
2127
  # correct MFA code, then the API returns an access denied error. For a
2156
2128
  # comparison of `GetSessionToken` with the other API operations that
2157
2129
  # produce temporary credentials, see [Requesting Temporary Security
2158
- # Credentials][1] and [Comparing the STS API operations][2] in the *IAM
2159
- # User Guide*.
2130
+ # Credentials][1] and [Comparing the Amazon Web Services STS API
2131
+ # operations][2] in the *IAM User Guide*.
2160
2132
  #
2161
2133
  # **Session Duration**
2162
2134
  #
@@ -2224,8 +2196,8 @@ module Aws::STS
2224
2196
  # The value is either the serial number for a hardware device (such as
2225
2197
  # `GAHT12345678`) or an Amazon Resource Name (ARN) for a virtual device
2226
2198
  # (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.
2199
+ # device for an IAM user by going to the Amazon Web Services Management
2200
+ # Console and viewing the user's security credentials.
2229
2201
  #
2230
2202
  # The regex used to validate this parameter is a string of characters
2231
2203
  # consisting of upper- and lower-case alphanumeric characters with no
@@ -2303,7 +2275,7 @@ module Aws::STS
2303
2275
  params: params,
2304
2276
  config: config)
2305
2277
  context[:gem_name] = 'aws-sdk-core'
2306
- context[:gem_version] = '3.121.6'
2278
+ context[:gem_version] = '3.124.0'
2307
2279
  Seahorse::Client::Request.new(handlers, context)
2308
2280
  end
2309
2281
 
@@ -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.6'
53
+ GEM_VERSION = '3.124.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.6
4
+ version: 3.124.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-11-02 00:00:00.000000000 Z
11
+ date: 2021-11-30 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