aws-sdk-core 3.152.0 → 3.234.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 (213) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +942 -1
  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 +14 -3
  7. data/lib/aws-sdk-core/assume_role_credentials.rb +21 -13
  8. data/lib/aws-sdk-core/assume_role_web_identity_credentials.rb +16 -9
  9. data/lib/aws-sdk-core/binary/decode_handler.rb +3 -9
  10. data/lib/aws-sdk-core/binary/encode_handler.rb +13 -2
  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 +81 -29
  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 +186 -60
  24. data/lib/aws-sdk-core/endpoints/condition.rb +41 -0
  25. data/lib/aws-sdk-core/endpoints/endpoint.rb +19 -0
  26. data/lib/aws-sdk-core/endpoints/endpoint_rule.rb +75 -0
  27. data/lib/aws-sdk-core/endpoints/error_rule.rb +42 -0
  28. data/lib/aws-sdk-core/endpoints/function.rb +80 -0
  29. data/lib/aws-sdk-core/endpoints/matchers.rb +129 -0
  30. data/lib/aws-sdk-core/endpoints/reference.rb +31 -0
  31. data/lib/aws-sdk-core/endpoints/rule.rb +25 -0
  32. data/lib/aws-sdk-core/endpoints/rule_set.rb +52 -0
  33. data/lib/aws-sdk-core/endpoints/rules_provider.rb +37 -0
  34. data/lib/aws-sdk-core/endpoints/templater.rb +58 -0
  35. data/lib/aws-sdk-core/endpoints/tree_rule.rb +45 -0
  36. data/lib/aws-sdk-core/endpoints/url.rb +60 -0
  37. data/lib/aws-sdk-core/endpoints.rb +158 -0
  38. data/lib/aws-sdk-core/error_handler.rb +46 -0
  39. data/lib/aws-sdk-core/errors.rb +14 -5
  40. data/lib/aws-sdk-core/event_emitter.rb +1 -17
  41. data/lib/aws-sdk-core/ini_parser.rb +7 -0
  42. data/lib/aws-sdk-core/instance_profile_credentials.rb +168 -155
  43. data/lib/aws-sdk-core/json/builder.rb +8 -1
  44. data/lib/aws-sdk-core/json/error_handler.rb +46 -11
  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 +348 -169
  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 +84 -38
  62. data/lib/aws-sdk-core/plugins/endpoint_discovery.rb +6 -2
  63. data/lib/aws-sdk-core/plugins/endpoint_pattern.rb +40 -32
  64. data/lib/aws-sdk-core/plugins/global_configuration.rb +8 -9
  65. data/lib/aws-sdk-core/plugins/http_checksum.rb +3 -8
  66. data/lib/aws-sdk-core/plugins/invocation_id.rb +1 -11
  67. data/lib/aws-sdk-core/plugins/logging.rb +2 -0
  68. data/lib/aws-sdk-core/plugins/protocols/api_gateway.rb +3 -1
  69. data/lib/aws-sdk-core/plugins/protocols/ec2.rb +2 -24
  70. data/lib/aws-sdk-core/plugins/protocols/json_rpc.rb +6 -8
  71. data/lib/aws-sdk-core/plugins/protocols/query.rb +4 -2
  72. data/lib/aws-sdk-core/plugins/protocols/rest_json.rb +3 -15
  73. data/lib/aws-sdk-core/plugins/protocols/rest_xml.rb +3 -0
  74. data/lib/aws-sdk-core/plugins/protocols/rpc_v2.rb +17 -0
  75. data/lib/aws-sdk-core/plugins/regional_endpoint.rb +164 -34
  76. data/lib/aws-sdk-core/plugins/request_compression.rb +226 -0
  77. data/lib/aws-sdk-core/plugins/retries/error_inspector.rb +2 -1
  78. data/lib/aws-sdk-core/plugins/retry_errors.rb +12 -3
  79. data/lib/aws-sdk-core/plugins/sign.rb +222 -0
  80. data/lib/aws-sdk-core/plugins/signature_v2.rb +2 -0
  81. data/lib/aws-sdk-core/plugins/signature_v4.rb +2 -0
  82. data/lib/aws-sdk-core/plugins/stub_responses.rb +59 -9
  83. data/lib/aws-sdk-core/plugins/telemetry.rb +75 -0
  84. data/lib/aws-sdk-core/plugins/transfer_encoding.rb +16 -9
  85. data/lib/aws-sdk-core/plugins/user_agent.rb +192 -14
  86. data/lib/aws-sdk-core/plugins.rb +39 -0
  87. data/lib/aws-sdk-core/process_credentials.rb +48 -29
  88. data/lib/aws-sdk-core/query/ec2_handler.rb +27 -0
  89. data/lib/aws-sdk-core/query/ec2_param_builder.rb +5 -7
  90. data/lib/aws-sdk-core/query/handler.rb +4 -4
  91. data/lib/aws-sdk-core/query/param_builder.rb +2 -2
  92. data/lib/aws-sdk-core/query.rb +2 -1
  93. data/lib/aws-sdk-core/refreshing_credentials.rb +20 -23
  94. data/lib/aws-sdk-core/resources.rb +8 -0
  95. data/lib/aws-sdk-core/rest/content_type_handler.rb +60 -0
  96. data/lib/aws-sdk-core/rest/handler.rb +3 -4
  97. data/lib/aws-sdk-core/rest/request/body.rb +32 -5
  98. data/lib/aws-sdk-core/rest/request/endpoint.rb +24 -4
  99. data/lib/aws-sdk-core/rest/request/headers.rb +14 -10
  100. data/lib/aws-sdk-core/rest/request/querystring_builder.rb +62 -36
  101. data/lib/aws-sdk-core/rest/response/body.rb +15 -1
  102. data/lib/aws-sdk-core/rest/response/header_list_parser.rb +79 -0
  103. data/lib/aws-sdk-core/rest/response/headers.rb +8 -3
  104. data/lib/aws-sdk-core/rest.rb +1 -0
  105. data/lib/aws-sdk-core/rpc_v2/builder.rb +62 -0
  106. data/lib/aws-sdk-core/rpc_v2/cbor_engine.rb +18 -0
  107. data/lib/aws-sdk-core/rpc_v2/content_type_handler.rb +47 -0
  108. data/lib/aws-sdk-core/rpc_v2/error_handler.rb +95 -0
  109. data/lib/aws-sdk-core/rpc_v2/handler.rb +79 -0
  110. data/lib/aws-sdk-core/rpc_v2/parser.rb +98 -0
  111. data/lib/aws-sdk-core/rpc_v2.rb +69 -0
  112. data/lib/aws-sdk-core/shared_config.rb +160 -36
  113. data/lib/aws-sdk-core/shared_credentials.rb +1 -7
  114. data/lib/aws-sdk-core/sso_credentials.rb +84 -46
  115. data/lib/aws-sdk-core/sso_token_provider.rb +3 -2
  116. data/lib/aws-sdk-core/static_token_provider.rb +1 -2
  117. data/lib/aws-sdk-core/stubbing/protocols/ec2.rb +12 -11
  118. data/lib/aws-sdk-core/stubbing/protocols/json.rb +11 -10
  119. data/lib/aws-sdk-core/stubbing/protocols/query.rb +7 -6
  120. data/lib/aws-sdk-core/stubbing/protocols/rest.rb +2 -1
  121. data/lib/aws-sdk-core/stubbing/protocols/rest_json.rb +9 -8
  122. data/lib/aws-sdk-core/stubbing/protocols/rest_xml.rb +6 -5
  123. data/lib/aws-sdk-core/stubbing/protocols/rpc_v2.rb +39 -0
  124. data/lib/aws-sdk-core/stubbing/stub_data.rb +11 -0
  125. data/lib/aws-sdk-core/stubbing.rb +22 -0
  126. data/lib/aws-sdk-core/telemetry/base.rb +177 -0
  127. data/lib/aws-sdk-core/telemetry/no_op.rb +70 -0
  128. data/lib/aws-sdk-core/telemetry/otel.rb +235 -0
  129. data/lib/aws-sdk-core/telemetry/span_kind.rb +22 -0
  130. data/lib/aws-sdk-core/telemetry/span_status.rb +59 -0
  131. data/lib/aws-sdk-core/telemetry.rb +78 -0
  132. data/lib/aws-sdk-core/token.rb +3 -3
  133. data/lib/aws-sdk-core/token_provider.rb +4 -0
  134. data/lib/aws-sdk-core/token_provider_chain.rb +2 -6
  135. data/lib/aws-sdk-core/util.rb +41 -1
  136. data/lib/aws-sdk-core/waiters/poller.rb +12 -5
  137. data/lib/aws-sdk-core/xml/builder.rb +17 -9
  138. data/lib/aws-sdk-core/xml/error_handler.rb +35 -43
  139. data/lib/aws-sdk-core/xml/parser/frame.rb +4 -20
  140. data/lib/aws-sdk-core/xml/parser/{engines/oga.rb → oga_engine.rb} +2 -0
  141. data/lib/aws-sdk-core/xml/parser/stack.rb +2 -0
  142. data/lib/aws-sdk-core/xml/parser.rb +2 -6
  143. data/lib/aws-sdk-core.rb +82 -103
  144. data/lib/aws-sdk-sso/client.rb +219 -89
  145. data/lib/aws-sdk-sso/client_api.rb +7 -0
  146. data/lib/aws-sdk-sso/endpoint_parameters.rb +69 -0
  147. data/lib/aws-sdk-sso/endpoint_provider.rb +53 -0
  148. data/lib/aws-sdk-sso/endpoints.rb +20 -0
  149. data/lib/aws-sdk-sso/plugins/endpoints.rb +77 -0
  150. data/lib/aws-sdk-sso/types.rb +1 -35
  151. data/lib/aws-sdk-sso.rb +15 -7
  152. data/lib/aws-sdk-ssooidc/client.rb +650 -118
  153. data/lib/aws-sdk-ssooidc/client_api.rb +94 -1
  154. data/lib/aws-sdk-ssooidc/endpoint_parameters.rb +69 -0
  155. data/lib/aws-sdk-ssooidc/endpoint_provider.rb +53 -0
  156. data/lib/aws-sdk-ssooidc/endpoints.rb +20 -0
  157. data/lib/aws-sdk-ssooidc/errors.rb +62 -0
  158. data/lib/aws-sdk-ssooidc/plugins/endpoints.rb +77 -0
  159. data/lib/aws-sdk-ssooidc/types.rb +437 -67
  160. data/lib/aws-sdk-ssooidc.rb +15 -7
  161. data/lib/aws-sdk-sts/client.rb +670 -368
  162. data/lib/aws-sdk-sts/client_api.rb +48 -9
  163. data/lib/aws-sdk-sts/customizations.rb +5 -2
  164. data/lib/aws-sdk-sts/endpoint_parameters.rb +79 -0
  165. data/lib/aws-sdk-sts/endpoint_provider.rb +107 -0
  166. data/lib/aws-sdk-sts/endpoints.rb +20 -0
  167. data/lib/aws-sdk-sts/errors.rb +15 -0
  168. data/lib/aws-sdk-sts/plugins/endpoints.rb +77 -0
  169. data/lib/aws-sdk-sts/presigner.rb +12 -18
  170. data/lib/aws-sdk-sts/types.rb +296 -222
  171. data/lib/aws-sdk-sts.rb +15 -7
  172. data/lib/seahorse/client/async_base.rb +4 -6
  173. data/lib/seahorse/client/async_response.rb +19 -0
  174. data/lib/seahorse/client/base.rb +18 -21
  175. data/lib/seahorse/client/configuration.rb +1 -5
  176. data/lib/seahorse/client/h2/connection.rb +27 -36
  177. data/lib/seahorse/client/h2/handler.rb +14 -3
  178. data/lib/seahorse/client/handler.rb +1 -1
  179. data/lib/seahorse/client/http/response.rb +1 -1
  180. data/lib/seahorse/client/net_http/connection_pool.rb +15 -12
  181. data/lib/seahorse/client/net_http/handler.rb +21 -9
  182. data/lib/seahorse/client/net_http/patches.rb +1 -4
  183. data/lib/seahorse/client/networking_error.rb +1 -1
  184. data/lib/seahorse/client/plugin.rb +9 -0
  185. data/lib/seahorse/client/plugins/endpoint.rb +0 -1
  186. data/lib/seahorse/client/plugins/h2.rb +4 -4
  187. data/lib/seahorse/client/plugins/net_http.rb +57 -16
  188. data/lib/seahorse/client/plugins/request_callback.rb +40 -9
  189. data/lib/seahorse/client/request_context.rb +9 -2
  190. data/lib/seahorse/client/response.rb +8 -0
  191. data/lib/seahorse/model/operation.rb +3 -0
  192. data/lib/seahorse/model/shapes.rb +2 -2
  193. data/lib/seahorse/util.rb +6 -1
  194. data/sig/aws-sdk-core/async_client_stubs.rbs +21 -0
  195. data/sig/aws-sdk-core/client_stubs.rbs +10 -0
  196. data/sig/aws-sdk-core/errors.rbs +22 -0
  197. data/sig/aws-sdk-core/resources/collection.rbs +21 -0
  198. data/sig/aws-sdk-core/structure.rbs +4 -0
  199. data/sig/aws-sdk-core/telemetry/base.rbs +46 -0
  200. data/sig/aws-sdk-core/telemetry/otel.rbs +22 -0
  201. data/sig/aws-sdk-core/telemetry/span_kind.rbs +15 -0
  202. data/sig/aws-sdk-core/telemetry/span_status.rbs +24 -0
  203. data/sig/aws-sdk-core/waiters/errors.rbs +20 -0
  204. data/sig/aws-sdk-core.rbs +7 -0
  205. data/sig/seahorse/client/async_base.rbs +18 -0
  206. data/sig/seahorse/client/base.rbs +25 -0
  207. data/sig/seahorse/client/handler_builder.rbs +16 -0
  208. data/sig/seahorse/client/response.rbs +61 -0
  209. metadata +133 -23
  210. /data/lib/aws-sdk-core/xml/parser/{engines/libxml.rb → libxml_engine.rb} +0 -0
  211. /data/lib/aws-sdk-core/xml/parser/{engines/nokogiri.rb → nokogiri_engine.rb} +0 -0
  212. /data/lib/aws-sdk-core/xml/parser/{engines/ox.rb → ox_engine.rb} +0 -0
  213. /data/lib/aws-sdk-core/xml/parser/{engines/rexml.rb → rexml_engine.rb} +0 -0
@@ -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,23 +58,34 @@ module Aws::SSOOIDC
45
58
  include Aws::Structure
46
59
  end
47
60
 
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
+ # 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
61
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
+
62
86
  # @!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.
87
+ # The unique identifier string for the client or application. This
88
+ # value comes from the result of the RegisterClient API.
65
89
  # @return [String]
66
90
  #
67
91
  # @!attribute [rw] client_secret
@@ -70,39 +94,61 @@ module Aws::SSOOIDC
70
94
  # @return [String]
71
95
  #
72
96
  # @!attribute [rw] grant_type
73
- # Supports grant types for authorization code, refresh token, and
74
- # device code request.
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:
100
+ #
101
+ # * Authorization Code - `authorization_code`
102
+ #
103
+ # * Device Code - `urn:ietf:params:oauth:grant-type:device_code`
104
+ #
105
+ # * Refresh Token - `refresh_token`
75
106
  # @return [String]
76
107
  #
77
108
  # @!attribute [rw] device_code
78
- # Used only when calling this API for the device code grant type. This
79
- # short-term code is used to identify this authentication attempt.
80
- # This should come from an in-memory reference to the result of the
81
- # 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.
82
112
  # @return [String]
83
113
  #
84
114
  # @!attribute [rw] code
85
- # The authorization code received from the authorization service. This
86
- # parameter is required to perform an authorization grant request to
87
- # 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.
88
118
  # @return [String]
89
119
  #
90
120
  # @!attribute [rw] refresh_token
91
- # The token used to obtain an access token in the event that the
92
- # access token is invalid or expired. This token is not issued by the
93
- # service.
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.
124
+ #
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].
129
+ #
130
+ #
131
+ #
132
+ # [1]: https://docs.aws.amazon.com/singlesignon/latest/OIDCAPIReference/Welcome.html
94
133
  # @return [String]
95
134
  #
96
135
  # @!attribute [rw] scope
97
- # The list of scopes that is defined by the client. Upon
98
- # authorization, this list is used to restrict permissions when
99
- # 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.
100
139
  # @return [Array<String>]
101
140
  #
102
141
  # @!attribute [rw] redirect_uri
103
- # The location of the application that will receive the authorization
104
- # code. Users authorize the service to send the request to this
105
- # 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.
106
152
  # @return [String]
107
153
  #
108
154
  # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/CreateTokenRequest AWS API Documentation
@@ -115,18 +161,20 @@ module Aws::SSOOIDC
115
161
  :code,
116
162
  :refresh_token,
117
163
  :scope,
118
- :redirect_uri)
119
- SENSITIVE = []
164
+ :redirect_uri,
165
+ :code_verifier)
166
+ SENSITIVE = [:client_secret, :refresh_token, :code_verifier]
120
167
  include Aws::Structure
121
168
  end
122
169
 
123
170
  # @!attribute [rw] access_token
124
- # An opaque token to access AWS SSO resources assigned to a user.
171
+ # A bearer token to access Amazon Web Services accounts and
172
+ # applications assigned to a user.
125
173
  # @return [String]
126
174
  #
127
175
  # @!attribute [rw] token_type
128
176
  # Used to notify the client that the returned token is an access
129
- # token. The supported type is `BearerToken`.
177
+ # token. The supported token type is `Bearer`.
130
178
  # @return [String]
131
179
  #
132
180
  # @!attribute [rw] expires_in
@@ -136,11 +184,29 @@ module Aws::SSOOIDC
136
184
  # @!attribute [rw] refresh_token
137
185
  # A token that, if present, can be used to refresh a previously issued
138
186
  # access token that might have expired.
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
+ #
193
+ #
194
+ #
195
+ # [1]: https://docs.aws.amazon.com/singlesignon/latest/OIDCAPIReference/Welcome.html
139
196
  # @return [String]
140
197
  #
141
198
  # @!attribute [rw] id_token
142
- # The identifier of the user that associated with the access token, if
143
- # present.
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
144
210
  # @return [String]
145
211
  #
146
212
  # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/CreateTokenResponse AWS API Documentation
@@ -151,7 +217,190 @@ module Aws::SSOOIDC
151
217
  :expires_in,
152
218
  :refresh_token,
153
219
  :id_token)
154
- SENSITIVE = []
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
+ #
257
+ # For more information about the features and limitations of the
258
+ # current IAM Identity Center OIDC implementation, see *Considerations
259
+ # for Using this Guide* in the [IAM Identity Center OIDC API
260
+ # Reference][1].
261
+ #
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].
362
+ #
363
+ #
364
+ #
365
+ # [1]: https://docs.aws.amazon.com/singlesignon/latest/OIDCAPIReference/Welcome.html
366
+ # @return [String]
367
+ #
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]
372
+ #
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(
395
+ :access_token,
396
+ :token_type,
397
+ :expires_in,
398
+ :refresh_token,
399
+ :id_token,
400
+ :issued_token_type,
401
+ :scope,
402
+ :aws_additional_details)
403
+ SENSITIVE = [:access_token, :refresh_token, :id_token]
155
404
  include Aws::Structure
156
405
  end
157
406
 
@@ -159,9 +408,13 @@ module Aws::SSOOIDC
159
408
  # longer valid.
160
409
  #
161
410
  # @!attribute [rw] error
411
+ # Single error code. For this exception the value will be
412
+ # `expired_token`.
162
413
  # @return [String]
163
414
  #
164
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.
165
418
  # @return [String]
166
419
  #
167
420
  # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/ExpiredTokenException AWS API Documentation
@@ -177,9 +430,13 @@ module Aws::SSOOIDC
177
430
  # process a request.
178
431
  #
179
432
  # @!attribute [rw] error
433
+ # Single error code. For this exception the value will be
434
+ # `server_error`.
180
435
  # @return [String]
181
436
  #
182
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.
183
440
  # @return [String]
184
441
  #
185
442
  # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/InternalServerException AWS API Documentation
@@ -196,9 +453,13 @@ module Aws::SSOOIDC
196
453
  # `clientId` or an expired `clientSecret`.
197
454
  #
198
455
  # @!attribute [rw] error
456
+ # Single error code. For this exception the value will be
457
+ # `invalid_client`.
199
458
  # @return [String]
200
459
  #
201
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.
202
463
  # @return [String]
203
464
  #
204
465
  # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/InvalidClientException AWS API Documentation
@@ -214,9 +475,13 @@ module Aws::SSOOIDC
214
475
  # registration is invalid.
215
476
  #
216
477
  # @!attribute [rw] error
478
+ # Single error code. For this exception the value will be
479
+ # `invalid_client_metadata`.
217
480
  # @return [String]
218
481
  #
219
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.
220
485
  # @return [String]
221
486
  #
222
487
  # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/InvalidClientMetadataException AWS API Documentation
@@ -232,9 +497,13 @@ module Aws::SSOOIDC
232
497
  # a client makes a CreateToken request with an invalid grant type.
233
498
  #
234
499
  # @!attribute [rw] error
500
+ # Single error code. For this exception the value will be
501
+ # `invalid_grant`.
235
502
  # @return [String]
236
503
  #
237
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.
238
507
  # @return [String]
239
508
  #
240
509
  # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/InvalidGrantException AWS API Documentation
@@ -246,30 +515,99 @@ module Aws::SSOOIDC
246
515
  include Aws::Structure
247
516
  end
248
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
+
249
540
  # Indicates that something is wrong with the input to the request. For
250
541
  # example, a required parameter might be missing or out of range.
251
542
  #
252
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.
253
550
  # @return [String]
254
551
  #
255
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.
256
555
  # @return [String]
257
556
  #
258
557
  # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/InvalidRequestException AWS API Documentation
259
558
  #
260
559
  class InvalidRequestException < Struct.new(
261
560
  :error,
561
+ :reason,
262
562
  :error_description)
263
563
  SENSITIVE = []
264
564
  include Aws::Structure
265
565
  end
266
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
+
267
601
  # Indicates that the scope provided in the request is invalid.
268
602
  #
269
603
  # @!attribute [rw] error
604
+ # Single error code. For this exception the value will be
605
+ # `invalid_scope`.
270
606
  # @return [String]
271
607
  #
272
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.
273
611
  # @return [String]
274
612
  #
275
613
  # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/InvalidScopeException AWS API Documentation
@@ -281,15 +619,6 @@ module Aws::SSOOIDC
281
619
  include Aws::Structure
282
620
  end
283
621
 
284
- # @note When making an API call, you may pass RegisterClientRequest
285
- # data as a hash:
286
- #
287
- # {
288
- # client_name: "ClientName", # required
289
- # client_type: "ClientType", # required
290
- # scopes: ["Scope"],
291
- # }
292
- #
293
622
  # @!attribute [rw] client_name
294
623
  # The friendly name of the client.
295
624
  # @return [String]
@@ -305,12 +634,49 @@ module Aws::SSOOIDC
305
634
  # granting an access token.
306
635
  # @return [Array<String>]
307
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
+ #
308
670
  # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/RegisterClientRequest AWS API Documentation
309
671
  #
310
672
  class RegisterClientRequest < Struct.new(
311
673
  :client_name,
312
674
  :client_type,
313
- :scopes)
675
+ :scopes,
676
+ :redirect_uris,
677
+ :grant_types,
678
+ :issuer_url,
679
+ :entitled_application_arn)
314
680
  SENSITIVE = []
315
681
  include Aws::Structure
316
682
  end
@@ -336,11 +702,11 @@ module Aws::SSOOIDC
336
702
  # @return [Integer]
337
703
  #
338
704
  # @!attribute [rw] authorization_endpoint
339
- # The endpoint where the client can request authorization.
705
+ # An endpoint that the client can use to request authorization.
340
706
  # @return [String]
341
707
  #
342
708
  # @!attribute [rw] token_endpoint
343
- # The endpoint where the client can get an access token.
709
+ # An endpoint that the client can use to create tokens.
344
710
  # @return [String]
345
711
  #
346
712
  # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/RegisterClientResponse AWS API Documentation
@@ -352,7 +718,7 @@ module Aws::SSOOIDC
352
718
  :client_secret_expires_at,
353
719
  :authorization_endpoint,
354
720
  :token_endpoint)
355
- SENSITIVE = []
721
+ SENSITIVE = [:client_secret]
356
722
  include Aws::Structure
357
723
  end
358
724
 
@@ -360,9 +726,12 @@ module Aws::SSOOIDC
360
726
  # more than the service can handle.
361
727
  #
362
728
  # @!attribute [rw] error
729
+ # Single error code. For this exception the value will be `slow_down`.
363
730
  # @return [String]
364
731
  #
365
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.
366
735
  # @return [String]
367
736
  #
368
737
  # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/SlowDownException AWS API Documentation
@@ -374,19 +743,10 @@ module Aws::SSOOIDC
374
743
  include Aws::Structure
375
744
  end
376
745
 
377
- # @note When making an API call, you may pass StartDeviceAuthorizationRequest
378
- # data as a hash:
379
- #
380
- # {
381
- # client_id: "ClientId", # required
382
- # client_secret: "ClientSecret", # required
383
- # start_url: "URI", # required
384
- # }
385
- #
386
746
  # @!attribute [rw] client_id
387
747
  # The unique identifier string for the client that is registered with
388
- # AWS SSO. This value should come from the persisted result of the
389
- # RegisterClient API operation.
748
+ # IAM Identity Center. This value should come from the persisted
749
+ # result of the RegisterClient API operation.
390
750
  # @return [String]
391
751
  #
392
752
  # @!attribute [rw] client_secret
@@ -395,8 +755,9 @@ module Aws::SSOOIDC
395
755
  # @return [String]
396
756
  #
397
757
  # @!attribute [rw] start_url
398
- # The URL for the AWS SSO user portal. For more information, see
399
- # [Using the User Portal][1] in the *AWS Single Sign-On 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*.
400
761
  #
401
762
  #
402
763
  #
@@ -409,7 +770,7 @@ module Aws::SSOOIDC
409
770
  :client_id,
410
771
  :client_secret,
411
772
  :start_url)
412
- SENSITIVE = []
773
+ SENSITIVE = [:client_secret]
413
774
  include Aws::Structure
414
775
  end
415
776
 
@@ -462,9 +823,13 @@ module Aws::SSOOIDC
462
823
  # client.
463
824
  #
464
825
  # @!attribute [rw] error
826
+ # Single error code. For this exception the value will be
827
+ # `unauthorized_client`.
465
828
  # @return [String]
466
829
  #
467
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.
468
833
  # @return [String]
469
834
  #
470
835
  # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/UnauthorizedClientException AWS API Documentation
@@ -480,9 +845,13 @@ module Aws::SSOOIDC
480
845
  # service.
481
846
  #
482
847
  # @!attribute [rw] error
848
+ # Single error code. For this exception the value will be
849
+ # `unsupported_grant_type`.
483
850
  # @return [String]
484
851
  #
485
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.
486
855
  # @return [String]
487
856
  #
488
857
  # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/UnsupportedGrantTypeException AWS API Documentation
@@ -496,3 +865,4 @@ module Aws::SSOOIDC
496
865
 
497
866
  end
498
867
  end
868
+