aws-sdk-core 3.121.6 → 3.124.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: 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