aws-sdk-core 3.260.0 → 3.261.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: fdf3489f3be6d6fe071ddf109dc612c7049e906ef12f425d009e7a58bfc746bb
4
- data.tar.gz: a0cfa6a42abe97a7cf38238ab4ad6b3a29aabd5d9f6f18532460595a9af9aeac
3
+ metadata.gz: 20963c4ba4573dca660c592bc7996d2fd17aa339c20aa91421a4aed2de76f591
4
+ data.tar.gz: 812e6f68eeb111cf9ce4bb7952038fac6a06fc9aad14d787657bc8eafca3b4aa
5
5
  SHA512:
6
- metadata.gz: bd1b2e75d6997cd9474986a6dffb87adee2d9aecfcdaf85f70ed9633a3cb4bb21e30bc11faea17e68b945a6aa180c23e900ed95c256b68f56f09cdd86f35d974
7
- data.tar.gz: 6f126a87838230567b55780f57e6ad85019480cea159b9b7f504ed9309d8e7675adf0232ec60fdaeb583b4117aadab4fa8e36fed111ec42a0026f3e53c60df13
6
+ metadata.gz: ca2d95bc30f9cbb1a2a8fab0423b1a59a765995d2203925a755d822920e371c29cb2951f8b97a515388671f54bf7f00f96c76477f9e0d5034165323158eed23f
7
+ data.tar.gz: 35a7731340719f2a9fa90275e7ee00b3081f161e3d98c423ad2545ad9b2d9c9c395b1b757e1bf0e35832ffd18499a8f41a7762eced0f21d2175090e33f48b975
data/CHANGELOG.md CHANGED
@@ -1,6 +1,13 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 3.261.0 (2026-10-26)
5
+ ------------------
6
+
7
+ * Feature - Updated Aws::Signin::Client with the latest API changes.
8
+
9
+ * Feature - Adds support for the OAuth 2.0 Token Exchange grant (RFC 8693), enabling applications to exchange identity provider issued JSON Web Tokens (JWTs) for short-lived OAuth access tokens to access supported AWS services without managing separate AWS credentials.
10
+
4
11
  3.260.0 (2026-10-21)
5
12
  ------------------
6
13
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 3.260.0
1
+ 3.261.0
@@ -481,54 +481,12 @@ module Aws::Signin
481
481
 
482
482
  # @!group API Operations
483
483
 
484
- # CreateOAuth2Token API
485
- #
486
- # Path: /v1/token Request Method: POST Content-Type: application/json or
487
- # application/x-www-form-urlencoded
488
- #
489
- # This API implements OAuth 2.0 flows for AWS Sign-In CLI clients,
490
- # supporting both:
491
- #
492
- # 1. Authorization code redemption (grant\_type=authorization\_code) -
493
- # NOT idempotent
494
- # 2. Token refresh (grant\_type=refresh\_token) - Idempotent within
495
- # token validity window
496
- #
497
- # The operation behavior is determined by the grant\_type parameter in
498
- # the request body:
499
- #
500
- # **Authorization Code Flow (NOT Idempotent):**
501
- #
502
- # * JSON or form-encoded body with client\_id,
503
- # grant\_type=authorization\_code, code, redirect\_uri, code\_verifier
504
- # * Returns access\_token, token\_type, expires\_in, refresh\_token, and
505
- # id\_token
506
- # * Each authorization code can only be used ONCE for security (prevents
507
- # replay attacks)
508
- #
509
- # **Token Refresh Flow (Idempotent):**
510
- #
511
- # * JSON or form-encoded body with client\_id,
512
- # grant\_type=refresh\_token, refresh\_token
513
- # * Returns access\_token, token\_type, expires\_in, and refresh\_token
514
- # (no id\_token)
515
- # * Multiple calls with same refresh\_token return consistent results
516
- # within validity window
517
- #
518
- # Authentication and authorization:
519
- #
520
- # * Confidential clients: sigv4 signing required with
521
- # signin:ExchangeToken permissions
522
- # * CLI clients (public): authn/authz skipped based on client\_id &
523
- # grant\_type
524
- #
525
- # Note: This operation cannot be marked as @idempotent because it
526
- # handles both idempotent (token refresh) and non-idempotent (auth code
527
- # redemption) flows in a single endpoint.
484
+ # Exchanges an authorization code or refresh token for an OAuth 2.0
485
+ # access token and refresh token.
528
486
  #
529
487
  # @option params [required, Types::CreateOAuth2TokenRequestBody] :token_input
530
- # Flattened token operation inputs The specific operation is determined
531
- # by grant\_type in the request body
488
+ # Flattened token operation inputs. The "grant\_type" in the request
489
+ # body determines the specific operation.
532
490
  #
533
491
  # @return [Types::CreateOAuth2TokenResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
534
492
  #
@@ -566,12 +524,11 @@ module Aws::Signin
566
524
  req.send_request(options)
567
525
  end
568
526
 
569
- # Grants permission to exchange client credentials for an OAuth 2.0
570
- # access token scoped to a resource that can be used to access AWS
571
- # services from applications
527
+ # Exchanges client credentials for an OAuth 2.0 access token scoped to a
528
+ # resource, which you can use to access AWS services from applications.
572
529
  #
573
530
  # @option params [required, String] :grant_type
574
- # OAuth 2.0 grant type. Must be "client\_credentials".
531
+ # The OAuth 2.0 grant type. Must be "client\_credentials".
575
532
  #
576
533
  # @option params [required, String] :resource
577
534
  # The OAuth resource for which the access token is requested. Example:
@@ -587,7 +544,7 @@ module Aws::Signin
587
544
  #
588
545
  # resp = client.create_o_auth_2_token_with_iam({
589
546
  # grant_type: "ClientCredentialsGrantType", # required
590
- # resource: "CreateOAuth2TokenWithIAMRequestResourceString", # required
547
+ # resource: "Resource", # required
591
548
  # })
592
549
  #
593
550
  # @example Response structure
@@ -605,6 +562,67 @@ module Aws::Signin
605
562
  req.send_request(options)
606
563
  end
607
564
 
565
+ # Exchanges a supported token for an OAuth 2.0 access token scoped to a
566
+ # resource, which you can use to access AWS services from applications.
567
+ #
568
+ # @option params [required, String] :grant_type
569
+ # The OAuth 2.0 grant type. Currently only supports
570
+ # "urn:ietf:params:oauth:grant-type:token-exchange".
571
+ #
572
+ # @option params [String] :subject_token
573
+ # The subject token that represents the identity of the party on whose
574
+ # behalf the request is made. Required when
575
+ # "grant\_type=urn:ietf:params:oauth:grant-type:token-exchange".
576
+ #
577
+ # @option params [String] :subject_token_type
578
+ # The token type of the subject token. Currently only supports
579
+ # "urn:ietf:params:oauth:token-type:jwt". Required when
580
+ # "grant\_type=urn:ietf:params:oauth:grant-type:token-exchange".
581
+ #
582
+ # @option params [String] :resource
583
+ # The OAuth resource for which the access token is requested. Required
584
+ # when "grant\_type=urn:ietf:params:oauth:grant-type:token-exchange".
585
+ # Example: "glue.amazonaws.com".
586
+ #
587
+ # @option params [String] :scope
588
+ # IAM managed policy Amazon Resource Names (ARNs) to apply as session
589
+ # policies that further scope down the permissions of the issued access
590
+ # token, provided as a space-delimited list. Example:
591
+ # "arn:aws:iam::444455556666:policy/MyPolicy".
592
+ #
593
+ # @return [Types::CreateOAuth2TokenWithTokenExchangeResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
594
+ #
595
+ # * {Types::CreateOAuth2TokenWithTokenExchangeResponse#access_token #access_token} => String
596
+ # * {Types::CreateOAuth2TokenWithTokenExchangeResponse#issued_token_type #issued_token_type} => String
597
+ # * {Types::CreateOAuth2TokenWithTokenExchangeResponse#token_type #token_type} => String
598
+ # * {Types::CreateOAuth2TokenWithTokenExchangeResponse#expires_in #expires_in} => Integer
599
+ #
600
+ # @example Request syntax with placeholder values
601
+ #
602
+ # resp = client.create_o_auth_2_token_with_token_exchange({
603
+ # grant_type: "TokenExchangeGrantType", # required
604
+ # subject_token: "SubjectToken",
605
+ # subject_token_type: "SubjectTokenType",
606
+ # resource: "Resource",
607
+ # scope: "Scope",
608
+ # })
609
+ #
610
+ # @example Response structure
611
+ #
612
+ # resp.access_token #=> String
613
+ # resp.issued_token_type #=> String
614
+ # resp.token_type #=> String
615
+ # resp.expires_in #=> Integer
616
+ #
617
+ # @see http://docs.aws.amazon.com/goto/WebAPI/signin-2023-01-01/CreateOAuth2TokenWithTokenExchange AWS API Documentation
618
+ #
619
+ # @overload create_o_auth_2_token_with_token_exchange(params = {})
620
+ # @param [Hash] params ({})
621
+ def create_o_auth_2_token_with_token_exchange(params = {}, options = {})
622
+ req = build_request(:create_o_auth_2_token_with_token_exchange, params)
623
+ req.send_request(options)
624
+ end
625
+
608
626
  # Delete console authorization configuration with automatic scope
609
627
  # detection
610
628
  #
@@ -730,28 +748,21 @@ module Aws::Signin
730
748
  req.send_request(options)
731
749
  end
732
750
 
733
- # Grants permission to inspect the metadata and state of an OAuth 2.0
734
- # access token or refresh token
751
+ # Inspects the metadata and active state of an OAuth 2.0 access token or
752
+ # refresh token.
735
753
  #
736
754
  # Implements RFC 7662 OAuth 2.0 Token Introspection over a
737
- # SigV4-authenticated endpoint. Inspects the metadata of an
738
- # access\_token or refresh\_token issued by AWS Sign-In and returns the
739
- # claims associated with it.
740
- #
741
- # Inactive token semantics (RFC 7662 §2.2): when the supplied token is
742
- # unknown, expired, revoked, malformed, or owned by a different account,
743
- # the response body is exactly \{ "active": false } with all other
744
- # claims omitted.
755
+ # SigV4-authenticated endpoint. Returns the claims associated with a
756
+ # token issued by AWS Sign-In.
745
757
  #
746
758
  # @option params [required, String] :token
747
- # The string value of the token to introspect. May be either an
748
- # access\_token or a refresh\_token issued by AWS Sign-In.
759
+ # The access token or refresh token issued by AWS Sign-In.
749
760
  #
750
761
  # @option params [String] :token_type_hint
751
- # Optional hint about the type of the token submitted for introspection.
752
- # The server uses this hint to optimize lookup, but still falls back to
753
- # the other token type on miss. Allowed values: access\_token,
754
- # refresh\_token.
762
+ # An optional hint about the type of the token submitted for
763
+ # introspection, as defined in RFC 7662 §2.1. The server checks both
764
+ # token types regardless of the hint. Allowed values: "access\_token",
765
+ # "refresh\_token".
755
766
  #
756
767
  # @return [Types::IntrospectOAuth2TokenWithIAMResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
757
768
  #
@@ -939,21 +950,11 @@ module Aws::Signin
939
950
  req.send_request(options)
940
951
  end
941
952
 
942
- # Grants permission to revoke an OAuth 2.0 refresh token and its
943
- # associated refresh tokens
944
- #
945
- # Revokes a refresh\_token issued by AWS Sign-In, invalidating the
946
- # entire token chain so that the refresh\_token can no longer be used to
947
- # mint new access\_tokens.
948
- #
949
- # Idempotency: revoking an already-revoked, expired, or otherwise
950
- # invalid token still returns 200 OK with an empty body. Only the
951
- # refresh\_token type is accepted.
953
+ # Revokes an OAuth 2.0 refresh token and its associated token chain.
952
954
  #
953
955
  # @option params [required, String] :token
954
- # The refresh\_token to revoke. Must be a refresh\_token issued by AWS
955
- # Sign-In (prefix "ASOR"); access\_tokens are not accepted for
956
- # revocation.
956
+ # The refresh token to revoke. Must be a refresh token issued by AWS
957
+ # Sign-In. Access tokens are not accepted for revocation.
957
958
  #
958
959
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
959
960
  #
@@ -990,7 +991,7 @@ module Aws::Signin
990
991
  tracer: tracer
991
992
  )
992
993
  context[:gem_name] = 'aws-sdk-core'
993
- context[:gem_version] = '3.260.0'
994
+ context[:gem_version] = '3.261.0'
994
995
  Seahorse::Client::Request.new(handlers, context)
995
996
  end
996
997
 
@@ -35,8 +35,9 @@ module Aws::Signin
35
35
  CreateOAuth2TokenResponse = Shapes::StructureShape.new(name: 'CreateOAuth2TokenResponse')
36
36
  CreateOAuth2TokenResponseBody = Shapes::StructureShape.new(name: 'CreateOAuth2TokenResponseBody')
37
37
  CreateOAuth2TokenWithIAMRequest = Shapes::StructureShape.new(name: 'CreateOAuth2TokenWithIAMRequest')
38
- CreateOAuth2TokenWithIAMRequestResourceString = Shapes::StringShape.new(name: 'CreateOAuth2TokenWithIAMRequestResourceString')
39
38
  CreateOAuth2TokenWithIAMResponse = Shapes::StructureShape.new(name: 'CreateOAuth2TokenWithIAMResponse')
39
+ CreateOAuth2TokenWithTokenExchangeRequest = Shapes::StructureShape.new(name: 'CreateOAuth2TokenWithTokenExchangeRequest')
40
+ CreateOAuth2TokenWithTokenExchangeResponse = Shapes::StructureShape.new(name: 'CreateOAuth2TokenWithTokenExchangeResponse')
40
41
  DeleteConsoleAuthorizationConfigurationInput = Shapes::StructureShape.new(name: 'DeleteConsoleAuthorizationConfigurationInput')
41
42
  DeleteConsoleAuthorizationConfigurationOutput = Shapes::StructureShape.new(name: 'DeleteConsoleAuthorizationConfigurationOutput')
42
43
  DeleteResourcePermissionStatementInput = Shapes::StructureShape.new(name: 'DeleteResourcePermissionStatementInput')
@@ -54,6 +55,9 @@ module Aws::Signin
54
55
  IntrospectOAuth2TokenWithIAMResponse = Shapes::StructureShape.new(name: 'IntrospectOAuth2TokenWithIAMResponse')
55
56
  IntrospectedTokenType = Shapes::StringShape.new(name: 'IntrospectedTokenType')
56
57
  IntrospectionToken = Shapes::StringShape.new(name: 'IntrospectionToken')
58
+ InvalidGrantException = Shapes::StructureShape.new(name: 'InvalidGrantException')
59
+ InvalidScopeException = Shapes::StructureShape.new(name: 'InvalidScopeException')
60
+ IssuedOAuthAccessTokenType = Shapes::StringShape.new(name: 'IssuedOAuthAccessTokenType')
57
61
  ListResourcePermissionStatementsInput = Shapes::StructureShape.new(name: 'ListResourcePermissionStatementsInput')
58
62
  ListResourcePermissionStatementsOutput = Shapes::StructureShape.new(name: 'ListResourcePermissionStatementsOutput')
59
63
  Long = Shapes::IntegerShape.new(name: 'Long')
@@ -73,18 +77,24 @@ module Aws::Signin
73
77
  RedirectUri = Shapes::StringShape.new(name: 'RedirectUri')
74
78
  RefreshToken = Shapes::StringShape.new(name: 'RefreshToken')
75
79
  RequestedRegion = Shapes::StringShape.new(name: 'RequestedRegion')
80
+ Resource = Shapes::StringShape.new(name: 'Resource')
76
81
  ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
77
82
  RevocationToken = Shapes::StringShape.new(name: 'RevocationToken')
78
83
  RevokeOAuth2TokenWithIAMRequest = Shapes::StructureShape.new(name: 'RevokeOAuth2TokenWithIAMRequest')
79
84
  RevokeOAuth2TokenWithIAMResponse = Shapes::StructureShape.new(name: 'RevokeOAuth2TokenWithIAMResponse')
85
+ Scope = Shapes::StringShape.new(name: 'Scope')
80
86
  ServiceQuotaExceededException = Shapes::StructureShape.new(name: 'ServiceQuotaExceededException')
87
+ ServiceUnavailableException = Shapes::StructureShape.new(name: 'ServiceUnavailableException')
81
88
  SigninResourceBasedPolicy = Shapes::StructureShape.new(name: 'SigninResourceBasedPolicy')
82
89
  SourceIp = Shapes::StringShape.new(name: 'SourceIp')
83
90
  SourceVpc = Shapes::StringShape.new(name: 'SourceVpc')
84
91
  SourceVpce = Shapes::StringShape.new(name: 'SourceVpce')
85
92
  StatementId = Shapes::StringShape.new(name: 'StatementId')
86
93
  String = Shapes::StringShape.new(name: 'String')
94
+ SubjectToken = Shapes::StringShape.new(name: 'SubjectToken')
95
+ SubjectTokenType = Shapes::StringShape.new(name: 'SubjectTokenType')
87
96
  TargetId = Shapes::StringShape.new(name: 'TargetId')
97
+ TokenExchangeGrantType = Shapes::StringShape.new(name: 'TokenExchangeGrantType')
88
98
  TokenExpiresIn = Shapes::IntegerShape.new(name: 'TokenExpiresIn')
89
99
  TokenType = Shapes::StringShape.new(name: 'TokenType')
90
100
  TokenTypeHint = Shapes::StringShape.new(name: 'TokenTypeHint')
@@ -139,7 +149,7 @@ module Aws::Signin
139
149
  CreateOAuth2TokenResponseBody.struct_class = Types::CreateOAuth2TokenResponseBody
140
150
 
141
151
  CreateOAuth2TokenWithIAMRequest.add_member(:grant_type, Shapes::ShapeRef.new(shape: ClientCredentialsGrantType, required: true, location_name: "grant_type"))
142
- CreateOAuth2TokenWithIAMRequest.add_member(:resource, Shapes::ShapeRef.new(shape: CreateOAuth2TokenWithIAMRequestResourceString, required: true, location_name: "resource"))
152
+ CreateOAuth2TokenWithIAMRequest.add_member(:resource, Shapes::ShapeRef.new(shape: Resource, required: true, location_name: "resource"))
143
153
  CreateOAuth2TokenWithIAMRequest.struct_class = Types::CreateOAuth2TokenWithIAMRequest
144
154
 
145
155
  CreateOAuth2TokenWithIAMResponse.add_member(:access_token, Shapes::ShapeRef.new(shape: OAuthAccessToken, required: true, location_name: "access_token"))
@@ -147,6 +157,19 @@ module Aws::Signin
147
157
  CreateOAuth2TokenWithIAMResponse.add_member(:expires_in, Shapes::ShapeRef.new(shape: TokenExpiresIn, required: true, location_name: "expires_in"))
148
158
  CreateOAuth2TokenWithIAMResponse.struct_class = Types::CreateOAuth2TokenWithIAMResponse
149
159
 
160
+ CreateOAuth2TokenWithTokenExchangeRequest.add_member(:grant_type, Shapes::ShapeRef.new(shape: TokenExchangeGrantType, required: true, location_name: "grant_type"))
161
+ CreateOAuth2TokenWithTokenExchangeRequest.add_member(:subject_token, Shapes::ShapeRef.new(shape: SubjectToken, location_name: "subject_token"))
162
+ CreateOAuth2TokenWithTokenExchangeRequest.add_member(:subject_token_type, Shapes::ShapeRef.new(shape: SubjectTokenType, location_name: "subject_token_type"))
163
+ CreateOAuth2TokenWithTokenExchangeRequest.add_member(:resource, Shapes::ShapeRef.new(shape: Resource, location_name: "resource"))
164
+ CreateOAuth2TokenWithTokenExchangeRequest.add_member(:scope, Shapes::ShapeRef.new(shape: Scope, location_name: "scope"))
165
+ CreateOAuth2TokenWithTokenExchangeRequest.struct_class = Types::CreateOAuth2TokenWithTokenExchangeRequest
166
+
167
+ CreateOAuth2TokenWithTokenExchangeResponse.add_member(:access_token, Shapes::ShapeRef.new(shape: OAuthAccessToken, required: true, location_name: "access_token"))
168
+ CreateOAuth2TokenWithTokenExchangeResponse.add_member(:issued_token_type, Shapes::ShapeRef.new(shape: IssuedOAuthAccessTokenType, location_name: "issued_token_type"))
169
+ CreateOAuth2TokenWithTokenExchangeResponse.add_member(:token_type, Shapes::ShapeRef.new(shape: BearerTokenType, required: true, location_name: "token_type"))
170
+ CreateOAuth2TokenWithTokenExchangeResponse.add_member(:expires_in, Shapes::ShapeRef.new(shape: TokenExpiresIn, required: true, location_name: "expires_in"))
171
+ CreateOAuth2TokenWithTokenExchangeResponse.struct_class = Types::CreateOAuth2TokenWithTokenExchangeResponse
172
+
150
173
  DeleteConsoleAuthorizationConfigurationInput.add_member(:target_id, Shapes::ShapeRef.new(shape: TargetId, location_name: "targetId"))
151
174
  DeleteConsoleAuthorizationConfigurationInput.struct_class = Types::DeleteConsoleAuthorizationConfigurationInput
152
175
 
@@ -195,9 +218,17 @@ module Aws::Signin
195
218
  IntrospectOAuth2TokenWithIAMResponse.add_member(:jti, Shapes::ShapeRef.new(shape: String, location_name: "jti"))
196
219
  IntrospectOAuth2TokenWithIAMResponse.add_member(:account_id, Shapes::ShapeRef.new(shape: AccountId, location_name: "account_id"))
197
220
  IntrospectOAuth2TokenWithIAMResponse.add_member(:signin_session, Shapes::ShapeRef.new(shape: String, location_name: "signin_session"))
198
- IntrospectOAuth2TokenWithIAMResponse.add_member(:resource, Shapes::ShapeRef.new(shape: String, location_name: "resource"))
221
+ IntrospectOAuth2TokenWithIAMResponse.add_member(:resource, Shapes::ShapeRef.new(shape: Resource, location_name: "resource"))
199
222
  IntrospectOAuth2TokenWithIAMResponse.struct_class = Types::IntrospectOAuth2TokenWithIAMResponse
200
223
 
224
+ InvalidGrantException.add_member(:error, Shapes::ShapeRef.new(shape: OAuth2ErrorCode, required: true, location_name: "error"))
225
+ InvalidGrantException.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "message"))
226
+ InvalidGrantException.struct_class = Types::InvalidGrantException
227
+
228
+ InvalidScopeException.add_member(:error, Shapes::ShapeRef.new(shape: OAuth2ErrorCode, required: true, location_name: "error"))
229
+ InvalidScopeException.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "message"))
230
+ InvalidScopeException.struct_class = Types::InvalidScopeException
231
+
201
232
  ListResourcePermissionStatementsInput.add_member(:max_results, Shapes::ShapeRef.new(shape: ConsolePermissionMaxResults, location_name: "maxResults"))
202
233
  ListResourcePermissionStatementsInput.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
203
234
  ListResourcePermissionStatementsInput.struct_class = Types::ListResourcePermissionStatementsInput
@@ -260,6 +291,10 @@ module Aws::Signin
260
291
  ServiceQuotaExceededException.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "message"))
261
292
  ServiceQuotaExceededException.struct_class = Types::ServiceQuotaExceededException
262
293
 
294
+ ServiceUnavailableException.add_member(:error, Shapes::ShapeRef.new(shape: OAuth2ErrorCode, required: true, location_name: "error"))
295
+ ServiceUnavailableException.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "message"))
296
+ ServiceUnavailableException.struct_class = Types::ServiceUnavailableException
297
+
263
298
  SigninResourceBasedPolicy.add_member(:version, Shapes::ShapeRef.new(shape: String, location_name: "Version"))
264
299
  SigninResourceBasedPolicy.add_member(:statement, Shapes::ShapeRef.new(shape: PolicyStatements, location_name: "Statement"))
265
300
  SigninResourceBasedPolicy.struct_class = Types::SigninResourceBasedPolicy
@@ -317,6 +352,22 @@ module Aws::Signin
317
352
  o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
318
353
  end)
319
354
 
355
+ api.add_operation(:create_o_auth_2_token_with_token_exchange, Seahorse::Model::Operation.new.tap do |o|
356
+ o.name = "CreateOAuth2TokenWithTokenExchange"
357
+ o.http_method = "POST"
358
+ o.http_request_uri = "/v1/token?x-amz-oauth-token-method=token-exchange"
359
+ o['authtype'] = "none"
360
+ o['auth'] = ["smithy.api#noAuth"]
361
+ o.input = Shapes::ShapeRef.new(shape: CreateOAuth2TokenWithTokenExchangeRequest)
362
+ o.output = Shapes::ShapeRef.new(shape: CreateOAuth2TokenWithTokenExchangeResponse)
363
+ o.errors << Shapes::ShapeRef.new(shape: InvalidGrantException)
364
+ o.errors << Shapes::ShapeRef.new(shape: InvalidScopeException)
365
+ o.errors << Shapes::ShapeRef.new(shape: TooManyRequestsError)
366
+ o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
367
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
368
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
369
+ end)
370
+
320
371
  api.add_operation(:delete_console_authorization_configuration, Seahorse::Model::Operation.new.tap do |o|
321
372
  o.name = "DeleteConsoleAuthorizationConfiguration"
322
373
  o.http_method = "POST"
@@ -21,6 +21,15 @@ module Aws::Signin
21
21
  end
22
22
  end
23
23
 
24
+ class CreateOAuth2TokenWithTokenExchange
25
+ def self.build(context)
26
+ Aws::Signin::EndpointParameters.create(
27
+ context.config,
28
+ is_o_auth_endpoint: true,
29
+ )
30
+ end
31
+ end
32
+
24
33
  class DeleteConsoleAuthorizationConfiguration
25
34
  def self.build(context)
26
35
  Aws::Signin::EndpointParameters.create(
@@ -107,6 +116,8 @@ module Aws::Signin
107
116
  case context.operation_name
108
117
  when :create_o_auth_2_token_with_iam
109
118
  CreateOAuth2TokenWithIAM.build(context)
119
+ when :create_o_auth_2_token_with_token_exchange
120
+ CreateOAuth2TokenWithTokenExchange.build(context)
110
121
  when :delete_console_authorization_configuration
111
122
  DeleteConsoleAuthorizationConfiguration.build(context)
112
123
  when :delete_resource_permission_statement
@@ -30,8 +30,11 @@ module Aws::Signin
30
30
  # * {AccessDeniedException}
31
31
  # * {ConflictException}
32
32
  # * {InternalServerException}
33
+ # * {InvalidGrantException}
34
+ # * {InvalidScopeException}
33
35
  # * {ResourceNotFoundException}
34
36
  # * {ServiceQuotaExceededException}
37
+ # * {ServiceUnavailableException}
35
38
  # * {TooManyRequestsError}
36
39
  # * {ValidationException}
37
40
  #
@@ -101,6 +104,46 @@ module Aws::Signin
101
104
  end
102
105
  end
103
106
 
107
+ class InvalidGrantException < ServiceError
108
+
109
+ # @param [Seahorse::Client::RequestContext] context
110
+ # @param [String] message
111
+ # @param [Aws::Signin::Types::InvalidGrantException] data
112
+ def initialize(context, message, data = Aws::EmptyStructure.new)
113
+ super(context, message, data)
114
+ end
115
+
116
+ # @return [String]
117
+ def error
118
+ @data[:error]
119
+ end
120
+
121
+ # @return [String]
122
+ def message
123
+ @message || @data[:message]
124
+ end
125
+ end
126
+
127
+ class InvalidScopeException < ServiceError
128
+
129
+ # @param [Seahorse::Client::RequestContext] context
130
+ # @param [String] message
131
+ # @param [Aws::Signin::Types::InvalidScopeException] data
132
+ def initialize(context, message, data = Aws::EmptyStructure.new)
133
+ super(context, message, data)
134
+ end
135
+
136
+ # @return [String]
137
+ def error
138
+ @data[:error]
139
+ end
140
+
141
+ # @return [String]
142
+ def message
143
+ @message || @data[:message]
144
+ end
145
+ end
146
+
104
147
  class ResourceNotFoundException < ServiceError
105
148
 
106
149
  # @param [Seahorse::Client::RequestContext] context
@@ -141,6 +184,30 @@ module Aws::Signin
141
184
  end
142
185
  end
143
186
 
187
+ class ServiceUnavailableException < ServiceError
188
+
189
+ # @param [Seahorse::Client::RequestContext] context
190
+ # @param [String] message
191
+ # @param [Aws::Signin::Types::ServiceUnavailableException] data
192
+ def initialize(context, message, data = Aws::EmptyStructure.new)
193
+ super(context, message, data)
194
+ end
195
+
196
+ # @return [String]
197
+ def error
198
+ @data[:error]
199
+ end
200
+
201
+ # @return [String]
202
+ def message
203
+ @message || @data[:message]
204
+ end
205
+
206
+ def retryable?
207
+ true
208
+ end
209
+ end
210
+
144
211
  class TooManyRequestsError < ServiceError
145
212
 
146
213
  # @param [Seahorse::Client::RequestContext] context
@@ -10,28 +10,15 @@
10
10
  module Aws::Signin
11
11
  module Types
12
12
 
13
- # Error thrown for access denied scenarios with flexible HTTP status
14
- # mapping
15
- #
16
- # Runtime HTTP Status Code Mapping:
17
- #
18
- # * HTTP 401 (Unauthorized): TOKEN\_EXPIRED, AUTHCODE\_EXPIRED
19
- # * HTTP 403 (Forbidden): USER\_CREDENTIALS\_CHANGED,
20
- # INSUFFICIENT\_PERMISSIONS
21
- #
22
- # The specific HTTP status code is determined at runtime based on the
23
- # error enum value. Consumers should use the error field to determine
24
- # the specific access denial reason.
13
+ # You do not have sufficient access to perform this action.
25
14
  #
26
15
  # @!attribute [rw] error
27
- # OAuth 2.0 error code indicating the specific type of access denial
28
- # Can be TOKEN\_EXPIRED, AUTHCODE\_EXPIRED,
29
- # USER\_CREDENTIALS\_CHANGED, or INSUFFICIENT\_PERMISSIONS
16
+ # One of TOKEN\_EXPIRED, AUTHCODE\_EXPIRED,
17
+ # USER\_CREDENTIALS\_CHANGED, or INSUFFICIENT\_PERMISSIONS.
30
18
  # @return [String]
31
19
  #
32
20
  # @!attribute [rw] message
33
- # Detailed message explaining the access denial Provides specific
34
- # information about why access was denied
21
+ # The reason access was denied.
35
22
  # @return [String]
36
23
  #
37
24
  # @see http://docs.aws.amazon.com/goto/WebAPI/signin-2023-01-01/AccessDeniedException AWS API Documentation
@@ -43,20 +30,19 @@ module Aws::Signin
43
30
  include Aws::Structure
44
31
  end
45
32
 
46
- # AWS credentials structure containing temporary access credentials
47
- #
48
- # Scoped, temporary AWS credentials with a 15-minute duration.
33
+ # Contains the scoped, temporary AWS credentials used to sign requests
34
+ # with SigV4. Valid for 15 minutes.
49
35
  #
50
36
  # @!attribute [rw] access_key_id
51
- # AWS access key ID for temporary credentials
37
+ # The AWS access key ID for the temporary credentials.
52
38
  # @return [String]
53
39
  #
54
40
  # @!attribute [rw] secret_access_key
55
- # AWS secret access key for temporary credentials
41
+ # The AWS secret access key used to sign requests.
56
42
  # @return [String]
57
43
  #
58
44
  # @!attribute [rw] session_token
59
- # AWS session token for temporary credentials
45
+ # The session token that validates the temporary security credentials.
60
46
  # @return [String]
61
47
  #
62
48
  # @see http://docs.aws.amazon.com/goto/WebAPI/signin-2023-01-01/AccessToken AWS API Documentation
@@ -100,8 +86,8 @@ module Aws::Signin
100
86
  # grant\_type parameter in the request body.
101
87
  #
102
88
  # @!attribute [rw] token_input
103
- # Flattened token operation inputs The specific operation is
104
- # determined by grant\_type in the request body
89
+ # Flattened token operation inputs. The "grant\_type" in the request
90
+ # body determines the specific operation.
105
91
  # @return [Types::CreateOAuth2TokenRequestBody]
106
92
  #
107
93
  # @see http://docs.aws.amazon.com/goto/WebAPI/signin-2023-01-01/CreateOAuth2TokenRequest AWS API Documentation
@@ -112,42 +98,43 @@ module Aws::Signin
112
98
  include Aws::Structure
113
99
  end
114
100
 
115
- # Request body payload for CreateOAuth2Token operation
116
- #
117
- # The operation type is determined by the grant\_type parameter:
118
- #
119
- # * grant\_type=authorization\_code: Requires code, redirect\_uri,
120
- # code\_verifier
121
- # * grant\_type=refresh\_token: Requires refresh\_token
101
+ # The request body for creating an OAuth 2.0 token. Supports both the
102
+ # authorization code and refresh token flows, selected by the
103
+ # "grant\_type" parameter.
122
104
  #
123
105
  # @!attribute [rw] client_id
124
- # The client identifier (ARN) used during Sign-In onboarding Required
125
- # for both authorization code and refresh token flows
106
+ # The OAuth 2.0 client identifier. Expected values:
107
+ # "arn:aws:signin:::devtools/same-device" or
108
+ # "arn:aws:signin:::devtools/cross-device".
126
109
  # @return [String]
127
110
  #
128
111
  # @!attribute [rw] grant_type
129
- # OAuth 2.0 grant type - determines which flow is used Must be
130
- # "authorization\_code" or "refresh\_token"
112
+ # The OAuth 2.0 grant type. Supported values:
113
+ #
114
+ # * "authorization\_code" - Exchange an authorization code for tokens.
115
+ # * "refresh\_token" - Use a refresh token to obtain a new access
116
+ # token.
131
117
  # @return [String]
132
118
  #
133
119
  # @!attribute [rw] code
134
- # The authorization code received from /v1/authorize Required only
135
- # when grant\_type=authorization\_code
120
+ # The authorization code received from the "/v1/authorize" endpoint.
121
+ # Required when "grant\_type=authorization\_code".
136
122
  # @return [String]
137
123
  #
138
124
  # @!attribute [rw] redirect_uri
139
- # The redirect URI that must match the original authorization request
140
- # Required only when grant\_type=authorization\_code
125
+ # The redirect URI that was used in the original authorization
126
+ # request. Must match exactly. Required when
127
+ # "grant\_type=authorization\_code".
141
128
  # @return [String]
142
129
  #
143
130
  # @!attribute [rw] code_verifier
144
- # PKCE code verifier to prove possession of the original code
145
- # challenge Required only when grant\_type=authorization\_code
131
+ # The PKCE code verifier that proves possession of the original code
132
+ # challenge. Required when "grant\_type=authorization\_code".
146
133
  # @return [String]
147
134
  #
148
135
  # @!attribute [rw] refresh_token
149
- # The refresh token returned from auth\_code redemption Required only
150
- # when grant\_type=refresh\_token
136
+ # The refresh token issued by a previous token response. Required when
137
+ # "grant\_type=refresh\_token".
151
138
  # @return [String]
152
139
  #
153
140
  # @see http://docs.aws.amazon.com/goto/WebAPI/signin-2023-01-01/CreateOAuth2TokenRequestBody AWS API Documentation
@@ -170,8 +157,8 @@ module Aws::Signin
170
157
  # grant\_type from the original request.
171
158
  #
172
159
  # @!attribute [rw] token_output
173
- # Flattened token operation outputs The specific response fields
174
- # depend on the grant\_type used in the request
160
+ # Flattened token operation outputs. The specific response fields
161
+ # depend on the grant\_type used in the request.
175
162
  # @return [Types::CreateOAuth2TokenResponseBody]
176
163
  #
177
164
  # @see http://docs.aws.amazon.com/goto/WebAPI/signin-2023-01-01/CreateOAuth2TokenResponse AWS API Documentation
@@ -182,40 +169,35 @@ module Aws::Signin
182
169
  include Aws::Structure
183
170
  end
184
171
 
185
- # Response body payload for CreateOAuth2Token operation
186
- #
187
- # The response content depends on the grant\_type from the request:
188
- #
189
- # * grant\_type=authorization\_code: Returns all fields including
190
- # refresh\_token and id\_token
191
- # * grant\_type=refresh\_token: Returns access\_token, token\_type,
192
- # expires\_in, refresh\_token (no id\_token)
172
+ # The response body for an OAuth 2.0 token request. The fields returned
173
+ # depend on the "grant\_type". The authorization code flow returns
174
+ # "refresh\_token" and "id\_token". The refresh token flow omits
175
+ # "id\_token".
193
176
  #
194
177
  # @!attribute [rw] access_token
195
- # Scoped-down AWS credentials (15 minute duration) Present for both
196
- # authorization code redemption and token refresh
178
+ # The access token issued by the authorization server. The token
179
+ # contains temporary AWS security credentials that you use to sign
180
+ # requests with SigV4.
197
181
  # @return [Types::AccessToken]
198
182
  #
199
183
  # @!attribute [rw] token_type
200
- # Token type indicating this is AWS SigV4 credentials Value is
201
- # "aws\_sigv4" for both flows
184
+ # The type of token issued. Value is "aws\_sigv4".
202
185
  # @return [String]
203
186
  #
204
187
  # @!attribute [rw] expires_in
205
- # Time to expiry in seconds (maximum 900) Present for both
206
- # authorization code redemption and token refresh
188
+ # The number of seconds until the access token expires. Maximum value
189
+ # is 900 seconds (15 minutes).
207
190
  # @return [Integer]
208
191
  #
209
192
  # @!attribute [rw] refresh_token
210
- # Encrypted refresh token with cnf.jkt (SHA-256 thumbprint of
211
- # presented jwk) Always present in responses (required for both flows)
193
+ # A refresh token that can be used to obtain new access tokens without
194
+ # re-authenticating.
212
195
  # @return [String]
213
196
  #
214
197
  # @!attribute [rw] id_token
215
- # ID token containing user identity information Present only in
216
- # authorization code redemption response
217
- # (grant\_type=authorization\_code) Not included in token refresh
218
- # responses
198
+ # A JSON Web Token (JWT) containing user identity claims. Present only
199
+ # when "grant\_type=authorization\_code". Not included in refresh
200
+ # token responses.
219
201
  # @return [String]
220
202
  #
221
203
  # @see http://docs.aws.amazon.com/goto/WebAPI/signin-2023-01-01/CreateOAuth2TokenResponseBody AWS API Documentation
@@ -233,7 +215,7 @@ module Aws::Signin
233
215
  # Input structure for CreateOAuth2TokenWithIAM operation
234
216
  #
235
217
  # @!attribute [rw] grant_type
236
- # OAuth 2.0 grant type. Must be "client\_credentials".
218
+ # The OAuth 2.0 grant type. Must be "client\_credentials".
237
219
  # @return [String]
238
220
  #
239
221
  # @!attribute [rw] resource
@@ -252,21 +234,21 @@ module Aws::Signin
252
234
 
253
235
  # Output structure for CreateOAuth2TokenWithIAM operation
254
236
  #
255
- # Contains the JWT access token, token type, and expiration per RFC 6749
256
- # §5.1.
237
+ # Contains the access token, token type, and expiration as defined in
238
+ # RFC 6749 §5.1.
257
239
  #
258
240
  # @!attribute [rw] access_token
259
- # JWT access token containing principal identity, resource scope, and
260
- # session metadata
241
+ # Access token containing principal identity, resource scope, and
242
+ # session metadata.
261
243
  # @return [String]
262
244
  #
263
245
  # @!attribute [rw] token_type
264
- # Always "Bearer" per OAuth 2.1 specification
246
+ # The token type. Always "Bearer" as defined in RFC 6749.
265
247
  # @return [String]
266
248
  #
267
249
  # @!attribute [rw] expires_in
268
- # Token lifetime in seconds. Value is the minimum of session validity
269
- # and 1 hour.
250
+ # Token lifetime in seconds. Value is the minimum of the caller's
251
+ # session validity and 1 hour (3600 seconds).
270
252
  # @return [Integer]
271
253
  #
272
254
  # @see http://docs.aws.amazon.com/goto/WebAPI/signin-2023-01-01/CreateOAuth2TokenWithIAMResponse AWS API Documentation
@@ -279,6 +261,87 @@ module Aws::Signin
279
261
  include Aws::Structure
280
262
  end
281
263
 
264
+ # Input structure for CreateOAuth2TokenWithTokenExchange operation
265
+ #
266
+ # @!attribute [rw] grant_type
267
+ # The OAuth 2.0 grant type. Currently only supports
268
+ # "urn:ietf:params:oauth:grant-type:token-exchange".
269
+ # @return [String]
270
+ #
271
+ # @!attribute [rw] subject_token
272
+ # The subject token that represents the identity of the party on whose
273
+ # behalf the request is made. Required when
274
+ # "grant\_type=urn:ietf:params:oauth:grant-type:token-exchange".
275
+ # @return [String]
276
+ #
277
+ # @!attribute [rw] subject_token_type
278
+ # The token type of the subject token. Currently only supports
279
+ # "urn:ietf:params:oauth:token-type:jwt". Required when
280
+ # "grant\_type=urn:ietf:params:oauth:grant-type:token-exchange".
281
+ # @return [String]
282
+ #
283
+ # @!attribute [rw] resource
284
+ # The OAuth resource for which the access token is requested. Required
285
+ # when "grant\_type=urn:ietf:params:oauth:grant-type:token-exchange".
286
+ # Example: "glue.amazonaws.com".
287
+ # @return [String]
288
+ #
289
+ # @!attribute [rw] scope
290
+ # IAM managed policy Amazon Resource Names (ARNs) to apply as session
291
+ # policies that further scope down the permissions of the issued
292
+ # access token, provided as a space-delimited list. Example:
293
+ # "arn:aws:iam::444455556666:policy/MyPolicy".
294
+ # @return [String]
295
+ #
296
+ # @see http://docs.aws.amazon.com/goto/WebAPI/signin-2023-01-01/CreateOAuth2TokenWithTokenExchangeRequest AWS API Documentation
297
+ #
298
+ class CreateOAuth2TokenWithTokenExchangeRequest < Struct.new(
299
+ :grant_type,
300
+ :subject_token,
301
+ :subject_token_type,
302
+ :resource,
303
+ :scope)
304
+ SENSITIVE = [:subject_token]
305
+ include Aws::Structure
306
+ end
307
+
308
+ # Output structure for CreateOAuth2TokenWithTokenExchange operation.
309
+ #
310
+ # Contains the access token, issued token type, token type, and
311
+ # expiration as defined in RFC 6749 §5.1 and RFC 8693 §2.2.1.
312
+ #
313
+ # @!attribute [rw] access_token
314
+ # Access token containing principal identity, resource scope, and
315
+ # session metadata.
316
+ # @return [String]
317
+ #
318
+ # @!attribute [rw] issued_token_type
319
+ # The token type of the issued token. Always
320
+ # "urn:ietf:params:oauth:token-type:access\_token" as defined in RFC
321
+ # 8693 §2.2.1.
322
+ # @return [String]
323
+ #
324
+ # @!attribute [rw] token_type
325
+ # The token type. Currently only supports "Bearer" as defined in RFC
326
+ # 6749.
327
+ # @return [String]
328
+ #
329
+ # @!attribute [rw] expires_in
330
+ # Token lifetime in seconds. Value is the minimum of the subject
331
+ # token's validity and 1 hour (3600 seconds).
332
+ # @return [Integer]
333
+ #
334
+ # @see http://docs.aws.amazon.com/goto/WebAPI/signin-2023-01-01/CreateOAuth2TokenWithTokenExchangeResponse AWS API Documentation
335
+ #
336
+ class CreateOAuth2TokenWithTokenExchangeResponse < Struct.new(
337
+ :access_token,
338
+ :issued_token_type,
339
+ :token_type,
340
+ :expires_in)
341
+ SENSITIVE = [:access_token]
342
+ include Aws::Structure
343
+ end
344
+
282
345
  # Input for DeleteConsoleAuthorizationConfiguration operation
283
346
  #
284
347
  # @!attribute [rw] target_id
@@ -405,21 +468,14 @@ module Aws::Signin
405
468
  include Aws::Structure
406
469
  end
407
470
 
408
- # Error thrown when an internal server error occurs
409
- #
410
- # HTTP Status Code: 500 Internal Server Error
411
- #
412
- # Used for unexpected server-side errors that prevent request
413
- # processing.
471
+ # The request failed because of an internal server error.
414
472
  #
415
473
  # @!attribute [rw] error
416
- # OAuth 2.0 error code indicating server error Will be SERVER\_ERROR
417
- # for internal server errors
474
+ # Will be server\_error.
418
475
  # @return [String]
419
476
  #
420
477
  # @!attribute [rw] message
421
- # Detailed message explaining the server error May include error
422
- # details for debugging purposes
478
+ # The server error detail.
423
479
  # @return [String]
424
480
  #
425
481
  # @see http://docs.aws.amazon.com/goto/WebAPI/signin-2023-01-01/InternalServerException AWS API Documentation
@@ -437,15 +493,14 @@ module Aws::Signin
437
493
  # an optional hint about the token's type.
438
494
  #
439
495
  # @!attribute [rw] token
440
- # The string value of the token to introspect. May be either an
441
- # access\_token or a refresh\_token issued by AWS Sign-In.
496
+ # The access token or refresh token issued by AWS Sign-In.
442
497
  # @return [String]
443
498
  #
444
499
  # @!attribute [rw] token_type_hint
445
- # Optional hint about the type of the token submitted for
446
- # introspection. The server uses this hint to optimize lookup, but
447
- # still falls back to the other token type on miss. Allowed values:
448
- # access\_token, refresh\_token.
500
+ # An optional hint about the type of the token submitted for
501
+ # introspection, as defined in RFC 7662 §2.1. The server checks both
502
+ # token types regardless of the hint. Allowed values: "access\_token",
503
+ # "refresh\_token".
449
504
  # @return [String]
450
505
  #
451
506
  # @see http://docs.aws.amazon.com/goto/WebAPI/signin-2023-01-01/IntrospectOAuth2TokenWithIAMRequest AWS API Documentation
@@ -463,8 +518,8 @@ module Aws::Signin
463
518
  # other claims are omitted when the token is inactive.
464
519
  #
465
520
  # @!attribute [rw] active
466
- # Indicates whether the token is currently active. `true` only when
467
- # the token is valid, has not expired, has not been revoked, and
521
+ # Indicates whether the token is currently active. Returns "true" only
522
+ # when the token is valid, has not expired, has not been revoked, and
468
523
  # belongs to the caller's account.
469
524
  # @return [Boolean]
470
525
  #
@@ -473,9 +528,8 @@ module Aws::Signin
473
528
  # @return [String]
474
529
  #
475
530
  # @!attribute [rw] user_id
476
- # User identifier matching sts:GetCallerIdentity's `UserId` field for
477
- # the token's subject principal (e.g. "AIDAEXAMPLE" for an IAM user,
478
- # or "AROAEXAMPLE:session-name" for an assumed role).
531
+ # User identifier matching the "UserId" field from
532
+ # "sts:GetCallerIdentity" for the token's subject principal.
479
533
  # @return [String]
480
534
  #
481
535
  # @!attribute [rw] token_type
@@ -496,15 +550,13 @@ module Aws::Signin
496
550
  # @return [Integer]
497
551
  #
498
552
  # @!attribute [rw] sub
499
- # Subject of the token: the IAM principal ARN. For assumed-role
500
- # sessions, this is the session ARN (matches sts:GetCallerIdentity's
501
- # `Arn` field), e.g.
502
- # arn:aws:sts::123456789012:assumed-role/MyRole/session-name.
553
+ # The IAM principal Amazon Resource Name (ARN). For assumed-role
554
+ # sessions, this is the session ARN.
503
555
  # @return [String]
504
556
  #
505
557
  # @!attribute [rw] aud
506
- # Audience of the token: the OAuth resource the token is scoped to
507
- # (for example, "aws-mcp.amazonaws.com"). Omitted for refresh tokens.
558
+ # The OAuth resource the token is scoped to. Omitted for refresh
559
+ # tokens. Example: "aws-mcp.amazonaws.com".
508
560
  # @return [String]
509
561
  #
510
562
  # @!attribute [rw] iss
@@ -525,8 +577,8 @@ module Aws::Signin
525
577
  # @return [String]
526
578
  #
527
579
  # @!attribute [rw] resource
528
- # The OAuth resource the token is scoped to during Human OAuth flow.
529
- # Only present for refresh token introspection.
580
+ # The OAuth resource the token is scoped to. Only present for refresh
581
+ # token introspection.
530
582
  # @return [String]
531
583
  #
532
584
  # @see http://docs.aws.amazon.com/goto/WebAPI/signin-2023-01-01/IntrospectOAuth2TokenWithIAMResponse AWS API Documentation
@@ -550,6 +602,43 @@ module Aws::Signin
550
602
  include Aws::Structure
551
603
  end
552
604
 
605
+ # The request failed because the provided grant is invalid or expired.
606
+ #
607
+ # @!attribute [rw] error
608
+ # Will be invalid\_grant.
609
+ # @return [String]
610
+ #
611
+ # @!attribute [rw] message
612
+ # @return [String]
613
+ #
614
+ # @see http://docs.aws.amazon.com/goto/WebAPI/signin-2023-01-01/InvalidGrantException AWS API Documentation
615
+ #
616
+ class InvalidGrantException < Struct.new(
617
+ :error,
618
+ :message)
619
+ SENSITIVE = []
620
+ include Aws::Structure
621
+ end
622
+
623
+ # The request failed because the requested scope is invalid or exceeds
624
+ # the scope that can be granted.
625
+ #
626
+ # @!attribute [rw] error
627
+ # Will be invalid\_scope.
628
+ # @return [String]
629
+ #
630
+ # @!attribute [rw] message
631
+ # @return [String]
632
+ #
633
+ # @see http://docs.aws.amazon.com/goto/WebAPI/signin-2023-01-01/InvalidScopeException AWS API Documentation
634
+ #
635
+ class InvalidScopeException < Struct.new(
636
+ :error,
637
+ :message)
638
+ SENSITIVE = []
639
+ include Aws::Structure
640
+ end
641
+
553
642
  # Input for ListResourcePermissionStatements operation
554
643
  #
555
644
  # @!attribute [rw] max_results
@@ -777,9 +866,8 @@ module Aws::Signin
777
866
  # revoke.
778
867
  #
779
868
  # @!attribute [rw] token
780
- # The refresh\_token to revoke. Must be a refresh\_token issued by AWS
781
- # Sign-In (prefix "ASOR"); access\_tokens are not accepted for
782
- # revocation.
869
+ # The refresh token to revoke. Must be a refresh token issued by AWS
870
+ # Sign-In. Access tokens are not accepted for revocation.
783
871
  # @return [String]
784
872
  #
785
873
  # @see http://docs.aws.amazon.com/goto/WebAPI/signin-2023-01-01/RevokeOAuth2TokenWithIAMRequest AWS API Documentation
@@ -825,6 +913,25 @@ module Aws::Signin
825
913
  include Aws::Structure
826
914
  end
827
915
 
916
+ # The request failed because a dependency is temporarily unavailable.
917
+ # You can retry the request.
918
+ #
919
+ # @!attribute [rw] error
920
+ # Will be service\_unavailable.
921
+ # @return [String]
922
+ #
923
+ # @!attribute [rw] message
924
+ # @return [String]
925
+ #
926
+ # @see http://docs.aws.amazon.com/goto/WebAPI/signin-2023-01-01/ServiceUnavailableException AWS API Documentation
927
+ #
928
+ class ServiceUnavailableException < Struct.new(
929
+ :error,
930
+ :message)
931
+ SENSITIVE = []
932
+ include Aws::Structure
933
+ end
934
+
828
935
  # SignIn resource-based policy document
829
936
  #
830
937
  # @!attribute [rw] version
@@ -844,29 +951,15 @@ module Aws::Signin
844
951
  include Aws::Structure
845
952
  end
846
953
 
847
- # Error thrown when rate limit is exceeded
848
- #
849
- # HTTP Status Code: 429 Too Many Requests
850
- #
851
- # Possible OAuth2ErrorCode values:
852
- #
853
- # * INVALID\_REQUEST: Rate limiting, too many requests, abuse prevention
854
- #
855
- # Possible causes:
856
- #
857
- # * Too many token requests from the same client
858
- # * Rate limiting based on client\_id or IP address
859
- # * Abuse prevention mechanisms triggered
860
- # * Service protection against excessive token generation
954
+ # The request failed because you exceeded the request rate limit for
955
+ # this operation.
861
956
  #
862
957
  # @!attribute [rw] error
863
- # OAuth 2.0 error code indicating the specific type of error Will be
864
- # INVALID\_REQUEST for rate limiting scenarios
958
+ # Will be rate\_exceeded.
865
959
  # @return [String]
866
960
  #
867
961
  # @!attribute [rw] message
868
- # Detailed message about the rate limiting May include retry-after
869
- # information or rate limit details
962
+ # Details about the rate limit.
870
963
  # @return [String]
871
964
  #
872
965
  # @see http://docs.aws.amazon.com/goto/WebAPI/signin-2023-01-01/TooManyRequestsError AWS API Documentation
@@ -878,21 +971,15 @@ module Aws::Signin
878
971
  include Aws::Structure
879
972
  end
880
973
 
881
- # Error thrown when request validation fails
882
- #
883
- # HTTP Status Code: 400 Bad Request
884
- #
885
- # Used for request validation errors such as malformed parameters,
886
- # missing required fields, or invalid parameter values.
974
+ # The request failed because it contains a malformed, missing, or
975
+ # invalid parameter.
887
976
  #
888
977
  # @!attribute [rw] error
889
- # OAuth 2.0 error code indicating validation failure Will be
890
- # INVALID\_REQUEST for validation errors
978
+ # The specific code depends on which validation failed.
891
979
  # @return [String]
892
980
  #
893
981
  # @!attribute [rw] message
894
- # Detailed message explaining the validation failure Provides specific
895
- # information about which validation failed
982
+ # The validation constraint that failed.
896
983
  # @return [String]
897
984
  #
898
985
  # @see http://docs.aws.amazon.com/goto/WebAPI/signin-2023-01-01/ValidationException AWS API Documentation
@@ -56,7 +56,7 @@ module Aws::Signin
56
56
  autoload :EndpointProvider, 'aws-sdk-signin/endpoint_provider'
57
57
  autoload :Endpoints, 'aws-sdk-signin/endpoints'
58
58
 
59
- GEM_VERSION = '3.260.0'
59
+ GEM_VERSION = '3.261.0'
60
60
 
61
61
  end
62
62
 
@@ -703,7 +703,7 @@ module Aws::SSO
703
703
  tracer: tracer
704
704
  )
705
705
  context[:gem_name] = 'aws-sdk-core'
706
- context[:gem_version] = '3.260.0'
706
+ context[:gem_version] = '3.261.0'
707
707
  Seahorse::Client::Request.new(handlers, context)
708
708
  end
709
709
 
data/lib/aws-sdk-sso.rb CHANGED
@@ -56,7 +56,7 @@ module Aws::SSO
56
56
  autoload :EndpointProvider, 'aws-sdk-sso/endpoint_provider'
57
57
  autoload :Endpoints, 'aws-sdk-sso/endpoints'
58
58
 
59
- GEM_VERSION = '3.260.0'
59
+ GEM_VERSION = '3.261.0'
60
60
 
61
61
  end
62
62
 
@@ -1086,7 +1086,7 @@ module Aws::SSOOIDC
1086
1086
  tracer: tracer
1087
1087
  )
1088
1088
  context[:gem_name] = 'aws-sdk-core'
1089
- context[:gem_version] = '3.260.0'
1089
+ context[:gem_version] = '3.261.0'
1090
1090
  Seahorse::Client::Request.new(handlers, context)
1091
1091
  end
1092
1092
 
@@ -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.260.0'
59
+ GEM_VERSION = '3.261.0'
60
60
 
61
61
  end
62
62
 
@@ -2807,7 +2807,7 @@ module Aws::STS
2807
2807
  tracer: tracer
2808
2808
  )
2809
2809
  context[:gem_name] = 'aws-sdk-core'
2810
- context[:gem_version] = '3.260.0'
2810
+ context[:gem_version] = '3.261.0'
2811
2811
  Seahorse::Client::Request.new(handlers, context)
2812
2812
  end
2813
2813
 
data/lib/aws-sdk-sts.rb CHANGED
@@ -56,7 +56,7 @@ module Aws::STS
56
56
  autoload :EndpointProvider, 'aws-sdk-sts/endpoint_provider'
57
57
  autoload :Endpoints, 'aws-sdk-sts/endpoints'
58
58
 
59
- GEM_VERSION = '3.260.0'
59
+ GEM_VERSION = '3.261.0'
60
60
 
61
61
  end
62
62
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.260.0
4
+ version: 3.261.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services