aws-sdk-core 3.168.4 → 3.224.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 (205) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +719 -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 +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 +8 -1
  20. data/lib/aws-sdk-core/credential_provider_chain.rb +39 -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 +179 -53
  24. data/lib/aws-sdk-core/endpoints/condition.rb +5 -0
  25. data/lib/aws-sdk-core/endpoints/endpoint.rb +3 -1
  26. data/lib/aws-sdk-core/endpoints/endpoint_rule.rb +5 -1
  27. data/lib/aws-sdk-core/endpoints/error_rule.rb +5 -0
  28. data/lib/aws-sdk-core/endpoints/function.rb +5 -0
  29. data/lib/aws-sdk-core/endpoints/matchers.rb +19 -18
  30. data/lib/aws-sdk-core/endpoints/reference.rb +5 -0
  31. data/lib/aws-sdk-core/endpoints/rule.rb +5 -0
  32. data/lib/aws-sdk-core/endpoints/rule_set.rb +5 -0
  33. data/lib/aws-sdk-core/endpoints/rules_provider.rb +5 -0
  34. data/lib/aws-sdk-core/endpoints/templater.rb +6 -0
  35. data/lib/aws-sdk-core/endpoints/tree_rule.rb +5 -0
  36. data/lib/aws-sdk-core/endpoints/url.rb +1 -0
  37. data/lib/aws-sdk-core/endpoints.rb +79 -19
  38. data/lib/aws-sdk-core/error_handler.rb +41 -0
  39. data/lib/aws-sdk-core/errors.rb +14 -5
  40. data/lib/aws-sdk-core/event_emitter.rb +0 -16
  41. data/lib/aws-sdk-core/ini_parser.rb +7 -0
  42. data/lib/aws-sdk-core/instance_profile_credentials.rb +56 -32
  43. data/lib/aws-sdk-core/json/builder.rb +8 -1
  44. data/lib/aws-sdk-core/json/error_handler.rb +30 -14
  45. data/lib/aws-sdk-core/json/handler.rb +13 -6
  46. data/lib/aws-sdk-core/json/json_engine.rb +3 -1
  47. data/lib/aws-sdk-core/json/oj_engine.rb +7 -1
  48. data/lib/aws-sdk-core/json/parser.rb +33 -3
  49. data/lib/aws-sdk-core/json.rb +43 -14
  50. data/lib/aws-sdk-core/log/formatter.rb +6 -0
  51. data/lib/aws-sdk-core/log/param_filter.rb +2 -2
  52. data/lib/aws-sdk-core/log/param_formatter.rb +7 -3
  53. data/lib/aws-sdk-core/log.rb +10 -0
  54. data/lib/aws-sdk-core/lru_cache.rb +75 -0
  55. data/lib/aws-sdk-core/pageable_response.rb +3 -1
  56. data/lib/aws-sdk-core/param_validator.rb +9 -4
  57. data/lib/aws-sdk-core/plugins/bearer_authorization.rb +2 -0
  58. data/lib/aws-sdk-core/plugins/checksum_algorithm.rb +333 -168
  59. data/lib/aws-sdk-core/plugins/client_metrics_plugin.rb +1 -1
  60. data/lib/aws-sdk-core/plugins/client_metrics_send_plugin.rb +14 -2
  61. data/lib/aws-sdk-core/plugins/credentials_configuration.rb +9 -3
  62. data/lib/aws-sdk-core/plugins/endpoint_pattern.rb +40 -32
  63. data/lib/aws-sdk-core/plugins/global_configuration.rb +8 -9
  64. data/lib/aws-sdk-core/plugins/http_checksum.rb +3 -8
  65. data/lib/aws-sdk-core/plugins/invocation_id.rb +1 -11
  66. data/lib/aws-sdk-core/plugins/logging.rb +2 -0
  67. data/lib/aws-sdk-core/plugins/protocols/api_gateway.rb +3 -1
  68. data/lib/aws-sdk-core/plugins/protocols/ec2.rb +2 -24
  69. data/lib/aws-sdk-core/plugins/protocols/json_rpc.rb +6 -8
  70. data/lib/aws-sdk-core/plugins/protocols/query.rb +4 -2
  71. data/lib/aws-sdk-core/plugins/protocols/rest_json.rb +3 -15
  72. data/lib/aws-sdk-core/plugins/protocols/rest_xml.rb +3 -0
  73. data/lib/aws-sdk-core/plugins/protocols/rpc_v2.rb +17 -0
  74. data/lib/aws-sdk-core/plugins/regional_endpoint.rb +162 -37
  75. data/lib/aws-sdk-core/plugins/request_compression.rb +226 -0
  76. data/lib/aws-sdk-core/plugins/retry_errors.rb +12 -3
  77. data/lib/aws-sdk-core/plugins/sign.rb +44 -17
  78. data/lib/aws-sdk-core/plugins/signature_v2.rb +2 -1
  79. data/lib/aws-sdk-core/plugins/signature_v4.rb +2 -1
  80. data/lib/aws-sdk-core/plugins/stub_responses.rb +53 -9
  81. data/lib/aws-sdk-core/plugins/telemetry.rb +75 -0
  82. data/lib/aws-sdk-core/plugins/transfer_encoding.rb +16 -9
  83. data/lib/aws-sdk-core/plugins/user_agent.rb +191 -14
  84. data/lib/aws-sdk-core/plugins.rb +39 -0
  85. data/lib/aws-sdk-core/process_credentials.rb +48 -29
  86. data/lib/aws-sdk-core/query/ec2_handler.rb +27 -0
  87. data/lib/aws-sdk-core/query/ec2_param_builder.rb +5 -7
  88. data/lib/aws-sdk-core/query/handler.rb +4 -4
  89. data/lib/aws-sdk-core/query/param_builder.rb +2 -2
  90. data/lib/aws-sdk-core/query.rb +2 -1
  91. data/lib/aws-sdk-core/refreshing_credentials.rb +12 -12
  92. data/lib/aws-sdk-core/resources.rb +8 -0
  93. data/lib/aws-sdk-core/rest/content_type_handler.rb +60 -0
  94. data/lib/aws-sdk-core/rest/handler.rb +3 -4
  95. data/lib/aws-sdk-core/rest/request/body.rb +32 -5
  96. data/lib/aws-sdk-core/rest/request/endpoint.rb +24 -4
  97. data/lib/aws-sdk-core/rest/request/headers.rb +15 -7
  98. data/lib/aws-sdk-core/rest/request/querystring_builder.rb +62 -36
  99. data/lib/aws-sdk-core/rest/response/body.rb +15 -1
  100. data/lib/aws-sdk-core/rest/response/header_list_parser.rb +79 -0
  101. data/lib/aws-sdk-core/rest/response/headers.rb +8 -3
  102. data/lib/aws-sdk-core/rest.rb +1 -0
  103. data/lib/aws-sdk-core/rpc_v2/builder.rb +62 -0
  104. data/lib/aws-sdk-core/rpc_v2/cbor_engine.rb +18 -0
  105. data/lib/aws-sdk-core/rpc_v2/content_type_handler.rb +47 -0
  106. data/lib/aws-sdk-core/rpc_v2/error_handler.rb +85 -0
  107. data/lib/aws-sdk-core/rpc_v2/handler.rb +79 -0
  108. data/lib/aws-sdk-core/rpc_v2/parser.rb +90 -0
  109. data/lib/aws-sdk-core/rpc_v2.rb +69 -0
  110. data/lib/aws-sdk-core/shared_config.rb +125 -39
  111. data/lib/aws-sdk-core/shared_credentials.rb +1 -7
  112. data/lib/aws-sdk-core/sso_credentials.rb +5 -2
  113. data/lib/aws-sdk-core/stubbing/protocols/ec2.rb +12 -11
  114. data/lib/aws-sdk-core/stubbing/protocols/json.rb +11 -10
  115. data/lib/aws-sdk-core/stubbing/protocols/query.rb +7 -6
  116. data/lib/aws-sdk-core/stubbing/protocols/rest.rb +2 -1
  117. data/lib/aws-sdk-core/stubbing/protocols/rest_json.rb +9 -8
  118. data/lib/aws-sdk-core/stubbing/protocols/rest_xml.rb +6 -5
  119. data/lib/aws-sdk-core/stubbing/protocols/rpc_v2.rb +39 -0
  120. data/lib/aws-sdk-core/stubbing/stub_data.rb +11 -0
  121. data/lib/aws-sdk-core/stubbing.rb +22 -0
  122. data/lib/aws-sdk-core/telemetry/base.rb +177 -0
  123. data/lib/aws-sdk-core/telemetry/no_op.rb +70 -0
  124. data/lib/aws-sdk-core/telemetry/otel.rb +235 -0
  125. data/lib/aws-sdk-core/telemetry/span_kind.rb +22 -0
  126. data/lib/aws-sdk-core/telemetry/span_status.rb +59 -0
  127. data/lib/aws-sdk-core/telemetry.rb +78 -0
  128. data/lib/aws-sdk-core/util.rb +39 -0
  129. data/lib/aws-sdk-core/waiters/poller.rb +12 -5
  130. data/lib/aws-sdk-core/xml/builder.rb +17 -9
  131. data/lib/aws-sdk-core/xml/error_handler.rb +32 -42
  132. data/lib/aws-sdk-core/xml/parser/frame.rb +4 -20
  133. data/lib/aws-sdk-core/xml/parser/{engines/oga.rb → oga_engine.rb} +2 -0
  134. data/lib/aws-sdk-core/xml/parser/stack.rb +2 -0
  135. data/lib/aws-sdk-core/xml/parser.rb +2 -6
  136. data/lib/aws-sdk-core.rb +82 -107
  137. data/lib/aws-sdk-sso/client.rb +185 -79
  138. data/lib/aws-sdk-sso/client_api.rb +7 -0
  139. data/lib/aws-sdk-sso/endpoint_parameters.rb +9 -6
  140. data/lib/aws-sdk-sso/endpoint_provider.rb +37 -96
  141. data/lib/aws-sdk-sso/endpoints.rb +3 -54
  142. data/lib/aws-sdk-sso/plugins/endpoints.rb +23 -22
  143. data/lib/aws-sdk-sso/types.rb +1 -0
  144. data/lib/aws-sdk-sso.rb +15 -11
  145. data/lib/aws-sdk-ssooidc/client.rb +592 -112
  146. data/lib/aws-sdk-ssooidc/client_api.rb +89 -1
  147. data/lib/aws-sdk-ssooidc/endpoint_parameters.rb +9 -6
  148. data/lib/aws-sdk-ssooidc/endpoint_provider.rb +37 -95
  149. data/lib/aws-sdk-ssooidc/endpoints.rb +3 -40
  150. data/lib/aws-sdk-ssooidc/errors.rb +52 -0
  151. data/lib/aws-sdk-ssooidc/plugins/endpoints.rb +23 -20
  152. data/lib/aws-sdk-ssooidc/types.rb +407 -53
  153. data/lib/aws-sdk-ssooidc.rb +15 -11
  154. data/lib/aws-sdk-sts/client.rb +516 -238
  155. data/lib/aws-sdk-sts/client_api.rb +48 -11
  156. data/lib/aws-sdk-sts/customizations.rb +5 -1
  157. data/lib/aws-sdk-sts/endpoint_parameters.rb +10 -9
  158. data/lib/aws-sdk-sts/endpoint_provider.rb +91 -213
  159. data/lib/aws-sdk-sts/endpoints.rb +3 -118
  160. data/lib/aws-sdk-sts/errors.rb +16 -0
  161. data/lib/aws-sdk-sts/plugins/endpoints.rb +23 -30
  162. data/lib/aws-sdk-sts/presigner.rb +1 -1
  163. data/lib/aws-sdk-sts/types.rb +217 -36
  164. data/lib/aws-sdk-sts.rb +15 -11
  165. data/lib/seahorse/client/async_base.rb +4 -5
  166. data/lib/seahorse/client/async_response.rb +19 -0
  167. data/lib/seahorse/client/base.rb +18 -21
  168. data/lib/seahorse/client/configuration.rb +0 -4
  169. data/lib/seahorse/client/h2/connection.rb +25 -31
  170. data/lib/seahorse/client/h2/handler.rb +14 -3
  171. data/lib/seahorse/client/handler.rb +1 -1
  172. data/lib/seahorse/client/http/response.rb +1 -1
  173. data/lib/seahorse/client/net_http/connection_pool.rb +13 -11
  174. data/lib/seahorse/client/net_http/handler.rb +21 -9
  175. data/lib/seahorse/client/net_http/patches.rb +1 -4
  176. data/lib/seahorse/client/networking_error.rb +1 -1
  177. data/lib/seahorse/client/plugin.rb +9 -0
  178. data/lib/seahorse/client/plugins/endpoint.rb +0 -1
  179. data/lib/seahorse/client/plugins/h2.rb +4 -4
  180. data/lib/seahorse/client/plugins/net_http.rb +57 -16
  181. data/lib/seahorse/client/plugins/request_callback.rb +31 -0
  182. data/lib/seahorse/client/request_context.rb +8 -1
  183. data/lib/seahorse/client/response.rb +8 -0
  184. data/lib/seahorse/model/operation.rb +3 -0
  185. data/lib/seahorse/model/shapes.rb +2 -2
  186. data/sig/aws-sdk-core/async_client_stubs.rbs +21 -0
  187. data/sig/aws-sdk-core/client_stubs.rbs +10 -0
  188. data/sig/aws-sdk-core/errors.rbs +22 -0
  189. data/sig/aws-sdk-core/resources/collection.rbs +21 -0
  190. data/sig/aws-sdk-core/structure.rbs +4 -0
  191. data/sig/aws-sdk-core/telemetry/base.rbs +46 -0
  192. data/sig/aws-sdk-core/telemetry/otel.rbs +22 -0
  193. data/sig/aws-sdk-core/telemetry/span_kind.rbs +15 -0
  194. data/sig/aws-sdk-core/telemetry/span_status.rbs +24 -0
  195. data/sig/aws-sdk-core/waiters/errors.rbs +20 -0
  196. data/sig/aws-sdk-core.rbs +7 -0
  197. data/sig/seahorse/client/async_base.rbs +18 -0
  198. data/sig/seahorse/client/base.rbs +25 -0
  199. data/sig/seahorse/client/handler_builder.rbs +16 -0
  200. data/sig/seahorse/client/response.rbs +61 -0
  201. metadata +92 -23
  202. /data/lib/aws-sdk-core/xml/parser/{engines/libxml.rb → libxml_engine.rb} +0 -0
  203. /data/lib/aws-sdk-core/xml/parser/{engines/nokogiri.rb → nokogiri_engine.rb} +0 -0
  204. /data/lib/aws-sdk-core/xml/parser/{engines/ox.rb → ox_engine.rb} +0 -0
  205. /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,9 +53,28 @@ module Aws::SSOOIDC
45
53
  include Aws::Structure
46
54
  end
47
55
 
56
+ # This structure contains Amazon Web Services-specific parameter
57
+ # extensions for the token endpoint responses and includes the identity
58
+ # context.
59
+ #
60
+ # @!attribute [rw] identity_context
61
+ # STS context assertion that carries a user identifier to the Amazon
62
+ # Web Services service that it calls and can be used to obtain an
63
+ # identity-enhanced IAM role session. This value corresponds to the
64
+ # `sts:identity_context` claim in the ID token.
65
+ # @return [String]
66
+ #
67
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/AwsAdditionalDetails AWS API Documentation
68
+ #
69
+ class AwsAdditionalDetails < Struct.new(
70
+ :identity_context)
71
+ SENSITIVE = []
72
+ include Aws::Structure
73
+ end
74
+
48
75
  # @!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.
76
+ # The unique identifier string for the client or application. This
77
+ # value comes from the result of the RegisterClient API.
51
78
  # @return [String]
52
79
  #
53
80
  # @!attribute [rw] client_secret
@@ -56,38 +83,38 @@ module Aws::SSOOIDC
56
83
  # @return [String]
57
84
  #
58
85
  # @!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:
86
+ # Supports the following OAuth grant types: Authorization Code, Device
87
+ # Code, and Refresh Token. Specify one of the following values,
88
+ # depending on the grant type that you want:
62
89
  #
63
- # `urn:ietf:params:oauth:grant-type:device_code `
90
+ # * Authorization Code - `authorization_code`
64
91
  #
65
- # For information about how to obtain the device code, see the
66
- # StartDeviceAuthorization topic.
92
+ # * Device Code - `urn:ietf:params:oauth:grant-type:device_code`
93
+ #
94
+ # * Refresh Token - `refresh_token`
67
95
  # @return [String]
68
96
  #
69
97
  # @!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.
98
+ # Used only when calling this API for the Device Code grant type. This
99
+ # short-lived code is used to identify this authorization request.
100
+ # This comes from the result of the StartDeviceAuthorization API.
74
101
  # @return [String]
75
102
  #
76
103
  # @!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.
104
+ # Used only when calling this API for the Authorization Code grant
105
+ # type. The short-lived code is used to identify this authorization
106
+ # request.
80
107
  # @return [String]
81
108
  #
82
109
  # @!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].
110
+ # Used only when calling this API for the Refresh Token grant type.
111
+ # This token is used to refresh short-lived tokens, such as the access
112
+ # token, that might expire.
88
113
  #
89
- # The token used to obtain an access token in the event that the
90
- # access token is invalid or expired.
114
+ # For more information about the features and limitations of the
115
+ # current IAM Identity Center OIDC implementation, see *Considerations
116
+ # for Using this Guide* in the [IAM Identity Center OIDC API
117
+ # Reference][1].
91
118
  #
92
119
  #
93
120
  #
@@ -95,15 +122,24 @@ module Aws::SSOOIDC
95
122
  # @return [String]
96
123
  #
97
124
  # @!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.
125
+ # The list of scopes for which authorization is requested. The access
126
+ # token that is issued is limited to the scopes that are granted. If
127
+ # this value is not specified, IAM Identity Center authorizes all
128
+ # scopes that are configured for the client during the call to
129
+ # RegisterClient.
101
130
  # @return [Array<String>]
102
131
  #
103
132
  # @!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.
133
+ # Used only when calling this API for the Authorization Code grant
134
+ # type. This value specifies the location of the client or application
135
+ # that has registered to receive the authorization code.
136
+ # @return [String]
137
+ #
138
+ # @!attribute [rw] code_verifier
139
+ # Used only when calling this API for the Authorization Code grant
140
+ # type. This value is generated by the client and presented to
141
+ # validate the original code challenge value the client passed at
142
+ # authorization time.
107
143
  # @return [String]
108
144
  #
109
145
  # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/CreateTokenRequest AWS API Documentation
@@ -116,19 +152,20 @@ module Aws::SSOOIDC
116
152
  :code,
117
153
  :refresh_token,
118
154
  :scope,
119
- :redirect_uri)
120
- SENSITIVE = []
155
+ :redirect_uri,
156
+ :code_verifier)
157
+ SENSITIVE = [:client_secret, :refresh_token, :code_verifier]
121
158
  include Aws::Structure
122
159
  end
123
160
 
124
161
  # @!attribute [rw] access_token
125
- # An opaque token to access IAM Identity Center resources assigned to
126
- # a user.
162
+ # A bearer token to access Amazon Web Services accounts and
163
+ # applications assigned to a user.
127
164
  # @return [String]
128
165
  #
129
166
  # @!attribute [rw] token_type
130
167
  # Used to notify the client that the returned token is an access
131
- # token. The supported type is `BearerToken`.
168
+ # token. The supported token type is `Bearer`.
132
169
  # @return [String]
133
170
  #
134
171
  # @!attribute [rw] expires_in
@@ -136,44 +173,227 @@ module Aws::SSOOIDC
136
173
  # @return [Integer]
137
174
  #
138
175
  # @!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
176
  # A token that, if present, can be used to refresh a previously issued
146
177
  # access token that might have expired.
147
178
  #
179
+ # For more information about the features and limitations of the
180
+ # current IAM Identity Center OIDC implementation, see *Considerations
181
+ # for Using this Guide* in the [IAM Identity Center OIDC API
182
+ # Reference][1].
183
+ #
148
184
  #
149
185
  #
150
186
  # [1]: https://docs.aws.amazon.com/singlesignon/latest/OIDCAPIReference/Welcome.html
151
187
  # @return [String]
152
188
  #
153
189
  # @!attribute [rw] id_token
154
- # Currently, `idToken` is not yet implemented and is not supported.
190
+ # The `idToken` is not implemented or supported. For more information
191
+ # about the features and limitations of the current IAM Identity
192
+ # Center OIDC implementation, see *Considerations for Using this
193
+ # Guide* in the [IAM Identity Center OIDC API Reference][1].
194
+ #
195
+ # A JSON Web Token (JWT) that identifies who is associated with the
196
+ # issued access token.
197
+ #
198
+ #
199
+ #
200
+ # [1]: https://docs.aws.amazon.com/singlesignon/latest/OIDCAPIReference/Welcome.html
201
+ # @return [String]
202
+ #
203
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/CreateTokenResponse AWS API Documentation
204
+ #
205
+ class CreateTokenResponse < Struct.new(
206
+ :access_token,
207
+ :token_type,
208
+ :expires_in,
209
+ :refresh_token,
210
+ :id_token)
211
+ SENSITIVE = [:access_token, :refresh_token, :id_token]
212
+ include Aws::Structure
213
+ end
214
+
215
+ # @!attribute [rw] client_id
216
+ # The unique identifier string for the client or application. This
217
+ # value is an application ARN that has OAuth grants configured.
218
+ # @return [String]
219
+ #
220
+ # @!attribute [rw] grant_type
221
+ # Supports the following OAuth grant types: Authorization Code,
222
+ # Refresh Token, JWT Bearer, and Token Exchange. Specify one of the
223
+ # following values, depending on the grant type that you want:
224
+ #
225
+ # * Authorization Code - `authorization_code`
226
+ #
227
+ # * Refresh Token - `refresh_token`
228
+ #
229
+ # * JWT Bearer - `urn:ietf:params:oauth:grant-type:jwt-bearer`
230
+ #
231
+ # * Token Exchange -
232
+ # `urn:ietf:params:oauth:grant-type:token-exchange`
233
+ # @return [String]
234
+ #
235
+ # @!attribute [rw] code
236
+ # Used only when calling this API for the Authorization Code grant
237
+ # type. This short-lived code is used to identify this authorization
238
+ # request. The code is obtained through a redirect from IAM Identity
239
+ # Center to a redirect URI persisted in the Authorization Code
240
+ # GrantOptions for the application.
241
+ # @return [String]
242
+ #
243
+ # @!attribute [rw] refresh_token
244
+ # Used only when calling this API for the Refresh Token grant type.
245
+ # This token is used to refresh short-lived tokens, such as the access
246
+ # token, that might expire.
247
+ #
155
248
  # For more information about the features and limitations of the
156
249
  # current IAM Identity Center OIDC implementation, see *Considerations
157
250
  # for Using this Guide* in the [IAM Identity Center OIDC API
158
251
  # Reference][1].
159
252
  #
160
- # The identifier of the user that associated with the access token, if
161
- # present.
253
+ #
254
+ #
255
+ # [1]: https://docs.aws.amazon.com/singlesignon/latest/OIDCAPIReference/Welcome.html
256
+ # @return [String]
257
+ #
258
+ # @!attribute [rw] assertion
259
+ # Used only when calling this API for the JWT Bearer grant type. This
260
+ # value specifies the JSON Web Token (JWT) issued by a trusted token
261
+ # issuer. To authorize a trusted token issuer, configure the JWT
262
+ # Bearer GrantOptions for the application.
263
+ # @return [String]
264
+ #
265
+ # @!attribute [rw] scope
266
+ # The list of scopes for which authorization is requested. The access
267
+ # token that is issued is limited to the scopes that are granted. If
268
+ # the value is not specified, IAM Identity Center authorizes all
269
+ # scopes configured for the application, including the following
270
+ # default scopes: `openid`, `aws`, `sts:identity_context`.
271
+ # @return [Array<String>]
272
+ #
273
+ # @!attribute [rw] redirect_uri
274
+ # Used only when calling this API for the Authorization Code grant
275
+ # type. This value specifies the location of the client or application
276
+ # that has registered to receive the authorization code.
277
+ # @return [String]
278
+ #
279
+ # @!attribute [rw] subject_token
280
+ # Used only when calling this API for the Token Exchange grant type.
281
+ # This value specifies the subject of the exchange. The value of the
282
+ # subject token must be an access token issued by IAM Identity Center
283
+ # to a different client or application. The access token must have
284
+ # authorized scopes that indicate the requested application as a
285
+ # target audience.
286
+ # @return [String]
287
+ #
288
+ # @!attribute [rw] subject_token_type
289
+ # Used only when calling this API for the Token Exchange grant type.
290
+ # This value specifies the type of token that is passed as the subject
291
+ # of the exchange. The following value is supported:
292
+ #
293
+ # * Access Token - `urn:ietf:params:oauth:token-type:access_token`
294
+ # @return [String]
295
+ #
296
+ # @!attribute [rw] requested_token_type
297
+ # Used only when calling this API for the Token Exchange grant type.
298
+ # This value specifies the type of token that the requester can
299
+ # receive. The following values are supported:
300
+ #
301
+ # * Access Token - `urn:ietf:params:oauth:token-type:access_token`
302
+ #
303
+ # * Refresh Token - `urn:ietf:params:oauth:token-type:refresh_token`
304
+ # @return [String]
305
+ #
306
+ # @!attribute [rw] code_verifier
307
+ # Used only when calling this API for the Authorization Code grant
308
+ # type. This value is generated by the client and presented to
309
+ # validate the original code challenge value the client passed at
310
+ # authorization time.
311
+ # @return [String]
312
+ #
313
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/CreateTokenWithIAMRequest AWS API Documentation
314
+ #
315
+ class CreateTokenWithIAMRequest < Struct.new(
316
+ :client_id,
317
+ :grant_type,
318
+ :code,
319
+ :refresh_token,
320
+ :assertion,
321
+ :scope,
322
+ :redirect_uri,
323
+ :subject_token,
324
+ :subject_token_type,
325
+ :requested_token_type,
326
+ :code_verifier)
327
+ SENSITIVE = [:refresh_token, :assertion, :subject_token, :code_verifier]
328
+ include Aws::Structure
329
+ end
330
+
331
+ # @!attribute [rw] access_token
332
+ # A bearer token to access Amazon Web Services accounts and
333
+ # applications assigned to a user.
334
+ # @return [String]
335
+ #
336
+ # @!attribute [rw] token_type
337
+ # Used to notify the requester that the returned token is an access
338
+ # token. The supported token type is `Bearer`.
339
+ # @return [String]
340
+ #
341
+ # @!attribute [rw] expires_in
342
+ # Indicates the time in seconds when an access token will expire.
343
+ # @return [Integer]
344
+ #
345
+ # @!attribute [rw] refresh_token
346
+ # A token that, if present, can be used to refresh a previously issued
347
+ # access token that might have expired.
348
+ #
349
+ # For more information about the features and limitations of the
350
+ # current IAM Identity Center OIDC implementation, see *Considerations
351
+ # for Using this Guide* in the [IAM Identity Center OIDC API
352
+ # Reference][1].
162
353
  #
163
354
  #
164
355
  #
165
356
  # [1]: https://docs.aws.amazon.com/singlesignon/latest/OIDCAPIReference/Welcome.html
166
357
  # @return [String]
167
358
  #
168
- # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/CreateTokenResponse AWS API Documentation
359
+ # @!attribute [rw] id_token
360
+ # A JSON Web Token (JWT) that identifies the user associated with the
361
+ # issued access token.
362
+ # @return [String]
169
363
  #
170
- class CreateTokenResponse < Struct.new(
364
+ # @!attribute [rw] issued_token_type
365
+ # Indicates the type of tokens that are issued by IAM Identity Center.
366
+ # The following values are supported:
367
+ #
368
+ # * Access Token - `urn:ietf:params:oauth:token-type:access_token`
369
+ #
370
+ # * Refresh Token - `urn:ietf:params:oauth:token-type:refresh_token`
371
+ # @return [String]
372
+ #
373
+ # @!attribute [rw] scope
374
+ # The list of scopes for which authorization is granted. The access
375
+ # token that is issued is limited to the scopes that are granted.
376
+ # @return [Array<String>]
377
+ #
378
+ # @!attribute [rw] aws_additional_details
379
+ # A structure containing information from the `idToken`. Only the
380
+ # `identityContext` is in it, which is a value extracted from the
381
+ # `idToken`. This provides direct access to identity information
382
+ # without requiring JWT parsing.
383
+ # @return [Types::AwsAdditionalDetails]
384
+ #
385
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/CreateTokenWithIAMResponse AWS API Documentation
386
+ #
387
+ class CreateTokenWithIAMResponse < Struct.new(
171
388
  :access_token,
172
389
  :token_type,
173
390
  :expires_in,
174
391
  :refresh_token,
175
- :id_token)
176
- SENSITIVE = []
392
+ :id_token,
393
+ :issued_token_type,
394
+ :scope,
395
+ :aws_additional_details)
396
+ SENSITIVE = [:access_token, :refresh_token, :id_token]
177
397
  include Aws::Structure
178
398
  end
179
399
 
@@ -181,9 +401,13 @@ module Aws::SSOOIDC
181
401
  # longer valid.
182
402
  #
183
403
  # @!attribute [rw] error
404
+ # Single error code. For this exception the value will be
405
+ # `expired_token`.
184
406
  # @return [String]
185
407
  #
186
408
  # @!attribute [rw] error_description
409
+ # Human-readable text providing additional information, used to assist
410
+ # the client developer in understanding the error that occurred.
187
411
  # @return [String]
188
412
  #
189
413
  # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/ExpiredTokenException AWS API Documentation
@@ -199,9 +423,13 @@ module Aws::SSOOIDC
199
423
  # process a request.
200
424
  #
201
425
  # @!attribute [rw] error
426
+ # Single error code. For this exception the value will be
427
+ # `server_error`.
202
428
  # @return [String]
203
429
  #
204
430
  # @!attribute [rw] error_description
431
+ # Human-readable text providing additional information, used to assist
432
+ # the client developer in understanding the error that occurred.
205
433
  # @return [String]
206
434
  #
207
435
  # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/InternalServerException AWS API Documentation
@@ -218,9 +446,13 @@ module Aws::SSOOIDC
218
446
  # `clientId` or an expired `clientSecret`.
219
447
  #
220
448
  # @!attribute [rw] error
449
+ # Single error code. For this exception the value will be
450
+ # `invalid_client`.
221
451
  # @return [String]
222
452
  #
223
453
  # @!attribute [rw] error_description
454
+ # Human-readable text providing additional information, used to assist
455
+ # the client developer in understanding the error that occurred.
224
456
  # @return [String]
225
457
  #
226
458
  # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/InvalidClientException AWS API Documentation
@@ -236,9 +468,13 @@ module Aws::SSOOIDC
236
468
  # registration is invalid.
237
469
  #
238
470
  # @!attribute [rw] error
471
+ # Single error code. For this exception the value will be
472
+ # `invalid_client_metadata`.
239
473
  # @return [String]
240
474
  #
241
475
  # @!attribute [rw] error_description
476
+ # Human-readable text providing additional information, used to assist
477
+ # the client developer in understanding the error that occurred.
242
478
  # @return [String]
243
479
  #
244
480
  # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/InvalidClientMetadataException AWS API Documentation
@@ -254,9 +490,13 @@ module Aws::SSOOIDC
254
490
  # a client makes a CreateToken request with an invalid grant type.
255
491
  #
256
492
  # @!attribute [rw] error
493
+ # Single error code. For this exception the value will be
494
+ # `invalid_grant`.
257
495
  # @return [String]
258
496
  #
259
497
  # @!attribute [rw] error_description
498
+ # Human-readable text providing additional information, used to assist
499
+ # the client developer in understanding the error that occurred.
260
500
  # @return [String]
261
501
  #
262
502
  # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/InvalidGrantException AWS API Documentation
@@ -268,13 +508,39 @@ module Aws::SSOOIDC
268
508
  include Aws::Structure
269
509
  end
270
510
 
511
+ # Indicates that one or more redirect URI in the request is not
512
+ # supported for this operation.
513
+ #
514
+ # @!attribute [rw] error
515
+ # Single error code. For this exception the value will be
516
+ # `invalid_redirect_uri`.
517
+ # @return [String]
518
+ #
519
+ # @!attribute [rw] error_description
520
+ # Human-readable text providing additional information, used to assist
521
+ # the client developer in understanding the error that occurred.
522
+ # @return [String]
523
+ #
524
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/InvalidRedirectUriException AWS API Documentation
525
+ #
526
+ class InvalidRedirectUriException < Struct.new(
527
+ :error,
528
+ :error_description)
529
+ SENSITIVE = []
530
+ include Aws::Structure
531
+ end
532
+
271
533
  # Indicates that something is wrong with the input to the request. For
272
534
  # example, a required parameter might be missing or out of range.
273
535
  #
274
536
  # @!attribute [rw] error
537
+ # Single error code. For this exception the value will be
538
+ # `invalid_request`.
275
539
  # @return [String]
276
540
  #
277
541
  # @!attribute [rw] error_description
542
+ # Human-readable text providing additional information, used to assist
543
+ # the client developer in understanding the error that occurred.
278
544
  # @return [String]
279
545
  #
280
546
  # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/InvalidRequestException AWS API Documentation
@@ -286,12 +552,50 @@ module Aws::SSOOIDC
286
552
  include Aws::Structure
287
553
  end
288
554
 
555
+ # Indicates that a token provided as input to the request was issued by
556
+ # and is only usable by calling IAM Identity Center endpoints in another
557
+ # region.
558
+ #
559
+ # @!attribute [rw] error
560
+ # Single error code. For this exception the value will be
561
+ # `invalid_request`.
562
+ # @return [String]
563
+ #
564
+ # @!attribute [rw] error_description
565
+ # Human-readable text providing additional information, used to assist
566
+ # the client developer in understanding the error that occurred.
567
+ # @return [String]
568
+ #
569
+ # @!attribute [rw] endpoint
570
+ # Indicates the IAM Identity Center endpoint which the requester may
571
+ # call with this token.
572
+ # @return [String]
573
+ #
574
+ # @!attribute [rw] region
575
+ # Indicates the region which the requester may call with this token.
576
+ # @return [String]
577
+ #
578
+ # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/InvalidRequestRegionException AWS API Documentation
579
+ #
580
+ class InvalidRequestRegionException < Struct.new(
581
+ :error,
582
+ :error_description,
583
+ :endpoint,
584
+ :region)
585
+ SENSITIVE = []
586
+ include Aws::Structure
587
+ end
588
+
289
589
  # Indicates that the scope provided in the request is invalid.
290
590
  #
291
591
  # @!attribute [rw] error
592
+ # Single error code. For this exception the value will be
593
+ # `invalid_scope`.
292
594
  # @return [String]
293
595
  #
294
596
  # @!attribute [rw] error_description
597
+ # Human-readable text providing additional information, used to assist
598
+ # the client developer in understanding the error that occurred.
295
599
  # @return [String]
296
600
  #
297
601
  # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/InvalidScopeException AWS API Documentation
@@ -318,12 +622,49 @@ module Aws::SSOOIDC
318
622
  # granting an access token.
319
623
  # @return [Array<String>]
320
624
  #
625
+ # @!attribute [rw] redirect_uris
626
+ # The list of redirect URI that are defined by the client. At
627
+ # completion of authorization, this list is used to restrict what
628
+ # locations the user agent can be redirected back to.
629
+ # @return [Array<String>]
630
+ #
631
+ # @!attribute [rw] grant_types
632
+ # The list of OAuth 2.0 grant types that are defined by the client.
633
+ # This list is used to restrict the token granting flows available to
634
+ # the client. Supports the following OAuth 2.0 grant types:
635
+ # Authorization Code, Device Code, and Refresh Token.
636
+ #
637
+ # * Authorization Code - `authorization_code`
638
+ #
639
+ # * Device Code - `urn:ietf:params:oauth:grant-type:device_code`
640
+ #
641
+ # * Refresh Token - `refresh_token`
642
+ # @return [Array<String>]
643
+ #
644
+ # @!attribute [rw] issuer_url
645
+ # The IAM Identity Center Issuer URL associated with an instance of
646
+ # IAM Identity Center. This value is needed for user access to
647
+ # resources through the client.
648
+ # @return [String]
649
+ #
650
+ # @!attribute [rw] entitled_application_arn
651
+ # This IAM Identity Center application ARN is used to define
652
+ # administrator-managed configuration for public client access to
653
+ # resources. At authorization, the scopes, grants, and redirect URI
654
+ # available to this client will be restricted by this application
655
+ # resource.
656
+ # @return [String]
657
+ #
321
658
  # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/RegisterClientRequest AWS API Documentation
322
659
  #
323
660
  class RegisterClientRequest < Struct.new(
324
661
  :client_name,
325
662
  :client_type,
326
- :scopes)
663
+ :scopes,
664
+ :redirect_uris,
665
+ :grant_types,
666
+ :issuer_url,
667
+ :entitled_application_arn)
327
668
  SENSITIVE = []
328
669
  include Aws::Structure
329
670
  end
@@ -349,11 +690,11 @@ module Aws::SSOOIDC
349
690
  # @return [Integer]
350
691
  #
351
692
  # @!attribute [rw] authorization_endpoint
352
- # The endpoint where the client can request authorization.
693
+ # An endpoint that the client can use to request authorization.
353
694
  # @return [String]
354
695
  #
355
696
  # @!attribute [rw] token_endpoint
356
- # The endpoint where the client can get an access token.
697
+ # An endpoint that the client can use to create tokens.
357
698
  # @return [String]
358
699
  #
359
700
  # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/RegisterClientResponse AWS API Documentation
@@ -365,7 +706,7 @@ module Aws::SSOOIDC
365
706
  :client_secret_expires_at,
366
707
  :authorization_endpoint,
367
708
  :token_endpoint)
368
- SENSITIVE = []
709
+ SENSITIVE = [:client_secret]
369
710
  include Aws::Structure
370
711
  end
371
712
 
@@ -373,9 +714,12 @@ module Aws::SSOOIDC
373
714
  # more than the service can handle.
374
715
  #
375
716
  # @!attribute [rw] error
717
+ # Single error code. For this exception the value will be `slow_down`.
376
718
  # @return [String]
377
719
  #
378
720
  # @!attribute [rw] error_description
721
+ # Human-readable text providing additional information, used to assist
722
+ # the client developer in understanding the error that occurred.
379
723
  # @return [String]
380
724
  #
381
725
  # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/SlowDownException AWS API Documentation
@@ -399,8 +743,9 @@ module Aws::SSOOIDC
399
743
  # @return [String]
400
744
  #
401
745
  # @!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*.
746
+ # The URL for the Amazon Web Services access portal. For more
747
+ # information, see [Using the Amazon Web Services access portal][1] in
748
+ # the *IAM Identity Center User Guide*.
404
749
  #
405
750
  #
406
751
  #
@@ -413,7 +758,7 @@ module Aws::SSOOIDC
413
758
  :client_id,
414
759
  :client_secret,
415
760
  :start_url)
416
- SENSITIVE = []
761
+ SENSITIVE = [:client_secret]
417
762
  include Aws::Structure
418
763
  end
419
764
 
@@ -466,9 +811,13 @@ module Aws::SSOOIDC
466
811
  # client.
467
812
  #
468
813
  # @!attribute [rw] error
814
+ # Single error code. For this exception the value will be
815
+ # `unauthorized_client`.
469
816
  # @return [String]
470
817
  #
471
818
  # @!attribute [rw] error_description
819
+ # Human-readable text providing additional information, used to assist
820
+ # the client developer in understanding the error that occurred.
472
821
  # @return [String]
473
822
  #
474
823
  # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/UnauthorizedClientException AWS API Documentation
@@ -484,9 +833,13 @@ module Aws::SSOOIDC
484
833
  # service.
485
834
  #
486
835
  # @!attribute [rw] error
836
+ # Single error code. For this exception the value will be
837
+ # `unsupported_grant_type`.
487
838
  # @return [String]
488
839
  #
489
840
  # @!attribute [rw] error_description
841
+ # Human-readable text providing additional information, used to assist
842
+ # the client developer in understanding the error that occurred.
490
843
  # @return [String]
491
844
  #
492
845
  # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/UnsupportedGrantTypeException AWS API Documentation
@@ -500,3 +853,4 @@ module Aws::SSOOIDC
500
853
 
501
854
  end
502
855
  end
856
+