aws-sdk-core 3.191.0 → 3.196.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 (57) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +109 -1
  3. data/VERSION +1 -1
  4. data/lib/aws-sdk-core/binary/decode_handler.rb +0 -5
  5. data/lib/aws-sdk-core/binary/event_builder.rb +34 -37
  6. data/lib/aws-sdk-core/credential_provider.rb +1 -1
  7. data/lib/aws-sdk-core/ec2_metadata.rb +1 -1
  8. data/lib/aws-sdk-core/ecs_credentials.rb +2 -1
  9. data/lib/aws-sdk-core/event_emitter.rb +0 -16
  10. data/lib/aws-sdk-core/instance_profile_credentials.rb +3 -2
  11. data/lib/aws-sdk-core/json/builder.rb +8 -1
  12. data/lib/aws-sdk-core/json/error_handler.rb +10 -3
  13. data/lib/aws-sdk-core/json/parser.rb +4 -1
  14. data/lib/aws-sdk-core/lru_cache.rb +75 -0
  15. data/lib/aws-sdk-core/param_validator.rb +7 -2
  16. data/lib/aws-sdk-core/plugins/invocation_id.rb +1 -11
  17. data/lib/aws-sdk-core/plugins/protocols/rest_json.rb +3 -16
  18. data/lib/aws-sdk-core/plugins/protocols/rest_xml.rb +1 -2
  19. data/lib/aws-sdk-core/plugins/request_compression.rb +1 -1
  20. data/lib/aws-sdk-core/plugins/sign.rb +8 -3
  21. data/lib/aws-sdk-core/plugins/user_agent.rb +3 -2
  22. data/lib/aws-sdk-core/query/ec2_param_builder.rb +5 -7
  23. data/lib/aws-sdk-core/query/param_builder.rb +2 -2
  24. data/lib/aws-sdk-core/rest/request/body.rb +32 -5
  25. data/lib/aws-sdk-core/rest/request/content_type.rb +60 -0
  26. data/lib/aws-sdk-core/rest/request/endpoint.rb +22 -4
  27. data/lib/aws-sdk-core/rest/request/headers.rb +15 -7
  28. data/lib/aws-sdk-core/rest/request/querystring_builder.rb +23 -11
  29. data/lib/aws-sdk-core/rest/response/body.rb +15 -1
  30. data/lib/aws-sdk-core/rest/response/header_list_parser.rb +79 -0
  31. data/lib/aws-sdk-core/rest/response/headers.rb +8 -3
  32. data/lib/aws-sdk-core/rest.rb +1 -0
  33. data/lib/aws-sdk-core/util.rb +39 -0
  34. data/lib/aws-sdk-core/xml/builder.rb +17 -9
  35. data/lib/aws-sdk-core/xml/error_handler.rb +24 -8
  36. data/lib/aws-sdk-core/xml/parser/frame.rb +4 -20
  37. data/lib/aws-sdk-core/xml/parser/stack.rb +2 -0
  38. data/lib/aws-sdk-core.rb +1 -0
  39. data/lib/aws-sdk-sso/client.rb +73 -48
  40. data/lib/aws-sdk-sso.rb +1 -1
  41. data/lib/aws-sdk-ssooidc/client.rb +123 -50
  42. data/lib/aws-sdk-ssooidc/client_api.rb +22 -0
  43. data/lib/aws-sdk-ssooidc/errors.rb +21 -0
  44. data/lib/aws-sdk-ssooidc/types.rb +77 -9
  45. data/lib/aws-sdk-ssooidc.rb +1 -1
  46. data/lib/aws-sdk-sts/client.rb +73 -48
  47. data/lib/aws-sdk-sts/client_api.rb +8 -8
  48. data/lib/aws-sdk-sts.rb +1 -1
  49. data/lib/seahorse/client/async_base.rb +1 -1
  50. data/lib/seahorse/client/async_response.rb +19 -0
  51. data/lib/seahorse/client/base.rb +1 -0
  52. data/lib/seahorse/client/h2/handler.rb +1 -0
  53. data/lib/seahorse/client/net_http/connection_pool.rb +1 -5
  54. data/lib/seahorse/client/plugin.rb +8 -0
  55. data/lib/seahorse/client/plugins/net_http.rb +48 -16
  56. data/lib/seahorse/model/shapes.rb +2 -2
  57. metadata +5 -2
@@ -24,6 +24,8 @@ module Aws
24
24
  if name.to_s == 'encoding' && value.to_s == 'base64'
25
25
  @frame = BlobFrame.new(name, @frame.parent, @frame.ref)
26
26
  else
27
+ # don't try to parse shapes from xml namespace
28
+ return if name.to_s == 'xmlns'
27
29
  start_element(name)
28
30
  text(value)
29
31
  end_element(name)
data/lib/aws-sdk-core.rb CHANGED
@@ -96,6 +96,7 @@ require_relative 'aws-sdk-core/client_side_monitoring/publisher'
96
96
  require_relative 'aws-sdk-core/arn'
97
97
  require_relative 'aws-sdk-core/arn_parser'
98
98
  require_relative 'aws-sdk-core/ec2_metadata'
99
+ require_relative 'aws-sdk-core/lru_cache'
99
100
 
100
101
  # dynamic endpoints
101
102
  require_relative 'aws-sdk-core/endpoints'
@@ -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)
@@ -196,10 +198,17 @@ module Aws::SSO
196
198
  # When set to 'true' the request body will not be compressed
197
199
  # for supported operations.
198
200
  #
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.
201
+ # @option options [String, URI::HTTPS, URI::HTTP] :endpoint
202
+ # Normally you should not configure the `:endpoint` option
203
+ # directly. This is normally constructed from the `:region`
204
+ # option. Configuring `:endpoint` is normally reserved for
205
+ # connecting to test or custom endpoints. The endpoint should
206
+ # be a URI formatted like:
207
+ #
208
+ # 'http://example.com'
209
+ # 'https://example.com'
210
+ # 'http://example.com:123'
211
+ #
203
212
  #
204
213
  # @option options [Integer] :endpoint_cache_max_entries (1000)
205
214
  # Used for the maximum size limit of the LRU cache storing endpoints data
@@ -292,8 +301,9 @@ module Aws::SSO
292
301
  #
293
302
  # @option options [String] :sdk_ua_app_id
294
303
  # 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.
304
+ # User-Agent header as app/sdk_ua_app_id. It should have a
305
+ # maximum length of 50. This variable is sourced from environment
306
+ # variable AWS_SDK_UA_APP_ID or the shared config profile attribute sdk_ua_app_id.
297
307
  #
298
308
  # @option options [String] :secret_access_key
299
309
  #
@@ -337,50 +347,65 @@ module Aws::SSO
337
347
  # @option options [Aws::SSO::EndpointProvider] :endpoint_provider
338
348
  # 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
349
  #
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.
350
+ # @option options [Float] :http_continue_timeout (1)
351
+ # The number of seconds to wait for a 100-continue response before sending the
352
+ # request body. This option has no effect unless the request has "Expect"
353
+ # header set to "100-continue". Defaults to `nil` which disables this
354
+ # behaviour. This value can safely be set per request on the session.
355
+ #
356
+ # @option options [Float] :http_idle_timeout (5)
357
+ # The number of seconds a connection is allowed to sit idle before it
358
+ # is considered stale. Stale connections are closed and removed from the
359
+ # pool before making a request.
360
+ #
361
+ # @option options [Float] :http_open_timeout (15)
362
+ # The default number of seconds to wait for response data.
363
+ # This value can safely be set per-request on the session.
364
+ #
365
+ # @option options [URI::HTTP,String] :http_proxy
366
+ # A proxy to send requests through. Formatted like 'http://proxy.com:123'.
367
+ #
368
+ # @option options [Float] :http_read_timeout (60)
369
+ # The default number of seconds to wait for response data.
370
+ # This value can safely be set per-request on the session.
371
+ #
372
+ # @option options [Boolean] :http_wire_trace (false)
373
+ # When `true`, HTTP debug output will be sent to the `:logger`.
374
+ #
375
+ # @option options [Proc] :on_chunk_received
376
+ # When a Proc object is provided, it will be used as callback when each chunk
377
+ # of the response body is received. It provides three arguments: the chunk,
378
+ # the number of bytes received, and the total number of
379
+ # bytes in the response (or nil if the server did not send a `content-length`).
380
+ #
381
+ # @option options [Proc] :on_chunk_sent
382
+ # When a Proc object is provided, it will be used as callback when each chunk
383
+ # of the request body is sent. It provides three arguments: the chunk,
384
+ # the number of bytes read from the body, and the total number of
385
+ # bytes in the body.
386
+ #
387
+ # @option options [Boolean] :raise_response_errors (true)
388
+ # When `true`, response errors are raised.
389
+ #
390
+ # @option options [String] :ssl_ca_bundle
391
+ # Full path to the SSL certificate authority bundle file that should be used when
392
+ # verifying peer certificates. If you do not pass `:ssl_ca_bundle` or
393
+ # `:ssl_ca_directory` the the system default will be used if available.
394
+ #
395
+ # @option options [String] :ssl_ca_directory
396
+ # Full path of the directory that contains the unbundled SSL certificate
397
+ # authority files for verifying peer certificates. If you do
398
+ # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the system
399
+ # default will be used if available.
365
400
  #
366
- # @option options [Boolean] :http_wire_trace (false) When `true`,
367
- # HTTP debug output will be sent to the `:logger`.
401
+ # @option options [String] :ssl_ca_store
402
+ # Sets the X509::Store to verify peer certificate.
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 [Float] :ssl_timeout
405
+ # Sets the SSL timeout in seconds
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.
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.
407
+ # @option options [Boolean] :ssl_verify_peer (true)
408
+ # When `true`, SSL peer certificates are verified when establishing a connection.
384
409
  #
385
410
  def initialize(*args)
386
411
  super
@@ -605,7 +630,7 @@ module Aws::SSO
605
630
  params: params,
606
631
  config: config)
607
632
  context[:gem_name] = 'aws-sdk-core'
608
- context[:gem_version] = '3.191.0'
633
+ context[:gem_version] = '3.196.0'
609
634
  Seahorse::Client::Request.new(handlers, context)
610
635
  end
611
636
 
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.191.0'
57
+ GEM_VERSION = '3.196.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)
@@ -196,10 +198,17 @@ module Aws::SSOOIDC
196
198
  # When set to 'true' the request body will not be compressed
197
199
  # for supported operations.
198
200
  #
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.
201
+ # @option options [String, URI::HTTPS, URI::HTTP] :endpoint
202
+ # Normally you should not configure the `:endpoint` option
203
+ # directly. This is normally constructed from the `:region`
204
+ # option. Configuring `:endpoint` is normally reserved for
205
+ # connecting to test or custom endpoints. The endpoint should
206
+ # be a URI formatted like:
207
+ #
208
+ # 'http://example.com'
209
+ # 'https://example.com'
210
+ # 'http://example.com:123'
211
+ #
203
212
  #
204
213
  # @option options [Integer] :endpoint_cache_max_entries (1000)
205
214
  # Used for the maximum size limit of the LRU cache storing endpoints data
@@ -292,8 +301,9 @@ module Aws::SSOOIDC
292
301
  #
293
302
  # @option options [String] :sdk_ua_app_id
294
303
  # 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.
304
+ # User-Agent header as app/sdk_ua_app_id. It should have a
305
+ # maximum length of 50. This variable is sourced from environment
306
+ # variable AWS_SDK_UA_APP_ID or the shared config profile attribute sdk_ua_app_id.
297
307
  #
298
308
  # @option options [String] :secret_access_key
299
309
  #
@@ -337,50 +347,65 @@ module Aws::SSOOIDC
337
347
  # @option options [Aws::SSOOIDC::EndpointProvider] :endpoint_provider
338
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`
339
349
  #
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.
350
+ # @option options [Float] :http_continue_timeout (1)
351
+ # The number of seconds to wait for a 100-continue response before sending the
352
+ # request body. This option has no effect unless the request has "Expect"
353
+ # header set to "100-continue". Defaults to `nil` which disables this
354
+ # behaviour. This value can safely be set per request on the session.
355
+ #
356
+ # @option options [Float] :http_idle_timeout (5)
357
+ # The number of seconds a connection is allowed to sit idle before it
358
+ # is considered stale. Stale connections are closed and removed from the
359
+ # pool before making a request.
360
+ #
361
+ # @option options [Float] :http_open_timeout (15)
362
+ # The default number of seconds to wait for response data.
363
+ # This value can safely be set per-request on the session.
364
+ #
365
+ # @option options [URI::HTTP,String] :http_proxy
366
+ # A proxy to send requests through. Formatted like 'http://proxy.com:123'.
367
+ #
368
+ # @option options [Float] :http_read_timeout (60)
369
+ # The default number of seconds to wait for response data.
370
+ # This value can safely be set per-request on the session.
371
+ #
372
+ # @option options [Boolean] :http_wire_trace (false)
373
+ # When `true`, HTTP debug output will be sent to the `:logger`.
374
+ #
375
+ # @option options [Proc] :on_chunk_received
376
+ # When a Proc object is provided, it will be used as callback when each chunk
377
+ # of the response body is received. It provides three arguments: the chunk,
378
+ # the number of bytes received, and the total number of
379
+ # bytes in the response (or nil if the server did not send a `content-length`).
380
+ #
381
+ # @option options [Proc] :on_chunk_sent
382
+ # When a Proc object is provided, it will be used as callback when each chunk
383
+ # of the request body is sent. It provides three arguments: the chunk,
384
+ # the number of bytes read from the body, and the total number of
385
+ # bytes in the body.
386
+ #
387
+ # @option options [Boolean] :raise_response_errors (true)
388
+ # When `true`, response errors are raised.
389
+ #
390
+ # @option options [String] :ssl_ca_bundle
391
+ # Full path to the SSL certificate authority bundle file that should be used when
392
+ # verifying peer certificates. If you do not pass `:ssl_ca_bundle` or
393
+ # `:ssl_ca_directory` the the system default will be used if available.
394
+ #
395
+ # @option options [String] :ssl_ca_directory
396
+ # Full path of the directory that contains the unbundled SSL certificate
397
+ # authority files for verifying peer certificates. If you do
398
+ # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the system
399
+ # default will be used if available.
365
400
  #
366
- # @option options [Boolean] :http_wire_trace (false) When `true`,
367
- # HTTP debug output will be sent to the `:logger`.
401
+ # @option options [String] :ssl_ca_store
402
+ # Sets the X509::Store to verify peer certificate.
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 [Float] :ssl_timeout
405
+ # Sets the SSL timeout in seconds
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.
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.
407
+ # @option options [Boolean] :ssl_verify_peer (true)
408
+ # When `true`, SSL peer certificates are verified when establishing a connection.
384
409
  #
385
410
  def initialize(*args)
386
411
  super
@@ -447,6 +472,11 @@ module Aws::SSOOIDC
447
472
  # This value specifies the location of the client or application that
448
473
  # has registered to receive the authorization code.
449
474
  #
475
+ # @option params [String] :code_verifier
476
+ # Used only when calling this API for the Authorization Code grant type.
477
+ # This value is generated by the client and presented to validate the
478
+ # original code challenge value the client passed at authorization time.
479
+ #
450
480
  # @return [Types::CreateTokenResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
451
481
  #
452
482
  # * {Types::CreateTokenResponse#access_token #access_token} => String
@@ -504,6 +534,7 @@ module Aws::SSOOIDC
504
534
  # refresh_token: "RefreshToken",
505
535
  # scope: ["Scope"],
506
536
  # redirect_uri: "URI",
537
+ # code_verifier: "CodeVerifier",
507
538
  # })
508
539
  #
509
540
  # @example Response structure
@@ -525,8 +556,9 @@ module Aws::SSOOIDC
525
556
 
526
557
  # Creates and returns access and refresh tokens for clients and
527
558
  # 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.
559
+ # token can be used to fetch short-term credentials for the assigned
560
+ # Amazon Web Services accounts or to access application APIs using
561
+ # `bearer` authentication.
530
562
  #
531
563
  # @option params [required, String] :client_id
532
564
  # The unique identifier string for the client or application. This value
@@ -607,6 +639,11 @@ module Aws::SSOOIDC
607
639
  #
608
640
  # * Refresh Token - `urn:ietf:params:oauth:token-type:refresh_token`
609
641
  #
642
+ # @option params [String] :code_verifier
643
+ # Used only when calling this API for the Authorization Code grant type.
644
+ # This value is generated by the client and presented to validate the
645
+ # original code challenge value the client passed at authorization time.
646
+ #
610
647
  # @return [Types::CreateTokenWithIAMResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
611
648
  #
612
649
  # * {Types::CreateTokenWithIAMResponse#access_token #access_token} => String
@@ -729,6 +766,7 @@ module Aws::SSOOIDC
729
766
  # subject_token: "SubjectToken",
730
767
  # subject_token_type: "TokenTypeURI",
731
768
  # requested_token_type: "TokenTypeURI",
769
+ # code_verifier: "CodeVerifier",
732
770
  # })
733
771
  #
734
772
  # @example Response structure
@@ -767,6 +805,28 @@ module Aws::SSOOIDC
767
805
  # this list is used to restrict permissions when granting an access
768
806
  # token.
769
807
  #
808
+ # @option params [Array<String>] :redirect_uris
809
+ # The list of redirect URI that are defined by the client. At completion
810
+ # of authorization, this list is used to restrict what locations the
811
+ # user agent can be redirected back to.
812
+ #
813
+ # @option params [Array<String>] :grant_types
814
+ # The list of OAuth 2.0 grant types that are defined by the client. This
815
+ # list is used to restrict the token granting flows available to the
816
+ # client.
817
+ #
818
+ # @option params [String] :issuer_url
819
+ # The IAM Identity Center Issuer URL associated with an instance of IAM
820
+ # Identity Center. This value is needed for user access to resources
821
+ # through the client.
822
+ #
823
+ # @option params [String] :entitled_application_arn
824
+ # This IAM Identity Center application ARN is used to define
825
+ # administrator-managed configuration for public client access to
826
+ # resources. At authorization, the scopes, grants, and redirect URI
827
+ # available to this client will be restricted by this application
828
+ # resource.
829
+ #
770
830
  # @return [Types::RegisterClientResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
771
831
  #
772
832
  # * {Types::RegisterClientResponse#client_id #client_id} => String
@@ -782,6 +842,15 @@ module Aws::SSOOIDC
782
842
  # resp = client.register_client({
783
843
  # client_name: "My IDE Plugin",
784
844
  # client_type: "public",
845
+ # entitled_application_arn: "arn:aws:sso::ACCOUNTID:application/ssoins-1111111111111111/apl-1111111111111111",
846
+ # grant_types: [
847
+ # "authorization_code",
848
+ # "refresh_token",
849
+ # ],
850
+ # issuer_url: "https://identitycenter.amazonaws.com/ssoins-1111111111111111",
851
+ # redirect_uris: [
852
+ # "127.0.0.1:PORT/oauth/callback",
853
+ # ],
785
854
  # scopes: [
786
855
  # "sso:account:access",
787
856
  # "codewhisperer:completions",
@@ -802,6 +871,10 @@ module Aws::SSOOIDC
802
871
  # client_name: "ClientName", # required
803
872
  # client_type: "ClientType", # required
804
873
  # scopes: ["Scope"],
874
+ # redirect_uris: ["URI"],
875
+ # grant_types: ["GrantType"],
876
+ # issuer_url: "URI",
877
+ # entitled_application_arn: "ArnType",
805
878
  # })
806
879
  #
807
880
  # @example Response structure
@@ -910,7 +983,7 @@ module Aws::SSOOIDC
910
983
  params: params,
911
984
  config: config)
912
985
  context[:gem_name] = 'aws-sdk-core'
913
- context[:gem_version] = '3.191.0'
986
+ context[:gem_version] = '3.196.0'
914
987
  Seahorse::Client::Request.new(handlers, context)
915
988
  end
916
989
 
@@ -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