aws-sdk-core 3.189.0 → 3.199.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 (119) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +183 -0
  3. data/VERSION +1 -1
  4. data/lib/aws-sdk-core/binary/decode_handler.rb +3 -9
  5. data/lib/aws-sdk-core/binary/encode_handler.rb +1 -1
  6. data/lib/aws-sdk-core/binary/event_builder.rb +34 -37
  7. data/lib/aws-sdk-core/binary/event_stream_decoder.rb +1 -0
  8. data/lib/aws-sdk-core/binary/event_stream_encoder.rb +4 -3
  9. data/lib/aws-sdk-core/cbor/cbor_engine.rb +19 -0
  10. data/lib/aws-sdk-core/cbor/decoder.rb +310 -0
  11. data/lib/aws-sdk-core/cbor/encoder.rb +243 -0
  12. data/lib/aws-sdk-core/cbor.rb +106 -0
  13. data/lib/aws-sdk-core/client_stubs.rb +18 -14
  14. data/lib/aws-sdk-core/credential_provider.rb +1 -1
  15. data/lib/aws-sdk-core/ec2_metadata.rb +1 -1
  16. data/lib/aws-sdk-core/ecs_credentials.rb +2 -1
  17. data/lib/aws-sdk-core/endpoints/matchers.rb +5 -1
  18. data/lib/aws-sdk-core/error_handler.rb +41 -0
  19. data/lib/aws-sdk-core/errors.rb +2 -2
  20. data/lib/aws-sdk-core/event_emitter.rb +0 -16
  21. data/lib/aws-sdk-core/instance_profile_credentials.rb +3 -2
  22. data/lib/aws-sdk-core/json/builder.rb +8 -1
  23. data/lib/aws-sdk-core/json/error_handler.rb +15 -10
  24. data/lib/aws-sdk-core/json/handler.rb +5 -6
  25. data/lib/aws-sdk-core/json/json_engine.rb +3 -1
  26. data/lib/aws-sdk-core/json/oj_engine.rb +7 -1
  27. data/lib/aws-sdk-core/json/parser.rb +6 -1
  28. data/lib/aws-sdk-core/json.rb +43 -14
  29. data/lib/aws-sdk-core/lru_cache.rb +75 -0
  30. data/lib/aws-sdk-core/pageable_response.rb +1 -1
  31. data/lib/aws-sdk-core/param_validator.rb +7 -2
  32. data/lib/aws-sdk-core/plugins/client_metrics_plugin.rb +1 -0
  33. data/lib/aws-sdk-core/plugins/client_metrics_send_plugin.rb +14 -2
  34. data/lib/aws-sdk-core/plugins/credentials_configuration.rb +2 -0
  35. data/lib/aws-sdk-core/plugins/global_configuration.rb +8 -9
  36. data/lib/aws-sdk-core/plugins/invocation_id.rb +1 -11
  37. data/lib/aws-sdk-core/plugins/logging.rb +2 -0
  38. data/lib/aws-sdk-core/plugins/protocols/api_gateway.rb +3 -1
  39. data/lib/aws-sdk-core/plugins/protocols/ec2.rb +2 -24
  40. data/lib/aws-sdk-core/plugins/protocols/json_rpc.rb +6 -8
  41. data/lib/aws-sdk-core/plugins/protocols/query.rb +4 -2
  42. data/lib/aws-sdk-core/plugins/protocols/rest_json.rb +3 -15
  43. data/lib/aws-sdk-core/plugins/protocols/rest_xml.rb +3 -0
  44. data/lib/aws-sdk-core/plugins/protocols/rpc_v2.rb +17 -0
  45. data/lib/aws-sdk-core/plugins/request_compression.rb +11 -2
  46. data/lib/aws-sdk-core/plugins/retry_errors.rb +12 -3
  47. data/lib/aws-sdk-core/plugins/sign.rb +8 -3
  48. data/lib/aws-sdk-core/plugins/stub_responses.rb +1 -0
  49. data/lib/aws-sdk-core/plugins/user_agent.rb +61 -26
  50. data/lib/aws-sdk-core/process_credentials.rb +45 -27
  51. data/lib/aws-sdk-core/query/ec2_handler.rb +27 -0
  52. data/lib/aws-sdk-core/query/ec2_param_builder.rb +5 -7
  53. data/lib/aws-sdk-core/query/handler.rb +4 -4
  54. data/lib/aws-sdk-core/query/param_builder.rb +2 -2
  55. data/lib/aws-sdk-core/query.rb +2 -1
  56. data/lib/aws-sdk-core/rest/content_type_handler.rb +60 -0
  57. data/lib/aws-sdk-core/rest/handler.rb +3 -4
  58. data/lib/aws-sdk-core/rest/request/body.rb +32 -5
  59. data/lib/aws-sdk-core/rest/request/endpoint.rb +24 -4
  60. data/lib/aws-sdk-core/rest/request/headers.rb +15 -7
  61. data/lib/aws-sdk-core/rest/request/querystring_builder.rb +23 -11
  62. data/lib/aws-sdk-core/rest/response/body.rb +15 -1
  63. data/lib/aws-sdk-core/rest/response/header_list_parser.rb +79 -0
  64. data/lib/aws-sdk-core/rest/response/headers.rb +8 -3
  65. data/lib/aws-sdk-core/rest.rb +1 -0
  66. data/lib/aws-sdk-core/rpc_v2/builder.rb +62 -0
  67. data/lib/aws-sdk-core/rpc_v2/content_type_handler.rb +45 -0
  68. data/lib/aws-sdk-core/rpc_v2/error_handler.rb +84 -0
  69. data/lib/aws-sdk-core/rpc_v2/handler.rb +74 -0
  70. data/lib/aws-sdk-core/rpc_v2/parser.rb +90 -0
  71. data/lib/aws-sdk-core/rpc_v2.rb +6 -0
  72. data/lib/aws-sdk-core/stubbing/protocols/rpc_v2.rb +41 -0
  73. data/lib/aws-sdk-core/util.rb +39 -0
  74. data/lib/aws-sdk-core/waiters/poller.rb +2 -2
  75. data/lib/aws-sdk-core/xml/builder.rb +17 -9
  76. data/lib/aws-sdk-core/xml/error_handler.rb +32 -42
  77. data/lib/aws-sdk-core/xml/parser/frame.rb +4 -20
  78. data/lib/aws-sdk-core/xml/parser/stack.rb +2 -0
  79. data/lib/aws-sdk-core/xml/parser.rb +2 -6
  80. data/lib/aws-sdk-core.rb +7 -2
  81. data/lib/aws-sdk-sso/client.rb +77 -49
  82. data/lib/aws-sdk-sso/plugins/endpoints.rb +1 -0
  83. data/lib/aws-sdk-sso.rb +1 -1
  84. data/lib/aws-sdk-ssooidc/client.rb +127 -51
  85. data/lib/aws-sdk-ssooidc/client_api.rb +22 -0
  86. data/lib/aws-sdk-ssooidc/errors.rb +21 -0
  87. data/lib/aws-sdk-ssooidc/plugins/endpoints.rb +1 -0
  88. data/lib/aws-sdk-ssooidc/types.rb +77 -9
  89. data/lib/aws-sdk-ssooidc.rb +1 -1
  90. data/lib/aws-sdk-sts/client.rb +78 -50
  91. data/lib/aws-sdk-sts/client_api.rb +8 -8
  92. data/lib/aws-sdk-sts/plugins/endpoints.rb +1 -0
  93. data/lib/aws-sdk-sts/types.rb +1 -1
  94. data/lib/aws-sdk-sts.rb +1 -1
  95. data/lib/seahorse/client/async_base.rb +1 -1
  96. data/lib/seahorse/client/async_response.rb +19 -0
  97. data/lib/seahorse/client/base.rb +18 -7
  98. data/lib/seahorse/client/h2/handler.rb +1 -0
  99. data/lib/seahorse/client/handler.rb +1 -1
  100. data/lib/seahorse/client/net_http/connection_pool.rb +3 -9
  101. data/lib/seahorse/client/plugin.rb +9 -0
  102. data/lib/seahorse/client/plugins/endpoint.rb +0 -1
  103. data/lib/seahorse/client/plugins/net_http.rb +48 -16
  104. data/lib/seahorse/model/shapes.rb +2 -2
  105. data/sig/aws-sdk-core/client_stubs.rbs +10 -0
  106. data/sig/aws-sdk-core/errors.rbs +22 -0
  107. data/sig/aws-sdk-core/resources/collection.rbs +21 -0
  108. data/sig/aws-sdk-core/structure.rbs +4 -0
  109. data/sig/aws-sdk-core/waiters/errors.rbs +20 -0
  110. data/sig/aws-sdk-core.rbs +7 -0
  111. data/sig/seahorse/client/base.rbs +25 -0
  112. data/sig/seahorse/client/handler_builder.rbs +16 -0
  113. data/sig/seahorse/client/response.rbs +61 -0
  114. metadata +38 -12
  115. /data/lib/aws-sdk-core/xml/parser/{engines/libxml.rb → libxml_engine.rb} +0 -0
  116. /data/lib/aws-sdk-core/xml/parser/{engines/nokogiri.rb → nokogiri_engine.rb} +0 -0
  117. /data/lib/aws-sdk-core/xml/parser/{engines/oga.rb → oga_engine.rb} +0 -0
  118. /data/lib/aws-sdk-core/xml/parser/{engines/ox.rb → ox_engine.rb} +0 -0
  119. /data/lib/aws-sdk-core/xml/parser/{engines/rexml.rb → rexml_engine.rb} +0 -0
@@ -22,6 +22,7 @@ require 'aws-sdk-core/plugins/endpoint_pattern.rb'
22
22
  require 'aws-sdk-core/plugins/response_paging.rb'
23
23
  require 'aws-sdk-core/plugins/stub_responses.rb'
24
24
  require 'aws-sdk-core/plugins/idempotency_token.rb'
25
+ require 'aws-sdk-core/plugins/invocation_id.rb'
25
26
  require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
26
27
  require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
27
28
  require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
@@ -72,6 +73,7 @@ module Aws::SSO
72
73
  add_plugin(Aws::Plugins::ResponsePaging)
73
74
  add_plugin(Aws::Plugins::StubResponses)
74
75
  add_plugin(Aws::Plugins::IdempotencyToken)
76
+ add_plugin(Aws::Plugins::InvocationId)
75
77
  add_plugin(Aws::Plugins::JsonvalueConverter)
76
78
  add_plugin(Aws::Plugins::ClientMetricsPlugin)
77
79
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
@@ -87,6 +89,11 @@ module Aws::SSO
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
98
  # Your AWS credentials. This can be an instance of any one of the
92
99
  # following classes:
@@ -196,10 +203,16 @@ module Aws::SSO
196
203
  # When set to 'true' the request body will not be compressed
197
204
  # for supported operations.
198
205
  #
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.
206
+ # @option options [String, URI::HTTPS, URI::HTTP] :endpoint
207
+ # Normally you should not configure the `:endpoint` option
208
+ # directly. This is normally constructed from the `:region`
209
+ # option. Configuring `:endpoint` is normally reserved for
210
+ # connecting to test or custom endpoints. The endpoint should
211
+ # be a URI formatted like:
212
+ #
213
+ # 'http://example.com'
214
+ # 'https://example.com'
215
+ # 'http://example.com:123'
203
216
  #
204
217
  # @option options [Integer] :endpoint_cache_max_entries (1000)
205
218
  # Used for the maximum size limit of the LRU cache storing endpoints data
@@ -289,11 +302,11 @@ module Aws::SSO
289
302
  # throttling. This is a provisional mode that may change behavior
290
303
  # in the future.
291
304
  #
292
- #
293
305
  # @option options [String] :sdk_ua_app_id
294
306
  # 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.
307
+ # User-Agent header as app/sdk_ua_app_id. It should have a
308
+ # maximum length of 50. This variable is sourced from environment
309
+ # variable AWS_SDK_UA_APP_ID or the shared config profile attribute sdk_ua_app_id.
297
310
  #
298
311
  # @option options [String] :secret_access_key
299
312
  #
@@ -337,50 +350,65 @@ module Aws::SSO
337
350
  # @option options [Aws::SSO::EndpointProvider] :endpoint_provider
338
351
  # The endpoint provider used to resolve endpoints. Any object that responds to `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::SSO::EndpointParameters`
339
352
  #
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.
362
- #
363
- # @option options [Float] :ssl_timeout (nil) Sets the SSL timeout
364
- # in seconds.
365
- #
366
- # @option options [Boolean] :http_wire_trace (false) When `true`,
367
- # HTTP debug output will be sent to the `:logger`.
353
+ # @option options [Float] :http_continue_timeout (1)
354
+ # The number of seconds to wait for a 100-continue response before sending the
355
+ # request body. This option has no effect unless the request has "Expect"
356
+ # header set to "100-continue". Defaults to `nil` which disables this
357
+ # behaviour. This value can safely be set per request on the session.
358
+ #
359
+ # @option options [Float] :http_idle_timeout (5)
360
+ # The number of seconds a connection is allowed to sit idle before it
361
+ # is considered stale. Stale connections are closed and removed from the
362
+ # pool before making a request.
363
+ #
364
+ # @option options [Float] :http_open_timeout (15)
365
+ # The default number of seconds to wait for response data.
366
+ # This value can safely be set per-request on the session.
367
+ #
368
+ # @option options [URI::HTTP,String] :http_proxy
369
+ # A proxy to send requests through. Formatted like 'http://proxy.com:123'.
370
+ #
371
+ # @option options [Float] :http_read_timeout (60)
372
+ # The default number of seconds to wait for response data.
373
+ # This value can safely be set per-request on the session.
374
+ #
375
+ # @option options [Boolean] :http_wire_trace (false)
376
+ # When `true`, HTTP debug output will be sent to the `:logger`.
377
+ #
378
+ # @option options [Proc] :on_chunk_received
379
+ # When a Proc object is provided, it will be used as callback when each chunk
380
+ # of the response body is received. It provides three arguments: the chunk,
381
+ # the number of bytes received, and the total number of
382
+ # bytes in the response (or nil if the server did not send a `content-length`).
383
+ #
384
+ # @option options [Proc] :on_chunk_sent
385
+ # When a Proc object is provided, it will be used as callback when each chunk
386
+ # of the request body is sent. It provides three arguments: the chunk,
387
+ # the number of bytes read from the body, and the total number of
388
+ # bytes in the body.
389
+ #
390
+ # @option options [Boolean] :raise_response_errors (true)
391
+ # When `true`, response errors are raised.
392
+ #
393
+ # @option options [String] :ssl_ca_bundle
394
+ # Full path to the SSL certificate authority bundle file that should be used when
395
+ # verifying peer certificates. If you do not pass `:ssl_ca_bundle` or
396
+ # `:ssl_ca_directory` the the system default will be used if available.
397
+ #
398
+ # @option options [String] :ssl_ca_directory
399
+ # Full path of the directory that contains the unbundled SSL certificate
400
+ # authority files for verifying peer certificates. If you do
401
+ # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the system
402
+ # default will be used if available.
368
403
  #
369
- # @option options [Boolean] :ssl_verify_peer (true) When `true`,
370
- # SSL peer certificates are verified when establishing a
371
- # connection.
404
+ # @option options [String] :ssl_ca_store
405
+ # Sets the X509::Store to verify peer certificate.
372
406
  #
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.
407
+ # @option options [Float] :ssl_timeout
408
+ # Sets the SSL timeout in seconds
378
409
  #
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.
410
+ # @option options [Boolean] :ssl_verify_peer (true)
411
+ # When `true`, SSL peer certificates are verified when establishing a connection.
384
412
  #
385
413
  def initialize(*args)
386
414
  super
@@ -605,7 +633,7 @@ module Aws::SSO
605
633
  params: params,
606
634
  config: config)
607
635
  context[:gem_name] = 'aws-sdk-core'
608
- context[:gem_version] = '3.189.0'
636
+ context[:gem_version] = '3.199.0'
609
637
  Seahorse::Client::Request.new(handlers, context)
610
638
  end
611
639
 
@@ -14,6 +14,7 @@ module Aws::SSO
14
14
  option(
15
15
  :endpoint_provider,
16
16
  doc_type: 'Aws::SSO::EndpointProvider',
17
+ rbs_type: 'untyped',
17
18
  docstring: 'The endpoint provider used to resolve endpoints. Any '\
18
19
  'object that responds to `#resolve_endpoint(parameters)` '\
19
20
  'where `parameters` is a Struct similar to '\
data/lib/aws-sdk-sso.rb CHANGED
@@ -54,6 +54,6 @@ require_relative 'aws-sdk-sso/customizations'
54
54
  # @!group service
55
55
  module Aws::SSO
56
56
 
57
- GEM_VERSION = '3.189.0'
57
+ GEM_VERSION = '3.199.0'
58
58
 
59
59
  end
@@ -22,6 +22,7 @@ require 'aws-sdk-core/plugins/endpoint_pattern.rb'
22
22
  require 'aws-sdk-core/plugins/response_paging.rb'
23
23
  require 'aws-sdk-core/plugins/stub_responses.rb'
24
24
  require 'aws-sdk-core/plugins/idempotency_token.rb'
25
+ require 'aws-sdk-core/plugins/invocation_id.rb'
25
26
  require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
26
27
  require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
27
28
  require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
@@ -72,6 +73,7 @@ module Aws::SSOOIDC
72
73
  add_plugin(Aws::Plugins::ResponsePaging)
73
74
  add_plugin(Aws::Plugins::StubResponses)
74
75
  add_plugin(Aws::Plugins::IdempotencyToken)
76
+ add_plugin(Aws::Plugins::InvocationId)
75
77
  add_plugin(Aws::Plugins::JsonvalueConverter)
76
78
  add_plugin(Aws::Plugins::ClientMetricsPlugin)
77
79
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
@@ -87,6 +89,11 @@ module Aws::SSOOIDC
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
98
  # Your AWS credentials. This can be an instance of any one of the
92
99
  # following classes:
@@ -196,10 +203,16 @@ module Aws::SSOOIDC
196
203
  # When set to 'true' the request body will not be compressed
197
204
  # for supported operations.
198
205
  #
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.
206
+ # @option options [String, URI::HTTPS, URI::HTTP] :endpoint
207
+ # Normally you should not configure the `:endpoint` option
208
+ # directly. This is normally constructed from the `:region`
209
+ # option. Configuring `:endpoint` is normally reserved for
210
+ # connecting to test or custom endpoints. The endpoint should
211
+ # be a URI formatted like:
212
+ #
213
+ # 'http://example.com'
214
+ # 'https://example.com'
215
+ # 'http://example.com:123'
203
216
  #
204
217
  # @option options [Integer] :endpoint_cache_max_entries (1000)
205
218
  # Used for the maximum size limit of the LRU cache storing endpoints data
@@ -289,11 +302,11 @@ module Aws::SSOOIDC
289
302
  # throttling. This is a provisional mode that may change behavior
290
303
  # in the future.
291
304
  #
292
- #
293
305
  # @option options [String] :sdk_ua_app_id
294
306
  # 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.
307
+ # User-Agent header as app/sdk_ua_app_id. It should have a
308
+ # maximum length of 50. This variable is sourced from environment
309
+ # variable AWS_SDK_UA_APP_ID or the shared config profile attribute sdk_ua_app_id.
297
310
  #
298
311
  # @option options [String] :secret_access_key
299
312
  #
@@ -337,50 +350,65 @@ module Aws::SSOOIDC
337
350
  # @option options [Aws::SSOOIDC::EndpointProvider] :endpoint_provider
338
351
  # 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
352
  #
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.
362
- #
363
- # @option options [Float] :ssl_timeout (nil) Sets the SSL timeout
364
- # in seconds.
353
+ # @option options [Float] :http_continue_timeout (1)
354
+ # The number of seconds to wait for a 100-continue response before sending the
355
+ # request body. This option has no effect unless the request has "Expect"
356
+ # header set to "100-continue". Defaults to `nil` which disables this
357
+ # behaviour. This value can safely be set per request on the session.
358
+ #
359
+ # @option options [Float] :http_idle_timeout (5)
360
+ # The number of seconds a connection is allowed to sit idle before it
361
+ # is considered stale. Stale connections are closed and removed from the
362
+ # pool before making a request.
363
+ #
364
+ # @option options [Float] :http_open_timeout (15)
365
+ # The default number of seconds to wait for response data.
366
+ # This value can safely be set per-request on the session.
367
+ #
368
+ # @option options [URI::HTTP,String] :http_proxy
369
+ # A proxy to send requests through. Formatted like 'http://proxy.com:123'.
370
+ #
371
+ # @option options [Float] :http_read_timeout (60)
372
+ # The default number of seconds to wait for response data.
373
+ # This value can safely be set per-request on the session.
374
+ #
375
+ # @option options [Boolean] :http_wire_trace (false)
376
+ # When `true`, HTTP debug output will be sent to the `:logger`.
377
+ #
378
+ # @option options [Proc] :on_chunk_received
379
+ # When a Proc object is provided, it will be used as callback when each chunk
380
+ # of the response body is received. It provides three arguments: the chunk,
381
+ # the number of bytes received, and the total number of
382
+ # bytes in the response (or nil if the server did not send a `content-length`).
383
+ #
384
+ # @option options [Proc] :on_chunk_sent
385
+ # When a Proc object is provided, it will be used as callback when each chunk
386
+ # of the request body is sent. It provides three arguments: the chunk,
387
+ # the number of bytes read from the body, and the total number of
388
+ # bytes in the body.
389
+ #
390
+ # @option options [Boolean] :raise_response_errors (true)
391
+ # When `true`, response errors are raised.
392
+ #
393
+ # @option options [String] :ssl_ca_bundle
394
+ # Full path to the SSL certificate authority bundle file that should be used when
395
+ # verifying peer certificates. If you do not pass `:ssl_ca_bundle` or
396
+ # `:ssl_ca_directory` the the system default will be used if available.
397
+ #
398
+ # @option options [String] :ssl_ca_directory
399
+ # Full path of the directory that contains the unbundled SSL certificate
400
+ # authority files for verifying peer certificates. If you do
401
+ # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the system
402
+ # default will be used if available.
365
403
  #
366
- # @option options [Boolean] :http_wire_trace (false) When `true`,
367
- # HTTP debug output will be sent to the `:logger`.
404
+ # @option options [String] :ssl_ca_store
405
+ # Sets the X509::Store to verify peer certificate.
368
406
  #
369
- # @option options [Boolean] :ssl_verify_peer (true) When `true`,
370
- # SSL peer certificates are verified when establishing a
371
- # connection.
407
+ # @option options [Float] :ssl_timeout
408
+ # Sets the SSL timeout in seconds
372
409
  #
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.
378
- #
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.
410
+ # @option options [Boolean] :ssl_verify_peer (true)
411
+ # When `true`, SSL peer certificates are verified when establishing a connection.
384
412
  #
385
413
  def initialize(*args)
386
414
  super
@@ -447,6 +475,11 @@ module Aws::SSOOIDC
447
475
  # This value specifies the location of the client or application that
448
476
  # has registered to receive the authorization code.
449
477
  #
478
+ # @option params [String] :code_verifier
479
+ # Used only when calling this API for the Authorization Code grant type.
480
+ # This value is generated by the client and presented to validate the
481
+ # original code challenge value the client passed at authorization time.
482
+ #
450
483
  # @return [Types::CreateTokenResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
451
484
  #
452
485
  # * {Types::CreateTokenResponse#access_token #access_token} => String
@@ -504,6 +537,7 @@ module Aws::SSOOIDC
504
537
  # refresh_token: "RefreshToken",
505
538
  # scope: ["Scope"],
506
539
  # redirect_uri: "URI",
540
+ # code_verifier: "CodeVerifier",
507
541
  # })
508
542
  #
509
543
  # @example Response structure
@@ -525,8 +559,9 @@ module Aws::SSOOIDC
525
559
 
526
560
  # Creates and returns access and refresh tokens for clients and
527
561
  # 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.
562
+ # token can be used to fetch short-term credentials for the assigned
563
+ # Amazon Web Services accounts or to access application APIs using
564
+ # `bearer` authentication.
530
565
  #
531
566
  # @option params [required, String] :client_id
532
567
  # The unique identifier string for the client or application. This value
@@ -607,6 +642,11 @@ module Aws::SSOOIDC
607
642
  #
608
643
  # * Refresh Token - `urn:ietf:params:oauth:token-type:refresh_token`
609
644
  #
645
+ # @option params [String] :code_verifier
646
+ # Used only when calling this API for the Authorization Code grant type.
647
+ # This value is generated by the client and presented to validate the
648
+ # original code challenge value the client passed at authorization time.
649
+ #
610
650
  # @return [Types::CreateTokenWithIAMResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
611
651
  #
612
652
  # * {Types::CreateTokenWithIAMResponse#access_token #access_token} => String
@@ -729,6 +769,7 @@ module Aws::SSOOIDC
729
769
  # subject_token: "SubjectToken",
730
770
  # subject_token_type: "TokenTypeURI",
731
771
  # requested_token_type: "TokenTypeURI",
772
+ # code_verifier: "CodeVerifier",
732
773
  # })
733
774
  #
734
775
  # @example Response structure
@@ -767,6 +808,28 @@ module Aws::SSOOIDC
767
808
  # this list is used to restrict permissions when granting an access
768
809
  # token.
769
810
  #
811
+ # @option params [Array<String>] :redirect_uris
812
+ # The list of redirect URI that are defined by the client. At completion
813
+ # of authorization, this list is used to restrict what locations the
814
+ # user agent can be redirected back to.
815
+ #
816
+ # @option params [Array<String>] :grant_types
817
+ # The list of OAuth 2.0 grant types that are defined by the client. This
818
+ # list is used to restrict the token granting flows available to the
819
+ # client.
820
+ #
821
+ # @option params [String] :issuer_url
822
+ # The IAM Identity Center Issuer URL associated with an instance of IAM
823
+ # Identity Center. This value is needed for user access to resources
824
+ # through the client.
825
+ #
826
+ # @option params [String] :entitled_application_arn
827
+ # This IAM Identity Center application ARN is used to define
828
+ # administrator-managed configuration for public client access to
829
+ # resources. At authorization, the scopes, grants, and redirect URI
830
+ # available to this client will be restricted by this application
831
+ # resource.
832
+ #
770
833
  # @return [Types::RegisterClientResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
771
834
  #
772
835
  # * {Types::RegisterClientResponse#client_id #client_id} => String
@@ -782,6 +845,15 @@ module Aws::SSOOIDC
782
845
  # resp = client.register_client({
783
846
  # client_name: "My IDE Plugin",
784
847
  # client_type: "public",
848
+ # entitled_application_arn: "arn:aws:sso::ACCOUNTID:application/ssoins-1111111111111111/apl-1111111111111111",
849
+ # grant_types: [
850
+ # "authorization_code",
851
+ # "refresh_token",
852
+ # ],
853
+ # issuer_url: "https://identitycenter.amazonaws.com/ssoins-1111111111111111",
854
+ # redirect_uris: [
855
+ # "127.0.0.1:PORT/oauth/callback",
856
+ # ],
785
857
  # scopes: [
786
858
  # "sso:account:access",
787
859
  # "codewhisperer:completions",
@@ -802,6 +874,10 @@ module Aws::SSOOIDC
802
874
  # client_name: "ClientName", # required
803
875
  # client_type: "ClientType", # required
804
876
  # scopes: ["Scope"],
877
+ # redirect_uris: ["URI"],
878
+ # grant_types: ["GrantType"],
879
+ # issuer_url: "URI",
880
+ # entitled_application_arn: "ArnType",
805
881
  # })
806
882
  #
807
883
  # @example Response structure
@@ -910,7 +986,7 @@ module Aws::SSOOIDC
910
986
  params: params,
911
987
  config: config)
912
988
  context[:gem_name] = 'aws-sdk-core'
913
- context[:gem_version] = '3.189.0'
989
+ context[:gem_version] = '3.199.0'
914
990
  Seahorse::Client::Request.new(handlers, context)
915
991
  end
916
992
 
@@ -15,6 +15,7 @@ module Aws::SSOOIDC
15
15
 
16
16
  AccessDeniedException = Shapes::StructureShape.new(name: 'AccessDeniedException')
17
17
  AccessToken = Shapes::StringShape.new(name: 'AccessToken')
18
+ ArnType = Shapes::StringShape.new(name: 'ArnType')
18
19
  Assertion = Shapes::StringShape.new(name: 'Assertion')
19
20
  AuthCode = Shapes::StringShape.new(name: 'AuthCode')
20
21
  AuthorizationPendingException = Shapes::StructureShape.new(name: 'AuthorizationPendingException')
@@ -22,6 +23,7 @@ module Aws::SSOOIDC
22
23
  ClientName = Shapes::StringShape.new(name: 'ClientName')
23
24
  ClientSecret = Shapes::StringShape.new(name: 'ClientSecret')
24
25
  ClientType = Shapes::StringShape.new(name: 'ClientType')
26
+ CodeVerifier = Shapes::StringShape.new(name: 'CodeVerifier')
25
27
  CreateTokenRequest = Shapes::StructureShape.new(name: 'CreateTokenRequest')
26
28
  CreateTokenResponse = Shapes::StructureShape.new(name: 'CreateTokenResponse')
27
29
  CreateTokenWithIAMRequest = Shapes::StructureShape.new(name: 'CreateTokenWithIAMRequest')
@@ -32,17 +34,20 @@ module Aws::SSOOIDC
32
34
  ExpirationInSeconds = Shapes::IntegerShape.new(name: 'ExpirationInSeconds')
33
35
  ExpiredTokenException = Shapes::StructureShape.new(name: 'ExpiredTokenException')
34
36
  GrantType = Shapes::StringShape.new(name: 'GrantType')
37
+ GrantTypes = Shapes::ListShape.new(name: 'GrantTypes')
35
38
  IdToken = Shapes::StringShape.new(name: 'IdToken')
36
39
  InternalServerException = Shapes::StructureShape.new(name: 'InternalServerException')
37
40
  IntervalInSeconds = Shapes::IntegerShape.new(name: 'IntervalInSeconds')
38
41
  InvalidClientException = Shapes::StructureShape.new(name: 'InvalidClientException')
39
42
  InvalidClientMetadataException = Shapes::StructureShape.new(name: 'InvalidClientMetadataException')
40
43
  InvalidGrantException = Shapes::StructureShape.new(name: 'InvalidGrantException')
44
+ InvalidRedirectUriException = Shapes::StructureShape.new(name: 'InvalidRedirectUriException')
41
45
  InvalidRequestException = Shapes::StructureShape.new(name: 'InvalidRequestException')
42
46
  InvalidRequestRegionException = Shapes::StructureShape.new(name: 'InvalidRequestRegionException')
43
47
  InvalidScopeException = Shapes::StructureShape.new(name: 'InvalidScopeException')
44
48
  Location = Shapes::StringShape.new(name: 'Location')
45
49
  LongTimeStampType = Shapes::IntegerShape.new(name: 'LongTimeStampType')
50
+ RedirectUris = Shapes::ListShape.new(name: 'RedirectUris')
46
51
  RefreshToken = Shapes::StringShape.new(name: 'RefreshToken')
47
52
  Region = Shapes::StringShape.new(name: 'Region')
48
53
  RegisterClientRequest = Shapes::StructureShape.new(name: 'RegisterClientRequest')
@@ -76,6 +81,7 @@ module Aws::SSOOIDC
76
81
  CreateTokenRequest.add_member(:refresh_token, Shapes::ShapeRef.new(shape: RefreshToken, location_name: "refreshToken"))
77
82
  CreateTokenRequest.add_member(:scope, Shapes::ShapeRef.new(shape: Scopes, location_name: "scope"))
78
83
  CreateTokenRequest.add_member(:redirect_uri, Shapes::ShapeRef.new(shape: URI, location_name: "redirectUri"))
84
+ CreateTokenRequest.add_member(:code_verifier, Shapes::ShapeRef.new(shape: CodeVerifier, location_name: "codeVerifier"))
79
85
  CreateTokenRequest.struct_class = Types::CreateTokenRequest
80
86
 
81
87
  CreateTokenResponse.add_member(:access_token, Shapes::ShapeRef.new(shape: AccessToken, location_name: "accessToken"))
@@ -95,6 +101,7 @@ module Aws::SSOOIDC
95
101
  CreateTokenWithIAMRequest.add_member(:subject_token, Shapes::ShapeRef.new(shape: SubjectToken, location_name: "subjectToken"))
96
102
  CreateTokenWithIAMRequest.add_member(:subject_token_type, Shapes::ShapeRef.new(shape: TokenTypeURI, location_name: "subjectTokenType"))
97
103
  CreateTokenWithIAMRequest.add_member(:requested_token_type, Shapes::ShapeRef.new(shape: TokenTypeURI, location_name: "requestedTokenType"))
104
+ CreateTokenWithIAMRequest.add_member(:code_verifier, Shapes::ShapeRef.new(shape: CodeVerifier, location_name: "codeVerifier"))
98
105
  CreateTokenWithIAMRequest.struct_class = Types::CreateTokenWithIAMRequest
99
106
 
100
107
  CreateTokenWithIAMResponse.add_member(:access_token, Shapes::ShapeRef.new(shape: AccessToken, location_name: "accessToken"))
@@ -110,6 +117,8 @@ module Aws::SSOOIDC
110
117
  ExpiredTokenException.add_member(:error_description, Shapes::ShapeRef.new(shape: ErrorDescription, location_name: "error_description"))
111
118
  ExpiredTokenException.struct_class = Types::ExpiredTokenException
112
119
 
120
+ GrantTypes.member = Shapes::ShapeRef.new(shape: GrantType)
121
+
113
122
  InternalServerException.add_member(:error, Shapes::ShapeRef.new(shape: Error, location_name: "error"))
114
123
  InternalServerException.add_member(:error_description, Shapes::ShapeRef.new(shape: ErrorDescription, location_name: "error_description"))
115
124
  InternalServerException.struct_class = Types::InternalServerException
@@ -126,6 +135,10 @@ module Aws::SSOOIDC
126
135
  InvalidGrantException.add_member(:error_description, Shapes::ShapeRef.new(shape: ErrorDescription, location_name: "error_description"))
127
136
  InvalidGrantException.struct_class = Types::InvalidGrantException
128
137
 
138
+ InvalidRedirectUriException.add_member(:error, Shapes::ShapeRef.new(shape: Error, location_name: "error"))
139
+ InvalidRedirectUriException.add_member(:error_description, Shapes::ShapeRef.new(shape: ErrorDescription, location_name: "error_description"))
140
+ InvalidRedirectUriException.struct_class = Types::InvalidRedirectUriException
141
+
129
142
  InvalidRequestException.add_member(:error, Shapes::ShapeRef.new(shape: Error, location_name: "error"))
130
143
  InvalidRequestException.add_member(:error_description, Shapes::ShapeRef.new(shape: ErrorDescription, location_name: "error_description"))
131
144
  InvalidRequestException.struct_class = Types::InvalidRequestException
@@ -140,9 +153,15 @@ module Aws::SSOOIDC
140
153
  InvalidScopeException.add_member(:error_description, Shapes::ShapeRef.new(shape: ErrorDescription, location_name: "error_description"))
141
154
  InvalidScopeException.struct_class = Types::InvalidScopeException
142
155
 
156
+ RedirectUris.member = Shapes::ShapeRef.new(shape: URI)
157
+
143
158
  RegisterClientRequest.add_member(:client_name, Shapes::ShapeRef.new(shape: ClientName, required: true, location_name: "clientName"))
144
159
  RegisterClientRequest.add_member(:client_type, Shapes::ShapeRef.new(shape: ClientType, required: true, location_name: "clientType"))
145
160
  RegisterClientRequest.add_member(:scopes, Shapes::ShapeRef.new(shape: Scopes, location_name: "scopes"))
161
+ RegisterClientRequest.add_member(:redirect_uris, Shapes::ShapeRef.new(shape: RedirectUris, location_name: "redirectUris"))
162
+ RegisterClientRequest.add_member(:grant_types, Shapes::ShapeRef.new(shape: GrantTypes, location_name: "grantTypes"))
163
+ RegisterClientRequest.add_member(:issuer_url, Shapes::ShapeRef.new(shape: URI, location_name: "issuerUrl"))
164
+ RegisterClientRequest.add_member(:entitled_application_arn, Shapes::ShapeRef.new(shape: ArnType, location_name: "entitledApplicationArn"))
146
165
  RegisterClientRequest.struct_class = Types::RegisterClientRequest
147
166
 
148
167
  RegisterClientResponse.add_member(:client_id, Shapes::ShapeRef.new(shape: ClientId, location_name: "clientId"))
@@ -191,6 +210,7 @@ module Aws::SSOOIDC
191
210
  "endpointPrefix" => "oidc",
192
211
  "jsonVersion" => "1.1",
193
212
  "protocol" => "rest-json",
213
+ "protocols" => ["rest-json"],
194
214
  "serviceAbbreviation" => "SSO OIDC",
195
215
  "serviceFullName" => "AWS SSO OIDC",
196
216
  "serviceId" => "SSO OIDC",
@@ -250,6 +270,8 @@ module Aws::SSOOIDC
250
270
  o.errors << Shapes::ShapeRef.new(shape: InvalidScopeException)
251
271
  o.errors << Shapes::ShapeRef.new(shape: InvalidClientMetadataException)
252
272
  o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
273
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRedirectUriException)
274
+ o.errors << Shapes::ShapeRef.new(shape: UnsupportedGrantTypeException)
253
275
  end)
254
276
 
255
277
  api.add_operation(:start_device_authorization, Seahorse::Model::Operation.new.tap do |o|
@@ -34,6 +34,7 @@ module Aws::SSOOIDC
34
34
  # * {InvalidClientException}
35
35
  # * {InvalidClientMetadataException}
36
36
  # * {InvalidGrantException}
37
+ # * {InvalidRedirectUriException}
37
38
  # * {InvalidRequestException}
38
39
  # * {InvalidRequestRegionException}
39
40
  # * {InvalidScopeException}
@@ -187,6 +188,26 @@ module Aws::SSOOIDC
187
188
  end
188
189
  end
189
190
 
191
+ class InvalidRedirectUriException < ServiceError
192
+
193
+ # @param [Seahorse::Client::RequestContext] context
194
+ # @param [String] message
195
+ # @param [Aws::SSOOIDC::Types::InvalidRedirectUriException] data
196
+ def initialize(context, message, data = Aws::EmptyStructure.new)
197
+ super(context, message, data)
198
+ end
199
+
200
+ # @return [String]
201
+ def error
202
+ @data[:error]
203
+ end
204
+
205
+ # @return [String]
206
+ def error_description
207
+ @data[:error_description]
208
+ end
209
+ end
210
+
190
211
  class InvalidRequestException < ServiceError
191
212
 
192
213
  # @param [Seahorse::Client::RequestContext] context
@@ -14,6 +14,7 @@ module Aws::SSOOIDC
14
14
  option(
15
15
  :endpoint_provider,
16
16
  doc_type: 'Aws::SSOOIDC::EndpointProvider',
17
+ rbs_type: 'untyped',
17
18
  docstring: 'The endpoint provider used to resolve endpoints. Any '\
18
19
  'object that responds to `#resolve_endpoint(parameters)` '\
19
20
  'where `parameters` is a Struct similar to '\