aws-sdk-core 3.173.0 → 3.254.1

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 (213) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +947 -0
  3. data/VERSION +1 -1
  4. data/lib/aws-defaults/default_configuration.rb +5 -6
  5. data/lib/aws-defaults.rb +4 -1
  6. data/lib/aws-sdk-core/arn.rb +1 -3
  7. data/lib/aws-sdk-core/assume_role_credentials.rb +21 -13
  8. data/lib/aws-sdk-core/assume_role_web_identity_credentials.rb +16 -9
  9. data/lib/aws-sdk-core/binary/decode_handler.rb +3 -9
  10. data/lib/aws-sdk-core/binary/encode_handler.rb +1 -1
  11. data/lib/aws-sdk-core/binary/event_builder.rb +34 -37
  12. data/lib/aws-sdk-core/binary/event_stream_decoder.rb +1 -0
  13. data/lib/aws-sdk-core/binary/event_stream_encoder.rb +4 -3
  14. data/lib/aws-sdk-core/cbor/decoder.rb +309 -0
  15. data/lib/aws-sdk-core/cbor/encoder.rb +243 -0
  16. data/lib/aws-sdk-core/cbor.rb +53 -0
  17. data/lib/aws-sdk-core/client_side_monitoring.rb +9 -0
  18. data/lib/aws-sdk-core/client_stubs.rb +39 -55
  19. data/lib/aws-sdk-core/credential_provider.rb +8 -1
  20. data/lib/aws-sdk-core/credential_provider_chain.rb +101 -25
  21. data/lib/aws-sdk-core/credentials.rb +19 -6
  22. data/lib/aws-sdk-core/ec2_metadata.rb +1 -1
  23. data/lib/aws-sdk-core/ecs_credentials.rb +104 -26
  24. data/lib/aws-sdk-core/endpoints/endpoint.rb +3 -1
  25. data/lib/aws-sdk-core/endpoints/matchers.rb +21 -19
  26. data/lib/aws-sdk-core/endpoints.rb +106 -22
  27. data/lib/aws-sdk-core/error_handler.rb +46 -0
  28. data/lib/aws-sdk-core/errors.rb +17 -5
  29. data/lib/aws-sdk-core/event_emitter.rb +1 -17
  30. data/lib/aws-sdk-core/ini_parser.rb +7 -0
  31. data/lib/aws-sdk-core/instance_profile_credentials.rb +181 -158
  32. data/lib/aws-sdk-core/json/builder.rb +23 -1
  33. data/lib/aws-sdk-core/json/error_handler.rb +31 -14
  34. data/lib/aws-sdk-core/json/handler.rb +13 -6
  35. data/lib/aws-sdk-core/json/json_engine.rb +3 -1
  36. data/lib/aws-sdk-core/json/oj_engine.rb +7 -1
  37. data/lib/aws-sdk-core/json/parser.rb +33 -3
  38. data/lib/aws-sdk-core/json.rb +43 -14
  39. data/lib/aws-sdk-core/log/param_filter.rb +2 -2
  40. data/lib/aws-sdk-core/log/param_formatter.rb +7 -3
  41. data/lib/aws-sdk-core/log.rb +10 -0
  42. data/lib/aws-sdk-core/login_credentials.rb +230 -0
  43. data/lib/aws-sdk-core/lru_cache.rb +75 -0
  44. data/lib/aws-sdk-core/pageable_response.rb +3 -1
  45. data/lib/aws-sdk-core/param_validator.rb +9 -4
  46. data/lib/aws-sdk-core/plugins/bearer_authorization.rb +2 -0
  47. data/lib/aws-sdk-core/plugins/checksum_algorithm.rb +437 -201
  48. data/lib/aws-sdk-core/plugins/client_metrics_plugin.rb +1 -1
  49. data/lib/aws-sdk-core/plugins/client_metrics_send_plugin.rb +14 -2
  50. data/lib/aws-sdk-core/plugins/credentials_configuration.rb +78 -56
  51. data/lib/aws-sdk-core/plugins/endpoint_pattern.rb +40 -32
  52. data/lib/aws-sdk-core/plugins/global_configuration.rb +8 -9
  53. data/lib/aws-sdk-core/plugins/http_checksum.rb +3 -8
  54. data/lib/aws-sdk-core/plugins/invocation_id.rb +1 -11
  55. data/lib/aws-sdk-core/plugins/logging.rb +2 -0
  56. data/lib/aws-sdk-core/plugins/protocols/api_gateway.rb +3 -1
  57. data/lib/aws-sdk-core/plugins/protocols/ec2.rb +2 -24
  58. data/lib/aws-sdk-core/plugins/protocols/json_rpc.rb +6 -8
  59. data/lib/aws-sdk-core/plugins/protocols/query.rb +4 -2
  60. data/lib/aws-sdk-core/plugins/protocols/rest_json.rb +3 -15
  61. data/lib/aws-sdk-core/plugins/protocols/rest_xml.rb +3 -0
  62. data/lib/aws-sdk-core/plugins/protocols/rpc_v2.rb +17 -0
  63. data/lib/aws-sdk-core/plugins/regional_endpoint.rb +162 -37
  64. data/lib/aws-sdk-core/plugins/request_compression.rb +226 -0
  65. data/lib/aws-sdk-core/plugins/retries/clock_skew.rb +28 -16
  66. data/lib/aws-sdk-core/plugins/retries/retry_quota.rb +11 -8
  67. data/lib/aws-sdk-core/plugins/retry_errors.rb +211 -110
  68. data/lib/aws-sdk-core/plugins/sign.rb +55 -33
  69. data/lib/aws-sdk-core/plugins/signature_v2.rb +2 -1
  70. data/lib/aws-sdk-core/plugins/signature_v4.rb +2 -1
  71. data/lib/aws-sdk-core/plugins/stub_responses.rb +59 -9
  72. data/lib/aws-sdk-core/plugins/telemetry.rb +75 -0
  73. data/lib/aws-sdk-core/plugins/transfer_encoding.rb +16 -9
  74. data/lib/aws-sdk-core/plugins/user_agent.rb +205 -14
  75. data/lib/aws-sdk-core/plugins.rb +39 -0
  76. data/lib/aws-sdk-core/process_credentials.rb +48 -29
  77. data/lib/aws-sdk-core/query/ec2_handler.rb +27 -0
  78. data/lib/aws-sdk-core/query/ec2_param_builder.rb +5 -7
  79. data/lib/aws-sdk-core/query/handler.rb +4 -4
  80. data/lib/aws-sdk-core/query/param_builder.rb +2 -2
  81. data/lib/aws-sdk-core/query.rb +2 -1
  82. data/lib/aws-sdk-core/refreshing_credentials.rb +20 -23
  83. data/lib/aws-sdk-core/resources.rb +8 -0
  84. data/lib/aws-sdk-core/rest/content_type_handler.rb +60 -0
  85. data/lib/aws-sdk-core/rest/handler.rb +3 -4
  86. data/lib/aws-sdk-core/rest/request/body.rb +32 -5
  87. data/lib/aws-sdk-core/rest/request/endpoint.rb +24 -4
  88. data/lib/aws-sdk-core/rest/request/headers.rb +15 -7
  89. data/lib/aws-sdk-core/rest/request/querystring_builder.rb +62 -36
  90. data/lib/aws-sdk-core/rest/response/body.rb +15 -1
  91. data/lib/aws-sdk-core/rest/response/header_list_parser.rb +79 -0
  92. data/lib/aws-sdk-core/rest/response/headers.rb +8 -3
  93. data/lib/aws-sdk-core/rest.rb +1 -0
  94. data/lib/aws-sdk-core/rpc_v2/builder.rb +62 -0
  95. data/lib/aws-sdk-core/rpc_v2/cbor_engine.rb +18 -0
  96. data/lib/aws-sdk-core/rpc_v2/content_type_handler.rb +47 -0
  97. data/lib/aws-sdk-core/rpc_v2/error_handler.rb +95 -0
  98. data/lib/aws-sdk-core/rpc_v2/handler.rb +79 -0
  99. data/lib/aws-sdk-core/rpc_v2/parser.rb +98 -0
  100. data/lib/aws-sdk-core/rpc_v2.rb +69 -0
  101. data/lib/aws-sdk-core/shared_config.rb +155 -39
  102. data/lib/aws-sdk-core/shared_credentials.rb +1 -7
  103. data/lib/aws-sdk-core/sso_credentials.rb +6 -3
  104. data/lib/aws-sdk-core/sso_token_provider.rb +1 -0
  105. data/lib/aws-sdk-core/static_token_provider.rb +1 -2
  106. data/lib/aws-sdk-core/stubbing/protocols/ec2.rb +12 -11
  107. data/lib/aws-sdk-core/stubbing/protocols/json.rb +11 -10
  108. data/lib/aws-sdk-core/stubbing/protocols/query.rb +7 -6
  109. data/lib/aws-sdk-core/stubbing/protocols/rest.rb +2 -1
  110. data/lib/aws-sdk-core/stubbing/protocols/rest_json.rb +9 -8
  111. data/lib/aws-sdk-core/stubbing/protocols/rest_xml.rb +6 -5
  112. data/lib/aws-sdk-core/stubbing/protocols/rpc_v2.rb +39 -0
  113. data/lib/aws-sdk-core/stubbing/stub_data.rb +11 -0
  114. data/lib/aws-sdk-core/stubbing.rb +22 -0
  115. data/lib/aws-sdk-core/telemetry/base.rb +177 -0
  116. data/lib/aws-sdk-core/telemetry/no_op.rb +70 -0
  117. data/lib/aws-sdk-core/telemetry/otel.rb +235 -0
  118. data/lib/aws-sdk-core/telemetry/span_kind.rb +22 -0
  119. data/lib/aws-sdk-core/telemetry/span_status.rb +59 -0
  120. data/lib/aws-sdk-core/telemetry.rb +78 -0
  121. data/lib/aws-sdk-core/token.rb +3 -3
  122. data/lib/aws-sdk-core/token_provider.rb +4 -0
  123. data/lib/aws-sdk-core/token_provider_chain.rb +2 -6
  124. data/lib/aws-sdk-core/util.rb +41 -1
  125. data/lib/aws-sdk-core/waiters/poller.rb +12 -5
  126. data/lib/aws-sdk-core/xml/builder.rb +17 -9
  127. data/lib/aws-sdk-core/xml/error_handler.rb +35 -43
  128. data/lib/aws-sdk-core/xml/parser/frame.rb +4 -20
  129. data/lib/aws-sdk-core/xml/parser/stack.rb +2 -0
  130. data/lib/aws-sdk-core/xml/parser.rb +2 -6
  131. data/lib/aws-sdk-core.rb +86 -107
  132. data/lib/aws-sdk-signin/client.rb +1008 -0
  133. data/lib/aws-sdk-signin/client_api.rb +444 -0
  134. data/lib/aws-sdk-signin/customizations.rb +1 -0
  135. data/lib/aws-sdk-signin/endpoint_parameters.rb +85 -0
  136. data/lib/aws-sdk-signin/endpoint_provider.rb +107 -0
  137. data/lib/aws-sdk-signin/endpoints.rb +133 -0
  138. data/lib/aws-sdk-signin/errors.rb +185 -0
  139. data/lib/aws-sdk-signin/plugins/endpoints.rb +77 -0
  140. data/lib/aws-sdk-signin/resource.rb +26 -0
  141. data/lib/aws-sdk-signin/types.rb +909 -0
  142. data/lib/aws-sdk-signin.rb +63 -0
  143. data/lib/aws-sdk-sso/client.rb +210 -99
  144. data/lib/aws-sdk-sso/client_api.rb +7 -0
  145. data/lib/aws-sdk-sso/endpoint_parameters.rb +13 -10
  146. data/lib/aws-sdk-sso/endpoint_provider.rb +30 -28
  147. data/lib/aws-sdk-sso/endpoints.rb +3 -54
  148. data/lib/aws-sdk-sso/plugins/endpoints.rb +23 -22
  149. data/lib/aws-sdk-sso/types.rb +1 -0
  150. data/lib/aws-sdk-sso.rb +15 -11
  151. data/lib/aws-sdk-ssooidc/client.rb +630 -132
  152. data/lib/aws-sdk-ssooidc/client_api.rb +94 -1
  153. data/lib/aws-sdk-ssooidc/endpoint_parameters.rb +13 -10
  154. data/lib/aws-sdk-ssooidc/endpoint_provider.rb +30 -28
  155. data/lib/aws-sdk-ssooidc/endpoints.rb +3 -40
  156. data/lib/aws-sdk-ssooidc/errors.rb +62 -0
  157. data/lib/aws-sdk-ssooidc/plugins/endpoints.rb +23 -20
  158. data/lib/aws-sdk-ssooidc/types.rb +419 -53
  159. data/lib/aws-sdk-ssooidc.rb +15 -11
  160. data/lib/aws-sdk-sts/client.rb +567 -158
  161. data/lib/aws-sdk-sts/client_api.rb +120 -9
  162. data/lib/aws-sdk-sts/customizations.rb +5 -2
  163. data/lib/aws-sdk-sts/endpoint_parameters.rb +15 -14
  164. data/lib/aws-sdk-sts/endpoint_provider.rb +52 -57
  165. data/lib/aws-sdk-sts/endpoints.rb +3 -118
  166. data/lib/aws-sdk-sts/errors.rb +79 -0
  167. data/lib/aws-sdk-sts/plugins/endpoints.rb +23 -30
  168. data/lib/aws-sdk-sts/presigner.rb +3 -7
  169. data/lib/aws-sdk-sts/types.rb +382 -31
  170. data/lib/aws-sdk-sts.rb +15 -11
  171. data/lib/seahorse/client/async_base.rb +4 -5
  172. data/lib/seahorse/client/async_response.rb +19 -0
  173. data/lib/seahorse/client/base.rb +18 -21
  174. data/lib/seahorse/client/configuration.rb +0 -4
  175. data/lib/seahorse/client/h2/connection.rb +18 -28
  176. data/lib/seahorse/client/h2/handler.rb +19 -3
  177. data/lib/seahorse/client/handler.rb +1 -1
  178. data/lib/seahorse/client/http/response.rb +1 -1
  179. data/lib/seahorse/client/net_http/connection_pool.rb +15 -12
  180. data/lib/seahorse/client/net_http/handler.rb +21 -9
  181. data/lib/seahorse/client/net_http/patches.rb +44 -14
  182. data/lib/seahorse/client/networking_error.rb +1 -1
  183. data/lib/seahorse/client/plugin.rb +9 -0
  184. data/lib/seahorse/client/plugins/endpoint.rb +0 -1
  185. data/lib/seahorse/client/plugins/h2.rb +4 -4
  186. data/lib/seahorse/client/plugins/net_http.rb +57 -16
  187. data/lib/seahorse/client/plugins/request_callback.rb +31 -0
  188. data/lib/seahorse/client/request_context.rb +9 -2
  189. data/lib/seahorse/client/response.rb +8 -0
  190. data/lib/seahorse/model/operation.rb +3 -0
  191. data/lib/seahorse/model/shapes.rb +2 -2
  192. data/lib/seahorse/util.rb +2 -1
  193. data/sig/aws-sdk-core/async_client_stubs.rbs +21 -0
  194. data/sig/aws-sdk-core/client_stubs.rbs +10 -0
  195. data/sig/aws-sdk-core/errors.rbs +22 -0
  196. data/sig/aws-sdk-core/resources/collection.rbs +21 -0
  197. data/sig/aws-sdk-core/structure.rbs +4 -0
  198. data/sig/aws-sdk-core/telemetry/base.rbs +46 -0
  199. data/sig/aws-sdk-core/telemetry/otel.rbs +22 -0
  200. data/sig/aws-sdk-core/telemetry/span_kind.rbs +15 -0
  201. data/sig/aws-sdk-core/telemetry/span_status.rbs +24 -0
  202. data/sig/aws-sdk-core/waiters/errors.rbs +20 -0
  203. data/sig/aws-sdk-core.rbs +7 -0
  204. data/sig/seahorse/client/async_base.rbs +18 -0
  205. data/sig/seahorse/client/base.rbs +25 -0
  206. data/sig/seahorse/client/handler_builder.rbs +16 -0
  207. data/sig/seahorse/client/response.rbs +61 -0
  208. metadata +118 -23
  209. /data/lib/aws-sdk-core/xml/parser/{engines/libxml.rb → libxml_engine.rb} +0 -0
  210. /data/lib/aws-sdk-core/xml/parser/{engines/nokogiri.rb → nokogiri_engine.rb} +0 -0
  211. /data/lib/aws-sdk-core/xml/parser/{engines/oga.rb → oga_engine.rb} +0 -0
  212. /data/lib/aws-sdk-core/xml/parser/{engines/ox.rb → ox_engine.rb} +0 -0
  213. /data/lib/aws-sdk-core/xml/parser/{engines/rexml.rb → rexml_engine.rb} +0 -0
@@ -0,0 +1,909 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ module Aws::Signin
11
+ module Types
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.
25
+ #
26
+ # @!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
30
+ # @return [String]
31
+ #
32
+ # @!attribute [rw] message
33
+ # Detailed message explaining the access denial Provides specific
34
+ # information about why access was denied
35
+ # @return [String]
36
+ #
37
+ # @see http://docs.aws.amazon.com/goto/WebAPI/signin-2023-01-01/AccessDeniedException AWS API Documentation
38
+ #
39
+ class AccessDeniedException < Struct.new(
40
+ :error,
41
+ :message)
42
+ SENSITIVE = []
43
+ include Aws::Structure
44
+ end
45
+
46
+ # AWS credentials structure containing temporary access credentials
47
+ #
48
+ # Scoped, temporary AWS credentials with a 15-minute duration.
49
+ #
50
+ # @!attribute [rw] access_key_id
51
+ # AWS access key ID for temporary credentials
52
+ # @return [String]
53
+ #
54
+ # @!attribute [rw] secret_access_key
55
+ # AWS secret access key for temporary credentials
56
+ # @return [String]
57
+ #
58
+ # @!attribute [rw] session_token
59
+ # AWS session token for temporary credentials
60
+ # @return [String]
61
+ #
62
+ # @see http://docs.aws.amazon.com/goto/WebAPI/signin-2023-01-01/AccessToken AWS API Documentation
63
+ #
64
+ class AccessToken < Struct.new(
65
+ :access_key_id,
66
+ :secret_access_key,
67
+ :session_token)
68
+ SENSITIVE = []
69
+ include Aws::Structure
70
+ end
71
+
72
+ # Error thrown when request conflicts with current state
73
+ #
74
+ # HTTP Status Code: 409 Conflict
75
+ #
76
+ # Used when the request conflicts with the current state of the resource
77
+ #
78
+ # @!attribute [rw] error
79
+ # OAuth 2.0 error code indicating conflict Will be CONFLICT
80
+ # @return [String]
81
+ #
82
+ # @!attribute [rw] message
83
+ # Detailed message explaining the conflict Provides specific
84
+ # information about what caused the conflict
85
+ # @return [String]
86
+ #
87
+ # @see http://docs.aws.amazon.com/goto/WebAPI/signin-2023-01-01/ConflictException AWS API Documentation
88
+ #
89
+ class ConflictException < Struct.new(
90
+ :error,
91
+ :message)
92
+ SENSITIVE = []
93
+ include Aws::Structure
94
+ end
95
+
96
+ # Input structure for CreateOAuth2Token operation
97
+ #
98
+ # Contains flattened token operation inputs for both authorization code
99
+ # and refresh token flows. The operation type is determined by the
100
+ # grant\_type parameter in the request body.
101
+ #
102
+ # @!attribute [rw] token_input
103
+ # Flattened token operation inputs The specific operation is
104
+ # determined by grant\_type in the request body
105
+ # @return [Types::CreateOAuth2TokenRequestBody]
106
+ #
107
+ # @see http://docs.aws.amazon.com/goto/WebAPI/signin-2023-01-01/CreateOAuth2TokenRequest AWS API Documentation
108
+ #
109
+ class CreateOAuth2TokenRequest < Struct.new(
110
+ :token_input)
111
+ SENSITIVE = []
112
+ include Aws::Structure
113
+ end
114
+
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
122
+ #
123
+ # @!attribute [rw] client_id
124
+ # The client identifier (ARN) used during Sign-In onboarding Required
125
+ # for both authorization code and refresh token flows
126
+ # @return [String]
127
+ #
128
+ # @!attribute [rw] grant_type
129
+ # OAuth 2.0 grant type - determines which flow is used Must be
130
+ # "authorization\_code" or "refresh\_token"
131
+ # @return [String]
132
+ #
133
+ # @!attribute [rw] code
134
+ # The authorization code received from /v1/authorize Required only
135
+ # when grant\_type=authorization\_code
136
+ # @return [String]
137
+ #
138
+ # @!attribute [rw] redirect_uri
139
+ # The redirect URI that must match the original authorization request
140
+ # Required only when grant\_type=authorization\_code
141
+ # @return [String]
142
+ #
143
+ # @!attribute [rw] code_verifier
144
+ # PKCE code verifier to prove possession of the original code
145
+ # challenge Required only when grant\_type=authorization\_code
146
+ # @return [String]
147
+ #
148
+ # @!attribute [rw] refresh_token
149
+ # The refresh token returned from auth\_code redemption Required only
150
+ # when grant\_type=refresh\_token
151
+ # @return [String]
152
+ #
153
+ # @see http://docs.aws.amazon.com/goto/WebAPI/signin-2023-01-01/CreateOAuth2TokenRequestBody AWS API Documentation
154
+ #
155
+ class CreateOAuth2TokenRequestBody < Struct.new(
156
+ :client_id,
157
+ :grant_type,
158
+ :code,
159
+ :redirect_uri,
160
+ :code_verifier,
161
+ :refresh_token)
162
+ SENSITIVE = [:refresh_token]
163
+ include Aws::Structure
164
+ end
165
+
166
+ # Output structure for CreateOAuth2Token operation
167
+ #
168
+ # Contains flattened token operation outputs for both authorization code
169
+ # and refresh token flows. The response content depends on the
170
+ # grant\_type from the original request.
171
+ #
172
+ # @!attribute [rw] token_output
173
+ # Flattened token operation outputs The specific response fields
174
+ # depend on the grant\_type used in the request
175
+ # @return [Types::CreateOAuth2TokenResponseBody]
176
+ #
177
+ # @see http://docs.aws.amazon.com/goto/WebAPI/signin-2023-01-01/CreateOAuth2TokenResponse AWS API Documentation
178
+ #
179
+ class CreateOAuth2TokenResponse < Struct.new(
180
+ :token_output)
181
+ SENSITIVE = []
182
+ include Aws::Structure
183
+ end
184
+
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)
193
+ #
194
+ # @!attribute [rw] access_token
195
+ # Scoped-down AWS credentials (15 minute duration) Present for both
196
+ # authorization code redemption and token refresh
197
+ # @return [Types::AccessToken]
198
+ #
199
+ # @!attribute [rw] token_type
200
+ # Token type indicating this is AWS SigV4 credentials Value is
201
+ # "aws\_sigv4" for both flows
202
+ # @return [String]
203
+ #
204
+ # @!attribute [rw] expires_in
205
+ # Time to expiry in seconds (maximum 900) Present for both
206
+ # authorization code redemption and token refresh
207
+ # @return [Integer]
208
+ #
209
+ # @!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)
212
+ # @return [String]
213
+ #
214
+ # @!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
219
+ # @return [String]
220
+ #
221
+ # @see http://docs.aws.amazon.com/goto/WebAPI/signin-2023-01-01/CreateOAuth2TokenResponseBody AWS API Documentation
222
+ #
223
+ class CreateOAuth2TokenResponseBody < Struct.new(
224
+ :access_token,
225
+ :token_type,
226
+ :expires_in,
227
+ :refresh_token,
228
+ :id_token)
229
+ SENSITIVE = [:access_token, :refresh_token]
230
+ include Aws::Structure
231
+ end
232
+
233
+ # Input structure for CreateOAuth2TokenWithIAM operation
234
+ #
235
+ # @!attribute [rw] grant_type
236
+ # OAuth 2.0 grant type. Must be "client\_credentials".
237
+ # @return [String]
238
+ #
239
+ # @!attribute [rw] resource
240
+ # The OAuth resource for which the access token is requested. Example:
241
+ # "aws-mcp.amazonaws.com".
242
+ # @return [String]
243
+ #
244
+ # @see http://docs.aws.amazon.com/goto/WebAPI/signin-2023-01-01/CreateOAuth2TokenWithIAMRequest AWS API Documentation
245
+ #
246
+ class CreateOAuth2TokenWithIAMRequest < Struct.new(
247
+ :grant_type,
248
+ :resource)
249
+ SENSITIVE = []
250
+ include Aws::Structure
251
+ end
252
+
253
+ # Output structure for CreateOAuth2TokenWithIAM operation
254
+ #
255
+ # Contains the JWT access token, token type, and expiration per RFC 6749
256
+ # §5.1.
257
+ #
258
+ # @!attribute [rw] access_token
259
+ # JWT access token containing principal identity, resource scope, and
260
+ # session metadata
261
+ # @return [String]
262
+ #
263
+ # @!attribute [rw] token_type
264
+ # Always "Bearer" per OAuth 2.1 specification
265
+ # @return [String]
266
+ #
267
+ # @!attribute [rw] expires_in
268
+ # Token lifetime in seconds. Value is the minimum of session validity
269
+ # and 1 hour.
270
+ # @return [Integer]
271
+ #
272
+ # @see http://docs.aws.amazon.com/goto/WebAPI/signin-2023-01-01/CreateOAuth2TokenWithIAMResponse AWS API Documentation
273
+ #
274
+ class CreateOAuth2TokenWithIAMResponse < Struct.new(
275
+ :access_token,
276
+ :token_type,
277
+ :expires_in)
278
+ SENSITIVE = [:access_token]
279
+ include Aws::Structure
280
+ end
281
+
282
+ # Input for DeleteConsoleAuthorizationConfiguration operation
283
+ #
284
+ # @!attribute [rw] target_id
285
+ # Target account identifier
286
+ # @return [String]
287
+ #
288
+ # @see http://docs.aws.amazon.com/goto/WebAPI/signin-2023-01-01/DeleteConsoleAuthorizationConfigurationInput AWS API Documentation
289
+ #
290
+ class DeleteConsoleAuthorizationConfigurationInput < Struct.new(
291
+ :target_id)
292
+ SENSITIVE = []
293
+ include Aws::Structure
294
+ end
295
+
296
+ # Output for DeleteConsoleAuthorizationConfiguration operation
297
+ #
298
+ # @!attribute [rw] target_id
299
+ # Target account identifier
300
+ # @return [String]
301
+ #
302
+ # @!attribute [rw] scope
303
+ # Authorization scope
304
+ # @return [String]
305
+ #
306
+ # @!attribute [rw] console_authorization_enabled
307
+ # Whether console authorization is enabled
308
+ # @return [Boolean]
309
+ #
310
+ # @see http://docs.aws.amazon.com/goto/WebAPI/signin-2023-01-01/DeleteConsoleAuthorizationConfigurationOutput AWS API Documentation
311
+ #
312
+ class DeleteConsoleAuthorizationConfigurationOutput < Struct.new(
313
+ :target_id,
314
+ :scope,
315
+ :console_authorization_enabled)
316
+ SENSITIVE = []
317
+ include Aws::Structure
318
+ end
319
+
320
+ # Input for DeleteResourcePermissionStatement operation
321
+ #
322
+ # @!attribute [rw] statement_id
323
+ # Unique identifier of the permission statement to delete
324
+ # @return [String]
325
+ #
326
+ # @!attribute [rw] client_token
327
+ # Idempotency token for the request
328
+ #
329
+ # **A suitable default value is auto-generated.** You should normally
330
+ # not need to pass this option.
331
+ # @return [String]
332
+ #
333
+ # @see http://docs.aws.amazon.com/goto/WebAPI/signin-2023-01-01/DeleteResourcePermissionStatementInput AWS API Documentation
334
+ #
335
+ class DeleteResourcePermissionStatementInput < Struct.new(
336
+ :statement_id,
337
+ :client_token)
338
+ SENSITIVE = []
339
+ include Aws::Structure
340
+ end
341
+
342
+ # Output for DeleteResourcePermissionStatement operation
343
+ #
344
+ # @see http://docs.aws.amazon.com/goto/WebAPI/signin-2023-01-01/DeleteResourcePermissionStatementOutput AWS API Documentation
345
+ #
346
+ class DeleteResourcePermissionStatementOutput < Aws::EmptyStructure; end
347
+
348
+ # Input for GetConsoleAuthorizationConfiguration operation
349
+ #
350
+ # @!attribute [rw] target_id
351
+ # Target account identifier
352
+ # @return [String]
353
+ #
354
+ # @see http://docs.aws.amazon.com/goto/WebAPI/signin-2023-01-01/GetConsoleAuthorizationConfigurationInput AWS API Documentation
355
+ #
356
+ class GetConsoleAuthorizationConfigurationInput < Struct.new(
357
+ :target_id)
358
+ SENSITIVE = []
359
+ include Aws::Structure
360
+ end
361
+
362
+ # Output for GetConsoleAuthorizationConfiguration operation
363
+ #
364
+ # @!attribute [rw] target_id
365
+ # Target account identifier
366
+ # @return [String]
367
+ #
368
+ # @!attribute [rw] scope
369
+ # Authorization scope
370
+ # @return [String]
371
+ #
372
+ # @!attribute [rw] console_authorization_enabled
373
+ # Whether console authorization is enabled
374
+ # @return [Boolean]
375
+ #
376
+ # @see http://docs.aws.amazon.com/goto/WebAPI/signin-2023-01-01/GetConsoleAuthorizationConfigurationOutput AWS API Documentation
377
+ #
378
+ class GetConsoleAuthorizationConfigurationOutput < Struct.new(
379
+ :target_id,
380
+ :scope,
381
+ :console_authorization_enabled)
382
+ SENSITIVE = []
383
+ include Aws::Structure
384
+ end
385
+
386
+ # Input for GetResourcePolicy operation
387
+ #
388
+ # @api private
389
+ #
390
+ # @see http://docs.aws.amazon.com/goto/WebAPI/signin-2023-01-01/GetResourcePolicyInput AWS API Documentation
391
+ #
392
+ class GetResourcePolicyInput < Aws::EmptyStructure; end
393
+
394
+ # Output for GetResourcePolicy operation
395
+ #
396
+ # @!attribute [rw] signin_resource_based_policy
397
+ # The account's SignIn resource-based policy
398
+ # @return [Types::SigninResourceBasedPolicy]
399
+ #
400
+ # @see http://docs.aws.amazon.com/goto/WebAPI/signin-2023-01-01/GetResourcePolicyOutput AWS API Documentation
401
+ #
402
+ class GetResourcePolicyOutput < Struct.new(
403
+ :signin_resource_based_policy)
404
+ SENSITIVE = []
405
+ include Aws::Structure
406
+ end
407
+
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.
414
+ #
415
+ # @!attribute [rw] error
416
+ # OAuth 2.0 error code indicating server error Will be SERVER\_ERROR
417
+ # for internal server errors
418
+ # @return [String]
419
+ #
420
+ # @!attribute [rw] message
421
+ # Detailed message explaining the server error May include error
422
+ # details for debugging purposes
423
+ # @return [String]
424
+ #
425
+ # @see http://docs.aws.amazon.com/goto/WebAPI/signin-2023-01-01/InternalServerException AWS API Documentation
426
+ #
427
+ class InternalServerException < Struct.new(
428
+ :error,
429
+ :message)
430
+ SENSITIVE = []
431
+ include Aws::Structure
432
+ end
433
+
434
+ # Input structure for IntrospectOAuth2TokenWithIAM operation
435
+ #
436
+ # RFC 7662 §2.1 introspection request. Contains the token to inspect and
437
+ # an optional hint about the token's type.
438
+ #
439
+ # @!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.
442
+ # @return [String]
443
+ #
444
+ # @!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.
449
+ # @return [String]
450
+ #
451
+ # @see http://docs.aws.amazon.com/goto/WebAPI/signin-2023-01-01/IntrospectOAuth2TokenWithIAMRequest AWS API Documentation
452
+ #
453
+ class IntrospectOAuth2TokenWithIAMRequest < Struct.new(
454
+ :token,
455
+ :token_type_hint)
456
+ SENSITIVE = [:token]
457
+ include Aws::Structure
458
+ end
459
+
460
+ # Output structure for IntrospectOAuth2TokenWithIAM operation
461
+ #
462
+ # RFC 7662 §2.2 introspection response. Only `active` is required; all
463
+ # other claims are omitted when the token is inactive.
464
+ #
465
+ # @!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
468
+ # belongs to the caller's account.
469
+ # @return [Boolean]
470
+ #
471
+ # @!attribute [rw] client_id
472
+ # Client identifier for the OAuth 2.0 client that requested the token.
473
+ # @return [String]
474
+ #
475
+ # @!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).
479
+ # @return [String]
480
+ #
481
+ # @!attribute [rw] token_type
482
+ # Indicates which kind of token was introspected. One of
483
+ # "access\_token" or "refresh\_token".
484
+ # @return [String]
485
+ #
486
+ # @!attribute [rw] exp
487
+ # Token expiration time as a NumericDate (Unix epoch seconds).
488
+ # @return [Integer]
489
+ #
490
+ # @!attribute [rw] iat
491
+ # Token issuance time as a NumericDate (Unix epoch seconds).
492
+ # @return [Integer]
493
+ #
494
+ # @!attribute [rw] nbf
495
+ # Token "not before" time as a NumericDate (Unix epoch seconds).
496
+ # @return [Integer]
497
+ #
498
+ # @!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.
503
+ # @return [String]
504
+ #
505
+ # @!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.
508
+ # @return [String]
509
+ #
510
+ # @!attribute [rw] iss
511
+ # Issuer of the token. Always "signin.amazonaws.com" for AWS Sign-In.
512
+ # @return [String]
513
+ #
514
+ # @!attribute [rw] jti
515
+ # Unique identifier for the token.
516
+ # @return [String]
517
+ #
518
+ # @!attribute [rw] account_id
519
+ # 12-digit AWS account ID of the token's subject principal.
520
+ # @return [String]
521
+ #
522
+ # @!attribute [rw] signin_session
523
+ # AWS Sign-In session ARN bound to the token, of the form
524
+ # arn:aws:signin:\{region}:\{account}:session/\{uuid}.
525
+ # @return [String]
526
+ #
527
+ # @!attribute [rw] resource
528
+ # The OAuth resource the token is scoped to during Human OAuth flow.
529
+ # Only present for refresh token introspection.
530
+ # @return [String]
531
+ #
532
+ # @see http://docs.aws.amazon.com/goto/WebAPI/signin-2023-01-01/IntrospectOAuth2TokenWithIAMResponse AWS API Documentation
533
+ #
534
+ class IntrospectOAuth2TokenWithIAMResponse < Struct.new(
535
+ :active,
536
+ :client_id,
537
+ :user_id,
538
+ :token_type,
539
+ :exp,
540
+ :iat,
541
+ :nbf,
542
+ :sub,
543
+ :aud,
544
+ :iss,
545
+ :jti,
546
+ :account_id,
547
+ :signin_session,
548
+ :resource)
549
+ SENSITIVE = []
550
+ include Aws::Structure
551
+ end
552
+
553
+ # Input for ListResourcePermissionStatements operation
554
+ #
555
+ # @!attribute [rw] max_results
556
+ # Maximum number of results to return
557
+ # @return [Integer]
558
+ #
559
+ # @!attribute [rw] next_token
560
+ # Token for pagination
561
+ # @return [String]
562
+ #
563
+ # @see http://docs.aws.amazon.com/goto/WebAPI/signin-2023-01-01/ListResourcePermissionStatementsInput AWS API Documentation
564
+ #
565
+ class ListResourcePermissionStatementsInput < Struct.new(
566
+ :max_results,
567
+ :next_token)
568
+ SENSITIVE = []
569
+ include Aws::Structure
570
+ end
571
+
572
+ # Output for ListResourcePermissionStatements operation
573
+ #
574
+ # @!attribute [rw] permission_statements
575
+ # List of permission statement summaries
576
+ # @return [Array<Types::PermissionStatementSummary>]
577
+ #
578
+ # @!attribute [rw] next_token
579
+ # Token for next page of results
580
+ # @return [String]
581
+ #
582
+ # @see http://docs.aws.amazon.com/goto/WebAPI/signin-2023-01-01/ListResourcePermissionStatementsOutput AWS API Documentation
583
+ #
584
+ class ListResourcePermissionStatementsOutput < Struct.new(
585
+ :permission_statements,
586
+ :next_token)
587
+ SENSITIVE = []
588
+ include Aws::Structure
589
+ end
590
+
591
+ # Summary of a permission statement
592
+ #
593
+ # @!attribute [rw] sid
594
+ # Unique identifier for the permission statement
595
+ # @return [String]
596
+ #
597
+ # @!attribute [rw] condition
598
+ # Condition block for the permission statement
599
+ # @return [Hash<String,Hash<String,Array<String>>>]
600
+ #
601
+ # @see http://docs.aws.amazon.com/goto/WebAPI/signin-2023-01-01/PermissionStatementSummary AWS API Documentation
602
+ #
603
+ class PermissionStatementSummary < Struct.new(
604
+ :sid,
605
+ :condition)
606
+ SENSITIVE = []
607
+ include Aws::Structure
608
+ end
609
+
610
+ # Individual policy statement within a resource-based policy
611
+ #
612
+ # @!attribute [rw] effect
613
+ # Effect of the policy statement (Allow/Deny)
614
+ # @return [String]
615
+ #
616
+ # @!attribute [rw] principal
617
+ # Principal the statement applies to
618
+ # @return [Hash<String,String>]
619
+ #
620
+ # @!attribute [rw] action
621
+ # Actions the statement controls
622
+ # @return [Array<String>]
623
+ #
624
+ # @!attribute [rw] resource
625
+ # Resource the statement applies to
626
+ # @return [String]
627
+ #
628
+ # @!attribute [rw] condition
629
+ # Condition block for the statement
630
+ # @return [Hash<String,Hash<String,Array<String>>>]
631
+ #
632
+ # @see http://docs.aws.amazon.com/goto/WebAPI/signin-2023-01-01/PolicyStatement AWS API Documentation
633
+ #
634
+ class PolicyStatement < Struct.new(
635
+ :effect,
636
+ :principal,
637
+ :action,
638
+ :resource,
639
+ :condition)
640
+ SENSITIVE = []
641
+ include Aws::Structure
642
+ end
643
+
644
+ # Input for PutConsoleAuthorizationConfiguration operation
645
+ #
646
+ # @!attribute [rw] target_id
647
+ # Target account identifier
648
+ # @return [String]
649
+ #
650
+ # @see http://docs.aws.amazon.com/goto/WebAPI/signin-2023-01-01/PutConsoleAuthorizationConfigurationInput AWS API Documentation
651
+ #
652
+ class PutConsoleAuthorizationConfigurationInput < Struct.new(
653
+ :target_id)
654
+ SENSITIVE = []
655
+ include Aws::Structure
656
+ end
657
+
658
+ # Output for PutConsoleAuthorizationConfiguration operation
659
+ #
660
+ # @!attribute [rw] target_id
661
+ # Target account identifier
662
+ # @return [String]
663
+ #
664
+ # @!attribute [rw] scope
665
+ # Authorization scope
666
+ # @return [String]
667
+ #
668
+ # @!attribute [rw] console_authorization_enabled
669
+ # Whether console authorization is enabled
670
+ # @return [Boolean]
671
+ #
672
+ # @see http://docs.aws.amazon.com/goto/WebAPI/signin-2023-01-01/PutConsoleAuthorizationConfigurationOutput AWS API Documentation
673
+ #
674
+ class PutConsoleAuthorizationConfigurationOutput < Struct.new(
675
+ :target_id,
676
+ :scope,
677
+ :console_authorization_enabled)
678
+ SENSITIVE = []
679
+ include Aws::Structure
680
+ end
681
+
682
+ # Input for PutResourcePermissionStatement operation
683
+ #
684
+ # @!attribute [rw] source_vpc
685
+ # VPC identifier to restrict console access
686
+ # @return [String]
687
+ #
688
+ # @!attribute [rw] signin_source_vpce
689
+ # SignIn VPC endpoint identifier
690
+ # @return [String]
691
+ #
692
+ # @!attribute [rw] console_source_vpce
693
+ # Console VPC endpoint identifier
694
+ # @return [String]
695
+ #
696
+ # @!attribute [rw] vpc_source_ip
697
+ # Source IP address within VPC
698
+ # @return [String]
699
+ #
700
+ # @!attribute [rw] source_ip
701
+ # Source IP address
702
+ # @return [String]
703
+ #
704
+ # @!attribute [rw] requested_region
705
+ # AWS region where the VPC and VPC endpoint reside Required when
706
+ # sourceVpc or signinSourceVpce/consoleSourceVpce is provided
707
+ # @return [String]
708
+ #
709
+ # @!attribute [rw] excluded_principal
710
+ # Principal to exclude from the permission statement
711
+ # @return [String]
712
+ #
713
+ # @!attribute [rw] client_token
714
+ # Idempotency token for the request
715
+ #
716
+ # **A suitable default value is auto-generated.** You should normally
717
+ # not need to pass this option.
718
+ # @return [String]
719
+ #
720
+ # @see http://docs.aws.amazon.com/goto/WebAPI/signin-2023-01-01/PutResourcePermissionStatementInput AWS API Documentation
721
+ #
722
+ class PutResourcePermissionStatementInput < Struct.new(
723
+ :source_vpc,
724
+ :signin_source_vpce,
725
+ :console_source_vpce,
726
+ :vpc_source_ip,
727
+ :source_ip,
728
+ :requested_region,
729
+ :excluded_principal,
730
+ :client_token)
731
+ SENSITIVE = []
732
+ include Aws::Structure
733
+ end
734
+
735
+ # Output for PutResourcePermissionStatement operation
736
+ #
737
+ # @!attribute [rw] statement_id
738
+ # Unique identifier for the created permission statement
739
+ # @return [String]
740
+ #
741
+ # @see http://docs.aws.amazon.com/goto/WebAPI/signin-2023-01-01/PutResourcePermissionStatementOutput AWS API Documentation
742
+ #
743
+ class PutResourcePermissionStatementOutput < Struct.new(
744
+ :statement_id)
745
+ SENSITIVE = []
746
+ include Aws::Structure
747
+ end
748
+
749
+ # Error thrown when requested resource is not found
750
+ #
751
+ # HTTP Status Code: 404 Not Found
752
+ #
753
+ # Used when the specified resource does not exist
754
+ #
755
+ # @!attribute [rw] error
756
+ # OAuth 2.0 error code indicating resource not found Will be
757
+ # RESOURCE\_NOT\_FOUND
758
+ # @return [String]
759
+ #
760
+ # @!attribute [rw] message
761
+ # Detailed message explaining which resource was not found Provides
762
+ # specific information about the missing resource
763
+ # @return [String]
764
+ #
765
+ # @see http://docs.aws.amazon.com/goto/WebAPI/signin-2023-01-01/ResourceNotFoundException AWS API Documentation
766
+ #
767
+ class ResourceNotFoundException < Struct.new(
768
+ :error,
769
+ :message)
770
+ SENSITIVE = []
771
+ include Aws::Structure
772
+ end
773
+
774
+ # Input structure for RevokeOAuth2TokenWithIAM operation
775
+ #
776
+ # RFC 7009 §2.1 revocation request. Contains the refresh\_token to
777
+ # revoke.
778
+ #
779
+ # @!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.
783
+ # @return [String]
784
+ #
785
+ # @see http://docs.aws.amazon.com/goto/WebAPI/signin-2023-01-01/RevokeOAuth2TokenWithIAMRequest AWS API Documentation
786
+ #
787
+ class RevokeOAuth2TokenWithIAMRequest < Struct.new(
788
+ :token)
789
+ SENSITIVE = [:token]
790
+ include Aws::Structure
791
+ end
792
+
793
+ # Output structure for RevokeOAuth2TokenWithIAM operation
794
+ #
795
+ # RFC 7009 §2.2 revocation response. The endpoint returns 200 OK with an
796
+ # empty body on success; there are no response fields.
797
+ #
798
+ # @see http://docs.aws.amazon.com/goto/WebAPI/signin-2023-01-01/RevokeOAuth2TokenWithIAMResponse AWS API Documentation
799
+ #
800
+ class RevokeOAuth2TokenWithIAMResponse < Aws::EmptyStructure; end
801
+
802
+ # Error thrown when service quota is exceeded
803
+ #
804
+ # HTTP Status Code: 402 Payment Required (used as quota exceeded
805
+ # indicator)
806
+ #
807
+ # Used when the request would cause a service quota to be exceeded
808
+ #
809
+ # @!attribute [rw] error
810
+ # OAuth 2.0 error code indicating service quota exceeded Will be
811
+ # SERVICE\_QUOTA\_EXCEEDED
812
+ # @return [String]
813
+ #
814
+ # @!attribute [rw] message
815
+ # Detailed message explaining which quota was exceeded Provides
816
+ # specific information about the limit and current usage
817
+ # @return [String]
818
+ #
819
+ # @see http://docs.aws.amazon.com/goto/WebAPI/signin-2023-01-01/ServiceQuotaExceededException AWS API Documentation
820
+ #
821
+ class ServiceQuotaExceededException < Struct.new(
822
+ :error,
823
+ :message)
824
+ SENSITIVE = []
825
+ include Aws::Structure
826
+ end
827
+
828
+ # SignIn resource-based policy document
829
+ #
830
+ # @!attribute [rw] version
831
+ # Policy version
832
+ # @return [String]
833
+ #
834
+ # @!attribute [rw] statement
835
+ # Policy statements
836
+ # @return [Array<Types::PolicyStatement>]
837
+ #
838
+ # @see http://docs.aws.amazon.com/goto/WebAPI/signin-2023-01-01/SigninResourceBasedPolicy AWS API Documentation
839
+ #
840
+ class SigninResourceBasedPolicy < Struct.new(
841
+ :version,
842
+ :statement)
843
+ SENSITIVE = []
844
+ include Aws::Structure
845
+ end
846
+
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
861
+ #
862
+ # @!attribute [rw] error
863
+ # OAuth 2.0 error code indicating the specific type of error Will be
864
+ # INVALID\_REQUEST for rate limiting scenarios
865
+ # @return [String]
866
+ #
867
+ # @!attribute [rw] message
868
+ # Detailed message about the rate limiting May include retry-after
869
+ # information or rate limit details
870
+ # @return [String]
871
+ #
872
+ # @see http://docs.aws.amazon.com/goto/WebAPI/signin-2023-01-01/TooManyRequestsError AWS API Documentation
873
+ #
874
+ class TooManyRequestsError < Struct.new(
875
+ :error,
876
+ :message)
877
+ SENSITIVE = []
878
+ include Aws::Structure
879
+ end
880
+
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.
887
+ #
888
+ # @!attribute [rw] error
889
+ # OAuth 2.0 error code indicating validation failure Will be
890
+ # INVALID\_REQUEST for validation errors
891
+ # @return [String]
892
+ #
893
+ # @!attribute [rw] message
894
+ # Detailed message explaining the validation failure Provides specific
895
+ # information about which validation failed
896
+ # @return [String]
897
+ #
898
+ # @see http://docs.aws.amazon.com/goto/WebAPI/signin-2023-01-01/ValidationException AWS API Documentation
899
+ #
900
+ class ValidationException < Struct.new(
901
+ :error,
902
+ :message)
903
+ SENSITIVE = []
904
+ include Aws::Structure
905
+ end
906
+
907
+ end
908
+ end
909
+