aws-sdk-core 3.121.5 → 3.123.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: 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