aws-sdk-core 3.192.1 → 3.197.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (35) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +61 -0
  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/event_emitter.rb +0 -16
  7. data/lib/aws-sdk-core/lru_cache.rb +75 -0
  8. data/lib/aws-sdk-core/pageable_response.rb +1 -1
  9. data/lib/aws-sdk-core/plugins/client_metrics_send_plugin.rb +14 -2
  10. data/lib/aws-sdk-core/plugins/invocation_id.rb +1 -11
  11. data/lib/aws-sdk-core/plugins/request_compression.rb +10 -1
  12. data/lib/aws-sdk-core/plugins/retry_errors.rb +10 -2
  13. data/lib/aws-sdk-core/plugins/sign.rb +8 -3
  14. data/lib/aws-sdk-core/plugins/user_agent.rb +61 -26
  15. data/lib/aws-sdk-core/query/ec2_param_builder.rb +5 -7
  16. data/lib/aws-sdk-core/rest/request/content_type.rb +13 -4
  17. data/lib/aws-sdk-core/util.rb +4 -4
  18. data/lib/aws-sdk-core/waiters/poller.rb +1 -1
  19. data/lib/aws-sdk-core.rb +1 -0
  20. data/lib/aws-sdk-sso/client.rb +73 -48
  21. data/lib/aws-sdk-sso.rb +1 -1
  22. data/lib/aws-sdk-ssooidc/client.rb +123 -50
  23. data/lib/aws-sdk-ssooidc/client_api.rb +22 -0
  24. data/lib/aws-sdk-ssooidc/errors.rb +21 -0
  25. data/lib/aws-sdk-ssooidc/types.rb +77 -9
  26. data/lib/aws-sdk-ssooidc.rb +1 -1
  27. data/lib/aws-sdk-sts/client.rb +73 -48
  28. data/lib/aws-sdk-sts.rb +1 -1
  29. data/lib/seahorse/client/async_base.rb +1 -1
  30. data/lib/seahorse/client/async_response.rb +19 -0
  31. data/lib/seahorse/client/base.rb +1 -0
  32. data/lib/seahorse/client/h2/handler.rb +1 -0
  33. data/lib/seahorse/client/net_http/connection_pool.rb +3 -9
  34. data/lib/seahorse/client/plugins/net_http.rb +48 -16
  35. metadata +3 -2
@@ -90,16 +90,16 @@ module Aws
90
90
  end
91
91
  end
92
92
 
93
- # @param [String, Integer] value
93
+ # @param [String] value
94
94
  # @return [Time]
95
95
  def deserialize_time(value)
96
96
  case value
97
97
  when nil then nil
98
- when /^\d+$/ then Time.at(value.to_i)
98
+ when /^[\d.]+$/ then Time.at(value.to_f).utc
99
99
  else
100
100
  begin
101
- fractional_time = Time.parse(value).utc.to_f
102
- Time.at(fractional_time)
101
+ fractional_time = Time.parse(value).to_f
102
+ Time.at(fractional_time).utc
103
103
  rescue ArgumentError
104
104
  raise "unhandled timestamp format `#{value}'"
105
105
  end
@@ -62,7 +62,7 @@ module Aws
62
62
  def send_request(options)
63
63
  req = options[:client].build_request(@operation_name, options[:params])
64
64
  req.handlers.remove(RAISE_HANDLER)
65
- Aws::Plugins::UserAgent.feature('waiter') do
65
+ Aws::Plugins::UserAgent.metric('WAITER') do
66
66
  req.send_request
67
67
  end
68
68
  end
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.192.1'
633
+ context[:gem_version] = '3.197.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.192.1'
57
+ GEM_VERSION = '3.197.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.192.1'
986
+ context[:gem_version] = '3.197.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