aws-sdk-core 3.191.1 → 3.228.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 (181) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +530 -1
  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 +30 -55
  19. data/lib/aws-sdk-core/credential_provider.rb +4 -0
  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 +1 -0
  24. data/lib/aws-sdk-core/endpoints/endpoint.rb +3 -1
  25. data/lib/aws-sdk-core/endpoints/matchers.rb +8 -10
  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 +11 -2
  29. data/lib/aws-sdk-core/event_emitter.rb +1 -17
  30. data/lib/aws-sdk-core/instance_profile_credentials.rb +148 -158
  31. data/lib/aws-sdk-core/json/builder.rb +8 -1
  32. data/lib/aws-sdk-core/json/error_handler.rb +29 -13
  33. data/lib/aws-sdk-core/json/handler.rb +6 -6
  34. data/lib/aws-sdk-core/json/json_engine.rb +3 -1
  35. data/lib/aws-sdk-core/json/oj_engine.rb +7 -1
  36. data/lib/aws-sdk-core/json/parser.rb +6 -1
  37. data/lib/aws-sdk-core/json.rb +43 -14
  38. data/lib/aws-sdk-core/log/param_filter.rb +2 -2
  39. data/lib/aws-sdk-core/log/param_formatter.rb +7 -3
  40. data/lib/aws-sdk-core/log.rb +10 -0
  41. data/lib/aws-sdk-core/lru_cache.rb +75 -0
  42. data/lib/aws-sdk-core/pageable_response.rb +1 -1
  43. data/lib/aws-sdk-core/param_validator.rb +7 -2
  44. data/lib/aws-sdk-core/plugins/bearer_authorization.rb +2 -0
  45. data/lib/aws-sdk-core/plugins/checksum_algorithm.rb +332 -169
  46. data/lib/aws-sdk-core/plugins/client_metrics_plugin.rb +0 -1
  47. data/lib/aws-sdk-core/plugins/client_metrics_send_plugin.rb +14 -2
  48. data/lib/aws-sdk-core/plugins/credentials_configuration.rb +87 -68
  49. data/lib/aws-sdk-core/plugins/endpoint_pattern.rb +40 -32
  50. data/lib/aws-sdk-core/plugins/global_configuration.rb +8 -9
  51. data/lib/aws-sdk-core/plugins/http_checksum.rb +2 -8
  52. data/lib/aws-sdk-core/plugins/invocation_id.rb +1 -11
  53. data/lib/aws-sdk-core/plugins/protocols/api_gateway.rb +3 -1
  54. data/lib/aws-sdk-core/plugins/protocols/ec2.rb +2 -24
  55. data/lib/aws-sdk-core/plugins/protocols/json_rpc.rb +6 -8
  56. data/lib/aws-sdk-core/plugins/protocols/query.rb +4 -2
  57. data/lib/aws-sdk-core/plugins/protocols/rest_json.rb +3 -15
  58. data/lib/aws-sdk-core/plugins/protocols/rest_xml.rb +3 -0
  59. data/lib/aws-sdk-core/plugins/protocols/rpc_v2.rb +17 -0
  60. data/lib/aws-sdk-core/plugins/regional_endpoint.rb +74 -25
  61. data/lib/aws-sdk-core/plugins/request_compression.rb +11 -2
  62. data/lib/aws-sdk-core/plugins/retry_errors.rb +10 -3
  63. data/lib/aws-sdk-core/plugins/sign.rb +42 -26
  64. data/lib/aws-sdk-core/plugins/signature_v2.rb +2 -1
  65. data/lib/aws-sdk-core/plugins/signature_v4.rb +2 -1
  66. data/lib/aws-sdk-core/plugins/stub_responses.rb +58 -9
  67. data/lib/aws-sdk-core/plugins/telemetry.rb +75 -0
  68. data/lib/aws-sdk-core/plugins/transfer_encoding.rb +16 -9
  69. data/lib/aws-sdk-core/plugins/user_agent.rb +101 -26
  70. data/lib/aws-sdk-core/plugins.rb +39 -0
  71. data/lib/aws-sdk-core/process_credentials.rb +48 -29
  72. data/lib/aws-sdk-core/query/ec2_handler.rb +27 -0
  73. data/lib/aws-sdk-core/query/ec2_param_builder.rb +5 -7
  74. data/lib/aws-sdk-core/query/handler.rb +4 -4
  75. data/lib/aws-sdk-core/query/param_builder.rb +2 -2
  76. data/lib/aws-sdk-core/query.rb +2 -1
  77. data/lib/aws-sdk-core/resources.rb +8 -0
  78. data/lib/aws-sdk-core/rest/content_type_handler.rb +60 -0
  79. data/lib/aws-sdk-core/rest/handler.rb +3 -4
  80. data/lib/aws-sdk-core/rest/request/body.rb +32 -5
  81. data/lib/aws-sdk-core/rest/request/endpoint.rb +24 -4
  82. data/lib/aws-sdk-core/rest/request/headers.rb +15 -7
  83. data/lib/aws-sdk-core/rest/request/querystring_builder.rb +23 -11
  84. data/lib/aws-sdk-core/rest/response/body.rb +15 -1
  85. data/lib/aws-sdk-core/rest/response/header_list_parser.rb +79 -0
  86. data/lib/aws-sdk-core/rest/response/headers.rb +8 -3
  87. data/lib/aws-sdk-core/rest.rb +1 -0
  88. data/lib/aws-sdk-core/rpc_v2/builder.rb +62 -0
  89. data/lib/aws-sdk-core/rpc_v2/cbor_engine.rb +18 -0
  90. data/lib/aws-sdk-core/rpc_v2/content_type_handler.rb +47 -0
  91. data/lib/aws-sdk-core/rpc_v2/error_handler.rb +95 -0
  92. data/lib/aws-sdk-core/rpc_v2/handler.rb +79 -0
  93. data/lib/aws-sdk-core/rpc_v2/parser.rb +98 -0
  94. data/lib/aws-sdk-core/rpc_v2.rb +69 -0
  95. data/lib/aws-sdk-core/shared_config.rb +79 -22
  96. data/lib/aws-sdk-core/shared_credentials.rb +1 -7
  97. data/lib/aws-sdk-core/sso_credentials.rb +4 -1
  98. data/lib/aws-sdk-core/static_token_provider.rb +1 -2
  99. data/lib/aws-sdk-core/stubbing/protocols/ec2.rb +12 -11
  100. data/lib/aws-sdk-core/stubbing/protocols/json.rb +11 -10
  101. data/lib/aws-sdk-core/stubbing/protocols/query.rb +7 -6
  102. data/lib/aws-sdk-core/stubbing/protocols/rest.rb +2 -1
  103. data/lib/aws-sdk-core/stubbing/protocols/rest_json.rb +9 -8
  104. data/lib/aws-sdk-core/stubbing/protocols/rest_xml.rb +6 -5
  105. data/lib/aws-sdk-core/stubbing/protocols/rpc_v2.rb +39 -0
  106. data/lib/aws-sdk-core/stubbing.rb +22 -0
  107. data/lib/aws-sdk-core/telemetry/base.rb +177 -0
  108. data/lib/aws-sdk-core/telemetry/no_op.rb +70 -0
  109. data/lib/aws-sdk-core/telemetry/otel.rb +235 -0
  110. data/lib/aws-sdk-core/telemetry/span_kind.rb +22 -0
  111. data/lib/aws-sdk-core/telemetry/span_status.rb +59 -0
  112. data/lib/aws-sdk-core/telemetry.rb +78 -0
  113. data/lib/aws-sdk-core/token.rb +3 -3
  114. data/lib/aws-sdk-core/token_provider.rb +4 -0
  115. data/lib/aws-sdk-core/token_provider_chain.rb +2 -6
  116. data/lib/aws-sdk-core/util.rb +41 -1
  117. data/lib/aws-sdk-core/waiters/poller.rb +10 -5
  118. data/lib/aws-sdk-core/xml/builder.rb +17 -9
  119. data/lib/aws-sdk-core/xml/error_handler.rb +35 -43
  120. data/lib/aws-sdk-core/xml/parser/frame.rb +4 -20
  121. data/lib/aws-sdk-core/xml/parser/stack.rb +2 -0
  122. data/lib/aws-sdk-core/xml/parser.rb +2 -6
  123. data/lib/aws-sdk-core.rb +82 -107
  124. data/lib/aws-sdk-sso/client.rb +185 -89
  125. data/lib/aws-sdk-sso/client_api.rb +7 -0
  126. data/lib/aws-sdk-sso/endpoint_parameters.rb +9 -6
  127. data/lib/aws-sdk-sso/endpoint_provider.rb +14 -18
  128. data/lib/aws-sdk-sso/endpoints.rb +2 -54
  129. data/lib/aws-sdk-sso/plugins/endpoints.rb +19 -20
  130. data/lib/aws-sdk-sso/types.rb +1 -0
  131. data/lib/aws-sdk-sso.rb +15 -11
  132. data/lib/aws-sdk-ssooidc/client.rb +270 -109
  133. data/lib/aws-sdk-ssooidc/client_api.rb +33 -0
  134. data/lib/aws-sdk-ssooidc/endpoint_parameters.rb +9 -6
  135. data/lib/aws-sdk-ssooidc/endpoint_provider.rb +14 -18
  136. data/lib/aws-sdk-ssooidc/endpoints.rb +2 -54
  137. data/lib/aws-sdk-ssooidc/errors.rb +21 -0
  138. data/lib/aws-sdk-ssooidc/plugins/endpoints.rb +19 -20
  139. data/lib/aws-sdk-ssooidc/types.rb +125 -24
  140. data/lib/aws-sdk-ssooidc.rb +15 -11
  141. data/lib/aws-sdk-sts/client.rb +393 -141
  142. data/lib/aws-sdk-sts/client_api.rb +36 -8
  143. data/lib/aws-sdk-sts/customizations.rb +5 -1
  144. data/lib/aws-sdk-sts/endpoint_parameters.rb +10 -9
  145. data/lib/aws-sdk-sts/endpoint_provider.rb +50 -55
  146. data/lib/aws-sdk-sts/endpoints.rb +2 -118
  147. data/lib/aws-sdk-sts/errors.rb +15 -0
  148. data/lib/aws-sdk-sts/plugins/endpoints.rb +19 -28
  149. data/lib/aws-sdk-sts/presigner.rb +2 -6
  150. data/lib/aws-sdk-sts/types.rb +171 -28
  151. data/lib/aws-sdk-sts.rb +15 -11
  152. data/lib/seahorse/client/async_base.rb +4 -5
  153. data/lib/seahorse/client/async_response.rb +19 -0
  154. data/lib/seahorse/client/base.rb +18 -21
  155. data/lib/seahorse/client/h2/connection.rb +18 -28
  156. data/lib/seahorse/client/h2/handler.rb +14 -3
  157. data/lib/seahorse/client/handler.rb +1 -1
  158. data/lib/seahorse/client/http/response.rb +1 -1
  159. data/lib/seahorse/client/net_http/connection_pool.rb +15 -12
  160. data/lib/seahorse/client/net_http/handler.rb +21 -9
  161. data/lib/seahorse/client/networking_error.rb +1 -1
  162. data/lib/seahorse/client/plugin.rb +8 -0
  163. data/lib/seahorse/client/plugins/endpoint.rb +0 -1
  164. data/lib/seahorse/client/plugins/h2.rb +4 -4
  165. data/lib/seahorse/client/plugins/net_http.rb +57 -16
  166. data/lib/seahorse/client/request_context.rb +9 -2
  167. data/lib/seahorse/client/response.rb +2 -0
  168. data/lib/seahorse/model/shapes.rb +2 -2
  169. data/lib/seahorse/util.rb +2 -1
  170. data/sig/aws-sdk-core/async_client_stubs.rbs +21 -0
  171. data/sig/aws-sdk-core/telemetry/base.rbs +46 -0
  172. data/sig/aws-sdk-core/telemetry/otel.rbs +22 -0
  173. data/sig/aws-sdk-core/telemetry/span_kind.rbs +15 -0
  174. data/sig/aws-sdk-core/telemetry/span_status.rbs +24 -0
  175. data/sig/seahorse/client/async_base.rbs +18 -0
  176. metadata +96 -23
  177. /data/lib/aws-sdk-core/xml/parser/{engines/libxml.rb → libxml_engine.rb} +0 -0
  178. /data/lib/aws-sdk-core/xml/parser/{engines/nokogiri.rb → nokogiri_engine.rb} +0 -0
  179. /data/lib/aws-sdk-core/xml/parser/{engines/oga.rb → oga_engine.rb} +0 -0
  180. /data/lib/aws-sdk-core/xml/parser/{engines/ox.rb → ox_engine.rb} +0 -0
  181. /data/lib/aws-sdk-core/xml/parser/{engines/rexml.rb → rexml_engine.rb} +0 -0
@@ -7,34 +7,34 @@
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
10
- require 'seahorse/client/plugins/content_length.rb'
11
- require 'aws-sdk-core/plugins/credentials_configuration.rb'
12
- require 'aws-sdk-core/plugins/logging.rb'
13
- require 'aws-sdk-core/plugins/param_converter.rb'
14
- require 'aws-sdk-core/plugins/param_validator.rb'
15
- require 'aws-sdk-core/plugins/user_agent.rb'
16
- require 'aws-sdk-core/plugins/helpful_socket_errors.rb'
17
- require 'aws-sdk-core/plugins/retry_errors.rb'
18
- require 'aws-sdk-core/plugins/global_configuration.rb'
19
- require 'aws-sdk-core/plugins/regional_endpoint.rb'
20
- require 'aws-sdk-core/plugins/endpoint_discovery.rb'
21
- require 'aws-sdk-core/plugins/endpoint_pattern.rb'
22
- require 'aws-sdk-core/plugins/response_paging.rb'
23
- require 'aws-sdk-core/plugins/stub_responses.rb'
24
- require 'aws-sdk-core/plugins/idempotency_token.rb'
25
- require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
26
- require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
27
- require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
28
- require 'aws-sdk-core/plugins/transfer_encoding.rb'
29
- require 'aws-sdk-core/plugins/http_checksum.rb'
30
- require 'aws-sdk-core/plugins/checksum_algorithm.rb'
31
- require 'aws-sdk-core/plugins/request_compression.rb'
32
- require 'aws-sdk-core/plugins/defaults_mode.rb'
33
- require 'aws-sdk-core/plugins/recursion_detection.rb'
34
- require 'aws-sdk-core/plugins/sign.rb'
35
- require 'aws-sdk-core/plugins/protocols/rest_json.rb'
36
-
37
- Aws::Plugins::GlobalConfiguration.add_identifier(:ssooidc)
10
+ require 'seahorse/client/plugins/content_length'
11
+ require 'aws-sdk-core/plugins/credentials_configuration'
12
+ require 'aws-sdk-core/plugins/logging'
13
+ require 'aws-sdk-core/plugins/param_converter'
14
+ require 'aws-sdk-core/plugins/param_validator'
15
+ require 'aws-sdk-core/plugins/user_agent'
16
+ require 'aws-sdk-core/plugins/helpful_socket_errors'
17
+ require 'aws-sdk-core/plugins/retry_errors'
18
+ require 'aws-sdk-core/plugins/global_configuration'
19
+ require 'aws-sdk-core/plugins/regional_endpoint'
20
+ require 'aws-sdk-core/plugins/endpoint_discovery'
21
+ require 'aws-sdk-core/plugins/endpoint_pattern'
22
+ require 'aws-sdk-core/plugins/response_paging'
23
+ require 'aws-sdk-core/plugins/stub_responses'
24
+ require 'aws-sdk-core/plugins/idempotency_token'
25
+ require 'aws-sdk-core/plugins/invocation_id'
26
+ require 'aws-sdk-core/plugins/jsonvalue_converter'
27
+ require 'aws-sdk-core/plugins/client_metrics_plugin'
28
+ require 'aws-sdk-core/plugins/client_metrics_send_plugin'
29
+ require 'aws-sdk-core/plugins/transfer_encoding'
30
+ require 'aws-sdk-core/plugins/http_checksum'
31
+ require 'aws-sdk-core/plugins/checksum_algorithm'
32
+ require 'aws-sdk-core/plugins/request_compression'
33
+ require 'aws-sdk-core/plugins/defaults_mode'
34
+ require 'aws-sdk-core/plugins/recursion_detection'
35
+ require 'aws-sdk-core/plugins/telemetry'
36
+ require 'aws-sdk-core/plugins/sign'
37
+ require 'aws-sdk-core/plugins/protocols/rest_json'
38
38
 
39
39
  module Aws::SSOOIDC
40
40
  # An API client for SSOOIDC. To construct a client, you need to configure a `:region` and `:credentials`.
@@ -72,6 +72,7 @@ module Aws::SSOOIDC
72
72
  add_plugin(Aws::Plugins::ResponsePaging)
73
73
  add_plugin(Aws::Plugins::StubResponses)
74
74
  add_plugin(Aws::Plugins::IdempotencyToken)
75
+ add_plugin(Aws::Plugins::InvocationId)
75
76
  add_plugin(Aws::Plugins::JsonvalueConverter)
76
77
  add_plugin(Aws::Plugins::ClientMetricsPlugin)
77
78
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
@@ -81,14 +82,20 @@ module Aws::SSOOIDC
81
82
  add_plugin(Aws::Plugins::RequestCompression)
82
83
  add_plugin(Aws::Plugins::DefaultsMode)
83
84
  add_plugin(Aws::Plugins::RecursionDetection)
85
+ add_plugin(Aws::Plugins::Telemetry)
84
86
  add_plugin(Aws::Plugins::Sign)
85
87
  add_plugin(Aws::Plugins::Protocols::RestJson)
86
88
  add_plugin(Aws::SSOOIDC::Plugins::Endpoints)
87
89
 
88
90
  # @overload initialize(options)
89
91
  # @param [Hash] options
92
+ #
93
+ # @option options [Array<Seahorse::Client::Plugin>] :plugins ([]])
94
+ # A list of plugins to apply to the client. Each plugin is either a
95
+ # class name or an instance of a plugin class.
96
+ #
90
97
  # @option options [required, Aws::CredentialProvider] :credentials
91
- # Your AWS credentials. This can be an instance of any one of the
98
+ # Your AWS credentials used for authentication. This can be an instance of any one of the
92
99
  # following classes:
93
100
  #
94
101
  # * `Aws::Credentials` - Used for configuring static, non-refreshing
@@ -121,16 +128,23 @@ module Aws::SSOOIDC
121
128
  # locations will be searched for credentials:
122
129
  #
123
130
  # * `Aws.config[:credentials]`
124
- # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
125
- # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
131
+ #
132
+ # * The `:access_key_id`, `:secret_access_key`, `:session_token`, and
133
+ # `:account_id` options.
134
+ #
135
+ # * `ENV['AWS_ACCESS_KEY_ID']`, `ENV['AWS_SECRET_ACCESS_KEY']`,
136
+ # `ENV['AWS_SESSION_TOKEN']`, and `ENV['AWS_ACCOUNT_ID']`.
137
+ #
126
138
  # * `~/.aws/credentials`
139
+ #
127
140
  # * `~/.aws/config`
141
+ #
128
142
  # * EC2/ECS IMDS instance profile - When used by default, the timeouts
129
143
  # are very aggressive. Construct and pass an instance of
130
- # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
144
+ # `Aws::InstanceProfileCredentials` or `Aws::ECSCredentials` to
131
145
  # enable retries and extended timeouts. Instance profile credential
132
- # fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
133
- # to true.
146
+ # fetching can be disabled by setting `ENV['AWS_EC2_METADATA_DISABLED']`
147
+ # to `true`.
134
148
  #
135
149
  # @option options [required, String] :region
136
150
  # The AWS region to connect to. The configured `:region` is
@@ -146,6 +160,8 @@ module Aws::SSOOIDC
146
160
  #
147
161
  # @option options [String] :access_key_id
148
162
  #
163
+ # @option options [String] :account_id
164
+ #
149
165
  # @option options [Boolean] :active_endpoint_cache (false)
150
166
  # When set to `true`, a thread polling for endpoints will be running in
151
167
  # the background every 60 secs (default). Defaults to `false`.
@@ -156,6 +172,11 @@ module Aws::SSOOIDC
156
172
  # When false, the request will raise a `RetryCapacityNotAvailableError` and will
157
173
  # not retry instead of sleeping.
158
174
  #
175
+ # @option options [Array<String>] :auth_scheme_preference
176
+ # A list of preferred authentication schemes to use when making a request. Supported values are:
177
+ # `sigv4`, `sigv4a`, `httpBearerAuth`, and `noAuth`. When set using `ENV['AWS_AUTH_SCHEME_PREFERENCE']` or in
178
+ # shared config as `auth_scheme_preference`, the value should be a comma-separated list.
179
+ #
159
180
  # @option options [Boolean] :client_side_monitoring (false)
160
181
  # When `true`, client-side metrics will be collected for all API requests from
161
182
  # this client.
@@ -189,17 +210,22 @@ module Aws::SSOOIDC
189
210
  # accepted modes and the configuration defaults that are included.
190
211
  #
191
212
  # @option options [Boolean] :disable_host_prefix_injection (false)
192
- # Set to true to disable SDK automatically adding host prefix
193
- # to default service endpoint when available.
213
+ # When `true`, the SDK will not prepend the modeled host prefix to the endpoint.
194
214
  #
195
215
  # @option options [Boolean] :disable_request_compression (false)
196
216
  # When set to 'true' the request body will not be compressed
197
217
  # for supported operations.
198
218
  #
199
- # @option options [String] :endpoint
200
- # The client endpoint is normally constructed from the `:region`
201
- # option. You should only configure an `:endpoint` when connecting
202
- # to test or custom endpoints. This should be a valid HTTP(S) URI.
219
+ # @option options [String, URI::HTTPS, URI::HTTP] :endpoint
220
+ # Normally you should not configure the `:endpoint` option
221
+ # directly. This is normally constructed from the `:region`
222
+ # option. Configuring `:endpoint` is normally reserved for
223
+ # connecting to test or custom endpoints. The endpoint should
224
+ # be a URI formatted like:
225
+ #
226
+ # 'http://example.com'
227
+ # 'https://example.com'
228
+ # 'http://example.com:123'
203
229
  #
204
230
  # @option options [Integer] :endpoint_cache_max_entries (1000)
205
231
  # Used for the maximum size limit of the LRU cache storing endpoints data
@@ -237,14 +263,37 @@ module Aws::SSOOIDC
237
263
  # 4 times. Used in `standard` and `adaptive` retry modes.
238
264
  #
239
265
  # @option options [String] :profile ("default")
240
- # Used when loading credentials from the shared credentials file
241
- # at HOME/.aws/credentials. When not specified, 'default' is used.
266
+ # Used when loading credentials from the shared credentials file at `HOME/.aws/credentials`.
267
+ # When not specified, 'default' is used.
268
+ #
269
+ # @option options [String] :request_checksum_calculation ("when_supported")
270
+ # Determines when a checksum will be calculated for request payloads. Values are:
271
+ #
272
+ # * `when_supported` - (default) When set, a checksum will be
273
+ # calculated for all request payloads of operations modeled with the
274
+ # `httpChecksum` trait where `requestChecksumRequired` is `true` and/or a
275
+ # `requestAlgorithmMember` is modeled.
276
+ # * `when_required` - When set, a checksum will only be calculated for
277
+ # request payloads of operations modeled with the `httpChecksum` trait where
278
+ # `requestChecksumRequired` is `true` or where a `requestAlgorithmMember`
279
+ # is modeled and supplied.
242
280
  #
243
281
  # @option options [Integer] :request_min_compression_size_bytes (10240)
244
282
  # The minimum size in bytes that triggers compression for request
245
283
  # bodies. The value must be non-negative integer value between 0
246
284
  # and 10485780 bytes inclusive.
247
285
  #
286
+ # @option options [String] :response_checksum_validation ("when_supported")
287
+ # Determines when checksum validation will be performed on response payloads. Values are:
288
+ #
289
+ # * `when_supported` - (default) When set, checksum validation is performed on all
290
+ # response payloads of operations modeled with the `httpChecksum` trait where
291
+ # `responseAlgorithms` is modeled, except when no modeled checksum algorithms
292
+ # are supported.
293
+ # * `when_required` - When set, checksum validation is not performed on
294
+ # response payloads of operations unless the checksum algorithm is supported and
295
+ # the `requestValidationModeMember` member is set to `ENABLED`.
296
+ #
248
297
  # @option options [Proc] :retry_backoff
249
298
  # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
250
299
  # This option is only used in the `legacy` retry mode.
@@ -289,16 +338,25 @@ module Aws::SSOOIDC
289
338
  # throttling. This is a provisional mode that may change behavior
290
339
  # in the future.
291
340
  #
292
- #
293
341
  # @option options [String] :sdk_ua_app_id
294
342
  # A unique and opaque application ID that is appended to the
295
- # User-Agent header as app/<sdk_ua_app_id>. It should have a
296
- # maximum length of 50.
343
+ # User-Agent header as app/sdk_ua_app_id. It should have a
344
+ # maximum length of 50. This variable is sourced from environment
345
+ # variable AWS_SDK_UA_APP_ID or the shared config profile attribute sdk_ua_app_id.
297
346
  #
298
347
  # @option options [String] :secret_access_key
299
348
  #
300
349
  # @option options [String] :session_token
301
350
  #
351
+ # @option options [Array] :sigv4a_signing_region_set
352
+ # A list of regions that should be signed with SigV4a signing. When
353
+ # not passed, a default `:sigv4a_signing_region_set` is searched for
354
+ # in the following locations:
355
+ #
356
+ # * `Aws.config[:sigv4a_signing_region_set]`
357
+ # * `ENV['AWS_SIGV4A_SIGNING_REGION_SET']`
358
+ # * `~/.aws/config`
359
+ #
302
360
  # @option options [Boolean] :stub_responses (false)
303
361
  # Causes the client to return stubbed responses. By default
304
362
  # fake responses are generated and returned. You can specify
@@ -308,8 +366,18 @@ module Aws::SSOOIDC
308
366
  # ** Please note ** When response stubbing is enabled, no HTTP
309
367
  # requests are made, and retries are disabled.
310
368
  #
369
+ # @option options [Aws::Telemetry::TelemetryProviderBase] :telemetry_provider (Aws::Telemetry::NoOpTelemetryProvider)
370
+ # Allows you to provide a telemetry provider, which is used to
371
+ # emit telemetry data. By default, uses `NoOpTelemetryProvider` which
372
+ # will not record or emit any telemetry data. The SDK supports the
373
+ # following telemetry providers:
374
+ #
375
+ # * OpenTelemetry (OTel) - To use the OTel provider, install and require the
376
+ # `opentelemetry-sdk` gem and then, pass in an instance of a
377
+ # `Aws::Telemetry::OTelProvider` for telemetry provider.
378
+ #
311
379
  # @option options [Aws::TokenProvider] :token_provider
312
- # A Bearer Token Provider. This can be an instance of any one of the
380
+ # Your Bearer token used for authentication. This can be an instance of any one of the
313
381
  # following classes:
314
382
  #
315
383
  # * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
@@ -335,52 +403,75 @@ module Aws::SSOOIDC
335
403
  # sending the request.
336
404
  #
337
405
  # @option options [Aws::SSOOIDC::EndpointProvider] :endpoint_provider
338
- # The endpoint provider used to resolve endpoints. Any object that responds to `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::SSOOIDC::EndpointParameters`
339
- #
340
- # @option options [URI::HTTP,String] :http_proxy A proxy to send
341
- # requests through. Formatted like 'http://proxy.com:123'.
342
- #
343
- # @option options [Float] :http_open_timeout (15) The number of
344
- # seconds to wait when opening a HTTP session before raising a
345
- # `Timeout::Error`.
346
- #
347
- # @option options [Float] :http_read_timeout (60) The default
348
- # number of seconds to wait for response data. This value can
349
- # safely be set per-request on the session.
350
- #
351
- # @option options [Float] :http_idle_timeout (5) The number of
352
- # seconds a connection is allowed to sit idle before it is
353
- # considered stale. Stale connections are closed and removed
354
- # from the pool before making a request.
355
- #
356
- # @option options [Float] :http_continue_timeout (1) The number of
357
- # seconds to wait for a 100-continue response before sending the
358
- # request body. This option has no effect unless the request has
359
- # "Expect" header set to "100-continue". Defaults to `nil` which
360
- # disables this behaviour. This value can safely be set per
361
- # request on the session.
406
+ # The endpoint provider used to resolve endpoints. Any object that responds to
407
+ # `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to
408
+ # `Aws::SSOOIDC::EndpointParameters`.
409
+ #
410
+ # @option options [Float] :http_continue_timeout (1)
411
+ # The number of seconds to wait for a 100-continue response before sending the
412
+ # request body. This option has no effect unless the request has "Expect"
413
+ # header set to "100-continue". Defaults to `nil` which disables this
414
+ # behaviour. This value can safely be set per request on the session.
415
+ #
416
+ # @option options [Float] :http_idle_timeout (5)
417
+ # The number of seconds a connection is allowed to sit idle before it
418
+ # is considered stale. Stale connections are closed and removed from the
419
+ # pool before making a request.
420
+ #
421
+ # @option options [Float] :http_open_timeout (15)
422
+ # The default number of seconds to wait for response data.
423
+ # This value can safely be set per-request on the session.
424
+ #
425
+ # @option options [URI::HTTP,String] :http_proxy
426
+ # A proxy to send requests through. Formatted like 'http://proxy.com:123'.
427
+ #
428
+ # @option options [Float] :http_read_timeout (60)
429
+ # The default number of seconds to wait for response data.
430
+ # This value can safely be set per-request on the session.
431
+ #
432
+ # @option options [Boolean] :http_wire_trace (false)
433
+ # When `true`, HTTP debug output will be sent to the `:logger`.
434
+ #
435
+ # @option options [Proc] :on_chunk_received
436
+ # When a Proc object is provided, it will be used as callback when each chunk
437
+ # of the response body is received. It provides three arguments: the chunk,
438
+ # the number of bytes received, and the total number of
439
+ # bytes in the response (or nil if the server did not send a `content-length`).
440
+ #
441
+ # @option options [Proc] :on_chunk_sent
442
+ # When a Proc object is provided, it will be used as callback when each chunk
443
+ # of the request body is sent. It provides three arguments: the chunk,
444
+ # the number of bytes read from the body, and the total number of
445
+ # bytes in the body.
446
+ #
447
+ # @option options [Boolean] :raise_response_errors (true)
448
+ # When `true`, response errors are raised.
449
+ #
450
+ # @option options [String] :ssl_ca_bundle
451
+ # Full path to the SSL certificate authority bundle file that should be used when
452
+ # verifying peer certificates. If you do not pass `:ssl_ca_bundle` or
453
+ # `:ssl_ca_directory` the the system default will be used if available.
454
+ #
455
+ # @option options [String] :ssl_ca_directory
456
+ # Full path of the directory that contains the unbundled SSL certificate
457
+ # authority files for verifying peer certificates. If you do
458
+ # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the system
459
+ # default will be used if available.
362
460
  #
363
- # @option options [Float] :ssl_timeout (nil) Sets the SSL timeout
364
- # in seconds.
461
+ # @option options [String] :ssl_ca_store
462
+ # Sets the X509::Store to verify peer certificate.
365
463
  #
366
- # @option options [Boolean] :http_wire_trace (false) When `true`,
367
- # HTTP debug output will be sent to the `:logger`.
464
+ # @option options [OpenSSL::X509::Certificate] :ssl_cert
465
+ # Sets a client certificate when creating http connections.
368
466
  #
369
- # @option options [Boolean] :ssl_verify_peer (true) When `true`,
370
- # SSL peer certificates are verified when establishing a
371
- # connection.
467
+ # @option options [OpenSSL::PKey] :ssl_key
468
+ # Sets a client key when creating http connections.
372
469
  #
373
- # @option options [String] :ssl_ca_bundle Full path to the SSL
374
- # certificate authority bundle file that should be used when
375
- # verifying peer certificates. If you do not pass
376
- # `:ssl_ca_bundle` or `:ssl_ca_directory` the the system default
377
- # will be used if available.
470
+ # @option options [Float] :ssl_timeout
471
+ # Sets the SSL timeout in seconds
378
472
  #
379
- # @option options [String] :ssl_ca_directory Full path of the
380
- # directory that contains the unbundled SSL certificate
381
- # authority files for verifying peer certificates. If you do
382
- # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the
383
- # system default will be used if available.
473
+ # @option options [Boolean] :ssl_verify_peer (true)
474
+ # When `true`, SSL peer certificates are verified when establishing a connection.
384
475
  #
385
476
  def initialize(*args)
386
477
  super
@@ -390,7 +481,7 @@ module Aws::SSOOIDC
390
481
 
391
482
  # Creates and returns access and refresh tokens for clients that are
392
483
  # authenticated using client secrets. The access token can be used to
393
- # fetch short-term credentials for the assigned AWS accounts or to
484
+ # fetch short-lived credentials for the assigned AWS accounts or to
394
485
  # access application APIs using `bearer` authentication.
395
486
  #
396
487
  # @option params [required, String] :client_id
@@ -402,30 +493,28 @@ module Aws::SSOOIDC
402
493
  # the persisted result of the RegisterClient API.
403
494
  #
404
495
  # @option params [required, String] :grant_type
405
- # Supports the following OAuth grant types: Device Code and Refresh
406
- # Token. Specify either of the following values, depending on the grant
407
- # type that you want:
496
+ # Supports the following OAuth grant types: Authorization Code, Device
497
+ # Code, and Refresh Token. Specify one of the following values,
498
+ # depending on the grant type that you want:
499
+ #
500
+ # * Authorization Code - `authorization_code`
408
501
  #
409
502
  # * Device Code - `urn:ietf:params:oauth:grant-type:device_code`
410
503
  #
411
504
  # * Refresh Token - `refresh_token`
412
505
  #
413
- # For information about how to obtain the device code, see the
414
- # StartDeviceAuthorization topic.
415
- #
416
506
  # @option params [String] :device_code
417
507
  # Used only when calling this API for the Device Code grant type. This
418
- # short-term code is used to identify this authorization request. This
508
+ # short-lived code is used to identify this authorization request. This
419
509
  # comes from the result of the StartDeviceAuthorization API.
420
510
  #
421
511
  # @option params [String] :code
422
512
  # Used only when calling this API for the Authorization Code grant type.
423
- # The short-term code is used to identify this authorization request.
424
- # This grant type is currently unsupported for the CreateToken API.
513
+ # The short-lived code is used to identify this authorization request.
425
514
  #
426
515
  # @option params [String] :refresh_token
427
516
  # Used only when calling this API for the Refresh Token grant type. This
428
- # token is used to refresh short-term tokens, such as the access token,
517
+ # token is used to refresh short-lived tokens, such as the access token,
429
518
  # that might expire.
430
519
  #
431
520
  # For more information about the features and limitations of the current
@@ -447,6 +536,11 @@ module Aws::SSOOIDC
447
536
  # This value specifies the location of the client or application that
448
537
  # has registered to receive the authorization code.
449
538
  #
539
+ # @option params [String] :code_verifier
540
+ # Used only when calling this API for the Authorization Code grant type.
541
+ # This value is generated by the client and presented to validate the
542
+ # original code challenge value the client passed at authorization time.
543
+ #
450
544
  # @return [Types::CreateTokenResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
451
545
  #
452
546
  # * {Types::CreateTokenResponse#access_token #access_token} => String
@@ -504,6 +598,7 @@ module Aws::SSOOIDC
504
598
  # refresh_token: "RefreshToken",
505
599
  # scope: ["Scope"],
506
600
  # redirect_uri: "URI",
601
+ # code_verifier: "CodeVerifier",
507
602
  # })
508
603
  #
509
604
  # @example Response structure
@@ -525,8 +620,9 @@ module Aws::SSOOIDC
525
620
 
526
621
  # Creates and returns access and refresh tokens for clients and
527
622
  # applications that are authenticated using IAM entities. The access
528
- # token can be used to fetch short-term credentials for the assigned AWS
529
- # accounts or to access application APIs using `bearer` authentication.
623
+ # token can be used to fetch short-lived credentials for the assigned
624
+ # Amazon Web Services accounts or to access application APIs using
625
+ # `bearer` authentication.
530
626
  #
531
627
  # @option params [required, String] :client_id
532
628
  # The unique identifier string for the client or application. This value
@@ -547,14 +643,14 @@ module Aws::SSOOIDC
547
643
  #
548
644
  # @option params [String] :code
549
645
  # Used only when calling this API for the Authorization Code grant type.
550
- # This short-term code is used to identify this authorization request.
646
+ # This short-lived code is used to identify this authorization request.
551
647
  # The code is obtained through a redirect from IAM Identity Center to a
552
648
  # redirect URI persisted in the Authorization Code GrantOptions for the
553
649
  # application.
554
650
  #
555
651
  # @option params [String] :refresh_token
556
652
  # Used only when calling this API for the Refresh Token grant type. This
557
- # token is used to refresh short-term tokens, such as the access token,
653
+ # token is used to refresh short-lived tokens, such as the access token,
558
654
  # that might expire.
559
655
  #
560
656
  # For more information about the features and limitations of the current
@@ -607,6 +703,11 @@ module Aws::SSOOIDC
607
703
  #
608
704
  # * Refresh Token - `urn:ietf:params:oauth:token-type:refresh_token`
609
705
  #
706
+ # @option params [String] :code_verifier
707
+ # Used only when calling this API for the Authorization Code grant type.
708
+ # This value is generated by the client and presented to validate the
709
+ # original code challenge value the client passed at authorization time.
710
+ #
610
711
  # @return [Types::CreateTokenWithIAMResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
611
712
  #
612
713
  # * {Types::CreateTokenWithIAMResponse#access_token #access_token} => String
@@ -616,6 +717,7 @@ module Aws::SSOOIDC
616
717
  # * {Types::CreateTokenWithIAMResponse#id_token #id_token} => String
617
718
  # * {Types::CreateTokenWithIAMResponse#issued_token_type #issued_token_type} => String
618
719
  # * {Types::CreateTokenWithIAMResponse#scope #scope} => Array&lt;String&gt;
720
+ # * {Types::CreateTokenWithIAMResponse#aws_additional_details #aws_additional_details} => Types::AwsAdditionalDetails
619
721
  #
620
722
  #
621
723
  # @example Example: Call OAuth/OIDC /token endpoint for Authorization Code grant with IAM authentication
@@ -635,6 +737,9 @@ module Aws::SSOOIDC
635
737
  # resp.to_h outputs the following:
636
738
  # {
637
739
  # access_token: "aoal-YigITUDiNX1xZwOMXM5MxOWDL0E0jg9P6_C_jKQPxS_SKCP6f0kh1Up4g7TtvQqkMnD-GJiU_S1gvug6SrggAkc0:MGYCMQD3IatVjV7jAJU91kK3PkS/SfA2wtgWzOgZWDOR7sDGN9t0phCZz5It/aes/3C1Zj0CMQCKWOgRaiz6AIhza3DSXQNMLjRKXC8F8ceCsHlgYLMZ7hZidEXAMPLEACCESSTOKEN",
740
+ # aws_additional_details: {
741
+ # identity_context: "EXAMPLEIDENTITYCONTEXT",
742
+ # },
638
743
  # expires_in: 1579729529,
639
744
  # id_token: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhd3M6aWRlbnRpdHlfc3RvcmVfaWQiOiJkLTMzMzMzMzMzMzMiLCJzdWIiOiI3MzA0NDhmMi1lMGExLTcwYTctYzk1NC0wMDAwMDAwMDAwMDAiLCJhd3M6aW5zdGFuY2VfYWNjb3VudCI6IjExMTExMTExMTExMSIsInN0czppZGVudGl0eV9jb250ZXh0IjoiRVhBTVBMRUlERU5USVRZQ09OVEVYVCIsInN0czphdWRpdF9jb250ZXh0IjoiRVhBTVBMRUFVRElUQ09OVEVYVCIsImlzcyI6Imh0dHBzOi8vaWRlbnRpdHljZW50ZXIuYW1hem9uYXdzLmNvbS9zc29pbnMtMTExMTExMTExMTExIiwiYXdzOmlkZW50aXR5X3N0b3JlX2FybiI6ImFybjphd3M6aWRlbnRpdHlzdG9yZTo6MTExMTExMTExMTExOmlkZW50aXR5c3RvcmUvZC0zMzMzMzMzMzMzIiwiYXVkIjoiYXJuOmF3czpzc286OjEyMzQ1Njc4OTAxMjphcHBsaWNhdGlvbi9zc29pbnMtMTExMTExMTExMTExL2FwbC0yMjIyMjIyMjIyMjIiLCJhd3M6aW5zdGFuY2VfYXJuIjoiYXJuOmF3czpzc286OjppbnN0YW5jZS9zc29pbnMtMTExMTExMTExMTExIiwiYXdzOmNyZWRlbnRpYWxfaWQiOiJfWlIyTjZhVkJqMjdGUEtheWpfcEtwVjc3QVBERl80MXB4ZXRfWWpJdUpONlVJR2RBdkpFWEFNUExFQ1JFRElEIiwiYXV0aF90aW1lIjoiMjAyMC0wMS0yMlQxMjo0NToyOVoiLCJleHAiOjE1Nzk3Mjk1MjksImlhdCI6MTU3OTcyNTkyOX0.Xyah6qbk78qThzJ41iFU2yfGuRqqtKXHrJYwQ8L9Ip0",
640
745
  # issued_token_type: "urn:ietf:params:oauth:token-type:refresh_token",
@@ -680,6 +785,9 @@ module Aws::SSOOIDC
680
785
  # resp.to_h outputs the following:
681
786
  # {
682
787
  # access_token: "aoal-YigITUDiNX1xZwOMXM5MxOWDL0E0jg9P6_C_jKQPxS_SKCP6f0kh1Up4g7TtvQqkMnD-GJiU_S1gvug6SrggAkc0:MGYCMQD3IatVjV7jAJU91kK3PkS/SfA2wtgWzOgZWDOR7sDGN9t0phCZz5It/aes/3C1Zj0CMQCKWOgRaiz6AIhza3DSXQNMLjRKXC8F8ceCsHlgYLMZ7hZidEXAMPLEACCESSTOKEN",
788
+ # aws_additional_details: {
789
+ # identity_context: "EXAMPLEIDENTITYCONTEXT",
790
+ # },
683
791
  # expires_in: 1579729529,
684
792
  # id_token: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhd3M6aWRlbnRpdHlfc3RvcmVfaWQiOiJkLTMzMzMzMzMzMzMiLCJzdWIiOiI3MzA0NDhmMi1lMGExLTcwYTctYzk1NC0wMDAwMDAwMDAwMDAiLCJhd3M6aW5zdGFuY2VfYWNjb3VudCI6IjExMTExMTExMTExMSIsInN0czppZGVudGl0eV9jb250ZXh0IjoiRVhBTVBMRUlERU5USVRZQ09OVEVYVCIsInN0czphdWRpdF9jb250ZXh0IjoiRVhBTVBMRUFVRElUQ09OVEVYVCIsImlzcyI6Imh0dHBzOi8vaWRlbnRpdHljZW50ZXIuYW1hem9uYXdzLmNvbS9zc29pbnMtMTExMTExMTExMTExIiwiYXdzOmlkZW50aXR5X3N0b3JlX2FybiI6ImFybjphd3M6aWRlbnRpdHlzdG9yZTo6MTExMTExMTExMTExOmlkZW50aXR5c3RvcmUvZC0zMzMzMzMzMzMzIiwiYXVkIjoiYXJuOmF3czpzc286OjEyMzQ1Njc4OTAxMjphcHBsaWNhdGlvbi9zc29pbnMtMTExMTExMTExMTExL2FwbC0yMjIyMjIyMjIyMjIiLCJhd3M6aW5zdGFuY2VfYXJuIjoiYXJuOmF3czpzc286OjppbnN0YW5jZS9zc29pbnMtMTExMTExMTExMTExIiwiYXdzOmNyZWRlbnRpYWxfaWQiOiJfWlIyTjZhVkJqMjdGUEtheWpfcEtwVjc3QVBERl80MXB4ZXRfWWpJdUpONlVJR2RBdkpFWEFNUExFQ1JFRElEIiwiYXV0aF90aW1lIjoiMjAyMC0wMS0yMlQxMjo0NToyOVoiLCJleHAiOjE1Nzk3Mjk1MjksImlhdCI6MTU3OTcyNTkyOX0.Xyah6qbk78qThzJ41iFU2yfGuRqqtKXHrJYwQ8L9Ip0",
685
793
  # issued_token_type: "urn:ietf:params:oauth:token-type:refresh_token",
@@ -705,6 +813,9 @@ module Aws::SSOOIDC
705
813
  # resp.to_h outputs the following:
706
814
  # {
707
815
  # access_token: "aoal-YigITUDiNX1xZwOMXM5MxOWDL0E0jg9P6_C_jKQPxS_SKCP6f0kh1Up4g7TtvQqkMnD-GJiU_S1gvug6SrggAkc0:MGYCMQD3IatVjV7jAJU91kK3PkS/SfA2wtgWzOgZWDOR7sDGN9t0phCZz5It/aes/3C1Zj0CMQCKWOgRaiz6AIhza3DSXQNMLjRKXC8F8ceCsHlgYLMZ7hZidEXAMPLEACCESSTOKEN",
816
+ # aws_additional_details: {
817
+ # identity_context: "EXAMPLEIDENTITYCONTEXT",
818
+ # },
708
819
  # expires_in: 1579729529,
709
820
  # id_token: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhd3M6aWRlbnRpdHlfc3RvcmVfaWQiOiJkLTMzMzMzMzMzMzMiLCJzdWIiOiI3MzA0NDhmMi1lMGExLTcwYTctYzk1NC0wMDAwMDAwMDAwMDAiLCJhd3M6aW5zdGFuY2VfYWNjb3VudCI6IjExMTExMTExMTExMSIsInN0czppZGVudGl0eV9jb250ZXh0IjoiRVhBTVBMRUlERU5USVRZQ09OVEVYVCIsImlzcyI6Imh0dHBzOi8vaWRlbnRpdHljZW50ZXIuYW1hem9uYXdzLmNvbS9zc29pbnMtMTExMTExMTExMTExIiwiYXdzOmlkZW50aXR5X3N0b3JlX2FybiI6ImFybjphd3M6aWRlbnRpdHlzdG9yZTo6MTExMTExMTExMTExOmlkZW50aXR5c3RvcmUvZC0zMzMzMzMzMzMzIiwiYXVkIjoiYXJuOmF3czpzc286OjEyMzQ1Njc4OTAxMjphcHBsaWNhdGlvbi9zc29pbnMtMTExMTExMTExMTExL2FwbC0yMjIyMjIyMjIyMjIiLCJhd3M6aW5zdGFuY2VfYXJuIjoiYXJuOmF3czpzc286OjppbnN0YW5jZS9zc29pbnMtMTExMTExMTExMTExIiwiYXdzOmNyZWRlbnRpYWxfaWQiOiJfWlIyTjZhVkJqMjdGUEtheWpfcEtwVjc3QVBERl80MXB4ZXRfWWpJdUpONlVJR2RBdkpFWEFNUExFQ1JFRElEIiwiYXV0aF90aW1lIjoiMjAyMC0wMS0yMlQxMjo0NToyOVoiLCJleHAiOjE1Nzk3Mjk1MjksImlhdCI6MTU3OTcyNTkyOX0.5SYiW1kMsuUr7nna-l5tlakM0GNbMHvIM2_n0QD23jM",
710
821
  # issued_token_type: "urn:ietf:params:oauth:token-type:access_token",
@@ -729,6 +840,7 @@ module Aws::SSOOIDC
729
840
  # subject_token: "SubjectToken",
730
841
  # subject_token_type: "TokenTypeURI",
731
842
  # requested_token_type: "TokenTypeURI",
843
+ # code_verifier: "CodeVerifier",
732
844
  # })
733
845
  #
734
846
  # @example Response structure
@@ -741,6 +853,7 @@ module Aws::SSOOIDC
741
853
  # resp.issued_token_type #=> String
742
854
  # resp.scope #=> Array
743
855
  # resp.scope[0] #=> String
856
+ # resp.aws_additional_details.identity_context #=> String
744
857
  #
745
858
  # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/CreateTokenWithIAM AWS API Documentation
746
859
  #
@@ -751,9 +864,10 @@ module Aws::SSOOIDC
751
864
  req.send_request(options)
752
865
  end
753
866
 
754
- # Registers a client with IAM Identity Center. This allows clients to
755
- # initiate device authorization. The output should be persisted for
756
- # reuse through many authentication requests.
867
+ # Registers a public client with IAM Identity Center. This allows
868
+ # clients to perform authorization using the authorization
869
+ # code grant with Proof Key for Code Exchange (PKCE) or the device
870
+ # code grant.
757
871
  #
758
872
  # @option params [required, String] :client_name
759
873
  # The friendly name of the client.
@@ -767,6 +881,35 @@ module Aws::SSOOIDC
767
881
  # this list is used to restrict permissions when granting an access
768
882
  # token.
769
883
  #
884
+ # @option params [Array<String>] :redirect_uris
885
+ # The list of redirect URI that are defined by the client. At completion
886
+ # of authorization, this list is used to restrict what locations the
887
+ # user agent can be redirected back to.
888
+ #
889
+ # @option params [Array<String>] :grant_types
890
+ # The list of OAuth 2.0 grant types that are defined by the client. This
891
+ # list is used to restrict the token granting flows available to the
892
+ # client. Supports the following OAuth 2.0 grant types: Authorization
893
+ # Code, Device Code, and Refresh Token.
894
+ #
895
+ # * Authorization Code - `authorization_code`
896
+ #
897
+ # * Device Code - `urn:ietf:params:oauth:grant-type:device_code`
898
+ #
899
+ # * Refresh Token - `refresh_token`
900
+ #
901
+ # @option params [String] :issuer_url
902
+ # The IAM Identity Center Issuer URL associated with an instance of IAM
903
+ # Identity Center. This value is needed for user access to resources
904
+ # through the client.
905
+ #
906
+ # @option params [String] :entitled_application_arn
907
+ # This IAM Identity Center application ARN is used to define
908
+ # administrator-managed configuration for public client access to
909
+ # resources. At authorization, the scopes, grants, and redirect URI
910
+ # available to this client will be restricted by this application
911
+ # resource.
912
+ #
770
913
  # @return [Types::RegisterClientResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
771
914
  #
772
915
  # * {Types::RegisterClientResponse#client_id #client_id} => String
@@ -782,6 +925,15 @@ module Aws::SSOOIDC
782
925
  # resp = client.register_client({
783
926
  # client_name: "My IDE Plugin",
784
927
  # client_type: "public",
928
+ # entitled_application_arn: "arn:aws:sso::ACCOUNTID:application/ssoins-1111111111111111/apl-1111111111111111",
929
+ # grant_types: [
930
+ # "authorization_code",
931
+ # "refresh_token",
932
+ # ],
933
+ # issuer_url: "https://identitycenter.amazonaws.com/ssoins-1111111111111111",
934
+ # redirect_uris: [
935
+ # "127.0.0.1:PORT/oauth/callback",
936
+ # ],
785
937
  # scopes: [
786
938
  # "sso:account:access",
787
939
  # "codewhisperer:completions",
@@ -802,6 +954,10 @@ module Aws::SSOOIDC
802
954
  # client_name: "ClientName", # required
803
955
  # client_type: "ClientType", # required
804
956
  # scopes: ["Scope"],
957
+ # redirect_uris: ["URI"],
958
+ # grant_types: ["GrantType"],
959
+ # issuer_url: "URI",
960
+ # entitled_application_arn: "ArnType",
805
961
  # })
806
962
  #
807
963
  # @example Response structure
@@ -867,8 +1023,8 @@ module Aws::SSOOIDC
867
1023
  # expires_in: 1579729529,
868
1024
  # interval: 1,
869
1025
  # user_code: "makdfsk83yJraWQiOiJrZXktMTU2Njk2sImFsZyI6IkhTMzIn0EXAMPLEUSERCODE",
870
- # verification_uri: "https://device.sso.us-west-2.amazonaws.com",
871
- # verification_uri_complete: "https://device.sso.us-west-2.amazonaws.com?user_code=makdfsk83yJraWQiOiJrZXktMTU2Njk2sImFsZyI6IkhTMzIn0EXAMPLEUSERCODE",
1026
+ # verification_uri: "https://directory-alias-example.awsapps.com/start/#/device",
1027
+ # verification_uri_complete: "https://directory-alias-example.awsapps.com/start/#/device?user_code=makdfsk83yJraWQiOiJrZXktMTU2Njk2sImFsZyI6IkhTMzIn0EXAMPLEUSERCODE",
872
1028
  # }
873
1029
  #
874
1030
  # @example Request syntax with placeholder values
@@ -903,14 +1059,19 @@ module Aws::SSOOIDC
903
1059
  # @api private
904
1060
  def build_request(operation_name, params = {})
905
1061
  handlers = @handlers.for(operation_name)
1062
+ tracer = config.telemetry_provider.tracer_provider.tracer(
1063
+ Aws::Telemetry.module_to_tracer_name('Aws::SSOOIDC')
1064
+ )
906
1065
  context = Seahorse::Client::RequestContext.new(
907
1066
  operation_name: operation_name,
908
1067
  operation: config.api.operation(operation_name),
909
1068
  client: self,
910
1069
  params: params,
911
- config: config)
1070
+ config: config,
1071
+ tracer: tracer
1072
+ )
912
1073
  context[:gem_name] = 'aws-sdk-core'
913
- context[:gem_version] = '3.191.1'
1074
+ context[:gem_version] = '3.228.0'
914
1075
  Seahorse::Client::Request.new(handlers, context)
915
1076
  end
916
1077