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