aws-sdk-core 3.178.0 → 3.233.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (196) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +709 -0
  3. data/VERSION +1 -1
  4. data/lib/aws-defaults/default_configuration.rb +1 -2
  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 +13 -5
  8. data/lib/aws-sdk-core/assume_role_web_identity_credentials.rb +14 -7
  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 +308 -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 +33 -55
  19. data/lib/aws-sdk-core/credential_provider.rb +5 -1
  20. data/lib/aws-sdk-core/credential_provider_chain.rb +38 -11
  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 +79 -11
  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 +101 -21
  27. data/lib/aws-sdk-core/error_handler.rb +46 -0
  28. data/lib/aws-sdk-core/errors.rb +14 -5
  29. data/lib/aws-sdk-core/event_emitter.rb +1 -17
  30. data/lib/aws-sdk-core/ini_parser.rb +8 -1
  31. data/lib/aws-sdk-core/instance_profile_credentials.rb +168 -155
  32. data/lib/aws-sdk-core/json/builder.rb +8 -1
  33. data/lib/aws-sdk-core/json/error_handler.rb +29 -13
  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/lru_cache.rb +75 -0
  43. data/lib/aws-sdk-core/pageable_response.rb +1 -1
  44. data/lib/aws-sdk-core/param_validator.rb +9 -4
  45. data/lib/aws-sdk-core/plugins/bearer_authorization.rb +2 -0
  46. data/lib/aws-sdk-core/plugins/checksum_algorithm.rb +332 -167
  47. data/lib/aws-sdk-core/plugins/client_metrics_plugin.rb +1 -1
  48. data/lib/aws-sdk-core/plugins/client_metrics_send_plugin.rb +14 -2
  49. data/lib/aws-sdk-core/plugins/credentials_configuration.rb +78 -56
  50. data/lib/aws-sdk-core/plugins/endpoint_pattern.rb +40 -32
  51. data/lib/aws-sdk-core/plugins/global_configuration.rb +8 -9
  52. data/lib/aws-sdk-core/plugins/http_checksum.rb +3 -8
  53. data/lib/aws-sdk-core/plugins/invocation_id.rb +1 -11
  54. data/lib/aws-sdk-core/plugins/logging.rb +2 -0
  55. data/lib/aws-sdk-core/plugins/protocols/api_gateway.rb +3 -1
  56. data/lib/aws-sdk-core/plugins/protocols/ec2.rb +2 -24
  57. data/lib/aws-sdk-core/plugins/protocols/json_rpc.rb +6 -8
  58. data/lib/aws-sdk-core/plugins/protocols/query.rb +4 -2
  59. data/lib/aws-sdk-core/plugins/protocols/rest_json.rb +3 -15
  60. data/lib/aws-sdk-core/plugins/protocols/rest_xml.rb +3 -0
  61. data/lib/aws-sdk-core/plugins/protocols/rpc_v2.rb +17 -0
  62. data/lib/aws-sdk-core/plugins/regional_endpoint.rb +74 -25
  63. data/lib/aws-sdk-core/plugins/request_compression.rb +11 -2
  64. data/lib/aws-sdk-core/plugins/retry_errors.rb +12 -3
  65. data/lib/aws-sdk-core/plugins/sign.rb +55 -34
  66. data/lib/aws-sdk-core/plugins/signature_v2.rb +2 -1
  67. data/lib/aws-sdk-core/plugins/signature_v4.rb +2 -1
  68. data/lib/aws-sdk-core/plugins/stub_responses.rb +59 -9
  69. data/lib/aws-sdk-core/plugins/telemetry.rb +75 -0
  70. data/lib/aws-sdk-core/plugins/transfer_encoding.rb +16 -9
  71. data/lib/aws-sdk-core/plugins/user_agent.rb +101 -26
  72. data/lib/aws-sdk-core/plugins.rb +39 -0
  73. data/lib/aws-sdk-core/process_credentials.rb +48 -29
  74. data/lib/aws-sdk-core/query/ec2_handler.rb +27 -0
  75. data/lib/aws-sdk-core/query/ec2_param_builder.rb +5 -7
  76. data/lib/aws-sdk-core/query/handler.rb +4 -4
  77. data/lib/aws-sdk-core/query/param_builder.rb +2 -2
  78. data/lib/aws-sdk-core/query.rb +2 -1
  79. data/lib/aws-sdk-core/refreshing_credentials.rb +12 -6
  80. data/lib/aws-sdk-core/resources.rb +8 -0
  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/cbor_engine.rb +18 -0
  93. data/lib/aws-sdk-core/rpc_v2/content_type_handler.rb +47 -0
  94. data/lib/aws-sdk-core/rpc_v2/error_handler.rb +95 -0
  95. data/lib/aws-sdk-core/rpc_v2/handler.rb +79 -0
  96. data/lib/aws-sdk-core/rpc_v2/parser.rb +98 -0
  97. data/lib/aws-sdk-core/rpc_v2.rb +69 -0
  98. data/lib/aws-sdk-core/shared_config.rb +113 -41
  99. data/lib/aws-sdk-core/shared_credentials.rb +1 -7
  100. data/lib/aws-sdk-core/sso_credentials.rb +4 -1
  101. data/lib/aws-sdk-core/static_token_provider.rb +1 -2
  102. data/lib/aws-sdk-core/stubbing/protocols/ec2.rb +12 -11
  103. data/lib/aws-sdk-core/stubbing/protocols/json.rb +11 -10
  104. data/lib/aws-sdk-core/stubbing/protocols/query.rb +7 -6
  105. data/lib/aws-sdk-core/stubbing/protocols/rest.rb +2 -1
  106. data/lib/aws-sdk-core/stubbing/protocols/rest_json.rb +9 -8
  107. data/lib/aws-sdk-core/stubbing/protocols/rest_xml.rb +6 -5
  108. data/lib/aws-sdk-core/stubbing/protocols/rpc_v2.rb +39 -0
  109. data/lib/aws-sdk-core/stubbing/stub_data.rb +11 -0
  110. data/lib/aws-sdk-core/stubbing.rb +22 -0
  111. data/lib/aws-sdk-core/telemetry/base.rb +177 -0
  112. data/lib/aws-sdk-core/telemetry/no_op.rb +70 -0
  113. data/lib/aws-sdk-core/telemetry/otel.rb +235 -0
  114. data/lib/aws-sdk-core/telemetry/span_kind.rb +22 -0
  115. data/lib/aws-sdk-core/telemetry/span_status.rb +59 -0
  116. data/lib/aws-sdk-core/telemetry.rb +78 -0
  117. data/lib/aws-sdk-core/token.rb +3 -3
  118. data/lib/aws-sdk-core/token_provider.rb +4 -0
  119. data/lib/aws-sdk-core/token_provider_chain.rb +2 -6
  120. data/lib/aws-sdk-core/util.rb +41 -1
  121. data/lib/aws-sdk-core/waiters/poller.rb +10 -5
  122. data/lib/aws-sdk-core/xml/builder.rb +17 -9
  123. data/lib/aws-sdk-core/xml/error_handler.rb +35 -43
  124. data/lib/aws-sdk-core/xml/parser/frame.rb +4 -20
  125. data/lib/aws-sdk-core/xml/parser/stack.rb +2 -0
  126. data/lib/aws-sdk-core/xml/parser.rb +2 -6
  127. data/lib/aws-sdk-core.rb +82 -107
  128. data/lib/aws-sdk-sso/client.rb +189 -96
  129. data/lib/aws-sdk-sso/client_api.rb +7 -0
  130. data/lib/aws-sdk-sso/endpoint_parameters.rb +9 -6
  131. data/lib/aws-sdk-sso/endpoint_provider.rb +30 -28
  132. data/lib/aws-sdk-sso/endpoints.rb +2 -54
  133. data/lib/aws-sdk-sso/plugins/endpoints.rb +23 -22
  134. data/lib/aws-sdk-sso/types.rb +1 -0
  135. data/lib/aws-sdk-sso.rb +15 -11
  136. data/lib/aws-sdk-ssooidc/client.rb +609 -129
  137. data/lib/aws-sdk-ssooidc/client_api.rb +94 -1
  138. data/lib/aws-sdk-ssooidc/endpoint_parameters.rb +9 -6
  139. data/lib/aws-sdk-ssooidc/endpoint_provider.rb +30 -28
  140. data/lib/aws-sdk-ssooidc/endpoints.rb +2 -40
  141. data/lib/aws-sdk-ssooidc/errors.rb +62 -0
  142. data/lib/aws-sdk-ssooidc/plugins/endpoints.rb +23 -20
  143. data/lib/aws-sdk-ssooidc/types.rb +419 -53
  144. data/lib/aws-sdk-ssooidc.rb +15 -11
  145. data/lib/aws-sdk-sts/client.rb +414 -147
  146. data/lib/aws-sdk-sts/client_api.rb +48 -9
  147. data/lib/aws-sdk-sts/customizations.rb +5 -2
  148. data/lib/aws-sdk-sts/endpoint_parameters.rb +10 -9
  149. data/lib/aws-sdk-sts/endpoint_provider.rb +52 -57
  150. data/lib/aws-sdk-sts/endpoints.rb +2 -118
  151. data/lib/aws-sdk-sts/errors.rb +15 -0
  152. data/lib/aws-sdk-sts/plugins/endpoints.rb +23 -30
  153. data/lib/aws-sdk-sts/presigner.rb +3 -7
  154. data/lib/aws-sdk-sts/types.rb +209 -27
  155. data/lib/aws-sdk-sts.rb +15 -11
  156. data/lib/seahorse/client/async_base.rb +4 -5
  157. data/lib/seahorse/client/async_response.rb +19 -0
  158. data/lib/seahorse/client/base.rb +18 -21
  159. data/lib/seahorse/client/h2/connection.rb +18 -28
  160. data/lib/seahorse/client/h2/handler.rb +14 -3
  161. data/lib/seahorse/client/handler.rb +1 -1
  162. data/lib/seahorse/client/http/response.rb +1 -1
  163. data/lib/seahorse/client/net_http/connection_pool.rb +15 -12
  164. data/lib/seahorse/client/net_http/handler.rb +21 -9
  165. data/lib/seahorse/client/net_http/patches.rb +1 -4
  166. data/lib/seahorse/client/networking_error.rb +1 -1
  167. data/lib/seahorse/client/plugin.rb +9 -0
  168. data/lib/seahorse/client/plugins/endpoint.rb +0 -1
  169. data/lib/seahorse/client/plugins/h2.rb +4 -4
  170. data/lib/seahorse/client/plugins/net_http.rb +57 -16
  171. data/lib/seahorse/client/plugins/request_callback.rb +31 -0
  172. data/lib/seahorse/client/request_context.rb +9 -2
  173. data/lib/seahorse/client/response.rb +8 -0
  174. data/lib/seahorse/model/shapes.rb +2 -2
  175. data/lib/seahorse/util.rb +2 -1
  176. data/sig/aws-sdk-core/async_client_stubs.rbs +21 -0
  177. data/sig/aws-sdk-core/client_stubs.rbs +10 -0
  178. data/sig/aws-sdk-core/errors.rbs +22 -0
  179. data/sig/aws-sdk-core/resources/collection.rbs +21 -0
  180. data/sig/aws-sdk-core/structure.rbs +4 -0
  181. data/sig/aws-sdk-core/telemetry/base.rbs +46 -0
  182. data/sig/aws-sdk-core/telemetry/otel.rbs +22 -0
  183. data/sig/aws-sdk-core/telemetry/span_kind.rbs +15 -0
  184. data/sig/aws-sdk-core/telemetry/span_status.rbs +24 -0
  185. data/sig/aws-sdk-core/waiters/errors.rbs +20 -0
  186. data/sig/aws-sdk-core.rbs +7 -0
  187. data/sig/seahorse/client/async_base.rbs +18 -0
  188. data/sig/seahorse/client/base.rbs +25 -0
  189. data/sig/seahorse/client/handler_builder.rbs +16 -0
  190. data/sig/seahorse/client/response.rbs +61 -0
  191. metadata +105 -23
  192. /data/lib/aws-sdk-core/xml/parser/{engines/libxml.rb → libxml_engine.rb} +0 -0
  193. /data/lib/aws-sdk-core/xml/parser/{engines/nokogiri.rb → nokogiri_engine.rb} +0 -0
  194. /data/lib/aws-sdk-core/xml/parser/{engines/oga.rb → oga_engine.rb} +0 -0
  195. /data/lib/aws-sdk-core/xml/parser/{engines/ox.rb → ox_engine.rb} +0 -0
  196. /data/lib/aws-sdk-core/xml/parser/{engines/rexml.rb → rexml_engine.rb} +0 -0
@@ -13,15 +13,24 @@ 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`.
18
+ # @return [String]
19
+ #
20
+ # @!attribute [rw] reason
21
+ # A string that uniquely identifies a reason for the error.
16
22
  # @return [String]
17
23
  #
18
24
  # @!attribute [rw] error_description
25
+ # Human-readable text providing additional information, used to assist
26
+ # the client developer in understanding the error that occurred.
19
27
  # @return [String]
20
28
  #
21
29
  # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/AccessDeniedException AWS API Documentation
22
30
  #
23
31
  class AccessDeniedException < Struct.new(
24
32
  :error,
33
+ :reason,
25
34
  :error_description)
26
35
  SENSITIVE = []
27
36
  include Aws::Structure
@@ -31,9 +40,13 @@ module Aws::SSOOIDC
31
40
  # session token is pending.
32
41
  #
33
42
  # @!attribute [rw] error
43
+ # Single error code. For this exception the value will be
44
+ # `authorization_pending`.
34
45
  # @return [String]
35
46
  #
36
47
  # @!attribute [rw] error_description
48
+ # Human-readable text providing additional information, used to assist
49
+ # the client developer in understanding the error that occurred.
37
50
  # @return [String]
38
51
  #
39
52
  # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/AuthorizationPendingException AWS API Documentation
@@ -45,9 +58,34 @@ module Aws::SSOOIDC
45
58
  include Aws::Structure
46
59
  end
47
60
 
61
+ # This structure contains Amazon Web Services-specific parameter
62
+ # extensions and the [identity context][1].
63
+ #
64
+ #
65
+ #
66
+ # [1]: https://docs.aws.amazon.com/singlesignon/latest/userguide/trustedidentitypropagation-overview.html
67
+ #
68
+ # @!attribute [rw] identity_context
69
+ # The trusted context assertion is signed and encrypted by STS. It
70
+ # provides access to `sts:identity_context` claim in the `idToken`
71
+ # without JWT parsing
72
+ #
73
+ # Identity context comprises information that Amazon Web Services
74
+ # services use to make authorization decisions when they receive
75
+ # requests.
76
+ # @return [String]
77
+ #
78
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/AwsAdditionalDetails AWS API Documentation
79
+ #
80
+ class AwsAdditionalDetails < Struct.new(
81
+ :identity_context)
82
+ SENSITIVE = []
83
+ include Aws::Structure
84
+ end
85
+
48
86
  # @!attribute [rw] client_id
49
- # The unique identifier string for each client. This value should come
50
- # from the persisted result of the RegisterClient API.
87
+ # The unique identifier string for the client or application. This
88
+ # value comes from the result of the RegisterClient API.
51
89
  # @return [String]
52
90
  #
53
91
  # @!attribute [rw] client_secret
@@ -56,38 +94,38 @@ module Aws::SSOOIDC
56
94
  # @return [String]
57
95
  #
58
96
  # @!attribute [rw] grant_type
59
- # Supports grant types for the authorization code, refresh token, and
60
- # device code request. For device code requests, specify the following
61
- # value:
97
+ # Supports the following OAuth grant types: Authorization Code, Device
98
+ # Code, and Refresh Token. Specify one of the following values,
99
+ # depending on the grant type that you want:
62
100
  #
63
- # `urn:ietf:params:oauth:grant-type:device_code `
101
+ # * Authorization Code - `authorization_code`
64
102
  #
65
- # For information about how to obtain the device code, see the
66
- # StartDeviceAuthorization topic.
103
+ # * Device Code - `urn:ietf:params:oauth:grant-type:device_code`
104
+ #
105
+ # * Refresh Token - `refresh_token`
67
106
  # @return [String]
68
107
  #
69
108
  # @!attribute [rw] device_code
70
- # Used only when calling this API for the device code grant type. This
71
- # short-term code is used to identify this authentication attempt.
72
- # This should come from an in-memory reference to the result of the
73
- # StartDeviceAuthorization API.
109
+ # Used only when calling this API for the Device Code grant type. This
110
+ # short-lived code is used to identify this authorization request.
111
+ # This comes from the result of the StartDeviceAuthorization API.
74
112
  # @return [String]
75
113
  #
76
114
  # @!attribute [rw] code
77
- # The authorization code received from the authorization service. This
78
- # parameter is required to perform an authorization grant request to
79
- # get access to a token.
115
+ # Used only when calling this API for the Authorization Code grant
116
+ # type. The short-lived code is used to identify this authorization
117
+ # request.
80
118
  # @return [String]
81
119
  #
82
120
  # @!attribute [rw] refresh_token
83
- # Currently, `refreshToken` is not yet implemented and is not
84
- # supported. For more information about the features and limitations
85
- # of the current IAM Identity Center OIDC implementation, see
86
- # *Considerations for Using this Guide* in the [IAM Identity Center
87
- # OIDC API Reference][1].
121
+ # Used only when calling this API for the Refresh Token grant type.
122
+ # This token is used to refresh short-lived tokens, such as the access
123
+ # token, that might expire.
88
124
  #
89
- # The token used to obtain an access token in the event that the
90
- # access token is invalid or expired.
125
+ # For more information about the features and limitations of the
126
+ # current IAM Identity Center OIDC implementation, see *Considerations
127
+ # for Using this Guide* in the [IAM Identity Center OIDC API
128
+ # Reference][1].
91
129
  #
92
130
  #
93
131
  #
@@ -95,15 +133,22 @@ module Aws::SSOOIDC
95
133
  # @return [String]
96
134
  #
97
135
  # @!attribute [rw] scope
98
- # The list of scopes that is defined by the client. Upon
99
- # authorization, this list is used to restrict permissions when
100
- # granting an access token.
136
+ # The list of scopes for which authorization is requested. This
137
+ # parameter has no effect; the access token will always include all
138
+ # scopes configured during client registration.
101
139
  # @return [Array<String>]
102
140
  #
103
141
  # @!attribute [rw] redirect_uri
104
- # The location of the application that will receive the authorization
105
- # code. Users authorize the service to send the request to this
106
- # location.
142
+ # Used only when calling this API for the Authorization Code grant
143
+ # type. This value specifies the location of the client or application
144
+ # that has registered to receive the authorization code.
145
+ # @return [String]
146
+ #
147
+ # @!attribute [rw] code_verifier
148
+ # Used only when calling this API for the Authorization Code grant
149
+ # type. This value is generated by the client and presented to
150
+ # validate the original code challenge value the client passed at
151
+ # authorization time.
107
152
  # @return [String]
108
153
  #
109
154
  # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/CreateTokenRequest AWS API Documentation
@@ -116,19 +161,20 @@ module Aws::SSOOIDC
116
161
  :code,
117
162
  :refresh_token,
118
163
  :scope,
119
- :redirect_uri)
120
- SENSITIVE = []
164
+ :redirect_uri,
165
+ :code_verifier)
166
+ SENSITIVE = [:client_secret, :refresh_token, :code_verifier]
121
167
  include Aws::Structure
122
168
  end
123
169
 
124
170
  # @!attribute [rw] access_token
125
- # An opaque token to access IAM Identity Center resources assigned to
126
- # a user.
171
+ # A bearer token to access Amazon Web Services accounts and
172
+ # applications assigned to a user.
127
173
  # @return [String]
128
174
  #
129
175
  # @!attribute [rw] token_type
130
176
  # Used to notify the client that the returned token is an access
131
- # token. The supported type is `BearerToken`.
177
+ # token. The supported token type is `Bearer`.
132
178
  # @return [String]
133
179
  #
134
180
  # @!attribute [rw] expires_in
@@ -136,44 +182,225 @@ module Aws::SSOOIDC
136
182
  # @return [Integer]
137
183
  #
138
184
  # @!attribute [rw] refresh_token
139
- # Currently, `refreshToken` is not yet implemented and is not
140
- # supported. For more information about the features and limitations
141
- # of the current IAM Identity Center OIDC implementation, see
142
- # *Considerations for Using this Guide* in the [IAM Identity Center
143
- # OIDC API Reference][1].
144
- #
145
185
  # A token that, if present, can be used to refresh a previously issued
146
186
  # access token that might have expired.
147
187
  #
188
+ # For more information about the features and limitations of the
189
+ # current IAM Identity Center OIDC implementation, see *Considerations
190
+ # for Using this Guide* in the [IAM Identity Center OIDC API
191
+ # Reference][1].
192
+ #
148
193
  #
149
194
  #
150
195
  # [1]: https://docs.aws.amazon.com/singlesignon/latest/OIDCAPIReference/Welcome.html
151
196
  # @return [String]
152
197
  #
153
198
  # @!attribute [rw] id_token
154
- # Currently, `idToken` is not yet implemented and is not supported.
199
+ # The `idToken` is not implemented or supported. For more information
200
+ # about the features and limitations of the current IAM Identity
201
+ # Center OIDC implementation, see *Considerations for Using this
202
+ # Guide* in the [IAM Identity Center OIDC API Reference][1].
203
+ #
204
+ # A JSON Web Token (JWT) that identifies who is associated with the
205
+ # issued access token.
206
+ #
207
+ #
208
+ #
209
+ # [1]: https://docs.aws.amazon.com/singlesignon/latest/OIDCAPIReference/Welcome.html
210
+ # @return [String]
211
+ #
212
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/CreateTokenResponse AWS API Documentation
213
+ #
214
+ class CreateTokenResponse < Struct.new(
215
+ :access_token,
216
+ :token_type,
217
+ :expires_in,
218
+ :refresh_token,
219
+ :id_token)
220
+ SENSITIVE = [:access_token, :refresh_token, :id_token]
221
+ include Aws::Structure
222
+ end
223
+
224
+ # @!attribute [rw] client_id
225
+ # The unique identifier string for the client or application. This
226
+ # value is an application ARN that has OAuth grants configured.
227
+ # @return [String]
228
+ #
229
+ # @!attribute [rw] grant_type
230
+ # Supports the following OAuth grant types: Authorization Code,
231
+ # Refresh Token, JWT Bearer, and Token Exchange. Specify one of the
232
+ # following values, depending on the grant type that you want:
233
+ #
234
+ # * Authorization Code - `authorization_code`
235
+ #
236
+ # * Refresh Token - `refresh_token`
237
+ #
238
+ # * JWT Bearer - `urn:ietf:params:oauth:grant-type:jwt-bearer`
239
+ #
240
+ # * Token Exchange -
241
+ # `urn:ietf:params:oauth:grant-type:token-exchange`
242
+ # @return [String]
243
+ #
244
+ # @!attribute [rw] code
245
+ # Used only when calling this API for the Authorization Code grant
246
+ # type. This short-lived code is used to identify this authorization
247
+ # request. The code is obtained through a redirect from IAM Identity
248
+ # Center to a redirect URI persisted in the Authorization Code
249
+ # GrantOptions for the application.
250
+ # @return [String]
251
+ #
252
+ # @!attribute [rw] refresh_token
253
+ # Used only when calling this API for the Refresh Token grant type.
254
+ # This token is used to refresh short-lived tokens, such as the access
255
+ # token, that might expire.
256
+ #
155
257
  # For more information about the features and limitations of the
156
258
  # current IAM Identity Center OIDC implementation, see *Considerations
157
259
  # for Using this Guide* in the [IAM Identity Center OIDC API
158
260
  # Reference][1].
159
261
  #
160
- # The identifier of the user that associated with the access token, if
161
- # present.
262
+ #
263
+ #
264
+ # [1]: https://docs.aws.amazon.com/singlesignon/latest/OIDCAPIReference/Welcome.html
265
+ # @return [String]
266
+ #
267
+ # @!attribute [rw] assertion
268
+ # Used only when calling this API for the JWT Bearer grant type. This
269
+ # value specifies the JSON Web Token (JWT) issued by a trusted token
270
+ # issuer. To authorize a trusted token issuer, configure the JWT
271
+ # Bearer GrantOptions for the application.
272
+ # @return [String]
273
+ #
274
+ # @!attribute [rw] scope
275
+ # The list of scopes for which authorization is requested. The access
276
+ # token that is issued is limited to the scopes that are granted. If
277
+ # the value is not specified, IAM Identity Center authorizes all
278
+ # scopes configured for the application, including the following
279
+ # default scopes: `openid`, `aws`, `sts:identity_context`.
280
+ # @return [Array<String>]
281
+ #
282
+ # @!attribute [rw] redirect_uri
283
+ # Used only when calling this API for the Authorization Code grant
284
+ # type. This value specifies the location of the client or application
285
+ # that has registered to receive the authorization code.
286
+ # @return [String]
287
+ #
288
+ # @!attribute [rw] subject_token
289
+ # Used only when calling this API for the Token Exchange grant type.
290
+ # This value specifies the subject of the exchange. The value of the
291
+ # subject token must be an access token issued by IAM Identity Center
292
+ # to a different client or application. The access token must have
293
+ # authorized scopes that indicate the requested application as a
294
+ # target audience.
295
+ # @return [String]
296
+ #
297
+ # @!attribute [rw] subject_token_type
298
+ # Used only when calling this API for the Token Exchange grant type.
299
+ # This value specifies the type of token that is passed as the subject
300
+ # of the exchange. The following value is supported:
301
+ #
302
+ # * Access Token - `urn:ietf:params:oauth:token-type:access_token`
303
+ # @return [String]
304
+ #
305
+ # @!attribute [rw] requested_token_type
306
+ # Used only when calling this API for the Token Exchange grant type.
307
+ # This value specifies the type of token that the requester can
308
+ # receive. The following values are supported:
309
+ #
310
+ # * Access Token - `urn:ietf:params:oauth:token-type:access_token`
311
+ #
312
+ # * Refresh Token - `urn:ietf:params:oauth:token-type:refresh_token`
313
+ # @return [String]
314
+ #
315
+ # @!attribute [rw] code_verifier
316
+ # Used only when calling this API for the Authorization Code grant
317
+ # type. This value is generated by the client and presented to
318
+ # validate the original code challenge value the client passed at
319
+ # authorization time.
320
+ # @return [String]
321
+ #
322
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/CreateTokenWithIAMRequest AWS API Documentation
323
+ #
324
+ class CreateTokenWithIAMRequest < Struct.new(
325
+ :client_id,
326
+ :grant_type,
327
+ :code,
328
+ :refresh_token,
329
+ :assertion,
330
+ :scope,
331
+ :redirect_uri,
332
+ :subject_token,
333
+ :subject_token_type,
334
+ :requested_token_type,
335
+ :code_verifier)
336
+ SENSITIVE = [:refresh_token, :assertion, :subject_token, :code_verifier]
337
+ include Aws::Structure
338
+ end
339
+
340
+ # @!attribute [rw] access_token
341
+ # A bearer token to access Amazon Web Services accounts and
342
+ # applications assigned to a user.
343
+ # @return [String]
344
+ #
345
+ # @!attribute [rw] token_type
346
+ # Used to notify the requester that the returned token is an access
347
+ # token. The supported token type is `Bearer`.
348
+ # @return [String]
349
+ #
350
+ # @!attribute [rw] expires_in
351
+ # Indicates the time in seconds when an access token will expire.
352
+ # @return [Integer]
353
+ #
354
+ # @!attribute [rw] refresh_token
355
+ # A token that, if present, can be used to refresh a previously issued
356
+ # access token that might have expired.
357
+ #
358
+ # For more information about the features and limitations of the
359
+ # current IAM Identity Center OIDC implementation, see *Considerations
360
+ # for Using this Guide* in the [IAM Identity Center OIDC API
361
+ # Reference][1].
162
362
  #
163
363
  #
164
364
  #
165
365
  # [1]: https://docs.aws.amazon.com/singlesignon/latest/OIDCAPIReference/Welcome.html
166
366
  # @return [String]
167
367
  #
168
- # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/CreateTokenResponse AWS API Documentation
368
+ # @!attribute [rw] id_token
369
+ # A JSON Web Token (JWT) that identifies the user associated with the
370
+ # issued access token.
371
+ # @return [String]
169
372
  #
170
- class CreateTokenResponse < Struct.new(
373
+ # @!attribute [rw] issued_token_type
374
+ # Indicates the type of tokens that are issued by IAM Identity Center.
375
+ # The following values are supported:
376
+ #
377
+ # * Access Token - `urn:ietf:params:oauth:token-type:access_token`
378
+ #
379
+ # * Refresh Token - `urn:ietf:params:oauth:token-type:refresh_token`
380
+ # @return [String]
381
+ #
382
+ # @!attribute [rw] scope
383
+ # The list of scopes for which authorization is granted. The access
384
+ # token that is issued is limited to the scopes that are granted.
385
+ # @return [Array<String>]
386
+ #
387
+ # @!attribute [rw] aws_additional_details
388
+ # A structure containing information from IAM Identity Center managed
389
+ # user and group information.
390
+ # @return [Types::AwsAdditionalDetails]
391
+ #
392
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/CreateTokenWithIAMResponse AWS API Documentation
393
+ #
394
+ class CreateTokenWithIAMResponse < Struct.new(
171
395
  :access_token,
172
396
  :token_type,
173
397
  :expires_in,
174
398
  :refresh_token,
175
- :id_token)
176
- SENSITIVE = []
399
+ :id_token,
400
+ :issued_token_type,
401
+ :scope,
402
+ :aws_additional_details)
403
+ SENSITIVE = [:access_token, :refresh_token, :id_token]
177
404
  include Aws::Structure
178
405
  end
179
406
 
@@ -181,9 +408,13 @@ module Aws::SSOOIDC
181
408
  # longer valid.
182
409
  #
183
410
  # @!attribute [rw] error
411
+ # Single error code. For this exception the value will be
412
+ # `expired_token`.
184
413
  # @return [String]
185
414
  #
186
415
  # @!attribute [rw] error_description
416
+ # Human-readable text providing additional information, used to assist
417
+ # the client developer in understanding the error that occurred.
187
418
  # @return [String]
188
419
  #
189
420
  # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/ExpiredTokenException AWS API Documentation
@@ -199,9 +430,13 @@ module Aws::SSOOIDC
199
430
  # process a request.
200
431
  #
201
432
  # @!attribute [rw] error
433
+ # Single error code. For this exception the value will be
434
+ # `server_error`.
202
435
  # @return [String]
203
436
  #
204
437
  # @!attribute [rw] error_description
438
+ # Human-readable text providing additional information, used to assist
439
+ # the client developer in understanding the error that occurred.
205
440
  # @return [String]
206
441
  #
207
442
  # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/InternalServerException AWS API Documentation
@@ -218,9 +453,13 @@ module Aws::SSOOIDC
218
453
  # `clientId` or an expired `clientSecret`.
219
454
  #
220
455
  # @!attribute [rw] error
456
+ # Single error code. For this exception the value will be
457
+ # `invalid_client`.
221
458
  # @return [String]
222
459
  #
223
460
  # @!attribute [rw] error_description
461
+ # Human-readable text providing additional information, used to assist
462
+ # the client developer in understanding the error that occurred.
224
463
  # @return [String]
225
464
  #
226
465
  # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/InvalidClientException AWS API Documentation
@@ -236,9 +475,13 @@ module Aws::SSOOIDC
236
475
  # registration is invalid.
237
476
  #
238
477
  # @!attribute [rw] error
478
+ # Single error code. For this exception the value will be
479
+ # `invalid_client_metadata`.
239
480
  # @return [String]
240
481
  #
241
482
  # @!attribute [rw] error_description
483
+ # Human-readable text providing additional information, used to assist
484
+ # the client developer in understanding the error that occurred.
242
485
  # @return [String]
243
486
  #
244
487
  # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/InvalidClientMetadataException AWS API Documentation
@@ -254,9 +497,13 @@ module Aws::SSOOIDC
254
497
  # a client makes a CreateToken request with an invalid grant type.
255
498
  #
256
499
  # @!attribute [rw] error
500
+ # Single error code. For this exception the value will be
501
+ # `invalid_grant`.
257
502
  # @return [String]
258
503
  #
259
504
  # @!attribute [rw] error_description
505
+ # Human-readable text providing additional information, used to assist
506
+ # the client developer in understanding the error that occurred.
260
507
  # @return [String]
261
508
  #
262
509
  # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/InvalidGrantException AWS API Documentation
@@ -268,30 +515,99 @@ module Aws::SSOOIDC
268
515
  include Aws::Structure
269
516
  end
270
517
 
518
+ # Indicates that one or more redirect URI in the request is not
519
+ # supported for this operation.
520
+ #
521
+ # @!attribute [rw] error
522
+ # Single error code. For this exception the value will be
523
+ # `invalid_redirect_uri`.
524
+ # @return [String]
525
+ #
526
+ # @!attribute [rw] error_description
527
+ # Human-readable text providing additional information, used to assist
528
+ # the client developer in understanding the error that occurred.
529
+ # @return [String]
530
+ #
531
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/InvalidRedirectUriException AWS API Documentation
532
+ #
533
+ class InvalidRedirectUriException < Struct.new(
534
+ :error,
535
+ :error_description)
536
+ SENSITIVE = []
537
+ include Aws::Structure
538
+ end
539
+
271
540
  # Indicates that something is wrong with the input to the request. For
272
541
  # example, a required parameter might be missing or out of range.
273
542
  #
274
543
  # @!attribute [rw] error
544
+ # Single error code. For this exception the value will be
545
+ # `invalid_request`.
546
+ # @return [String]
547
+ #
548
+ # @!attribute [rw] reason
549
+ # A string that uniquely identifies a reason for the error.
275
550
  # @return [String]
276
551
  #
277
552
  # @!attribute [rw] error_description
553
+ # Human-readable text providing additional information, used to assist
554
+ # the client developer in understanding the error that occurred.
278
555
  # @return [String]
279
556
  #
280
557
  # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/InvalidRequestException AWS API Documentation
281
558
  #
282
559
  class InvalidRequestException < Struct.new(
283
560
  :error,
561
+ :reason,
284
562
  :error_description)
285
563
  SENSITIVE = []
286
564
  include Aws::Structure
287
565
  end
288
566
 
567
+ # Indicates that a token provided as input to the request was issued by
568
+ # and is only usable by calling IAM Identity Center endpoints in another
569
+ # region.
570
+ #
571
+ # @!attribute [rw] error
572
+ # Single error code. For this exception the value will be
573
+ # `invalid_request`.
574
+ # @return [String]
575
+ #
576
+ # @!attribute [rw] error_description
577
+ # Human-readable text providing additional information, used to assist
578
+ # the client developer in understanding the error that occurred.
579
+ # @return [String]
580
+ #
581
+ # @!attribute [rw] endpoint
582
+ # Indicates the IAM Identity Center endpoint which the requester may
583
+ # call with this token.
584
+ # @return [String]
585
+ #
586
+ # @!attribute [rw] region
587
+ # Indicates the region which the requester may call with this token.
588
+ # @return [String]
589
+ #
590
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/InvalidRequestRegionException AWS API Documentation
591
+ #
592
+ class InvalidRequestRegionException < Struct.new(
593
+ :error,
594
+ :error_description,
595
+ :endpoint,
596
+ :region)
597
+ SENSITIVE = []
598
+ include Aws::Structure
599
+ end
600
+
289
601
  # Indicates that the scope provided in the request is invalid.
290
602
  #
291
603
  # @!attribute [rw] error
604
+ # Single error code. For this exception the value will be
605
+ # `invalid_scope`.
292
606
  # @return [String]
293
607
  #
294
608
  # @!attribute [rw] error_description
609
+ # Human-readable text providing additional information, used to assist
610
+ # the client developer in understanding the error that occurred.
295
611
  # @return [String]
296
612
  #
297
613
  # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/InvalidScopeException AWS API Documentation
@@ -318,12 +634,49 @@ module Aws::SSOOIDC
318
634
  # granting an access token.
319
635
  # @return [Array<String>]
320
636
  #
637
+ # @!attribute [rw] redirect_uris
638
+ # The list of redirect URI that are defined by the client. At
639
+ # completion of authorization, this list is used to restrict what
640
+ # locations the user agent can be redirected back to.
641
+ # @return [Array<String>]
642
+ #
643
+ # @!attribute [rw] grant_types
644
+ # The list of OAuth 2.0 grant types that are defined by the client.
645
+ # This list is used to restrict the token granting flows available to
646
+ # the client. Supports the following OAuth 2.0 grant types:
647
+ # Authorization Code, Device Code, and Refresh Token.
648
+ #
649
+ # * Authorization Code - `authorization_code`
650
+ #
651
+ # * Device Code - `urn:ietf:params:oauth:grant-type:device_code`
652
+ #
653
+ # * Refresh Token - `refresh_token`
654
+ # @return [Array<String>]
655
+ #
656
+ # @!attribute [rw] issuer_url
657
+ # The IAM Identity Center Issuer URL associated with an instance of
658
+ # IAM Identity Center. This value is needed for user access to
659
+ # resources through the client.
660
+ # @return [String]
661
+ #
662
+ # @!attribute [rw] entitled_application_arn
663
+ # This IAM Identity Center application ARN is used to define
664
+ # administrator-managed configuration for public client access to
665
+ # resources. At authorization, the scopes, grants, and redirect URI
666
+ # available to this client will be restricted by this application
667
+ # resource.
668
+ # @return [String]
669
+ #
321
670
  # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/RegisterClientRequest AWS API Documentation
322
671
  #
323
672
  class RegisterClientRequest < Struct.new(
324
673
  :client_name,
325
674
  :client_type,
326
- :scopes)
675
+ :scopes,
676
+ :redirect_uris,
677
+ :grant_types,
678
+ :issuer_url,
679
+ :entitled_application_arn)
327
680
  SENSITIVE = []
328
681
  include Aws::Structure
329
682
  end
@@ -349,11 +702,11 @@ module Aws::SSOOIDC
349
702
  # @return [Integer]
350
703
  #
351
704
  # @!attribute [rw] authorization_endpoint
352
- # The endpoint where the client can request authorization.
705
+ # An endpoint that the client can use to request authorization.
353
706
  # @return [String]
354
707
  #
355
708
  # @!attribute [rw] token_endpoint
356
- # The endpoint where the client can get an access token.
709
+ # An endpoint that the client can use to create tokens.
357
710
  # @return [String]
358
711
  #
359
712
  # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/RegisterClientResponse AWS API Documentation
@@ -365,7 +718,7 @@ module Aws::SSOOIDC
365
718
  :client_secret_expires_at,
366
719
  :authorization_endpoint,
367
720
  :token_endpoint)
368
- SENSITIVE = []
721
+ SENSITIVE = [:client_secret]
369
722
  include Aws::Structure
370
723
  end
371
724
 
@@ -373,9 +726,12 @@ module Aws::SSOOIDC
373
726
  # more than the service can handle.
374
727
  #
375
728
  # @!attribute [rw] error
729
+ # Single error code. For this exception the value will be `slow_down`.
376
730
  # @return [String]
377
731
  #
378
732
  # @!attribute [rw] error_description
733
+ # Human-readable text providing additional information, used to assist
734
+ # the client developer in understanding the error that occurred.
379
735
  # @return [String]
380
736
  #
381
737
  # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/SlowDownException AWS API Documentation
@@ -399,8 +755,9 @@ module Aws::SSOOIDC
399
755
  # @return [String]
400
756
  #
401
757
  # @!attribute [rw] start_url
402
- # The URL for the AWS access portal. For more information, see [Using
403
- # the AWS access portal][1] in the *IAM Identity Center User Guide*.
758
+ # The URL for the Amazon Web Services access portal. For more
759
+ # information, see [Using the Amazon Web Services access portal][1] in
760
+ # the *IAM Identity Center User Guide*.
404
761
  #
405
762
  #
406
763
  #
@@ -413,7 +770,7 @@ module Aws::SSOOIDC
413
770
  :client_id,
414
771
  :client_secret,
415
772
  :start_url)
416
- SENSITIVE = []
773
+ SENSITIVE = [:client_secret]
417
774
  include Aws::Structure
418
775
  end
419
776
 
@@ -466,9 +823,13 @@ module Aws::SSOOIDC
466
823
  # client.
467
824
  #
468
825
  # @!attribute [rw] error
826
+ # Single error code. For this exception the value will be
827
+ # `unauthorized_client`.
469
828
  # @return [String]
470
829
  #
471
830
  # @!attribute [rw] error_description
831
+ # Human-readable text providing additional information, used to assist
832
+ # the client developer in understanding the error that occurred.
472
833
  # @return [String]
473
834
  #
474
835
  # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/UnauthorizedClientException AWS API Documentation
@@ -484,9 +845,13 @@ module Aws::SSOOIDC
484
845
  # service.
485
846
  #
486
847
  # @!attribute [rw] error
848
+ # Single error code. For this exception the value will be
849
+ # `unsupported_grant_type`.
487
850
  # @return [String]
488
851
  #
489
852
  # @!attribute [rw] error_description
853
+ # Human-readable text providing additional information, used to assist
854
+ # the client developer in understanding the error that occurred.
490
855
  # @return [String]
491
856
  #
492
857
  # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/UnsupportedGrantTypeException AWS API Documentation
@@ -500,3 +865,4 @@ module Aws::SSOOIDC
500
865
 
501
866
  end
502
867
  end
868
+