aws-sdk-core 3.197.2 → 3.225.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 (150) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +355 -0
  3. data/VERSION +1 -1
  4. data/lib/aws-defaults/default_configuration.rb +1 -2
  5. data/lib/aws-defaults.rb +4 -1
  6. data/lib/aws-sdk-core/arn.rb +1 -3
  7. data/lib/aws-sdk-core/assume_role_credentials.rb +13 -5
  8. data/lib/aws-sdk-core/assume_role_web_identity_credentials.rb +14 -7
  9. data/lib/aws-sdk-core/binary/decode_handler.rb +3 -4
  10. data/lib/aws-sdk-core/binary/encode_handler.rb +1 -1
  11. data/lib/aws-sdk-core/binary/event_stream_decoder.rb +1 -0
  12. data/lib/aws-sdk-core/binary/event_stream_encoder.rb +4 -3
  13. data/lib/aws-sdk-core/cbor/decoder.rb +308 -0
  14. data/lib/aws-sdk-core/cbor/encoder.rb +243 -0
  15. data/lib/aws-sdk-core/cbor.rb +53 -0
  16. data/lib/aws-sdk-core/client_side_monitoring.rb +9 -0
  17. data/lib/aws-sdk-core/client_stubs.rb +30 -55
  18. data/lib/aws-sdk-core/credential_provider.rb +4 -0
  19. data/lib/aws-sdk-core/credential_provider_chain.rb +37 -10
  20. data/lib/aws-sdk-core/credentials.rb +19 -6
  21. data/lib/aws-sdk-core/ecs_credentials.rb +1 -0
  22. data/lib/aws-sdk-core/endpoints/endpoint.rb +3 -1
  23. data/lib/aws-sdk-core/endpoints/matchers.rb +1 -8
  24. data/lib/aws-sdk-core/endpoints.rb +74 -18
  25. data/lib/aws-sdk-core/error_handler.rb +41 -0
  26. data/lib/aws-sdk-core/errors.rb +11 -2
  27. data/lib/aws-sdk-core/instance_profile_credentials.rb +1 -0
  28. data/lib/aws-sdk-core/json/error_handler.rb +8 -9
  29. data/lib/aws-sdk-core/json/handler.rb +6 -6
  30. data/lib/aws-sdk-core/json/json_engine.rb +3 -1
  31. data/lib/aws-sdk-core/json/oj_engine.rb +7 -1
  32. data/lib/aws-sdk-core/json/parser.rb +2 -0
  33. data/lib/aws-sdk-core/json.rb +43 -14
  34. data/lib/aws-sdk-core/log/param_filter.rb +2 -2
  35. data/lib/aws-sdk-core/log/param_formatter.rb +7 -3
  36. data/lib/aws-sdk-core/log.rb +10 -0
  37. data/lib/aws-sdk-core/param_validator.rb +1 -1
  38. data/lib/aws-sdk-core/plugins/bearer_authorization.rb +2 -0
  39. data/lib/aws-sdk-core/plugins/checksum_algorithm.rb +332 -169
  40. data/lib/aws-sdk-core/plugins/client_metrics_plugin.rb +0 -1
  41. data/lib/aws-sdk-core/plugins/credentials_configuration.rb +7 -3
  42. data/lib/aws-sdk-core/plugins/endpoint_pattern.rb +40 -32
  43. data/lib/aws-sdk-core/plugins/global_configuration.rb +8 -9
  44. data/lib/aws-sdk-core/plugins/http_checksum.rb +2 -8
  45. data/lib/aws-sdk-core/plugins/protocols/api_gateway.rb +3 -1
  46. data/lib/aws-sdk-core/plugins/protocols/ec2.rb +2 -24
  47. data/lib/aws-sdk-core/plugins/protocols/json_rpc.rb +6 -8
  48. data/lib/aws-sdk-core/plugins/protocols/query.rb +4 -2
  49. data/lib/aws-sdk-core/plugins/protocols/rest_json.rb +4 -3
  50. data/lib/aws-sdk-core/plugins/protocols/rest_xml.rb +5 -1
  51. data/lib/aws-sdk-core/plugins/protocols/rpc_v2.rb +17 -0
  52. data/lib/aws-sdk-core/plugins/regional_endpoint.rb +74 -25
  53. data/lib/aws-sdk-core/plugins/retry_errors.rb +0 -1
  54. data/lib/aws-sdk-core/plugins/sign.rb +28 -12
  55. data/lib/aws-sdk-core/plugins/signature_v2.rb +2 -1
  56. data/lib/aws-sdk-core/plugins/signature_v4.rb +2 -1
  57. data/lib/aws-sdk-core/plugins/stub_responses.rb +52 -9
  58. data/lib/aws-sdk-core/plugins/telemetry.rb +75 -0
  59. data/lib/aws-sdk-core/plugins/transfer_encoding.rb +16 -9
  60. data/lib/aws-sdk-core/plugins/user_agent.rb +48 -9
  61. data/lib/aws-sdk-core/plugins.rb +39 -0
  62. data/lib/aws-sdk-core/process_credentials.rb +3 -2
  63. data/lib/aws-sdk-core/query/ec2_handler.rb +27 -0
  64. data/lib/aws-sdk-core/query/handler.rb +4 -4
  65. data/lib/aws-sdk-core/query.rb +2 -1
  66. data/lib/aws-sdk-core/resources.rb +8 -0
  67. data/lib/aws-sdk-core/rest/{request/content_type.rb → content_type_handler.rb} +1 -1
  68. data/lib/aws-sdk-core/rest/handler.rb +3 -4
  69. data/lib/aws-sdk-core/rest/request/headers.rb +3 -3
  70. data/lib/aws-sdk-core/rest.rb +1 -1
  71. data/lib/aws-sdk-core/rpc_v2/builder.rb +62 -0
  72. data/lib/aws-sdk-core/rpc_v2/cbor_engine.rb +18 -0
  73. data/lib/aws-sdk-core/rpc_v2/content_type_handler.rb +47 -0
  74. data/lib/aws-sdk-core/rpc_v2/error_handler.rb +85 -0
  75. data/lib/aws-sdk-core/rpc_v2/handler.rb +79 -0
  76. data/lib/aws-sdk-core/rpc_v2/parser.rb +98 -0
  77. data/lib/aws-sdk-core/rpc_v2.rb +69 -0
  78. data/lib/aws-sdk-core/shared_config.rb +78 -22
  79. data/lib/aws-sdk-core/shared_credentials.rb +1 -7
  80. data/lib/aws-sdk-core/sso_credentials.rb +4 -1
  81. data/lib/aws-sdk-core/stubbing/protocols/ec2.rb +12 -11
  82. data/lib/aws-sdk-core/stubbing/protocols/json.rb +11 -10
  83. data/lib/aws-sdk-core/stubbing/protocols/query.rb +7 -6
  84. data/lib/aws-sdk-core/stubbing/protocols/rest.rb +2 -1
  85. data/lib/aws-sdk-core/stubbing/protocols/rest_json.rb +9 -8
  86. data/lib/aws-sdk-core/stubbing/protocols/rest_xml.rb +6 -5
  87. data/lib/aws-sdk-core/stubbing/protocols/rpc_v2.rb +39 -0
  88. data/lib/aws-sdk-core/stubbing.rb +22 -0
  89. data/lib/aws-sdk-core/telemetry/base.rb +177 -0
  90. data/lib/aws-sdk-core/telemetry/no_op.rb +70 -0
  91. data/lib/aws-sdk-core/telemetry/otel.rb +235 -0
  92. data/lib/aws-sdk-core/telemetry/span_kind.rb +22 -0
  93. data/lib/aws-sdk-core/telemetry/span_status.rb +59 -0
  94. data/lib/aws-sdk-core/telemetry.rb +78 -0
  95. data/lib/aws-sdk-core/waiters/poller.rb +9 -4
  96. data/lib/aws-sdk-core/xml/error_handler.rb +11 -37
  97. data/lib/aws-sdk-core/xml/parser.rb +2 -6
  98. data/lib/aws-sdk-core.rb +82 -108
  99. data/lib/aws-sdk-sso/client.rb +100 -39
  100. data/lib/aws-sdk-sso/client_api.rb +7 -0
  101. data/lib/aws-sdk-sso/endpoint_parameters.rb +9 -6
  102. data/lib/aws-sdk-sso/endpoint_provider.rb +14 -18
  103. data/lib/aws-sdk-sso/endpoints.rb +2 -54
  104. data/lib/aws-sdk-sso/plugins/endpoints.rb +19 -20
  105. data/lib/aws-sdk-sso/types.rb +1 -0
  106. data/lib/aws-sdk-sso.rb +15 -11
  107. data/lib/aws-sdk-ssooidc/client.rb +137 -59
  108. data/lib/aws-sdk-ssooidc/client_api.rb +11 -0
  109. data/lib/aws-sdk-ssooidc/endpoint_parameters.rb +9 -6
  110. data/lib/aws-sdk-ssooidc/endpoint_provider.rb +14 -18
  111. data/lib/aws-sdk-ssooidc/endpoints.rb +2 -54
  112. data/lib/aws-sdk-ssooidc/plugins/endpoints.rb +19 -20
  113. data/lib/aws-sdk-ssooidc/types.rb +49 -16
  114. data/lib/aws-sdk-ssooidc.rb +15 -11
  115. data/lib/aws-sdk-sts/client.rb +308 -91
  116. data/lib/aws-sdk-sts/client_api.rb +36 -10
  117. data/lib/aws-sdk-sts/customizations.rb +5 -1
  118. data/lib/aws-sdk-sts/endpoint_parameters.rb +10 -9
  119. data/lib/aws-sdk-sts/endpoint_provider.rb +50 -55
  120. data/lib/aws-sdk-sts/endpoints.rb +2 -118
  121. data/lib/aws-sdk-sts/errors.rb +16 -0
  122. data/lib/aws-sdk-sts/plugins/endpoints.rb +19 -28
  123. data/lib/aws-sdk-sts/types.rb +171 -28
  124. data/lib/aws-sdk-sts.rb +15 -11
  125. data/lib/seahorse/client/async_base.rb +4 -5
  126. data/lib/seahorse/client/base.rb +17 -21
  127. data/lib/seahorse/client/h2/connection.rb +18 -28
  128. data/lib/seahorse/client/h2/handler.rb +13 -3
  129. data/lib/seahorse/client/handler.rb +1 -1
  130. data/lib/seahorse/client/http/response.rb +1 -1
  131. data/lib/seahorse/client/net_http/connection_pool.rb +10 -2
  132. data/lib/seahorse/client/net_http/handler.rb +21 -9
  133. data/lib/seahorse/client/networking_error.rb +1 -1
  134. data/lib/seahorse/client/plugins/endpoint.rb +0 -1
  135. data/lib/seahorse/client/plugins/h2.rb +4 -4
  136. data/lib/seahorse/client/plugins/net_http.rb +9 -0
  137. data/lib/seahorse/client/request_context.rb +8 -1
  138. data/lib/seahorse/client/response.rb +2 -0
  139. data/sig/aws-sdk-core/async_client_stubs.rbs +21 -0
  140. data/sig/aws-sdk-core/telemetry/base.rbs +46 -0
  141. data/sig/aws-sdk-core/telemetry/otel.rbs +22 -0
  142. data/sig/aws-sdk-core/telemetry/span_kind.rbs +15 -0
  143. data/sig/aws-sdk-core/telemetry/span_status.rbs +24 -0
  144. data/sig/seahorse/client/async_base.rbs +18 -0
  145. metadata +80 -24
  146. /data/lib/aws-sdk-core/xml/parser/{engines/libxml.rb → libxml_engine.rb} +0 -0
  147. /data/lib/aws-sdk-core/xml/parser/{engines/nokogiri.rb → nokogiri_engine.rb} +0 -0
  148. /data/lib/aws-sdk-core/xml/parser/{engines/oga.rb → oga_engine.rb} +0 -0
  149. /data/lib/aws-sdk-core/xml/parser/{engines/ox.rb → ox_engine.rb} +0 -0
  150. /data/lib/aws-sdk-core/xml/parser/{engines/rexml.rb → rexml_engine.rb} +0 -0
@@ -7,35 +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/invocation_id.rb'
26
- require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
27
- require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
28
- require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
29
- require 'aws-sdk-core/plugins/transfer_encoding.rb'
30
- require 'aws-sdk-core/plugins/http_checksum.rb'
31
- require 'aws-sdk-core/plugins/checksum_algorithm.rb'
32
- require 'aws-sdk-core/plugins/request_compression.rb'
33
- require 'aws-sdk-core/plugins/defaults_mode.rb'
34
- require 'aws-sdk-core/plugins/recursion_detection.rb'
35
- require 'aws-sdk-core/plugins/sign.rb'
36
- require 'aws-sdk-core/plugins/protocols/rest_json.rb'
37
-
38
- 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'
39
38
 
40
39
  module Aws::SSOOIDC
41
40
  # An API client for SSOOIDC. To construct a client, you need to configure a `:region` and `:credentials`.
@@ -83,12 +82,18 @@ module Aws::SSOOIDC
83
82
  add_plugin(Aws::Plugins::RequestCompression)
84
83
  add_plugin(Aws::Plugins::DefaultsMode)
85
84
  add_plugin(Aws::Plugins::RecursionDetection)
85
+ add_plugin(Aws::Plugins::Telemetry)
86
86
  add_plugin(Aws::Plugins::Sign)
87
87
  add_plugin(Aws::Plugins::Protocols::RestJson)
88
88
  add_plugin(Aws::SSOOIDC::Plugins::Endpoints)
89
89
 
90
90
  # @overload initialize(options)
91
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
+ #
92
97
  # @option options [required, Aws::CredentialProvider] :credentials
93
98
  # Your AWS credentials. This can be an instance of any one of the
94
99
  # following classes:
@@ -123,13 +128,15 @@ module Aws::SSOOIDC
123
128
  # locations will be searched for credentials:
124
129
  #
125
130
  # * `Aws.config[:credentials]`
126
- # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
127
- # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
131
+ # * The `:access_key_id`, `:secret_access_key`, `:session_token`, and
132
+ # `:account_id` options.
133
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY'],
134
+ # ENV['AWS_SESSION_TOKEN'], and ENV['AWS_ACCOUNT_ID']
128
135
  # * `~/.aws/credentials`
129
136
  # * `~/.aws/config`
130
137
  # * EC2/ECS IMDS instance profile - When used by default, the timeouts
131
138
  # are very aggressive. Construct and pass an instance of
132
- # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
139
+ # `Aws::InstanceProfileCredentials` or `Aws::ECSCredentials` to
133
140
  # enable retries and extended timeouts. Instance profile credential
134
141
  # fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
135
142
  # to true.
@@ -148,6 +155,8 @@ module Aws::SSOOIDC
148
155
  #
149
156
  # @option options [String] :access_key_id
150
157
  #
158
+ # @option options [String] :account_id
159
+ #
151
160
  # @option options [Boolean] :active_endpoint_cache (false)
152
161
  # When set to `true`, a thread polling for endpoints will be running in
153
162
  # the background every 60 secs (default). Defaults to `false`.
@@ -191,8 +200,7 @@ module Aws::SSOOIDC
191
200
  # accepted modes and the configuration defaults that are included.
192
201
  #
193
202
  # @option options [Boolean] :disable_host_prefix_injection (false)
194
- # Set to true to disable SDK automatically adding host prefix
195
- # to default service endpoint when available.
203
+ # When `true`, the SDK will not prepend the modeled host prefix to the endpoint.
196
204
  #
197
205
  # @option options [Boolean] :disable_request_compression (false)
198
206
  # When set to 'true' the request body will not be compressed
@@ -209,7 +217,6 @@ module Aws::SSOOIDC
209
217
  # 'https://example.com'
210
218
  # 'http://example.com:123'
211
219
  #
212
- #
213
220
  # @option options [Integer] :endpoint_cache_max_entries (1000)
214
221
  # Used for the maximum size limit of the LRU cache storing endpoints data
215
222
  # for endpoint discovery enabled operations. Defaults to 1000.
@@ -249,11 +256,34 @@ module Aws::SSOOIDC
249
256
  # Used when loading credentials from the shared credentials file
250
257
  # at HOME/.aws/credentials. When not specified, 'default' is used.
251
258
  #
259
+ # @option options [String] :request_checksum_calculation ("when_supported")
260
+ # Determines when a checksum will be calculated for request payloads. Values are:
261
+ #
262
+ # * `when_supported` - (default) When set, a checksum will be
263
+ # calculated for all request payloads of operations modeled with the
264
+ # `httpChecksum` trait where `requestChecksumRequired` is `true` and/or a
265
+ # `requestAlgorithmMember` is modeled.
266
+ # * `when_required` - When set, a checksum will only be calculated for
267
+ # request payloads of operations modeled with the `httpChecksum` trait where
268
+ # `requestChecksumRequired` is `true` or where a `requestAlgorithmMember`
269
+ # is modeled and supplied.
270
+ #
252
271
  # @option options [Integer] :request_min_compression_size_bytes (10240)
253
272
  # The minimum size in bytes that triggers compression for request
254
273
  # bodies. The value must be non-negative integer value between 0
255
274
  # and 10485780 bytes inclusive.
256
275
  #
276
+ # @option options [String] :response_checksum_validation ("when_supported")
277
+ # Determines when checksum validation will be performed on response payloads. Values are:
278
+ #
279
+ # * `when_supported` - (default) When set, checksum validation is performed on all
280
+ # response payloads of operations modeled with the `httpChecksum` trait where
281
+ # `responseAlgorithms` is modeled, except when no modeled checksum algorithms
282
+ # are supported.
283
+ # * `when_required` - When set, checksum validation is not performed on
284
+ # response payloads of operations unless the checksum algorithm is supported and
285
+ # the `requestValidationModeMember` member is set to `ENABLED`.
286
+ #
257
287
  # @option options [Proc] :retry_backoff
258
288
  # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
259
289
  # This option is only used in the `legacy` retry mode.
@@ -298,7 +328,6 @@ module Aws::SSOOIDC
298
328
  # throttling. This is a provisional mode that may change behavior
299
329
  # in the future.
300
330
  #
301
- #
302
331
  # @option options [String] :sdk_ua_app_id
303
332
  # A unique and opaque application ID that is appended to the
304
333
  # User-Agent header as app/sdk_ua_app_id. It should have a
@@ -309,6 +338,15 @@ module Aws::SSOOIDC
309
338
  #
310
339
  # @option options [String] :session_token
311
340
  #
341
+ # @option options [Array] :sigv4a_signing_region_set
342
+ # A list of regions that should be signed with SigV4a signing. When
343
+ # not passed, a default `:sigv4a_signing_region_set` is searched for
344
+ # in the following locations:
345
+ #
346
+ # * `Aws.config[:sigv4a_signing_region_set]`
347
+ # * `ENV['AWS_SIGV4A_SIGNING_REGION_SET']`
348
+ # * `~/.aws/config`
349
+ #
312
350
  # @option options [Boolean] :stub_responses (false)
313
351
  # Causes the client to return stubbed responses. By default
314
352
  # fake responses are generated and returned. You can specify
@@ -318,6 +356,16 @@ module Aws::SSOOIDC
318
356
  # ** Please note ** When response stubbing is enabled, no HTTP
319
357
  # requests are made, and retries are disabled.
320
358
  #
359
+ # @option options [Aws::Telemetry::TelemetryProviderBase] :telemetry_provider (Aws::Telemetry::NoOpTelemetryProvider)
360
+ # Allows you to provide a telemetry provider, which is used to
361
+ # emit telemetry data. By default, uses `NoOpTelemetryProvider` which
362
+ # will not record or emit any telemetry data. The SDK supports the
363
+ # following telemetry providers:
364
+ #
365
+ # * OpenTelemetry (OTel) - To use the OTel provider, install and require the
366
+ # `opentelemetry-sdk` gem and then, pass in an instance of a
367
+ # `Aws::Telemetry::OTelProvider` for telemetry provider.
368
+ #
321
369
  # @option options [Aws::TokenProvider] :token_provider
322
370
  # A Bearer Token Provider. This can be an instance of any one of the
323
371
  # following classes:
@@ -345,7 +393,9 @@ module Aws::SSOOIDC
345
393
  # sending the request.
346
394
  #
347
395
  # @option options [Aws::SSOOIDC::EndpointProvider] :endpoint_provider
348
- # 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`
396
+ # The endpoint provider used to resolve endpoints. Any object that responds to
397
+ # `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to
398
+ # `Aws::SSOOIDC::EndpointParameters`.
349
399
  #
350
400
  # @option options [Float] :http_continue_timeout (1)
351
401
  # The number of seconds to wait for a 100-continue response before sending the
@@ -401,6 +451,12 @@ module Aws::SSOOIDC
401
451
  # @option options [String] :ssl_ca_store
402
452
  # Sets the X509::Store to verify peer certificate.
403
453
  #
454
+ # @option options [OpenSSL::X509::Certificate] :ssl_cert
455
+ # Sets a client certificate when creating http connections.
456
+ #
457
+ # @option options [OpenSSL::PKey] :ssl_key
458
+ # Sets a client key when creating http connections.
459
+ #
404
460
  # @option options [Float] :ssl_timeout
405
461
  # Sets the SSL timeout in seconds
406
462
  #
@@ -415,7 +471,7 @@ module Aws::SSOOIDC
415
471
 
416
472
  # Creates and returns access and refresh tokens for clients that are
417
473
  # authenticated using client secrets. The access token can be used to
418
- # fetch short-term credentials for the assigned AWS accounts or to
474
+ # fetch short-lived credentials for the assigned AWS accounts or to
419
475
  # access application APIs using `bearer` authentication.
420
476
  #
421
477
  # @option params [required, String] :client_id
@@ -427,30 +483,28 @@ module Aws::SSOOIDC
427
483
  # the persisted result of the RegisterClient API.
428
484
  #
429
485
  # @option params [required, String] :grant_type
430
- # Supports the following OAuth grant types: Device Code and Refresh
431
- # Token. Specify either of the following values, depending on the grant
432
- # type that you want:
486
+ # Supports the following OAuth grant types: Authorization Code, Device
487
+ # Code, and Refresh Token. Specify one of the following values,
488
+ # depending on the grant type that you want:
489
+ #
490
+ # * Authorization Code - `authorization_code`
433
491
  #
434
492
  # * Device Code - `urn:ietf:params:oauth:grant-type:device_code`
435
493
  #
436
494
  # * Refresh Token - `refresh_token`
437
495
  #
438
- # For information about how to obtain the device code, see the
439
- # StartDeviceAuthorization topic.
440
- #
441
496
  # @option params [String] :device_code
442
497
  # Used only when calling this API for the Device Code grant type. This
443
- # short-term code is used to identify this authorization request. This
498
+ # short-lived code is used to identify this authorization request. This
444
499
  # comes from the result of the StartDeviceAuthorization API.
445
500
  #
446
501
  # @option params [String] :code
447
502
  # Used only when calling this API for the Authorization Code grant type.
448
- # The short-term code is used to identify this authorization request.
449
- # This grant type is currently unsupported for the CreateToken API.
503
+ # The short-lived code is used to identify this authorization request.
450
504
  #
451
505
  # @option params [String] :refresh_token
452
506
  # Used only when calling this API for the Refresh Token grant type. This
453
- # token is used to refresh short-term tokens, such as the access token,
507
+ # token is used to refresh short-lived tokens, such as the access token,
454
508
  # that might expire.
455
509
  #
456
510
  # For more information about the features and limitations of the current
@@ -556,7 +610,7 @@ module Aws::SSOOIDC
556
610
 
557
611
  # Creates and returns access and refresh tokens for clients and
558
612
  # applications that are authenticated using IAM entities. The access
559
- # token can be used to fetch short-term credentials for the assigned
613
+ # token can be used to fetch short-lived credentials for the assigned
560
614
  # Amazon Web Services accounts or to access application APIs using
561
615
  # `bearer` authentication.
562
616
  #
@@ -579,14 +633,14 @@ module Aws::SSOOIDC
579
633
  #
580
634
  # @option params [String] :code
581
635
  # Used only when calling this API for the Authorization Code grant type.
582
- # This short-term code is used to identify this authorization request.
636
+ # This short-lived code is used to identify this authorization request.
583
637
  # The code is obtained through a redirect from IAM Identity Center to a
584
638
  # redirect URI persisted in the Authorization Code GrantOptions for the
585
639
  # application.
586
640
  #
587
641
  # @option params [String] :refresh_token
588
642
  # Used only when calling this API for the Refresh Token grant type. This
589
- # token is used to refresh short-term tokens, such as the access token,
643
+ # token is used to refresh short-lived tokens, such as the access token,
590
644
  # that might expire.
591
645
  #
592
646
  # For more information about the features and limitations of the current
@@ -653,6 +707,7 @@ module Aws::SSOOIDC
653
707
  # * {Types::CreateTokenWithIAMResponse#id_token #id_token} => String
654
708
  # * {Types::CreateTokenWithIAMResponse#issued_token_type #issued_token_type} => String
655
709
  # * {Types::CreateTokenWithIAMResponse#scope #scope} => Array&lt;String&gt;
710
+ # * {Types::CreateTokenWithIAMResponse#aws_additional_details #aws_additional_details} => Types::AwsAdditionalDetails
656
711
  #
657
712
  #
658
713
  # @example Example: Call OAuth/OIDC /token endpoint for Authorization Code grant with IAM authentication
@@ -672,6 +727,9 @@ module Aws::SSOOIDC
672
727
  # resp.to_h outputs the following:
673
728
  # {
674
729
  # access_token: "aoal-YigITUDiNX1xZwOMXM5MxOWDL0E0jg9P6_C_jKQPxS_SKCP6f0kh1Up4g7TtvQqkMnD-GJiU_S1gvug6SrggAkc0:MGYCMQD3IatVjV7jAJU91kK3PkS/SfA2wtgWzOgZWDOR7sDGN9t0phCZz5It/aes/3C1Zj0CMQCKWOgRaiz6AIhza3DSXQNMLjRKXC8F8ceCsHlgYLMZ7hZidEXAMPLEACCESSTOKEN",
730
+ # aws_additional_details: {
731
+ # identity_context: "EXAMPLEIDENTITYCONTEXT",
732
+ # },
675
733
  # expires_in: 1579729529,
676
734
  # id_token: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhd3M6aWRlbnRpdHlfc3RvcmVfaWQiOiJkLTMzMzMzMzMzMzMiLCJzdWIiOiI3MzA0NDhmMi1lMGExLTcwYTctYzk1NC0wMDAwMDAwMDAwMDAiLCJhd3M6aW5zdGFuY2VfYWNjb3VudCI6IjExMTExMTExMTExMSIsInN0czppZGVudGl0eV9jb250ZXh0IjoiRVhBTVBMRUlERU5USVRZQ09OVEVYVCIsInN0czphdWRpdF9jb250ZXh0IjoiRVhBTVBMRUFVRElUQ09OVEVYVCIsImlzcyI6Imh0dHBzOi8vaWRlbnRpdHljZW50ZXIuYW1hem9uYXdzLmNvbS9zc29pbnMtMTExMTExMTExMTExIiwiYXdzOmlkZW50aXR5X3N0b3JlX2FybiI6ImFybjphd3M6aWRlbnRpdHlzdG9yZTo6MTExMTExMTExMTExOmlkZW50aXR5c3RvcmUvZC0zMzMzMzMzMzMzIiwiYXVkIjoiYXJuOmF3czpzc286OjEyMzQ1Njc4OTAxMjphcHBsaWNhdGlvbi9zc29pbnMtMTExMTExMTExMTExL2FwbC0yMjIyMjIyMjIyMjIiLCJhd3M6aW5zdGFuY2VfYXJuIjoiYXJuOmF3czpzc286OjppbnN0YW5jZS9zc29pbnMtMTExMTExMTExMTExIiwiYXdzOmNyZWRlbnRpYWxfaWQiOiJfWlIyTjZhVkJqMjdGUEtheWpfcEtwVjc3QVBERl80MXB4ZXRfWWpJdUpONlVJR2RBdkpFWEFNUExFQ1JFRElEIiwiYXV0aF90aW1lIjoiMjAyMC0wMS0yMlQxMjo0NToyOVoiLCJleHAiOjE1Nzk3Mjk1MjksImlhdCI6MTU3OTcyNTkyOX0.Xyah6qbk78qThzJ41iFU2yfGuRqqtKXHrJYwQ8L9Ip0",
677
735
  # issued_token_type: "urn:ietf:params:oauth:token-type:refresh_token",
@@ -717,6 +775,9 @@ module Aws::SSOOIDC
717
775
  # resp.to_h outputs the following:
718
776
  # {
719
777
  # access_token: "aoal-YigITUDiNX1xZwOMXM5MxOWDL0E0jg9P6_C_jKQPxS_SKCP6f0kh1Up4g7TtvQqkMnD-GJiU_S1gvug6SrggAkc0:MGYCMQD3IatVjV7jAJU91kK3PkS/SfA2wtgWzOgZWDOR7sDGN9t0phCZz5It/aes/3C1Zj0CMQCKWOgRaiz6AIhza3DSXQNMLjRKXC8F8ceCsHlgYLMZ7hZidEXAMPLEACCESSTOKEN",
778
+ # aws_additional_details: {
779
+ # identity_context: "EXAMPLEIDENTITYCONTEXT",
780
+ # },
720
781
  # expires_in: 1579729529,
721
782
  # id_token: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhd3M6aWRlbnRpdHlfc3RvcmVfaWQiOiJkLTMzMzMzMzMzMzMiLCJzdWIiOiI3MzA0NDhmMi1lMGExLTcwYTctYzk1NC0wMDAwMDAwMDAwMDAiLCJhd3M6aW5zdGFuY2VfYWNjb3VudCI6IjExMTExMTExMTExMSIsInN0czppZGVudGl0eV9jb250ZXh0IjoiRVhBTVBMRUlERU5USVRZQ09OVEVYVCIsInN0czphdWRpdF9jb250ZXh0IjoiRVhBTVBMRUFVRElUQ09OVEVYVCIsImlzcyI6Imh0dHBzOi8vaWRlbnRpdHljZW50ZXIuYW1hem9uYXdzLmNvbS9zc29pbnMtMTExMTExMTExMTExIiwiYXdzOmlkZW50aXR5X3N0b3JlX2FybiI6ImFybjphd3M6aWRlbnRpdHlzdG9yZTo6MTExMTExMTExMTExOmlkZW50aXR5c3RvcmUvZC0zMzMzMzMzMzMzIiwiYXVkIjoiYXJuOmF3czpzc286OjEyMzQ1Njc4OTAxMjphcHBsaWNhdGlvbi9zc29pbnMtMTExMTExMTExMTExL2FwbC0yMjIyMjIyMjIyMjIiLCJhd3M6aW5zdGFuY2VfYXJuIjoiYXJuOmF3czpzc286OjppbnN0YW5jZS9zc29pbnMtMTExMTExMTExMTExIiwiYXdzOmNyZWRlbnRpYWxfaWQiOiJfWlIyTjZhVkJqMjdGUEtheWpfcEtwVjc3QVBERl80MXB4ZXRfWWpJdUpONlVJR2RBdkpFWEFNUExFQ1JFRElEIiwiYXV0aF90aW1lIjoiMjAyMC0wMS0yMlQxMjo0NToyOVoiLCJleHAiOjE1Nzk3Mjk1MjksImlhdCI6MTU3OTcyNTkyOX0.Xyah6qbk78qThzJ41iFU2yfGuRqqtKXHrJYwQ8L9Ip0",
722
783
  # issued_token_type: "urn:ietf:params:oauth:token-type:refresh_token",
@@ -742,6 +803,9 @@ module Aws::SSOOIDC
742
803
  # resp.to_h outputs the following:
743
804
  # {
744
805
  # access_token: "aoal-YigITUDiNX1xZwOMXM5MxOWDL0E0jg9P6_C_jKQPxS_SKCP6f0kh1Up4g7TtvQqkMnD-GJiU_S1gvug6SrggAkc0:MGYCMQD3IatVjV7jAJU91kK3PkS/SfA2wtgWzOgZWDOR7sDGN9t0phCZz5It/aes/3C1Zj0CMQCKWOgRaiz6AIhza3DSXQNMLjRKXC8F8ceCsHlgYLMZ7hZidEXAMPLEACCESSTOKEN",
806
+ # aws_additional_details: {
807
+ # identity_context: "EXAMPLEIDENTITYCONTEXT",
808
+ # },
745
809
  # expires_in: 1579729529,
746
810
  # id_token: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhd3M6aWRlbnRpdHlfc3RvcmVfaWQiOiJkLTMzMzMzMzMzMzMiLCJzdWIiOiI3MzA0NDhmMi1lMGExLTcwYTctYzk1NC0wMDAwMDAwMDAwMDAiLCJhd3M6aW5zdGFuY2VfYWNjb3VudCI6IjExMTExMTExMTExMSIsInN0czppZGVudGl0eV9jb250ZXh0IjoiRVhBTVBMRUlERU5USVRZQ09OVEVYVCIsImlzcyI6Imh0dHBzOi8vaWRlbnRpdHljZW50ZXIuYW1hem9uYXdzLmNvbS9zc29pbnMtMTExMTExMTExMTExIiwiYXdzOmlkZW50aXR5X3N0b3JlX2FybiI6ImFybjphd3M6aWRlbnRpdHlzdG9yZTo6MTExMTExMTExMTExOmlkZW50aXR5c3RvcmUvZC0zMzMzMzMzMzMzIiwiYXVkIjoiYXJuOmF3czpzc286OjEyMzQ1Njc4OTAxMjphcHBsaWNhdGlvbi9zc29pbnMtMTExMTExMTExMTExL2FwbC0yMjIyMjIyMjIyMjIiLCJhd3M6aW5zdGFuY2VfYXJuIjoiYXJuOmF3czpzc286OjppbnN0YW5jZS9zc29pbnMtMTExMTExMTExMTExIiwiYXdzOmNyZWRlbnRpYWxfaWQiOiJfWlIyTjZhVkJqMjdGUEtheWpfcEtwVjc3QVBERl80MXB4ZXRfWWpJdUpONlVJR2RBdkpFWEFNUExFQ1JFRElEIiwiYXV0aF90aW1lIjoiMjAyMC0wMS0yMlQxMjo0NToyOVoiLCJleHAiOjE1Nzk3Mjk1MjksImlhdCI6MTU3OTcyNTkyOX0.5SYiW1kMsuUr7nna-l5tlakM0GNbMHvIM2_n0QD23jM",
747
811
  # issued_token_type: "urn:ietf:params:oauth:token-type:access_token",
@@ -779,6 +843,7 @@ module Aws::SSOOIDC
779
843
  # resp.issued_token_type #=> String
780
844
  # resp.scope #=> Array
781
845
  # resp.scope[0] #=> String
846
+ # resp.aws_additional_details.identity_context #=> String
782
847
  #
783
848
  # @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/CreateTokenWithIAM AWS API Documentation
784
849
  #
@@ -789,9 +854,10 @@ module Aws::SSOOIDC
789
854
  req.send_request(options)
790
855
  end
791
856
 
792
- # Registers a client with IAM Identity Center. This allows clients to
793
- # initiate device authorization. The output should be persisted for
794
- # reuse through many authentication requests.
857
+ # Registers a public client with IAM Identity Center. This allows
858
+ # clients to perform authorization using the authorization
859
+ # code grant with Proof Key for Code Exchange (PKCE) or the device
860
+ # code grant.
795
861
  #
796
862
  # @option params [required, String] :client_name
797
863
  # The friendly name of the client.
@@ -813,7 +879,14 @@ module Aws::SSOOIDC
813
879
  # @option params [Array<String>] :grant_types
814
880
  # The list of OAuth 2.0 grant types that are defined by the client. This
815
881
  # list is used to restrict the token granting flows available to the
816
- # client.
882
+ # client. Supports the following OAuth 2.0 grant types: Authorization
883
+ # Code, Device Code, and Refresh Token.
884
+ #
885
+ # * Authorization Code - `authorization_code`
886
+ #
887
+ # * Device Code - `urn:ietf:params:oauth:grant-type:device_code`
888
+ #
889
+ # * Refresh Token - `refresh_token`
817
890
  #
818
891
  # @option params [String] :issuer_url
819
892
  # The IAM Identity Center Issuer URL associated with an instance of IAM
@@ -940,8 +1013,8 @@ module Aws::SSOOIDC
940
1013
  # expires_in: 1579729529,
941
1014
  # interval: 1,
942
1015
  # user_code: "makdfsk83yJraWQiOiJrZXktMTU2Njk2sImFsZyI6IkhTMzIn0EXAMPLEUSERCODE",
943
- # verification_uri: "https://device.sso.us-west-2.amazonaws.com",
944
- # verification_uri_complete: "https://device.sso.us-west-2.amazonaws.com?user_code=makdfsk83yJraWQiOiJrZXktMTU2Njk2sImFsZyI6IkhTMzIn0EXAMPLEUSERCODE",
1016
+ # verification_uri: "https://directory-alias-example.awsapps.com/start/#/device",
1017
+ # verification_uri_complete: "https://directory-alias-example.awsapps.com/start/#/device?user_code=makdfsk83yJraWQiOiJrZXktMTU2Njk2sImFsZyI6IkhTMzIn0EXAMPLEUSERCODE",
945
1018
  # }
946
1019
  #
947
1020
  # @example Request syntax with placeholder values
@@ -976,14 +1049,19 @@ module Aws::SSOOIDC
976
1049
  # @api private
977
1050
  def build_request(operation_name, params = {})
978
1051
  handlers = @handlers.for(operation_name)
1052
+ tracer = config.telemetry_provider.tracer_provider.tracer(
1053
+ Aws::Telemetry.module_to_tracer_name('Aws::SSOOIDC')
1054
+ )
979
1055
  context = Seahorse::Client::RequestContext.new(
980
1056
  operation_name: operation_name,
981
1057
  operation: config.api.operation(operation_name),
982
1058
  client: self,
983
1059
  params: params,
984
- config: config)
1060
+ config: config,
1061
+ tracer: tracer
1062
+ )
985
1063
  context[:gem_name] = 'aws-sdk-core'
986
- context[:gem_version] = '3.197.2'
1064
+ context[:gem_version] = '3.225.1'
987
1065
  Seahorse::Client::Request.new(handlers, context)
988
1066
  end
989
1067
 
@@ -7,6 +7,7 @@
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
10
+
10
11
  module Aws::SSOOIDC
11
12
  # @api private
12
13
  module ClientApi
@@ -19,6 +20,7 @@ module Aws::SSOOIDC
19
20
  Assertion = Shapes::StringShape.new(name: 'Assertion')
20
21
  AuthCode = Shapes::StringShape.new(name: 'AuthCode')
21
22
  AuthorizationPendingException = Shapes::StructureShape.new(name: 'AuthorizationPendingException')
23
+ AwsAdditionalDetails = Shapes::StructureShape.new(name: 'AwsAdditionalDetails')
22
24
  ClientId = Shapes::StringShape.new(name: 'ClientId')
23
25
  ClientName = Shapes::StringShape.new(name: 'ClientName')
24
26
  ClientSecret = Shapes::StringShape.new(name: 'ClientSecret')
@@ -36,6 +38,7 @@ module Aws::SSOOIDC
36
38
  GrantType = Shapes::StringShape.new(name: 'GrantType')
37
39
  GrantTypes = Shapes::ListShape.new(name: 'GrantTypes')
38
40
  IdToken = Shapes::StringShape.new(name: 'IdToken')
41
+ IdentityContext = Shapes::StringShape.new(name: 'IdentityContext')
39
42
  InternalServerException = Shapes::StructureShape.new(name: 'InternalServerException')
40
43
  IntervalInSeconds = Shapes::IntegerShape.new(name: 'IntervalInSeconds')
41
44
  InvalidClientException = Shapes::StructureShape.new(name: 'InvalidClientException')
@@ -73,6 +76,9 @@ module Aws::SSOOIDC
73
76
  AuthorizationPendingException.add_member(:error_description, Shapes::ShapeRef.new(shape: ErrorDescription, location_name: "error_description"))
74
77
  AuthorizationPendingException.struct_class = Types::AuthorizationPendingException
75
78
 
79
+ AwsAdditionalDetails.add_member(:identity_context, Shapes::ShapeRef.new(shape: IdentityContext, location_name: "identityContext"))
80
+ AwsAdditionalDetails.struct_class = Types::AwsAdditionalDetails
81
+
76
82
  CreateTokenRequest.add_member(:client_id, Shapes::ShapeRef.new(shape: ClientId, required: true, location_name: "clientId"))
77
83
  CreateTokenRequest.add_member(:client_secret, Shapes::ShapeRef.new(shape: ClientSecret, required: true, location_name: "clientSecret"))
78
84
  CreateTokenRequest.add_member(:grant_type, Shapes::ShapeRef.new(shape: GrantType, required: true, location_name: "grantType"))
@@ -111,6 +117,7 @@ module Aws::SSOOIDC
111
117
  CreateTokenWithIAMResponse.add_member(:id_token, Shapes::ShapeRef.new(shape: IdToken, location_name: "idToken"))
112
118
  CreateTokenWithIAMResponse.add_member(:issued_token_type, Shapes::ShapeRef.new(shape: TokenTypeURI, location_name: "issuedTokenType"))
113
119
  CreateTokenWithIAMResponse.add_member(:scope, Shapes::ShapeRef.new(shape: Scopes, location_name: "scope"))
120
+ CreateTokenWithIAMResponse.add_member(:aws_additional_details, Shapes::ShapeRef.new(shape: AwsAdditionalDetails, location_name: "awsAdditionalDetails"))
114
121
  CreateTokenWithIAMResponse.struct_class = Types::CreateTokenWithIAMResponse
115
122
 
116
123
  ExpiredTokenException.add_member(:error, Shapes::ShapeRef.new(shape: Error, location_name: "error"))
@@ -207,6 +214,7 @@ module Aws::SSOOIDC
207
214
 
208
215
  api.metadata = {
209
216
  "apiVersion" => "2019-06-10",
217
+ "auth" => ["aws.auth#sigv4"],
210
218
  "endpointPrefix" => "oidc",
211
219
  "jsonVersion" => "1.1",
212
220
  "protocol" => "rest-json",
@@ -224,6 +232,7 @@ module Aws::SSOOIDC
224
232
  o.http_method = "POST"
225
233
  o.http_request_uri = "/token"
226
234
  o['authtype'] = "none"
235
+ o['auth'] = ["smithy.api#noAuth"]
227
236
  o.input = Shapes::ShapeRef.new(shape: CreateTokenRequest)
228
237
  o.output = Shapes::ShapeRef.new(shape: CreateTokenResponse)
229
238
  o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
@@ -264,6 +273,7 @@ module Aws::SSOOIDC
264
273
  o.http_method = "POST"
265
274
  o.http_request_uri = "/client/register"
266
275
  o['authtype'] = "none"
276
+ o['auth'] = ["smithy.api#noAuth"]
267
277
  o.input = Shapes::ShapeRef.new(shape: RegisterClientRequest)
268
278
  o.output = Shapes::ShapeRef.new(shape: RegisterClientResponse)
269
279
  o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
@@ -279,6 +289,7 @@ module Aws::SSOOIDC
279
289
  o.http_method = "POST"
280
290
  o.http_request_uri = "/device_authorization"
281
291
  o['authtype'] = "none"
292
+ o['auth'] = ["smithy.api#noAuth"]
282
293
  o.input = Shapes::ShapeRef.new(shape: StartDeviceAuthorizationRequest)
283
294
  o.output = Shapes::ShapeRef.new(shape: StartDeviceAuthorizationResponse)
284
295
  o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
@@ -52,15 +52,18 @@ module Aws::SSOOIDC
52
52
  self[:region] = options[:region]
53
53
  self[:use_dual_stack] = options[:use_dual_stack]
54
54
  self[:use_dual_stack] = false if self[:use_dual_stack].nil?
55
- if self[:use_dual_stack].nil?
56
- raise ArgumentError, "Missing required EndpointParameter: :use_dual_stack"
57
- end
58
55
  self[:use_fips] = options[:use_fips]
59
56
  self[:use_fips] = false if self[:use_fips].nil?
60
- if self[:use_fips].nil?
61
- raise ArgumentError, "Missing required EndpointParameter: :use_fips"
62
- end
63
57
  self[:endpoint] = options[:endpoint]
64
58
  end
59
+
60
+ def self.create(config, options={})
61
+ new({
62
+ region: config.region,
63
+ use_dual_stack: config.use_dualstack_endpoint,
64
+ use_fips: config.use_fips_endpoint,
65
+ endpoint: (config.endpoint.to_s unless config.regional_endpoint),
66
+ }.merge(options))
67
+ end
65
68
  end
66
69
  end
@@ -10,43 +10,39 @@
10
10
  module Aws::SSOOIDC
11
11
  class EndpointProvider
12
12
  def resolve_endpoint(parameters)
13
- region = parameters.region
14
- use_dual_stack = parameters.use_dual_stack
15
- use_fips = parameters.use_fips
16
- endpoint = parameters.endpoint
17
- if Aws::Endpoints::Matchers.set?(endpoint)
18
- if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
13
+ if Aws::Endpoints::Matchers.set?(parameters.endpoint)
14
+ if Aws::Endpoints::Matchers.boolean_equals?(parameters.use_fips, true)
19
15
  raise ArgumentError, "Invalid Configuration: FIPS and custom endpoint are not supported"
20
16
  end
21
- if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
17
+ if Aws::Endpoints::Matchers.boolean_equals?(parameters.use_dual_stack, true)
22
18
  raise ArgumentError, "Invalid Configuration: Dualstack and custom endpoint are not supported"
23
19
  end
24
- return Aws::Endpoints::Endpoint.new(url: endpoint, headers: {}, properties: {})
20
+ return Aws::Endpoints::Endpoint.new(url: parameters.endpoint, headers: {}, properties: {})
25
21
  end
26
- if Aws::Endpoints::Matchers.set?(region)
27
- if (partition_result = Aws::Endpoints::Matchers.aws_partition(region))
28
- if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true) && Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
22
+ if Aws::Endpoints::Matchers.set?(parameters.region)
23
+ if (partition_result = Aws::Endpoints::Matchers.aws_partition(parameters.region))
24
+ if Aws::Endpoints::Matchers.boolean_equals?(parameters.use_fips, true) && Aws::Endpoints::Matchers.boolean_equals?(parameters.use_dual_stack, true)
29
25
  if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS")) && Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
30
- return Aws::Endpoints::Endpoint.new(url: "https://oidc-fips.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
26
+ return Aws::Endpoints::Endpoint.new(url: "https://oidc-fips.#{parameters.region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
31
27
  end
32
28
  raise ArgumentError, "FIPS and DualStack are enabled, but this partition does not support one or both"
33
29
  end
34
- if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
30
+ if Aws::Endpoints::Matchers.boolean_equals?(parameters.use_fips, true)
35
31
  if Aws::Endpoints::Matchers.boolean_equals?(Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"), true)
36
32
  if Aws::Endpoints::Matchers.string_equals?(Aws::Endpoints::Matchers.attr(partition_result, "name"), "aws-us-gov")
37
- return Aws::Endpoints::Endpoint.new(url: "https://oidc.#{region}.amazonaws.com", headers: {}, properties: {})
33
+ return Aws::Endpoints::Endpoint.new(url: "https://oidc.#{parameters.region}.amazonaws.com", headers: {}, properties: {})
38
34
  end
39
- return Aws::Endpoints::Endpoint.new(url: "https://oidc-fips.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
35
+ return Aws::Endpoints::Endpoint.new(url: "https://oidc-fips.#{parameters.region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
40
36
  end
41
37
  raise ArgumentError, "FIPS is enabled but this partition does not support FIPS"
42
38
  end
43
- if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
39
+ if Aws::Endpoints::Matchers.boolean_equals?(parameters.use_dual_stack, true)
44
40
  if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
45
- return Aws::Endpoints::Endpoint.new(url: "https://oidc.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
41
+ return Aws::Endpoints::Endpoint.new(url: "https://oidc.#{parameters.region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
46
42
  end
47
43
  raise ArgumentError, "DualStack is enabled but this partition does not support DualStack"
48
44
  end
49
- return Aws::Endpoints::Endpoint.new(url: "https://oidc.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
45
+ return Aws::Endpoints::Endpoint.new(url: "https://oidc.#{parameters.region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
50
46
  end
51
47
  end
52
48
  raise ArgumentError, "Invalid Configuration: Missing Region"
@@ -12,61 +12,9 @@ module Aws::SSOOIDC
12
12
  # @api private
13
13
  module Endpoints
14
14
 
15
- class CreateToken
16
- def self.build(context)
17
- unless context.config.regional_endpoint
18
- endpoint = context.config.endpoint.to_s
19
- end
20
- Aws::SSOOIDC::EndpointParameters.new(
21
- region: context.config.region,
22
- use_dual_stack: context.config.use_dualstack_endpoint,
23
- use_fips: context.config.use_fips_endpoint,
24
- endpoint: endpoint,
25
- )
26
- end
27
- end
28
-
29
- class CreateTokenWithIAM
30
- def self.build(context)
31
- unless context.config.regional_endpoint
32
- endpoint = context.config.endpoint.to_s
33
- end
34
- Aws::SSOOIDC::EndpointParameters.new(
35
- region: context.config.region,
36
- use_dual_stack: context.config.use_dualstack_endpoint,
37
- use_fips: context.config.use_fips_endpoint,
38
- endpoint: endpoint,
39
- )
40
- end
41
- end
42
15
 
43
- class RegisterClient
44
- def self.build(context)
45
- unless context.config.regional_endpoint
46
- endpoint = context.config.endpoint.to_s
47
- end
48
- Aws::SSOOIDC::EndpointParameters.new(
49
- region: context.config.region,
50
- use_dual_stack: context.config.use_dualstack_endpoint,
51
- use_fips: context.config.use_fips_endpoint,
52
- endpoint: endpoint,
53
- )
54
- end
16
+ def self.parameters_for_operation(context)
17
+ Aws::SSOOIDC::EndpointParameters.create(context.config)
55
18
  end
56
-
57
- class StartDeviceAuthorization
58
- def self.build(context)
59
- unless context.config.regional_endpoint
60
- endpoint = context.config.endpoint.to_s
61
- end
62
- Aws::SSOOIDC::EndpointParameters.new(
63
- region: context.config.region,
64
- use_dual_stack: context.config.use_dualstack_endpoint,
65
- use_fips: context.config.use_fips_endpoint,
66
- endpoint: endpoint,
67
- )
68
- end
69
- end
70
-
71
19
  end
72
20
  end