aws-sdk-core 3.224.1 → 3.240.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.
Files changed (68) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +157 -0
  3. data/VERSION +1 -1
  4. data/lib/aws-defaults/default_configuration.rb +2 -1
  5. data/lib/aws-sdk-core/assume_role_credentials.rb +8 -8
  6. data/lib/aws-sdk-core/assume_role_web_identity_credentials.rb +2 -2
  7. data/lib/aws-sdk-core/client_stubs.rb +6 -0
  8. data/lib/aws-sdk-core/credential_provider_chain.rb +72 -23
  9. data/lib/aws-sdk-core/ecs_credentials.rb +13 -13
  10. data/lib/aws-sdk-core/endpoints/matchers.rb +2 -1
  11. data/lib/aws-sdk-core/endpoints.rb +37 -13
  12. data/lib/aws-sdk-core/error_handler.rb +5 -0
  13. data/lib/aws-sdk-core/errors.rb +3 -0
  14. data/lib/aws-sdk-core/event_emitter.rb +1 -1
  15. data/lib/aws-sdk-core/instance_profile_credentials.rb +146 -157
  16. data/lib/aws-sdk-core/json/error_handler.rb +14 -4
  17. data/lib/aws-sdk-core/login_credentials.rb +229 -0
  18. data/lib/aws-sdk-core/plugins/checksum_algorithm.rb +28 -14
  19. data/lib/aws-sdk-core/plugins/credentials_configuration.rb +75 -59
  20. data/lib/aws-sdk-core/plugins/sign.rb +23 -28
  21. data/lib/aws-sdk-core/plugins/stub_responses.rb +6 -0
  22. data/lib/aws-sdk-core/plugins/user_agent.rb +4 -1
  23. data/lib/aws-sdk-core/refreshing_credentials.rb +8 -11
  24. data/lib/aws-sdk-core/rpc_v2/error_handler.rb +26 -16
  25. data/lib/aws-sdk-core/rpc_v2/parser.rb +8 -0
  26. data/lib/aws-sdk-core/shared_config.rb +30 -0
  27. data/lib/aws-sdk-core/sso_credentials.rb +1 -1
  28. data/lib/aws-sdk-core/static_token_provider.rb +1 -2
  29. data/lib/aws-sdk-core/token.rb +3 -3
  30. data/lib/aws-sdk-core/token_provider.rb +4 -0
  31. data/lib/aws-sdk-core/token_provider_chain.rb +2 -6
  32. data/lib/aws-sdk-core/util.rb +2 -1
  33. data/lib/aws-sdk-core/xml/error_handler.rb +3 -1
  34. data/lib/aws-sdk-core.rb +4 -0
  35. data/lib/aws-sdk-signin/client.rb +604 -0
  36. data/lib/aws-sdk-signin/client_api.rb +119 -0
  37. data/lib/aws-sdk-signin/customizations.rb +1 -0
  38. data/lib/aws-sdk-signin/endpoint_parameters.rb +69 -0
  39. data/lib/aws-sdk-signin/endpoint_provider.rb +59 -0
  40. data/lib/aws-sdk-signin/endpoints.rb +20 -0
  41. data/lib/aws-sdk-signin/errors.rb +122 -0
  42. data/lib/aws-sdk-signin/plugins/endpoints.rb +77 -0
  43. data/lib/aws-sdk-signin/resource.rb +26 -0
  44. data/lib/aws-sdk-signin/types.rb +299 -0
  45. data/lib/aws-sdk-signin.rb +63 -0
  46. data/lib/aws-sdk-sso/client.rb +24 -17
  47. data/lib/aws-sdk-sso/endpoint_parameters.rb +4 -4
  48. data/lib/aws-sdk-sso/endpoint_provider.rb +2 -2
  49. data/lib/aws-sdk-sso.rb +1 -1
  50. data/lib/aws-sdk-ssooidc/client.rb +43 -23
  51. data/lib/aws-sdk-ssooidc/client_api.rb +5 -0
  52. data/lib/aws-sdk-ssooidc/endpoint_parameters.rb +4 -4
  53. data/lib/aws-sdk-ssooidc/errors.rb +10 -0
  54. data/lib/aws-sdk-ssooidc/types.rb +27 -15
  55. data/lib/aws-sdk-ssooidc.rb +1 -1
  56. data/lib/aws-sdk-sts/client.rb +159 -28
  57. data/lib/aws-sdk-sts/client_api.rb +74 -0
  58. data/lib/aws-sdk-sts/customizations.rb +0 -1
  59. data/lib/aws-sdk-sts/endpoint_parameters.rb +5 -5
  60. data/lib/aws-sdk-sts/errors.rb +64 -1
  61. data/lib/aws-sdk-sts/presigner.rb +2 -6
  62. data/lib/aws-sdk-sts/types.rb +175 -6
  63. data/lib/aws-sdk-sts.rb +1 -1
  64. data/lib/seahorse/client/h2/handler.rb +6 -1
  65. data/lib/seahorse/client/net_http/connection_pool.rb +2 -1
  66. data/lib/seahorse/client/request_context.rb +2 -2
  67. data/lib/seahorse/util.rb +2 -1
  68. metadata +28 -2
@@ -13,22 +13,22 @@ module Aws::SSOOIDC
13
13
  # @!attribute region
14
14
  # The AWS region used to dispatch the request.
15
15
  #
16
- # @return [String]
16
+ # @return [string]
17
17
  #
18
18
  # @!attribute use_dual_stack
19
19
  # When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.
20
20
  #
21
- # @return [Boolean]
21
+ # @return [boolean]
22
22
  #
23
23
  # @!attribute use_fips
24
24
  # When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.
25
25
  #
26
- # @return [Boolean]
26
+ # @return [boolean]
27
27
  #
28
28
  # @!attribute endpoint
29
29
  # Override the endpoint used to send this request
30
30
  #
31
- # @return [String]
31
+ # @return [string]
32
32
  #
33
33
  EndpointParameters = Struct.new(
34
34
  :region,
@@ -62,6 +62,11 @@ module Aws::SSOOIDC
62
62
  @data[:error]
63
63
  end
64
64
 
65
+ # @return [String]
66
+ def reason
67
+ @data[:reason]
68
+ end
69
+
65
70
  # @return [String]
66
71
  def error_description
67
72
  @data[:error_description]
@@ -222,6 +227,11 @@ module Aws::SSOOIDC
222
227
  @data[:error]
223
228
  end
224
229
 
230
+ # @return [String]
231
+ def reason
232
+ @data[:reason]
233
+ end
234
+
225
235
  # @return [String]
226
236
  def error_description
227
237
  @data[:error_description]
@@ -17,6 +17,10 @@ module Aws::SSOOIDC
17
17
  # `access_denied`.
18
18
  # @return [String]
19
19
  #
20
+ # @!attribute [rw] reason
21
+ # A string that uniquely identifies a reason for the error.
22
+ # @return [String]
23
+ #
20
24
  # @!attribute [rw] error_description
21
25
  # Human-readable text providing additional information, used to assist
22
26
  # the client developer in understanding the error that occurred.
@@ -26,6 +30,7 @@ module Aws::SSOOIDC
26
30
  #
27
31
  class AccessDeniedException < Struct.new(
28
32
  :error,
33
+ :reason,
29
34
  :error_description)
30
35
  SENSITIVE = []
31
36
  include Aws::Structure
@@ -54,14 +59,20 @@ module Aws::SSOOIDC
54
59
  end
55
60
 
56
61
  # This structure contains Amazon Web Services-specific parameter
57
- # extensions for the token endpoint responses and includes the identity
58
- # context.
62
+ # extensions and the [identity context][1].
63
+ #
64
+ #
65
+ #
66
+ # [1]: https://docs.aws.amazon.com/singlesignon/latest/userguide/trustedidentitypropagation-overview.html
59
67
  #
60
68
  # @!attribute [rw] identity_context
61
- # STS context assertion that carries a user identifier to the Amazon
62
- # Web Services service that it calls and can be used to obtain an
63
- # identity-enhanced IAM role session. This value corresponds to the
64
- # `sts:identity_context` claim in the ID token.
69
+ # The trusted context assertion is signed and encrypted by STS. It
70
+ # provides access to `sts:identity_context` claim in the `idToken`
71
+ # without JWT parsing
72
+ #
73
+ # Identity context comprises information that Amazon Web Services
74
+ # services use to make authorization decisions when they receive
75
+ # requests.
65
76
  # @return [String]
66
77
  #
67
78
  # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/AwsAdditionalDetails AWS API Documentation
@@ -122,11 +133,9 @@ module Aws::SSOOIDC
122
133
  # @return [String]
123
134
  #
124
135
  # @!attribute [rw] scope
125
- # The list of scopes for which authorization is requested. The access
126
- # token that is issued is limited to the scopes that are granted. If
127
- # this value is not specified, IAM Identity Center authorizes all
128
- # scopes that are configured for the client during the call to
129
- # RegisterClient.
136
+ # The list of scopes for which authorization is requested. This
137
+ # parameter has no effect; the access token will always include all
138
+ # scopes configured during client registration.
130
139
  # @return [Array<String>]
131
140
  #
132
141
  # @!attribute [rw] redirect_uri
@@ -376,10 +385,8 @@ module Aws::SSOOIDC
376
385
  # @return [Array<String>]
377
386
  #
378
387
  # @!attribute [rw] aws_additional_details
379
- # A structure containing information from the `idToken`. Only the
380
- # `identityContext` is in it, which is a value extracted from the
381
- # `idToken`. This provides direct access to identity information
382
- # without requiring JWT parsing.
388
+ # A structure containing information from IAM Identity Center managed
389
+ # user and group information.
383
390
  # @return [Types::AwsAdditionalDetails]
384
391
  #
385
392
  # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/CreateTokenWithIAMResponse AWS API Documentation
@@ -538,6 +545,10 @@ module Aws::SSOOIDC
538
545
  # `invalid_request`.
539
546
  # @return [String]
540
547
  #
548
+ # @!attribute [rw] reason
549
+ # A string that uniquely identifies a reason for the error.
550
+ # @return [String]
551
+ #
541
552
  # @!attribute [rw] error_description
542
553
  # Human-readable text providing additional information, used to assist
543
554
  # the client developer in understanding the error that occurred.
@@ -547,6 +558,7 @@ module Aws::SSOOIDC
547
558
  #
548
559
  class InvalidRequestException < Struct.new(
549
560
  :error,
561
+ :reason,
550
562
  :error_description)
551
563
  SENSITIVE = []
552
564
  include Aws::Structure
@@ -56,7 +56,7 @@ module Aws::SSOOIDC
56
56
  autoload :EndpointProvider, 'aws-sdk-ssooidc/endpoint_provider'
57
57
  autoload :Endpoints, 'aws-sdk-ssooidc/endpoints'
58
58
 
59
- GEM_VERSION = '3.224.1'
59
+ GEM_VERSION = '3.240.0'
60
60
 
61
61
  end
62
62
 
@@ -97,8 +97,8 @@ module Aws::STS
97
97
  # class name or an instance of a plugin class.
98
98
  #
99
99
  # @option options [required, Aws::CredentialProvider] :credentials
100
- # Your AWS credentials. This can be an instance of any one of the
101
- # following classes:
100
+ # Your AWS credentials used for authentication. This can be any class that includes and implements
101
+ # `Aws::CredentialProvider`, or instance of any one of the following classes:
102
102
  #
103
103
  # * `Aws::Credentials` - Used for configuring static, non-refreshing
104
104
  # credentials.
@@ -126,22 +126,24 @@ module Aws::STS
126
126
  # * `Aws::CognitoIdentityCredentials` - Used for loading credentials
127
127
  # from the Cognito Identity service.
128
128
  #
129
- # When `:credentials` are not configured directly, the following
130
- # locations will be searched for credentials:
129
+ # When `:credentials` are not configured directly, the following locations will be searched for credentials:
131
130
  #
132
131
  # * `Aws.config[:credentials]`
132
+ #
133
133
  # * The `:access_key_id`, `:secret_access_key`, `:session_token`, and
134
134
  # `:account_id` options.
135
- # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY'],
136
- # ENV['AWS_SESSION_TOKEN'], and ENV['AWS_ACCOUNT_ID']
135
+ #
136
+ # * `ENV['AWS_ACCESS_KEY_ID']`, `ENV['AWS_SECRET_ACCESS_KEY']`,
137
+ # `ENV['AWS_SESSION_TOKEN']`, and `ENV['AWS_ACCOUNT_ID']`.
138
+ #
137
139
  # * `~/.aws/credentials`
140
+ #
138
141
  # * `~/.aws/config`
139
- # * EC2/ECS IMDS instance profile - When used by default, the timeouts
140
- # are very aggressive. Construct and pass an instance of
141
- # `Aws::InstanceProfileCredentials` or `Aws::ECSCredentials` to
142
- # enable retries and extended timeouts. Instance profile credential
143
- # fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
144
- # to true.
142
+ #
143
+ # * EC2/ECS IMDS instance profile - When used by default, the timeouts are very aggressive.
144
+ # Construct and pass an instance of `Aws::InstanceProfileCredentials` or `Aws::ECSCredentials` to
145
+ # enable retries and extended timeouts. Instance profile credential fetching can be disabled by
146
+ # setting `ENV['AWS_EC2_METADATA_DISABLED']` to `true`.
145
147
  #
146
148
  # @option options [required, String] :region
147
149
  # The AWS region to connect to. The configured `:region` is
@@ -169,6 +171,11 @@ module Aws::STS
169
171
  # When false, the request will raise a `RetryCapacityNotAvailableError` and will
170
172
  # not retry instead of sleeping.
171
173
  #
174
+ # @option options [Array<String>] :auth_scheme_preference
175
+ # A list of preferred authentication schemes to use when making a request. Supported values are:
176
+ # `sigv4`, `sigv4a`, `httpBearerAuth`, and `noAuth`. When set using `ENV['AWS_AUTH_SCHEME_PREFERENCE']` or in
177
+ # shared config as `auth_scheme_preference`, the value should be a comma-separated list.
178
+ #
172
179
  # @option options [Boolean] :client_side_monitoring (false)
173
180
  # When `true`, client-side metrics will be collected for all API requests from
174
181
  # this client.
@@ -255,8 +262,8 @@ module Aws::STS
255
262
  # 4 times. Used in `standard` and `adaptive` retry modes.
256
263
  #
257
264
  # @option options [String] :profile ("default")
258
- # Used when loading credentials from the shared credentials file
259
- # at HOME/.aws/credentials. When not specified, 'default' is used.
265
+ # Used when loading credentials from the shared credentials file at `HOME/.aws/credentials`.
266
+ # When not specified, 'default' is used.
260
267
  #
261
268
  # @option options [String] :request_checksum_calculation ("when_supported")
262
269
  # Determines when a checksum will be calculated for request payloads. Values are:
@@ -374,8 +381,8 @@ module Aws::STS
374
381
  # `Aws::Telemetry::OTelProvider` for telemetry provider.
375
382
  #
376
383
  # @option options [Aws::TokenProvider] :token_provider
377
- # A Bearer Token Provider. This can be an instance of any one of the
378
- # following classes:
384
+ # Your Bearer token used for authentication. This can be any class that includes and implements
385
+ # `Aws::TokenProvider`, or instance of any one of the following classes:
379
386
  #
380
387
  # * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
381
388
  # tokens.
@@ -612,7 +619,7 @@ module Aws::STS
612
619
  # The regex used to validate this parameter is a string of characters
613
620
  # consisting of upper- and lower-case alphanumeric characters with no
614
621
  # spaces. You can also include underscores or any of the following
615
- # characters: =,.@-
622
+ # characters: +=,.@-
616
623
  #
617
624
  #
618
625
  #
@@ -806,7 +813,7 @@ module Aws::STS
806
813
  # The regex used to validate this parameter is a string of characters
807
814
  # consisting of upper- and lower-case alphanumeric characters with no
808
815
  # spaces. You can also include underscores or any of the following
809
- # characters: =,.@:/-
816
+ # characters: +=,.@:\\/-
810
817
  #
811
818
  #
812
819
  #
@@ -824,7 +831,7 @@ module Aws::STS
824
831
  # The regex used to validate this parameter is a string of characters
825
832
  # consisting of upper- and lower-case alphanumeric characters with no
826
833
  # spaces. You can also include underscores or any of the following
827
- # characters: =,.@-
834
+ # characters: +=/:,.@-
828
835
  #
829
836
  # @option params [String] :token_code
830
837
  # The value provided by the MFA device, if the trust policy of the role
@@ -885,7 +892,7 @@ module Aws::STS
885
892
  #
886
893
  # resp = client.assume_role({
887
894
  # external_id: "123ABC",
888
- # policy: "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Sid\":\"Stmt1\",\"Effect\":\"Allow\",\"Action\":\"s3:ListAllMyBuckets\",\"Resource\":\"*\"}]}",
895
+ # policy: "escaped-JSON-IAM-POLICY",
889
896
  # role_arn: "arn:aws:iam::123456789012:role/demo",
890
897
  # role_session_name: "testAssumeRoleSession",
891
898
  # tags: [
@@ -989,6 +996,11 @@ module Aws::STS
989
996
  # Applications can use these temporary security credentials to sign
990
997
  # calls to Amazon Web Services services.
991
998
  #
999
+ # <note markdown="1"> AssumeRoleWithSAML will not work on IAM Identity Center managed roles.
1000
+ # These roles' names start with `AWSReservedSSO_`.
1001
+ #
1002
+ # </note>
1003
+ #
992
1004
  # **Session Duration**
993
1005
  #
994
1006
  # By default, the temporary security credentials created by
@@ -1407,7 +1419,8 @@ module Aws::STS
1407
1419
  # (Optional) You can configure your IdP to pass attributes into your web
1408
1420
  # identity token as session tags. Each session tag consists of a key
1409
1421
  # name and an associated value. For more information about session tags,
1410
- # see [Passing Session Tags in STS][9] in the *IAM User Guide*.
1422
+ # see [Passing session tags using AssumeRoleWithWebIdentity][9] in the
1423
+ # *IAM User Guide*.
1411
1424
  #
1412
1425
  # You can pass up to 50 session tags. The plaintext session tag keys
1413
1426
  # can’t exceed 128 characters and the values can’t exceed 256
@@ -1475,7 +1488,7 @@ module Aws::STS
1475
1488
  # [6]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_update-role-settings.html#id_roles_update-session-duration
1476
1489
  # [7]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html
1477
1490
  # [8]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session
1478
- # [9]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html
1491
+ # [9]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html#id_session-tags_adding-assume-role-idp
1479
1492
  # [10]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-limits.html#reference_iam-limits-entity-length
1480
1493
  # [11]: https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_attribute-based-access-control.html
1481
1494
  # [12]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html#id_session-tags_role-chaining
@@ -1666,7 +1679,7 @@ module Aws::STS
1666
1679
  #
1667
1680
  # resp = client.assume_role_with_web_identity({
1668
1681
  # duration_seconds: 3600,
1669
- # policy: "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Sid\":\"Stmt1\",\"Effect\":\"Allow\",\"Action\":\"s3:ListAllMyBuckets\",\"Resource\":\"*\"}]}",
1682
+ # policy: "escaped-JSON-IAM-POLICY",
1670
1683
  # provider_id: "www.amazon.com",
1671
1684
  # role_arn: "arn:aws:iam::123456789012:role/FederatedWebIdentityRole",
1672
1685
  # role_session_name: "app1",
@@ -1731,7 +1744,10 @@ module Aws::STS
1731
1744
  end
1732
1745
 
1733
1746
  # Returns a set of short term credentials you can use to perform
1734
- # privileged tasks on a member account in your organization.
1747
+ # privileged tasks on a member account in your organization. You must
1748
+ # use credentials from an Organizations management account or a
1749
+ # delegated administrator account for IAM to call `AssumeRoot`. You
1750
+ # cannot use root user credentials to make this call.
1735
1751
  #
1736
1752
  # Before you can launch a privileged session, you must have centralized
1737
1753
  # root access in your organization. For steps to enable this feature,
@@ -1748,19 +1764,29 @@ module Aws::STS
1748
1764
  # were performed in a session. For more information, see [Track
1749
1765
  # privileged tasks in CloudTrail][3] in the *IAM User Guide*.
1750
1766
  #
1767
+ # When granting access to privileged tasks you should only grant the
1768
+ # necessary permissions required to perform that task. For more
1769
+ # information, see [Security best practices in IAM][4]. In addition, you
1770
+ # can use [service control policies][5] (SCPs) to manage and limit
1771
+ # permissions in your organization. See [General examples][6] in the
1772
+ # *Organizations User Guide* for more information on SCPs.
1773
+ #
1751
1774
  #
1752
1775
  #
1753
1776
  # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-enable-root-access.html
1754
1777
  # [2]: https://docs.aws.amazon.com/STS/latest/APIReference/welcome.html#sts-endpoints
1755
1778
  # [3]: https://docs.aws.amazon.com/IAM/latest/UserGuide/cloudtrail-track-privileged-tasks.html
1779
+ # [4]: https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html
1780
+ # [5]: https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps.html
1781
+ # [6]: https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_scps_examples_general.html
1756
1782
  #
1757
1783
  # @option params [required, String] :target_principal
1758
1784
  # The member account principal ARN or account ID.
1759
1785
  #
1760
1786
  # @option params [required, Types::PolicyDescriptorType] :task_policy_arn
1761
1787
  # The identity based policy that scopes the session to the privileged
1762
- # tasks that can be performed. You can use one of following Amazon Web
1763
- # Services managed policies to scope root session actions.
1788
+ # tasks that can be performed. You must use one of following Amazon Web
1789
+ # Services managed policies to scope root session actions:
1764
1790
  #
1765
1791
  # * [IAMAuditRootUserCredentials][1]
1766
1792
  #
@@ -2071,6 +2097,46 @@ module Aws::STS
2071
2097
  req.send_request(options)
2072
2098
  end
2073
2099
 
2100
+ # Exchanges a trade-in token for temporary Amazon Web Services
2101
+ # credentials with the permissions associated with the assumed
2102
+ # principal. This operation allows you to obtain credentials for a
2103
+ # specific principal based on a trade-in token, enabling delegation of
2104
+ # access to Amazon Web Services resources.
2105
+ #
2106
+ # @option params [required, String] :trade_in_token
2107
+ # The token to exchange for temporary Amazon Web Services credentials.
2108
+ # This token must be valid and unexpired at the time of the request.
2109
+ #
2110
+ # @return [Types::GetDelegatedAccessTokenResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2111
+ #
2112
+ # * {Types::GetDelegatedAccessTokenResponse#credentials #credentials} => Types::Credentials
2113
+ # * {Types::GetDelegatedAccessTokenResponse#packed_policy_size #packed_policy_size} => Integer
2114
+ # * {Types::GetDelegatedAccessTokenResponse#assumed_principal #assumed_principal} => String
2115
+ #
2116
+ # @example Request syntax with placeholder values
2117
+ #
2118
+ # resp = client.get_delegated_access_token({
2119
+ # trade_in_token: "tradeInTokenType", # required
2120
+ # })
2121
+ #
2122
+ # @example Response structure
2123
+ #
2124
+ # resp.credentials.access_key_id #=> String
2125
+ # resp.credentials.secret_access_key #=> String
2126
+ # resp.credentials.session_token #=> String
2127
+ # resp.credentials.expiration #=> Time
2128
+ # resp.packed_policy_size #=> Integer
2129
+ # resp.assumed_principal #=> String
2130
+ #
2131
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetDelegatedAccessToken AWS API Documentation
2132
+ #
2133
+ # @overload get_delegated_access_token(params = {})
2134
+ # @param [Hash] params ({})
2135
+ def get_delegated_access_token(params = {}, options = {})
2136
+ req = build_request(:get_delegated_access_token, params)
2137
+ req.send_request(options)
2138
+ end
2139
+
2074
2140
  # Returns a set of temporary security credentials (consisting of an
2075
2141
  # access key ID, a secret access key, and a security token) for a user.
2076
2142
  # A typical use is in a proxy application that gets temporary security
@@ -2353,7 +2419,7 @@ module Aws::STS
2353
2419
  # resp = client.get_federation_token({
2354
2420
  # duration_seconds: 3600,
2355
2421
  # name: "testFedUserSession",
2356
- # policy: "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Sid\":\"Stmt1\",\"Effect\":\"Allow\",\"Action\":\"s3:ListAllMyBuckets\",\"Resource\":\"*\"}]}",
2422
+ # policy: "escaped-JSON-IAM-POLICY",
2357
2423
  # tags: [
2358
2424
  # {
2359
2425
  # key: "Project",
@@ -2576,6 +2642,71 @@ module Aws::STS
2576
2642
  req.send_request(options)
2577
2643
  end
2578
2644
 
2645
+ # Returns a signed JSON Web Token (JWT) that represents the calling
2646
+ # Amazon Web Services identity. The returned JWT can be used to
2647
+ # authenticate with external services that support OIDC discovery. The
2648
+ # token is signed by Amazon Web Services STS and can be publicly
2649
+ # verified using the verification keys published at the issuer's JWKS
2650
+ # endpoint.
2651
+ #
2652
+ # @option params [required, Array<String>] :audience
2653
+ # The intended recipient of the web identity token. This value populates
2654
+ # the `aud` claim in the JWT and should identify the service or
2655
+ # application that will validate and use the token. The external service
2656
+ # should verify this claim to ensure the token was intended for their
2657
+ # use.
2658
+ #
2659
+ # @option params [Integer] :duration_seconds
2660
+ # The duration, in seconds, for which the JSON Web Token (JWT) will
2661
+ # remain valid. The value can range from 60 seconds (1 minute) to 3600
2662
+ # seconds (1 hour). If not specified, the default duration is 300
2663
+ # seconds (5 minutes). The token is designed to be short-lived and
2664
+ # should be used for proof of identity, then exchanged for credentials
2665
+ # or short-lived tokens in the external service.
2666
+ #
2667
+ # @option params [required, String] :signing_algorithm
2668
+ # The cryptographic algorithm to use for signing the JSON Web Token
2669
+ # (JWT). Valid values are RS256 (RSA with SHA-256) and ES384 (ECDSA
2670
+ # using P-384 curve with SHA-384).
2671
+ #
2672
+ # @option params [Array<Types::Tag>] :tags
2673
+ # An optional list of tags to include in the JSON Web Token (JWT). These
2674
+ # tags are added as custom claims to the JWT and can be used by the
2675
+ # downstream service for authorization decisions.
2676
+ #
2677
+ # @return [Types::GetWebIdentityTokenResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2678
+ #
2679
+ # * {Types::GetWebIdentityTokenResponse#web_identity_token #web_identity_token} => String
2680
+ # * {Types::GetWebIdentityTokenResponse#expiration #expiration} => Time
2681
+ #
2682
+ # @example Request syntax with placeholder values
2683
+ #
2684
+ # resp = client.get_web_identity_token({
2685
+ # audience: ["webIdentityTokenAudienceStringType"], # required
2686
+ # duration_seconds: 1,
2687
+ # signing_algorithm: "jwtAlgorithmType", # required
2688
+ # tags: [
2689
+ # {
2690
+ # key: "tagKeyType", # required
2691
+ # value: "tagValueType", # required
2692
+ # },
2693
+ # ],
2694
+ # })
2695
+ #
2696
+ # @example Response structure
2697
+ #
2698
+ # resp.web_identity_token #=> String
2699
+ # resp.expiration #=> Time
2700
+ #
2701
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sts-2011-06-15/GetWebIdentityToken AWS API Documentation
2702
+ #
2703
+ # @overload get_web_identity_token(params = {})
2704
+ # @param [Hash] params ({})
2705
+ def get_web_identity_token(params = {}, options = {})
2706
+ req = build_request(:get_web_identity_token, params)
2707
+ req.send_request(options)
2708
+ end
2709
+
2579
2710
  # @!endgroup
2580
2711
 
2581
2712
  # @param params ({})
@@ -2594,7 +2725,7 @@ module Aws::STS
2594
2725
  tracer: tracer
2595
2726
  )
2596
2727
  context[:gem_name] = 'aws-sdk-core'
2597
- context[:gem_version] = '3.224.1'
2728
+ context[:gem_version] = '3.240.0'
2598
2729
  Seahorse::Client::Request.new(handlers, context)
2599
2730
  end
2600
2731