aws-sdk-core 3.165.0 → 3.201.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (164) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +462 -0
  3. data/VERSION +1 -1
  4. data/lib/aws-defaults/default_configuration.rb +4 -4
  5. data/lib/aws-sdk-core/binary/decode_handler.rb +3 -9
  6. data/lib/aws-sdk-core/binary/encode_handler.rb +1 -1
  7. data/lib/aws-sdk-core/binary/event_builder.rb +34 -37
  8. data/lib/aws-sdk-core/binary/event_stream_decoder.rb +1 -0
  9. data/lib/aws-sdk-core/binary/event_stream_encoder.rb +4 -3
  10. data/lib/aws-sdk-core/cbor/cbor_engine.rb +19 -0
  11. data/lib/aws-sdk-core/cbor/decoder.rb +310 -0
  12. data/lib/aws-sdk-core/cbor/encoder.rb +243 -0
  13. data/lib/aws-sdk-core/cbor.rb +106 -0
  14. data/lib/aws-sdk-core/client_stubs.rb +18 -14
  15. data/lib/aws-sdk-core/credential_provider.rb +4 -1
  16. data/lib/aws-sdk-core/credential_provider_chain.rb +8 -5
  17. data/lib/aws-sdk-core/ec2_metadata.rb +1 -1
  18. data/lib/aws-sdk-core/ecs_credentials.rb +178 -53
  19. data/lib/aws-sdk-core/endpoints/condition.rb +5 -0
  20. data/lib/aws-sdk-core/endpoints/endpoint_rule.rb +5 -1
  21. data/lib/aws-sdk-core/endpoints/error_rule.rb +5 -0
  22. data/lib/aws-sdk-core/endpoints/function.rb +5 -0
  23. data/lib/aws-sdk-core/endpoints/matchers.rb +18 -10
  24. data/lib/aws-sdk-core/endpoints/reference.rb +5 -0
  25. data/lib/aws-sdk-core/endpoints/rule.rb +5 -0
  26. data/lib/aws-sdk-core/endpoints/rule_set.rb +5 -0
  27. data/lib/aws-sdk-core/endpoints/rules_provider.rb +5 -0
  28. data/lib/aws-sdk-core/endpoints/templater.rb +6 -0
  29. data/lib/aws-sdk-core/endpoints/tree_rule.rb +5 -0
  30. data/lib/aws-sdk-core/endpoints/url.rb +1 -0
  31. data/lib/aws-sdk-core/endpoints.rb +69 -19
  32. data/lib/aws-sdk-core/error_handler.rb +41 -0
  33. data/lib/aws-sdk-core/errors.rb +12 -3
  34. data/lib/aws-sdk-core/event_emitter.rb +0 -16
  35. data/lib/aws-sdk-core/ini_parser.rb +7 -0
  36. data/lib/aws-sdk-core/instance_profile_credentials.rb +55 -32
  37. data/lib/aws-sdk-core/json/builder.rb +8 -1
  38. data/lib/aws-sdk-core/json/error_handler.rb +29 -14
  39. data/lib/aws-sdk-core/json/handler.rb +12 -6
  40. data/lib/aws-sdk-core/json/json_engine.rb +3 -1
  41. data/lib/aws-sdk-core/json/oj_engine.rb +7 -1
  42. data/lib/aws-sdk-core/json/parser.rb +33 -3
  43. data/lib/aws-sdk-core/json.rb +43 -14
  44. data/lib/aws-sdk-core/log/formatter.rb +6 -0
  45. data/lib/aws-sdk-core/lru_cache.rb +75 -0
  46. data/lib/aws-sdk-core/pageable_response.rb +3 -1
  47. data/lib/aws-sdk-core/param_validator.rb +9 -4
  48. data/lib/aws-sdk-core/plugins/bearer_authorization.rb +2 -0
  49. data/lib/aws-sdk-core/plugins/checksum_algorithm.rb +7 -4
  50. data/lib/aws-sdk-core/plugins/client_metrics_plugin.rb +1 -0
  51. data/lib/aws-sdk-core/plugins/client_metrics_send_plugin.rb +14 -2
  52. data/lib/aws-sdk-core/plugins/credentials_configuration.rb +2 -0
  53. data/lib/aws-sdk-core/plugins/global_configuration.rb +8 -9
  54. data/lib/aws-sdk-core/plugins/http_checksum.rb +2 -1
  55. data/lib/aws-sdk-core/plugins/invocation_id.rb +1 -11
  56. data/lib/aws-sdk-core/plugins/logging.rb +2 -0
  57. data/lib/aws-sdk-core/plugins/protocols/api_gateway.rb +3 -1
  58. data/lib/aws-sdk-core/plugins/protocols/ec2.rb +2 -24
  59. data/lib/aws-sdk-core/plugins/protocols/json_rpc.rb +6 -8
  60. data/lib/aws-sdk-core/plugins/protocols/query.rb +4 -2
  61. data/lib/aws-sdk-core/plugins/protocols/rest_json.rb +3 -15
  62. data/lib/aws-sdk-core/plugins/protocols/rest_xml.rb +3 -0
  63. data/lib/aws-sdk-core/plugins/protocols/rpc_v2.rb +17 -0
  64. data/lib/aws-sdk-core/plugins/regional_endpoint.rb +140 -35
  65. data/lib/aws-sdk-core/plugins/request_compression.rb +226 -0
  66. data/lib/aws-sdk-core/plugins/retries/error_inspector.rb +2 -1
  67. data/lib/aws-sdk-core/plugins/retry_errors.rb +12 -3
  68. data/lib/aws-sdk-core/plugins/sign.rb +43 -19
  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 +1 -0
  72. data/lib/aws-sdk-core/plugins/transfer_encoding.rb +16 -9
  73. data/lib/aws-sdk-core/plugins/user_agent.rb +152 -14
  74. data/lib/aws-sdk-core/process_credentials.rb +45 -27
  75. data/lib/aws-sdk-core/query/ec2_handler.rb +27 -0
  76. data/lib/aws-sdk-core/query/ec2_param_builder.rb +5 -7
  77. data/lib/aws-sdk-core/query/handler.rb +4 -4
  78. data/lib/aws-sdk-core/query/param_builder.rb +2 -2
  79. data/lib/aws-sdk-core/query.rb +2 -1
  80. data/lib/aws-sdk-core/refreshing_credentials.rb +12 -12
  81. data/lib/aws-sdk-core/rest/content_type_handler.rb +60 -0
  82. data/lib/aws-sdk-core/rest/handler.rb +3 -4
  83. data/lib/aws-sdk-core/rest/request/body.rb +32 -5
  84. data/lib/aws-sdk-core/rest/request/endpoint.rb +24 -4
  85. data/lib/aws-sdk-core/rest/request/headers.rb +15 -7
  86. data/lib/aws-sdk-core/rest/request/querystring_builder.rb +62 -36
  87. data/lib/aws-sdk-core/rest/response/body.rb +15 -1
  88. data/lib/aws-sdk-core/rest/response/header_list_parser.rb +79 -0
  89. data/lib/aws-sdk-core/rest/response/headers.rb +8 -3
  90. data/lib/aws-sdk-core/rest.rb +1 -0
  91. data/lib/aws-sdk-core/rpc_v2/builder.rb +62 -0
  92. data/lib/aws-sdk-core/rpc_v2/content_type_handler.rb +45 -0
  93. data/lib/aws-sdk-core/rpc_v2/error_handler.rb +84 -0
  94. data/lib/aws-sdk-core/rpc_v2/handler.rb +74 -0
  95. data/lib/aws-sdk-core/rpc_v2/parser.rb +90 -0
  96. data/lib/aws-sdk-core/rpc_v2.rb +6 -0
  97. data/lib/aws-sdk-core/shared_config.rb +77 -18
  98. data/lib/aws-sdk-core/sso_credentials.rb +80 -45
  99. data/lib/aws-sdk-core/sso_token_provider.rb +3 -2
  100. data/lib/aws-sdk-core/stubbing/protocols/rpc_v2.rb +41 -0
  101. data/lib/aws-sdk-core/stubbing/stub_data.rb +11 -0
  102. data/lib/aws-sdk-core/util.rb +39 -0
  103. data/lib/aws-sdk-core/waiters/poller.rb +4 -2
  104. data/lib/aws-sdk-core/xml/builder.rb +17 -9
  105. data/lib/aws-sdk-core/xml/error_handler.rb +32 -42
  106. data/lib/aws-sdk-core/xml/parser/frame.rb +4 -20
  107. data/lib/aws-sdk-core/xml/parser/{engines/oga.rb → oga_engine.rb} +2 -0
  108. data/lib/aws-sdk-core/xml/parser/stack.rb +2 -0
  109. data/lib/aws-sdk-core/xml/parser.rb +2 -6
  110. data/lib/aws-sdk-core.rb +8 -2
  111. data/lib/aws-sdk-sso/client.rb +103 -46
  112. data/lib/aws-sdk-sso/client_api.rb +6 -0
  113. data/lib/aws-sdk-sso/endpoint_provider.rb +41 -96
  114. data/lib/aws-sdk-sso/endpoints.rb +1 -0
  115. data/lib/aws-sdk-sso/plugins/endpoints.rb +4 -2
  116. data/lib/aws-sdk-sso/types.rb +0 -35
  117. data/lib/aws-sdk-sso.rb +1 -1
  118. data/lib/aws-sdk-ssooidc/client.rb +488 -74
  119. data/lib/aws-sdk-ssooidc/client_api.rb +82 -1
  120. data/lib/aws-sdk-ssooidc/endpoint_provider.rb +41 -95
  121. data/lib/aws-sdk-ssooidc/endpoints.rb +15 -0
  122. data/lib/aws-sdk-ssooidc/errors.rb +52 -0
  123. data/lib/aws-sdk-ssooidc/plugins/endpoints.rb +6 -2
  124. data/lib/aws-sdk-ssooidc/types.rb +372 -83
  125. data/lib/aws-sdk-ssooidc.rb +1 -1
  126. data/lib/aws-sdk-sts/client.rb +361 -288
  127. data/lib/aws-sdk-sts/client_api.rb +24 -11
  128. data/lib/aws-sdk-sts/endpoint_provider.rb +96 -213
  129. data/lib/aws-sdk-sts/endpoints.rb +1 -0
  130. data/lib/aws-sdk-sts/plugins/endpoints.rb +4 -2
  131. data/lib/aws-sdk-sts/presigner.rb +1 -1
  132. data/lib/aws-sdk-sts/types.rb +128 -197
  133. data/lib/aws-sdk-sts.rb +1 -1
  134. data/lib/seahorse/client/async_base.rb +1 -1
  135. data/lib/seahorse/client/async_response.rb +19 -0
  136. data/lib/seahorse/client/base.rb +18 -7
  137. data/lib/seahorse/client/configuration.rb +0 -4
  138. data/lib/seahorse/client/h2/connection.rb +12 -11
  139. data/lib/seahorse/client/h2/handler.rb +1 -0
  140. data/lib/seahorse/client/handler.rb +1 -1
  141. data/lib/seahorse/client/net_http/connection_pool.rb +3 -9
  142. data/lib/seahorse/client/net_http/patches.rb +1 -4
  143. data/lib/seahorse/client/plugin.rb +9 -0
  144. data/lib/seahorse/client/plugins/endpoint.rb +0 -1
  145. data/lib/seahorse/client/plugins/h2.rb +3 -3
  146. data/lib/seahorse/client/plugins/net_http.rb +48 -16
  147. data/lib/seahorse/client/plugins/request_callback.rb +31 -0
  148. data/lib/seahorse/client/response.rb +6 -0
  149. data/lib/seahorse/model/operation.rb +3 -0
  150. data/lib/seahorse/model/shapes.rb +2 -2
  151. data/sig/aws-sdk-core/client_stubs.rbs +10 -0
  152. data/sig/aws-sdk-core/errors.rbs +22 -0
  153. data/sig/aws-sdk-core/resources/collection.rbs +21 -0
  154. data/sig/aws-sdk-core/structure.rbs +4 -0
  155. data/sig/aws-sdk-core/waiters/errors.rbs +20 -0
  156. data/sig/aws-sdk-core.rbs +7 -0
  157. data/sig/seahorse/client/base.rbs +25 -0
  158. data/sig/seahorse/client/handler_builder.rbs +16 -0
  159. data/sig/seahorse/client/response.rbs +61 -0
  160. metadata +44 -17
  161. /data/lib/aws-sdk-core/xml/parser/{engines/libxml.rb → libxml_engine.rb} +0 -0
  162. /data/lib/aws-sdk-core/xml/parser/{engines/nokogiri.rb → nokogiri_engine.rb} +0 -0
  163. /data/lib/aws-sdk-core/xml/parser/{engines/ox.rb → ox_engine.rb} +0 -0
  164. /data/lib/aws-sdk-core/xml/parser/{engines/rexml.rb → rexml_engine.rb} +0 -0
@@ -13,9 +13,13 @@ module Aws::SSOOIDC
13
13
  # You do not have sufficient access to perform this action.
14
14
  #
15
15
  # @!attribute [rw] error
16
+ # Single error code. For this exception the value will be
17
+ # `access_denied`.
16
18
  # @return [String]
17
19
  #
18
20
  # @!attribute [rw] error_description
21
+ # Human-readable text providing additional information, used to assist
22
+ # the client developer in understanding the error that occurred.
19
23
  # @return [String]
20
24
  #
21
25
  # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/AccessDeniedException AWS API Documentation
@@ -31,9 +35,13 @@ module Aws::SSOOIDC
31
35
  # session token is pending.
32
36
  #
33
37
  # @!attribute [rw] error
38
+ # Single error code. For this exception the value will be
39
+ # `authorization_pending`.
34
40
  # @return [String]
35
41
  #
36
42
  # @!attribute [rw] error_description
43
+ # Human-readable text providing additional information, used to assist
44
+ # the client developer in understanding the error that occurred.
37
45
  # @return [String]
38
46
  #
39
47
  # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/AuthorizationPendingException AWS API Documentation
@@ -45,23 +53,9 @@ module Aws::SSOOIDC
45
53
  include Aws::Structure
46
54
  end
47
55
 
48
- # @note When making an API call, you may pass CreateTokenRequest
49
- # data as a hash:
50
- #
51
- # {
52
- # client_id: "ClientId", # required
53
- # client_secret: "ClientSecret", # required
54
- # grant_type: "GrantType", # required
55
- # device_code: "DeviceCode",
56
- # code: "AuthCode",
57
- # refresh_token: "RefreshToken",
58
- # scope: ["Scope"],
59
- # redirect_uri: "URI",
60
- # }
61
- #
62
56
  # @!attribute [rw] client_id
63
- # The unique identifier string for each client. This value should come
64
- # from the persisted result of the RegisterClient API.
57
+ # The unique identifier string for the client or application. This
58
+ # value comes from the result of the RegisterClient API.
65
59
  # @return [String]
66
60
  #
67
61
  # @!attribute [rw] client_secret
@@ -70,38 +64,40 @@ module Aws::SSOOIDC
70
64
  # @return [String]
71
65
  #
72
66
  # @!attribute [rw] grant_type
73
- # Supports grant types for the authorization code, refresh token, and
74
- # device code request. For device code requests, specify the following
75
- # value:
67
+ # Supports the following OAuth grant types: Device Code and Refresh
68
+ # Token. Specify either of the following values, depending on the
69
+ # grant type that you want:
70
+ #
71
+ # * Device Code - `urn:ietf:params:oauth:grant-type:device_code`
76
72
  #
77
- # `urn:ietf:params:oauth:grant-type:device_code `
73
+ # * Refresh Token - `refresh_token`
78
74
  #
79
75
  # For information about how to obtain the device code, see the
80
76
  # StartDeviceAuthorization topic.
81
77
  # @return [String]
82
78
  #
83
79
  # @!attribute [rw] device_code
84
- # Used only when calling this API for the device code grant type. This
85
- # short-term code is used to identify this authentication attempt.
86
- # This should come from an in-memory reference to the result of the
87
- # StartDeviceAuthorization API.
80
+ # Used only when calling this API for the Device Code grant type. This
81
+ # short-term code is used to identify this authorization request. This
82
+ # comes from the result of the StartDeviceAuthorization API.
88
83
  # @return [String]
89
84
  #
90
85
  # @!attribute [rw] code
91
- # The authorization code received from the authorization service. This
92
- # parameter is required to perform an authorization grant request to
93
- # get access to a token.
86
+ # Used only when calling this API for the Authorization Code grant
87
+ # type. The short-term code is used to identify this authorization
88
+ # request. This grant type is currently unsupported for the
89
+ # CreateToken API.
94
90
  # @return [String]
95
91
  #
96
92
  # @!attribute [rw] refresh_token
97
- # Currently, `refreshToken` is not yet implemented and is not
98
- # supported. For more information about the features and limitations
99
- # of the current IAM Identity Center OIDC implementation, see
100
- # *Considerations for Using this Guide* in the [IAM Identity Center
101
- # OIDC API Reference][1].
93
+ # Used only when calling this API for the Refresh Token grant type.
94
+ # This token is used to refresh short-term tokens, such as the access
95
+ # token, that might expire.
102
96
  #
103
- # The token used to obtain an access token in the event that the
104
- # access token is invalid or expired.
97
+ # For more information about the features and limitations of the
98
+ # current IAM Identity Center OIDC implementation, see *Considerations
99
+ # for Using this Guide* in the [IAM Identity Center OIDC API
100
+ # Reference][1].
105
101
  #
106
102
  #
107
103
  #
@@ -109,15 +105,24 @@ module Aws::SSOOIDC
109
105
  # @return [String]
110
106
  #
111
107
  # @!attribute [rw] scope
112
- # The list of scopes that is defined by the client. Upon
113
- # authorization, this list is used to restrict permissions when
114
- # granting an access token.
108
+ # The list of scopes for which authorization is requested. The access
109
+ # token that is issued is limited to the scopes that are granted. If
110
+ # this value is not specified, IAM Identity Center authorizes all
111
+ # scopes that are configured for the client during the call to
112
+ # RegisterClient.
115
113
  # @return [Array<String>]
116
114
  #
117
115
  # @!attribute [rw] redirect_uri
118
- # The location of the application that will receive the authorization
119
- # code. Users authorize the service to send the request to this
120
- # location.
116
+ # Used only when calling this API for the Authorization Code grant
117
+ # type. This value specifies the location of the client or application
118
+ # that has registered to receive the authorization code.
119
+ # @return [String]
120
+ #
121
+ # @!attribute [rw] code_verifier
122
+ # Used only when calling this API for the Authorization Code grant
123
+ # type. This value is generated by the client and presented to
124
+ # validate the original code challenge value the client passed at
125
+ # authorization time.
121
126
  # @return [String]
122
127
  #
123
128
  # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/CreateTokenRequest AWS API Documentation
@@ -130,19 +135,20 @@ module Aws::SSOOIDC
130
135
  :code,
131
136
  :refresh_token,
132
137
  :scope,
133
- :redirect_uri)
134
- SENSITIVE = []
138
+ :redirect_uri,
139
+ :code_verifier)
140
+ SENSITIVE = [:client_secret, :refresh_token, :code_verifier]
135
141
  include Aws::Structure
136
142
  end
137
143
 
138
144
  # @!attribute [rw] access_token
139
- # An opaque token to access IAM Identity Center resources assigned to
140
- # a user.
145
+ # A bearer token to access Amazon Web Services accounts and
146
+ # applications assigned to a user.
141
147
  # @return [String]
142
148
  #
143
149
  # @!attribute [rw] token_type
144
150
  # Used to notify the client that the returned token is an access
145
- # token. The supported type is `BearerToken`.
151
+ # token. The supported token type is `Bearer`.
146
152
  # @return [String]
147
153
  #
148
154
  # @!attribute [rw] expires_in
@@ -150,44 +156,219 @@ module Aws::SSOOIDC
150
156
  # @return [Integer]
151
157
  #
152
158
  # @!attribute [rw] refresh_token
153
- # Currently, `refreshToken` is not yet implemented and is not
154
- # supported. For more information about the features and limitations
155
- # of the current IAM Identity Center OIDC implementation, see
156
- # *Considerations for Using this Guide* in the [IAM Identity Center
157
- # OIDC API Reference][1].
158
- #
159
159
  # A token that, if present, can be used to refresh a previously issued
160
160
  # access token that might have expired.
161
161
  #
162
+ # For more information about the features and limitations of the
163
+ # current IAM Identity Center OIDC implementation, see *Considerations
164
+ # for Using this Guide* in the [IAM Identity Center OIDC API
165
+ # Reference][1].
166
+ #
162
167
  #
163
168
  #
164
169
  # [1]: https://docs.aws.amazon.com/singlesignon/latest/OIDCAPIReference/Welcome.html
165
170
  # @return [String]
166
171
  #
167
172
  # @!attribute [rw] id_token
168
- # Currently, `idToken` is not yet implemented and is not supported.
173
+ # The `idToken` is not implemented or supported. For more information
174
+ # about the features and limitations of the current IAM Identity
175
+ # Center OIDC implementation, see *Considerations for Using this
176
+ # Guide* in the [IAM Identity Center OIDC API Reference][1].
177
+ #
178
+ # A JSON Web Token (JWT) that identifies who is associated with the
179
+ # issued access token.
180
+ #
181
+ #
182
+ #
183
+ # [1]: https://docs.aws.amazon.com/singlesignon/latest/OIDCAPIReference/Welcome.html
184
+ # @return [String]
185
+ #
186
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/CreateTokenResponse AWS API Documentation
187
+ #
188
+ class CreateTokenResponse < Struct.new(
189
+ :access_token,
190
+ :token_type,
191
+ :expires_in,
192
+ :refresh_token,
193
+ :id_token)
194
+ SENSITIVE = [:access_token, :refresh_token, :id_token]
195
+ include Aws::Structure
196
+ end
197
+
198
+ # @!attribute [rw] client_id
199
+ # The unique identifier string for the client or application. This
200
+ # value is an application ARN that has OAuth grants configured.
201
+ # @return [String]
202
+ #
203
+ # @!attribute [rw] grant_type
204
+ # Supports the following OAuth grant types: Authorization Code,
205
+ # Refresh Token, JWT Bearer, and Token Exchange. Specify one of the
206
+ # following values, depending on the grant type that you want:
207
+ #
208
+ # * Authorization Code - `authorization_code`
209
+ #
210
+ # * Refresh Token - `refresh_token`
211
+ #
212
+ # * JWT Bearer - `urn:ietf:params:oauth:grant-type:jwt-bearer`
213
+ #
214
+ # * Token Exchange -
215
+ # `urn:ietf:params:oauth:grant-type:token-exchange`
216
+ # @return [String]
217
+ #
218
+ # @!attribute [rw] code
219
+ # Used only when calling this API for the Authorization Code grant
220
+ # type. This short-term code is used to identify this authorization
221
+ # request. The code is obtained through a redirect from IAM Identity
222
+ # Center to a redirect URI persisted in the Authorization Code
223
+ # GrantOptions for the application.
224
+ # @return [String]
225
+ #
226
+ # @!attribute [rw] refresh_token
227
+ # Used only when calling this API for the Refresh Token grant type.
228
+ # This token is used to refresh short-term tokens, such as the access
229
+ # token, that might expire.
230
+ #
169
231
  # For more information about the features and limitations of the
170
232
  # current IAM Identity Center OIDC implementation, see *Considerations
171
233
  # for Using this Guide* in the [IAM Identity Center OIDC API
172
234
  # Reference][1].
173
235
  #
174
- # The identifier of the user that associated with the access token, if
175
- # present.
236
+ #
237
+ #
238
+ # [1]: https://docs.aws.amazon.com/singlesignon/latest/OIDCAPIReference/Welcome.html
239
+ # @return [String]
240
+ #
241
+ # @!attribute [rw] assertion
242
+ # Used only when calling this API for the JWT Bearer grant type. This
243
+ # value specifies the JSON Web Token (JWT) issued by a trusted token
244
+ # issuer. To authorize a trusted token issuer, configure the JWT
245
+ # Bearer GrantOptions for the application.
246
+ # @return [String]
247
+ #
248
+ # @!attribute [rw] scope
249
+ # The list of scopes for which authorization is requested. The access
250
+ # token that is issued is limited to the scopes that are granted. If
251
+ # the value is not specified, IAM Identity Center authorizes all
252
+ # scopes configured for the application, including the following
253
+ # default scopes: `openid`, `aws`, `sts:identity_context`.
254
+ # @return [Array<String>]
255
+ #
256
+ # @!attribute [rw] redirect_uri
257
+ # Used only when calling this API for the Authorization Code grant
258
+ # type. This value specifies the location of the client or application
259
+ # that has registered to receive the authorization code.
260
+ # @return [String]
261
+ #
262
+ # @!attribute [rw] subject_token
263
+ # Used only when calling this API for the Token Exchange grant type.
264
+ # This value specifies the subject of the exchange. The value of the
265
+ # subject token must be an access token issued by IAM Identity Center
266
+ # to a different client or application. The access token must have
267
+ # authorized scopes that indicate the requested application as a
268
+ # target audience.
269
+ # @return [String]
270
+ #
271
+ # @!attribute [rw] subject_token_type
272
+ # Used only when calling this API for the Token Exchange grant type.
273
+ # This value specifies the type of token that is passed as the subject
274
+ # of the exchange. The following value is supported:
275
+ #
276
+ # * Access Token - `urn:ietf:params:oauth:token-type:access_token`
277
+ # @return [String]
278
+ #
279
+ # @!attribute [rw] requested_token_type
280
+ # Used only when calling this API for the Token Exchange grant type.
281
+ # This value specifies the type of token that the requester can
282
+ # receive. The following values are supported:
283
+ #
284
+ # * Access Token - `urn:ietf:params:oauth:token-type:access_token`
285
+ #
286
+ # * Refresh Token - `urn:ietf:params:oauth:token-type:refresh_token`
287
+ # @return [String]
288
+ #
289
+ # @!attribute [rw] code_verifier
290
+ # Used only when calling this API for the Authorization Code grant
291
+ # type. This value is generated by the client and presented to
292
+ # validate the original code challenge value the client passed at
293
+ # authorization time.
294
+ # @return [String]
295
+ #
296
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/CreateTokenWithIAMRequest AWS API Documentation
297
+ #
298
+ class CreateTokenWithIAMRequest < Struct.new(
299
+ :client_id,
300
+ :grant_type,
301
+ :code,
302
+ :refresh_token,
303
+ :assertion,
304
+ :scope,
305
+ :redirect_uri,
306
+ :subject_token,
307
+ :subject_token_type,
308
+ :requested_token_type,
309
+ :code_verifier)
310
+ SENSITIVE = [:refresh_token, :assertion, :subject_token, :code_verifier]
311
+ include Aws::Structure
312
+ end
313
+
314
+ # @!attribute [rw] access_token
315
+ # A bearer token to access Amazon Web Services accounts and
316
+ # applications assigned to a user.
317
+ # @return [String]
318
+ #
319
+ # @!attribute [rw] token_type
320
+ # Used to notify the requester that the returned token is an access
321
+ # token. The supported token type is `Bearer`.
322
+ # @return [String]
323
+ #
324
+ # @!attribute [rw] expires_in
325
+ # Indicates the time in seconds when an access token will expire.
326
+ # @return [Integer]
327
+ #
328
+ # @!attribute [rw] refresh_token
329
+ # A token that, if present, can be used to refresh a previously issued
330
+ # access token that might have expired.
331
+ #
332
+ # For more information about the features and limitations of the
333
+ # current IAM Identity Center OIDC implementation, see *Considerations
334
+ # for Using this Guide* in the [IAM Identity Center OIDC API
335
+ # Reference][1].
176
336
  #
177
337
  #
178
338
  #
179
339
  # [1]: https://docs.aws.amazon.com/singlesignon/latest/OIDCAPIReference/Welcome.html
180
340
  # @return [String]
181
341
  #
182
- # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/CreateTokenResponse AWS API Documentation
342
+ # @!attribute [rw] id_token
343
+ # A JSON Web Token (JWT) that identifies the user associated with the
344
+ # issued access token.
345
+ # @return [String]
183
346
  #
184
- class CreateTokenResponse < Struct.new(
347
+ # @!attribute [rw] issued_token_type
348
+ # Indicates the type of tokens that are issued by IAM Identity Center.
349
+ # The following values are supported:
350
+ #
351
+ # * Access Token - `urn:ietf:params:oauth:token-type:access_token`
352
+ #
353
+ # * Refresh Token - `urn:ietf:params:oauth:token-type:refresh_token`
354
+ # @return [String]
355
+ #
356
+ # @!attribute [rw] scope
357
+ # The list of scopes for which authorization is granted. The access
358
+ # token that is issued is limited to the scopes that are granted.
359
+ # @return [Array<String>]
360
+ #
361
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/CreateTokenWithIAMResponse AWS API Documentation
362
+ #
363
+ class CreateTokenWithIAMResponse < Struct.new(
185
364
  :access_token,
186
365
  :token_type,
187
366
  :expires_in,
188
367
  :refresh_token,
189
- :id_token)
190
- SENSITIVE = []
368
+ :id_token,
369
+ :issued_token_type,
370
+ :scope)
371
+ SENSITIVE = [:access_token, :refresh_token, :id_token]
191
372
  include Aws::Structure
192
373
  end
193
374
 
@@ -195,9 +376,13 @@ module Aws::SSOOIDC
195
376
  # longer valid.
196
377
  #
197
378
  # @!attribute [rw] error
379
+ # Single error code. For this exception the value will be
380
+ # `expired_token`.
198
381
  # @return [String]
199
382
  #
200
383
  # @!attribute [rw] error_description
384
+ # Human-readable text providing additional information, used to assist
385
+ # the client developer in understanding the error that occurred.
201
386
  # @return [String]
202
387
  #
203
388
  # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/ExpiredTokenException AWS API Documentation
@@ -213,9 +398,13 @@ module Aws::SSOOIDC
213
398
  # process a request.
214
399
  #
215
400
  # @!attribute [rw] error
401
+ # Single error code. For this exception the value will be
402
+ # `server_error`.
216
403
  # @return [String]
217
404
  #
218
405
  # @!attribute [rw] error_description
406
+ # Human-readable text providing additional information, used to assist
407
+ # the client developer in understanding the error that occurred.
219
408
  # @return [String]
220
409
  #
221
410
  # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/InternalServerException AWS API Documentation
@@ -232,9 +421,13 @@ module Aws::SSOOIDC
232
421
  # `clientId` or an expired `clientSecret`.
233
422
  #
234
423
  # @!attribute [rw] error
424
+ # Single error code. For this exception the value will be
425
+ # `invalid_client`.
235
426
  # @return [String]
236
427
  #
237
428
  # @!attribute [rw] error_description
429
+ # Human-readable text providing additional information, used to assist
430
+ # the client developer in understanding the error that occurred.
238
431
  # @return [String]
239
432
  #
240
433
  # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/InvalidClientException AWS API Documentation
@@ -250,9 +443,13 @@ module Aws::SSOOIDC
250
443
  # registration is invalid.
251
444
  #
252
445
  # @!attribute [rw] error
446
+ # Single error code. For this exception the value will be
447
+ # `invalid_client_metadata`.
253
448
  # @return [String]
254
449
  #
255
450
  # @!attribute [rw] error_description
451
+ # Human-readable text providing additional information, used to assist
452
+ # the client developer in understanding the error that occurred.
256
453
  # @return [String]
257
454
  #
258
455
  # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/InvalidClientMetadataException AWS API Documentation
@@ -268,9 +465,13 @@ module Aws::SSOOIDC
268
465
  # a client makes a CreateToken request with an invalid grant type.
269
466
  #
270
467
  # @!attribute [rw] error
468
+ # Single error code. For this exception the value will be
469
+ # `invalid_grant`.
271
470
  # @return [String]
272
471
  #
273
472
  # @!attribute [rw] error_description
473
+ # Human-readable text providing additional information, used to assist
474
+ # the client developer in understanding the error that occurred.
274
475
  # @return [String]
275
476
  #
276
477
  # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/InvalidGrantException AWS API Documentation
@@ -282,13 +483,39 @@ module Aws::SSOOIDC
282
483
  include Aws::Structure
283
484
  end
284
485
 
486
+ # Indicates that one or more redirect URI in the request is not
487
+ # supported for this operation.
488
+ #
489
+ # @!attribute [rw] error
490
+ # Single error code. For this exception the value will be
491
+ # `invalid_redirect_uri`.
492
+ # @return [String]
493
+ #
494
+ # @!attribute [rw] error_description
495
+ # Human-readable text providing additional information, used to assist
496
+ # the client developer in understanding the error that occurred.
497
+ # @return [String]
498
+ #
499
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/InvalidRedirectUriException AWS API Documentation
500
+ #
501
+ class InvalidRedirectUriException < Struct.new(
502
+ :error,
503
+ :error_description)
504
+ SENSITIVE = []
505
+ include Aws::Structure
506
+ end
507
+
285
508
  # Indicates that something is wrong with the input to the request. For
286
509
  # example, a required parameter might be missing or out of range.
287
510
  #
288
511
  # @!attribute [rw] error
512
+ # Single error code. For this exception the value will be
513
+ # `invalid_request`.
289
514
  # @return [String]
290
515
  #
291
516
  # @!attribute [rw] error_description
517
+ # Human-readable text providing additional information, used to assist
518
+ # the client developer in understanding the error that occurred.
292
519
  # @return [String]
293
520
  #
294
521
  # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/InvalidRequestException AWS API Documentation
@@ -300,12 +527,50 @@ module Aws::SSOOIDC
300
527
  include Aws::Structure
301
528
  end
302
529
 
530
+ # Indicates that a token provided as input to the request was issued by
531
+ # and is only usable by calling IAM Identity Center endpoints in another
532
+ # region.
533
+ #
534
+ # @!attribute [rw] error
535
+ # Single error code. For this exception the value will be
536
+ # `invalid_request`.
537
+ # @return [String]
538
+ #
539
+ # @!attribute [rw] error_description
540
+ # Human-readable text providing additional information, used to assist
541
+ # the client developer in understanding the error that occurred.
542
+ # @return [String]
543
+ #
544
+ # @!attribute [rw] endpoint
545
+ # Indicates the IAM Identity Center endpoint which the requester may
546
+ # call with this token.
547
+ # @return [String]
548
+ #
549
+ # @!attribute [rw] region
550
+ # Indicates the region which the requester may call with this token.
551
+ # @return [String]
552
+ #
553
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/InvalidRequestRegionException AWS API Documentation
554
+ #
555
+ class InvalidRequestRegionException < Struct.new(
556
+ :error,
557
+ :error_description,
558
+ :endpoint,
559
+ :region)
560
+ SENSITIVE = []
561
+ include Aws::Structure
562
+ end
563
+
303
564
  # Indicates that the scope provided in the request is invalid.
304
565
  #
305
566
  # @!attribute [rw] error
567
+ # Single error code. For this exception the value will be
568
+ # `invalid_scope`.
306
569
  # @return [String]
307
570
  #
308
571
  # @!attribute [rw] error_description
572
+ # Human-readable text providing additional information, used to assist
573
+ # the client developer in understanding the error that occurred.
309
574
  # @return [String]
310
575
  #
311
576
  # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/InvalidScopeException AWS API Documentation
@@ -317,15 +582,6 @@ module Aws::SSOOIDC
317
582
  include Aws::Structure
318
583
  end
319
584
 
320
- # @note When making an API call, you may pass RegisterClientRequest
321
- # data as a hash:
322
- #
323
- # {
324
- # client_name: "ClientName", # required
325
- # client_type: "ClientType", # required
326
- # scopes: ["Scope"],
327
- # }
328
- #
329
585
  # @!attribute [rw] client_name
330
586
  # The friendly name of the client.
331
587
  # @return [String]
@@ -341,12 +597,42 @@ module Aws::SSOOIDC
341
597
  # granting an access token.
342
598
  # @return [Array<String>]
343
599
  #
600
+ # @!attribute [rw] redirect_uris
601
+ # The list of redirect URI that are defined by the client. At
602
+ # completion of authorization, this list is used to restrict what
603
+ # locations the user agent can be redirected back to.
604
+ # @return [Array<String>]
605
+ #
606
+ # @!attribute [rw] grant_types
607
+ # The list of OAuth 2.0 grant types that are defined by the client.
608
+ # This list is used to restrict the token granting flows available to
609
+ # the client.
610
+ # @return [Array<String>]
611
+ #
612
+ # @!attribute [rw] issuer_url
613
+ # The IAM Identity Center Issuer URL associated with an instance of
614
+ # IAM Identity Center. This value is needed for user access to
615
+ # resources through the client.
616
+ # @return [String]
617
+ #
618
+ # @!attribute [rw] entitled_application_arn
619
+ # This IAM Identity Center application ARN is used to define
620
+ # administrator-managed configuration for public client access to
621
+ # resources. At authorization, the scopes, grants, and redirect URI
622
+ # available to this client will be restricted by this application
623
+ # resource.
624
+ # @return [String]
625
+ #
344
626
  # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/RegisterClientRequest AWS API Documentation
345
627
  #
346
628
  class RegisterClientRequest < Struct.new(
347
629
  :client_name,
348
630
  :client_type,
349
- :scopes)
631
+ :scopes,
632
+ :redirect_uris,
633
+ :grant_types,
634
+ :issuer_url,
635
+ :entitled_application_arn)
350
636
  SENSITIVE = []
351
637
  include Aws::Structure
352
638
  end
@@ -372,11 +658,11 @@ module Aws::SSOOIDC
372
658
  # @return [Integer]
373
659
  #
374
660
  # @!attribute [rw] authorization_endpoint
375
- # The endpoint where the client can request authorization.
661
+ # An endpoint that the client can use to request authorization.
376
662
  # @return [String]
377
663
  #
378
664
  # @!attribute [rw] token_endpoint
379
- # The endpoint where the client can get an access token.
665
+ # An endpoint that the client can use to create tokens.
380
666
  # @return [String]
381
667
  #
382
668
  # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/RegisterClientResponse AWS API Documentation
@@ -388,7 +674,7 @@ module Aws::SSOOIDC
388
674
  :client_secret_expires_at,
389
675
  :authorization_endpoint,
390
676
  :token_endpoint)
391
- SENSITIVE = []
677
+ SENSITIVE = [:client_secret]
392
678
  include Aws::Structure
393
679
  end
394
680
 
@@ -396,9 +682,12 @@ module Aws::SSOOIDC
396
682
  # more than the service can handle.
397
683
  #
398
684
  # @!attribute [rw] error
685
+ # Single error code. For this exception the value will be `slow_down`.
399
686
  # @return [String]
400
687
  #
401
688
  # @!attribute [rw] error_description
689
+ # Human-readable text providing additional information, used to assist
690
+ # the client developer in understanding the error that occurred.
402
691
  # @return [String]
403
692
  #
404
693
  # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/SlowDownException AWS API Documentation
@@ -410,15 +699,6 @@ module Aws::SSOOIDC
410
699
  include Aws::Structure
411
700
  end
412
701
 
413
- # @note When making an API call, you may pass StartDeviceAuthorizationRequest
414
- # data as a hash:
415
- #
416
- # {
417
- # client_id: "ClientId", # required
418
- # client_secret: "ClientSecret", # required
419
- # start_url: "URI", # required
420
- # }
421
- #
422
702
  # @!attribute [rw] client_id
423
703
  # The unique identifier string for the client that is registered with
424
704
  # IAM Identity Center. This value should come from the persisted
@@ -431,8 +711,9 @@ module Aws::SSOOIDC
431
711
  # @return [String]
432
712
  #
433
713
  # @!attribute [rw] start_url
434
- # The URL for the AWS access portal. For more information, see [Using
435
- # the AWS access portal][1] in the *IAM Identity Center User Guide*.
714
+ # The URL for the Amazon Web Services access portal. For more
715
+ # information, see [Using the Amazon Web Services access portal][1] in
716
+ # the *IAM Identity Center User Guide*.
436
717
  #
437
718
  #
438
719
  #
@@ -445,7 +726,7 @@ module Aws::SSOOIDC
445
726
  :client_id,
446
727
  :client_secret,
447
728
  :start_url)
448
- SENSITIVE = []
729
+ SENSITIVE = [:client_secret]
449
730
  include Aws::Structure
450
731
  end
451
732
 
@@ -498,9 +779,13 @@ module Aws::SSOOIDC
498
779
  # client.
499
780
  #
500
781
  # @!attribute [rw] error
782
+ # Single error code. For this exception the value will be
783
+ # `unauthorized_client`.
501
784
  # @return [String]
502
785
  #
503
786
  # @!attribute [rw] error_description
787
+ # Human-readable text providing additional information, used to assist
788
+ # the client developer in understanding the error that occurred.
504
789
  # @return [String]
505
790
  #
506
791
  # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/UnauthorizedClientException AWS API Documentation
@@ -516,9 +801,13 @@ module Aws::SSOOIDC
516
801
  # service.
517
802
  #
518
803
  # @!attribute [rw] error
804
+ # Single error code. For this exception the value will be
805
+ # `unsupported_grant_type`.
519
806
  # @return [String]
520
807
  #
521
808
  # @!attribute [rw] error_description
809
+ # Human-readable text providing additional information, used to assist
810
+ # the client developer in understanding the error that occurred.
522
811
  # @return [String]
523
812
  #
524
813
  # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/UnsupportedGrantTypeException AWS API Documentation