aws-sdk-core 3.209.1 → 3.228.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +231 -0
- data/VERSION +1 -1
- data/lib/aws-defaults/default_configuration.rb +1 -2
- data/lib/aws-sdk-core/arn.rb +1 -3
- data/lib/aws-sdk-core/assume_role_credentials.rb +1 -0
- data/lib/aws-sdk-core/assume_role_web_identity_credentials.rb +1 -0
- data/lib/aws-sdk-core/cbor/decoder.rb +0 -2
- data/lib/aws-sdk-core/cbor/encoder.rb +2 -2
- data/lib/aws-sdk-core/cbor.rb +3 -56
- data/lib/aws-sdk-core/client_stubs.rb +29 -55
- data/lib/aws-sdk-core/credential_provider.rb +4 -0
- data/lib/aws-sdk-core/credential_provider_chain.rb +28 -8
- data/lib/aws-sdk-core/credentials.rb +6 -0
- data/lib/aws-sdk-core/ecs_credentials.rb +1 -0
- data/lib/aws-sdk-core/endpoints/matchers.rb +3 -9
- data/lib/aws-sdk-core/endpoints.rb +37 -13
- data/lib/aws-sdk-core/error_handler.rb +5 -0
- data/lib/aws-sdk-core/errors.rb +2 -2
- data/lib/aws-sdk-core/event_emitter.rb +1 -1
- data/lib/aws-sdk-core/instance_profile_credentials.rb +147 -157
- data/lib/aws-sdk-core/json/error_handler.rb +14 -3
- data/lib/aws-sdk-core/json/handler.rb +1 -0
- data/lib/aws-sdk-core/log/param_formatter.rb +7 -3
- data/lib/aws-sdk-core/plugins/checksum_algorithm.rb +332 -170
- data/lib/aws-sdk-core/plugins/client_metrics_plugin.rb +0 -1
- data/lib/aws-sdk-core/plugins/credentials_configuration.rb +85 -70
- data/lib/aws-sdk-core/plugins/endpoint_pattern.rb +40 -32
- data/lib/aws-sdk-core/plugins/http_checksum.rb +2 -8
- data/lib/aws-sdk-core/plugins/regional_endpoint.rb +44 -25
- data/lib/aws-sdk-core/plugins/sign.rb +30 -21
- data/lib/aws-sdk-core/plugins/stub_responses.rb +30 -8
- data/lib/aws-sdk-core/plugins/user_agent.rb +33 -2
- data/lib/aws-sdk-core/process_credentials.rb +1 -1
- data/lib/aws-sdk-core/rest/request/headers.rb +3 -3
- data/lib/aws-sdk-core/rpc_v2/builder.rb +1 -1
- data/lib/aws-sdk-core/{cbor → rpc_v2}/cbor_engine.rb +4 -5
- data/lib/aws-sdk-core/rpc_v2/content_type_handler.rb +3 -1
- data/lib/aws-sdk-core/rpc_v2/error_handler.rb +27 -16
- data/lib/aws-sdk-core/rpc_v2/handler.rb +2 -1
- data/lib/aws-sdk-core/rpc_v2/parser.rb +9 -1
- data/lib/aws-sdk-core/rpc_v2.rb +65 -2
- data/lib/aws-sdk-core/shared_config.rb +75 -21
- data/lib/aws-sdk-core/shared_credentials.rb +1 -0
- data/lib/aws-sdk-core/sso_credentials.rb +2 -0
- data/lib/aws-sdk-core/static_token_provider.rb +1 -2
- data/lib/aws-sdk-core/stubbing/protocols/ec2.rb +12 -11
- data/lib/aws-sdk-core/stubbing/protocols/json.rb +11 -10
- data/lib/aws-sdk-core/stubbing/protocols/query.rb +7 -6
- data/lib/aws-sdk-core/stubbing/protocols/rest.rb +2 -1
- data/lib/aws-sdk-core/stubbing/protocols/rest_json.rb +9 -8
- data/lib/aws-sdk-core/stubbing/protocols/rest_xml.rb +6 -5
- data/lib/aws-sdk-core/stubbing/protocols/rpc_v2.rb +13 -15
- data/lib/aws-sdk-core/stubbing.rb +2 -2
- data/lib/aws-sdk-core/token.rb +3 -3
- data/lib/aws-sdk-core/token_provider.rb +4 -0
- data/lib/aws-sdk-core/token_provider_chain.rb +2 -6
- data/lib/aws-sdk-core/util.rb +2 -1
- data/lib/aws-sdk-core/xml/error_handler.rb +3 -1
- data/lib/aws-sdk-sso/client.rb +71 -39
- data/lib/aws-sdk-sso/endpoint_parameters.rb +9 -6
- data/lib/aws-sdk-sso/endpoint_provider.rb +14 -18
- data/lib/aws-sdk-sso/endpoints.rb +2 -42
- data/lib/aws-sdk-sso/plugins/endpoints.rb +1 -14
- data/lib/aws-sdk-sso.rb +1 -1
- data/lib/aws-sdk-ssooidc/client.rb +108 -59
- data/lib/aws-sdk-ssooidc/client_api.rb +6 -0
- data/lib/aws-sdk-ssooidc/endpoint_parameters.rb +9 -6
- data/lib/aws-sdk-ssooidc/endpoint_provider.rb +14 -18
- data/lib/aws-sdk-ssooidc/endpoints.rb +2 -42
- data/lib/aws-sdk-ssooidc/plugins/endpoints.rb +1 -14
- data/lib/aws-sdk-ssooidc/types.rb +48 -16
- data/lib/aws-sdk-ssooidc.rb +1 -1
- data/lib/aws-sdk-sts/client.rb +279 -91
- data/lib/aws-sdk-sts/client_api.rb +33 -8
- data/lib/aws-sdk-sts/endpoint_parameters.rb +10 -9
- data/lib/aws-sdk-sts/endpoint_provider.rb +50 -55
- data/lib/aws-sdk-sts/endpoints.rb +2 -94
- data/lib/aws-sdk-sts/errors.rb +15 -0
- data/lib/aws-sdk-sts/plugins/endpoints.rb +1 -22
- data/lib/aws-sdk-sts/presigner.rb +2 -6
- data/lib/aws-sdk-sts/types.rb +170 -28
- data/lib/aws-sdk-sts.rb +1 -1
- data/lib/seahorse/client/async_base.rb +4 -5
- data/lib/seahorse/client/base.rb +0 -14
- data/lib/seahorse/client/h2/connection.rb +18 -28
- data/lib/seahorse/client/http/response.rb +1 -1
- data/lib/seahorse/client/net_http/connection_pool.rb +4 -1
- data/lib/seahorse/client/networking_error.rb +1 -1
- data/lib/seahorse/client/plugins/h2.rb +4 -4
- data/lib/seahorse/client/request_context.rb +2 -2
- data/lib/seahorse/client/response.rb +2 -0
- data/lib/seahorse/util.rb +2 -1
- data/sig/aws-sdk-core/async_client_stubs.rbs +21 -0
- data/sig/seahorse/client/async_base.rbs +18 -0
- metadata +57 -17
@@ -3,6 +3,7 @@
|
|
3
3
|
module Aws
|
4
4
|
module Stubbing
|
5
5
|
module Protocols
|
6
|
+
# @api private
|
6
7
|
class RestXml < Rest
|
7
8
|
|
8
9
|
def body_for(api, operation, rules, data)
|
@@ -10,7 +11,7 @@ module Aws
|
|
10
11
|
encode_eventstream_response(rules, data, Xml::Builder)
|
11
12
|
else
|
12
13
|
xml = []
|
13
|
-
rules.location_name = operation.name
|
14
|
+
rules.location_name = "#{operation.name}Result"
|
14
15
|
rules['xmlNamespace'] = { 'uri' => api.metadata['xmlNamespace'] }
|
15
16
|
Xml::Builder.new(rules, target:xml).to_xml(data)
|
16
17
|
xml.join
|
@@ -18,10 +19,10 @@ module Aws
|
|
18
19
|
end
|
19
20
|
|
20
21
|
def stub_error(error_code)
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
22
|
+
resp = Seahorse::Client::Http::Response.new
|
23
|
+
resp.status_code = 400
|
24
|
+
resp.body = XmlError.new(error_code).to_xml
|
25
|
+
resp
|
25
26
|
end
|
26
27
|
|
27
28
|
def xmlns(api)
|
@@ -3,35 +3,33 @@
|
|
3
3
|
module Aws
|
4
4
|
module Stubbing
|
5
5
|
module Protocols
|
6
|
+
# @api private
|
6
7
|
class RpcV2
|
7
8
|
|
8
|
-
def stub_data(
|
9
|
+
def stub_data(_api, operation, data)
|
9
10
|
resp = Seahorse::Client::Http::Response.new
|
10
11
|
resp.status_code = 200
|
11
|
-
resp.headers['
|
12
|
+
resp.headers['Smithy-Protocol'] = 'rpc-v2-cbor'
|
13
|
+
resp.headers['Content-Type'] = 'application/cbor'
|
12
14
|
resp.headers['x-amzn-RequestId'] = 'stubbed-request-id'
|
13
15
|
resp.body = build_body(operation, data)
|
14
16
|
resp
|
15
17
|
end
|
16
18
|
|
17
19
|
def stub_error(error_code)
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
{
|
22
|
-
|
23
|
-
|
24
|
-
}
|
25
|
-
|
26
|
-
|
20
|
+
resp = Seahorse::Client::Http::Response.new
|
21
|
+
resp.status_code = 400
|
22
|
+
resp.body = Aws::RpcV2.encode(
|
23
|
+
{
|
24
|
+
'code' => error_code,
|
25
|
+
'message' => 'stubbed-response-error-message'
|
26
|
+
}
|
27
|
+
)
|
28
|
+
resp
|
27
29
|
end
|
28
30
|
|
29
31
|
private
|
30
32
|
|
31
|
-
def content_type(api)
|
32
|
-
'application/cbor'
|
33
|
-
end
|
34
|
-
|
35
33
|
def build_body(operation, data)
|
36
34
|
Aws::RpcV2::Builder.new(operation.output).serialize(data)
|
37
35
|
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
module Aws
|
4
|
-
#
|
4
|
+
# @api private
|
5
5
|
module Stubbing
|
6
6
|
autoload :EmptyStub, 'aws-sdk-core/stubbing/empty_stub'
|
7
7
|
autoload :DataApplicator, 'aws-sdk-core/stubbing/data_applicator'
|
@@ -19,4 +19,4 @@ module Aws
|
|
19
19
|
autoload :ApiGateway, 'aws-sdk-core/stubbing/protocols/api_gateway'
|
20
20
|
end
|
21
21
|
end
|
22
|
-
end
|
22
|
+
end
|
data/lib/aws-sdk-core/token.rb
CHANGED
@@ -3,9 +3,9 @@
|
|
3
3
|
module Aws
|
4
4
|
class Token
|
5
5
|
|
6
|
-
# @param [String] token
|
7
|
-
# @param [Time] expiration
|
8
|
-
def initialize(token, expiration=nil)
|
6
|
+
# @param [String, nil] token
|
7
|
+
# @param [Time, nil] expiration
|
8
|
+
def initialize(token, expiration = nil)
|
9
9
|
@token = token
|
10
10
|
@expiration = expiration
|
11
11
|
end
|
@@ -27,17 +27,13 @@ module Aws
|
|
27
27
|
|
28
28
|
def static_profile_sso_token(options)
|
29
29
|
if Aws.shared_config.config_enabled? && options[:config] && options[:config].profile
|
30
|
-
Aws.shared_config.sso_token_from_config(
|
31
|
-
profile: options[:config].profile
|
32
|
-
)
|
30
|
+
Aws.shared_config.sso_token_from_config(profile: options[:config].profile)
|
33
31
|
end
|
34
32
|
end
|
35
33
|
|
36
|
-
|
37
34
|
def sso_token(options)
|
38
|
-
profile_name = determine_profile_name(options)
|
39
35
|
if Aws.shared_config.config_enabled?
|
40
|
-
Aws.shared_config.sso_token_from_config(profile:
|
36
|
+
Aws.shared_config.sso_token_from_config(profile: determine_profile_name(options))
|
41
37
|
end
|
42
38
|
rescue Errors::NoSuchProfileError
|
43
39
|
nil
|
data/lib/aws-sdk-core/util.rb
CHANGED
data/lib/aws-sdk-sso/client.rb
CHANGED
@@ -7,34 +7,34 @@
|
|
7
7
|
#
|
8
8
|
# WARNING ABOUT GENERATED CODE
|
9
9
|
|
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
|
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::SSO
|
40
40
|
# An API client for SSO. To construct a client, you need to configure a `:region` and `:credentials`.
|
@@ -95,7 +95,7 @@ module Aws::SSO
|
|
95
95
|
# class name or an instance of a plugin class.
|
96
96
|
#
|
97
97
|
# @option options [required, Aws::CredentialProvider] :credentials
|
98
|
-
# Your AWS credentials. This can be an instance of any one of the
|
98
|
+
# Your AWS credentials used for authentication. This can be an instance of any one of the
|
99
99
|
# following classes:
|
100
100
|
#
|
101
101
|
# * `Aws::Credentials` - Used for configuring static, non-refreshing
|
@@ -128,18 +128,23 @@ module Aws::SSO
|
|
128
128
|
# locations will be searched for credentials:
|
129
129
|
#
|
130
130
|
# * `Aws.config[:credentials]`
|
131
|
+
#
|
131
132
|
# * The `:access_key_id`, `:secret_access_key`, `:session_token`, and
|
132
133
|
# `:account_id` options.
|
133
|
-
#
|
134
|
-
#
|
134
|
+
#
|
135
|
+
# * `ENV['AWS_ACCESS_KEY_ID']`, `ENV['AWS_SECRET_ACCESS_KEY']`,
|
136
|
+
# `ENV['AWS_SESSION_TOKEN']`, and `ENV['AWS_ACCOUNT_ID']`.
|
137
|
+
#
|
135
138
|
# * `~/.aws/credentials`
|
139
|
+
#
|
136
140
|
# * `~/.aws/config`
|
141
|
+
#
|
137
142
|
# * EC2/ECS IMDS instance profile - When used by default, the timeouts
|
138
143
|
# are very aggressive. Construct and pass an instance of
|
139
144
|
# `Aws::InstanceProfileCredentials` or `Aws::ECSCredentials` to
|
140
145
|
# enable retries and extended timeouts. Instance profile credential
|
141
|
-
# fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
|
142
|
-
# to true
|
146
|
+
# fetching can be disabled by setting `ENV['AWS_EC2_METADATA_DISABLED']`
|
147
|
+
# to `true`.
|
143
148
|
#
|
144
149
|
# @option options [required, String] :region
|
145
150
|
# The AWS region to connect to. The configured `:region` is
|
@@ -167,6 +172,11 @@ module Aws::SSO
|
|
167
172
|
# When false, the request will raise a `RetryCapacityNotAvailableError` and will
|
168
173
|
# not retry instead of sleeping.
|
169
174
|
#
|
175
|
+
# @option options [Array<String>] :auth_scheme_preference
|
176
|
+
# A list of preferred authentication schemes to use when making a request. Supported values are:
|
177
|
+
# `sigv4`, `sigv4a`, `httpBearerAuth`, and `noAuth`. When set using `ENV['AWS_AUTH_SCHEME_PREFERENCE']` or in
|
178
|
+
# shared config as `auth_scheme_preference`, the value should be a comma-separated list.
|
179
|
+
#
|
170
180
|
# @option options [Boolean] :client_side_monitoring (false)
|
171
181
|
# When `true`, client-side metrics will be collected for all API requests from
|
172
182
|
# this client.
|
@@ -200,8 +210,7 @@ module Aws::SSO
|
|
200
210
|
# accepted modes and the configuration defaults that are included.
|
201
211
|
#
|
202
212
|
# @option options [Boolean] :disable_host_prefix_injection (false)
|
203
|
-
#
|
204
|
-
# to default service endpoint when available.
|
213
|
+
# When `true`, the SDK will not prepend the modeled host prefix to the endpoint.
|
205
214
|
#
|
206
215
|
# @option options [Boolean] :disable_request_compression (false)
|
207
216
|
# When set to 'true' the request body will not be compressed
|
@@ -254,14 +263,37 @@ module Aws::SSO
|
|
254
263
|
# 4 times. Used in `standard` and `adaptive` retry modes.
|
255
264
|
#
|
256
265
|
# @option options [String] :profile ("default")
|
257
|
-
# Used when loading credentials from the shared credentials file
|
258
|
-
#
|
266
|
+
# Used when loading credentials from the shared credentials file at `HOME/.aws/credentials`.
|
267
|
+
# When not specified, 'default' is used.
|
268
|
+
#
|
269
|
+
# @option options [String] :request_checksum_calculation ("when_supported")
|
270
|
+
# Determines when a checksum will be calculated for request payloads. Values are:
|
271
|
+
#
|
272
|
+
# * `when_supported` - (default) When set, a checksum will be
|
273
|
+
# calculated for all request payloads of operations modeled with the
|
274
|
+
# `httpChecksum` trait where `requestChecksumRequired` is `true` and/or a
|
275
|
+
# `requestAlgorithmMember` is modeled.
|
276
|
+
# * `when_required` - When set, a checksum will only be calculated for
|
277
|
+
# request payloads of operations modeled with the `httpChecksum` trait where
|
278
|
+
# `requestChecksumRequired` is `true` or where a `requestAlgorithmMember`
|
279
|
+
# is modeled and supplied.
|
259
280
|
#
|
260
281
|
# @option options [Integer] :request_min_compression_size_bytes (10240)
|
261
282
|
# The minimum size in bytes that triggers compression for request
|
262
283
|
# bodies. The value must be non-negative integer value between 0
|
263
284
|
# and 10485780 bytes inclusive.
|
264
285
|
#
|
286
|
+
# @option options [String] :response_checksum_validation ("when_supported")
|
287
|
+
# Determines when checksum validation will be performed on response payloads. Values are:
|
288
|
+
#
|
289
|
+
# * `when_supported` - (default) When set, checksum validation is performed on all
|
290
|
+
# response payloads of operations modeled with the `httpChecksum` trait where
|
291
|
+
# `responseAlgorithms` is modeled, except when no modeled checksum algorithms
|
292
|
+
# are supported.
|
293
|
+
# * `when_required` - When set, checksum validation is not performed on
|
294
|
+
# response payloads of operations unless the checksum algorithm is supported and
|
295
|
+
# the `requestValidationModeMember` member is set to `ENABLED`.
|
296
|
+
#
|
265
297
|
# @option options [Proc] :retry_backoff
|
266
298
|
# A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
|
267
299
|
# This option is only used in the `legacy` retry mode.
|
@@ -345,7 +377,7 @@ module Aws::SSO
|
|
345
377
|
# `Aws::Telemetry::OTelProvider` for telemetry provider.
|
346
378
|
#
|
347
379
|
# @option options [Aws::TokenProvider] :token_provider
|
348
|
-
#
|
380
|
+
# Your Bearer token used for authentication. This can be an instance of any one of the
|
349
381
|
# following classes:
|
350
382
|
#
|
351
383
|
# * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
|
@@ -669,7 +701,7 @@ module Aws::SSO
|
|
669
701
|
tracer: tracer
|
670
702
|
)
|
671
703
|
context[:gem_name] = 'aws-sdk-core'
|
672
|
-
context[:gem_version] = '3.
|
704
|
+
context[:gem_version] = '3.228.0'
|
673
705
|
Seahorse::Client::Request.new(handlers, context)
|
674
706
|
end
|
675
707
|
|
@@ -52,15 +52,18 @@ module Aws::SSO
|
|
52
52
|
self[:region] = options[:region]
|
53
53
|
self[:use_dual_stack] = options[:use_dual_stack]
|
54
54
|
self[:use_dual_stack] = false if self[:use_dual_stack].nil?
|
55
|
-
if self[:use_dual_stack].nil?
|
56
|
-
raise ArgumentError, "Missing required EndpointParameter: :use_dual_stack"
|
57
|
-
end
|
58
55
|
self[:use_fips] = options[:use_fips]
|
59
56
|
self[:use_fips] = false if self[:use_fips].nil?
|
60
|
-
if self[:use_fips].nil?
|
61
|
-
raise ArgumentError, "Missing required EndpointParameter: :use_fips"
|
62
|
-
end
|
63
57
|
self[:endpoint] = options[:endpoint]
|
64
58
|
end
|
59
|
+
|
60
|
+
def self.create(config, options={})
|
61
|
+
new({
|
62
|
+
region: config.region,
|
63
|
+
use_dual_stack: config.use_dualstack_endpoint,
|
64
|
+
use_fips: config.use_fips_endpoint,
|
65
|
+
endpoint: (config.endpoint.to_s unless config.regional_endpoint),
|
66
|
+
}.merge(options))
|
67
|
+
end
|
65
68
|
end
|
66
69
|
end
|
@@ -10,43 +10,39 @@
|
|
10
10
|
module Aws::SSO
|
11
11
|
class EndpointProvider
|
12
12
|
def resolve_endpoint(parameters)
|
13
|
-
|
14
|
-
|
15
|
-
use_fips = parameters.use_fips
|
16
|
-
endpoint = parameters.endpoint
|
17
|
-
if Aws::Endpoints::Matchers.set?(endpoint)
|
18
|
-
if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
|
13
|
+
if Aws::Endpoints::Matchers.set?(parameters.endpoint)
|
14
|
+
if Aws::Endpoints::Matchers.boolean_equals?(parameters.use_fips, true)
|
19
15
|
raise ArgumentError, "Invalid Configuration: FIPS and custom endpoint are not supported"
|
20
16
|
end
|
21
|
-
if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
|
17
|
+
if Aws::Endpoints::Matchers.boolean_equals?(parameters.use_dual_stack, true)
|
22
18
|
raise ArgumentError, "Invalid Configuration: Dualstack and custom endpoint are not supported"
|
23
19
|
end
|
24
|
-
return Aws::Endpoints::Endpoint.new(url: endpoint, headers: {}, properties: {})
|
20
|
+
return Aws::Endpoints::Endpoint.new(url: parameters.endpoint, headers: {}, properties: {})
|
25
21
|
end
|
26
|
-
if Aws::Endpoints::Matchers.set?(region)
|
27
|
-
if (partition_result = Aws::Endpoints::Matchers.aws_partition(region))
|
28
|
-
if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true) && Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
|
22
|
+
if Aws::Endpoints::Matchers.set?(parameters.region)
|
23
|
+
if (partition_result = Aws::Endpoints::Matchers.aws_partition(parameters.region))
|
24
|
+
if Aws::Endpoints::Matchers.boolean_equals?(parameters.use_fips, true) && Aws::Endpoints::Matchers.boolean_equals?(parameters.use_dual_stack, true)
|
29
25
|
if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS")) && Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
|
30
|
-
return Aws::Endpoints::Endpoint.new(url: "https://portal.sso-fips.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
|
26
|
+
return Aws::Endpoints::Endpoint.new(url: "https://portal.sso-fips.#{parameters.region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
|
31
27
|
end
|
32
28
|
raise ArgumentError, "FIPS and DualStack are enabled, but this partition does not support one or both"
|
33
29
|
end
|
34
|
-
if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
|
30
|
+
if Aws::Endpoints::Matchers.boolean_equals?(parameters.use_fips, true)
|
35
31
|
if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"))
|
36
32
|
if Aws::Endpoints::Matchers.string_equals?("aws-us-gov", Aws::Endpoints::Matchers.attr(partition_result, "name"))
|
37
|
-
return Aws::Endpoints::Endpoint.new(url: "https://portal.sso.#{region}.amazonaws.com", headers: {}, properties: {})
|
33
|
+
return Aws::Endpoints::Endpoint.new(url: "https://portal.sso.#{parameters.region}.amazonaws.com", headers: {}, properties: {})
|
38
34
|
end
|
39
|
-
return Aws::Endpoints::Endpoint.new(url: "https://portal.sso-fips.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
|
35
|
+
return Aws::Endpoints::Endpoint.new(url: "https://portal.sso-fips.#{parameters.region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
|
40
36
|
end
|
41
37
|
raise ArgumentError, "FIPS is enabled but this partition does not support FIPS"
|
42
38
|
end
|
43
|
-
if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
|
39
|
+
if Aws::Endpoints::Matchers.boolean_equals?(parameters.use_dual_stack, true)
|
44
40
|
if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
|
45
|
-
return Aws::Endpoints::Endpoint.new(url: "https://portal.sso.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
|
41
|
+
return Aws::Endpoints::Endpoint.new(url: "https://portal.sso.#{parameters.region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
|
46
42
|
end
|
47
43
|
raise ArgumentError, "DualStack is enabled but this partition does not support DualStack"
|
48
44
|
end
|
49
|
-
return Aws::Endpoints::Endpoint.new(url: "https://portal.sso.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
|
45
|
+
return Aws::Endpoints::Endpoint.new(url: "https://portal.sso.#{parameters.region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
|
50
46
|
end
|
51
47
|
end
|
52
48
|
raise ArgumentError, "Invalid Configuration: Missing Region"
|
@@ -12,49 +12,9 @@ module Aws::SSO
|
|
12
12
|
# @api private
|
13
13
|
module Endpoints
|
14
14
|
|
15
|
-
class GetRoleCredentials
|
16
|
-
def self.build(context)
|
17
|
-
Aws::SSO::EndpointParameters.new(
|
18
|
-
region: context.config.region,
|
19
|
-
use_dual_stack: context.config.use_dualstack_endpoint,
|
20
|
-
use_fips: context.config.use_fips_endpoint,
|
21
|
-
endpoint: context.config.regional_endpoint ? nil : context.config.endpoint.to_s,
|
22
|
-
)
|
23
|
-
end
|
24
|
-
end
|
25
|
-
|
26
|
-
class ListAccountRoles
|
27
|
-
def self.build(context)
|
28
|
-
Aws::SSO::EndpointParameters.new(
|
29
|
-
region: context.config.region,
|
30
|
-
use_dual_stack: context.config.use_dualstack_endpoint,
|
31
|
-
use_fips: context.config.use_fips_endpoint,
|
32
|
-
endpoint: context.config.regional_endpoint ? nil : context.config.endpoint.to_s,
|
33
|
-
)
|
34
|
-
end
|
35
|
-
end
|
36
15
|
|
37
|
-
|
38
|
-
|
39
|
-
Aws::SSO::EndpointParameters.new(
|
40
|
-
region: context.config.region,
|
41
|
-
use_dual_stack: context.config.use_dualstack_endpoint,
|
42
|
-
use_fips: context.config.use_fips_endpoint,
|
43
|
-
endpoint: context.config.regional_endpoint ? nil : context.config.endpoint.to_s,
|
44
|
-
)
|
45
|
-
end
|
16
|
+
def self.parameters_for_operation(context)
|
17
|
+
Aws::SSO::EndpointParameters.create(context.config)
|
46
18
|
end
|
47
|
-
|
48
|
-
class Logout
|
49
|
-
def self.build(context)
|
50
|
-
Aws::SSO::EndpointParameters.new(
|
51
|
-
region: context.config.region,
|
52
|
-
use_dual_stack: context.config.use_dualstack_endpoint,
|
53
|
-
use_fips: context.config.use_fips_endpoint,
|
54
|
-
endpoint: context.config.regional_endpoint ? nil : context.config.endpoint.to_s,
|
55
|
-
)
|
56
|
-
end
|
57
|
-
end
|
58
|
-
|
59
19
|
end
|
60
20
|
end
|
@@ -27,7 +27,7 @@ The endpoint provider used to resolve endpoints. Any object that responds to
|
|
27
27
|
class Handler < Seahorse::Client::Handler
|
28
28
|
def call(context)
|
29
29
|
unless context[:discovered_endpoint]
|
30
|
-
params = parameters_for_operation(context)
|
30
|
+
params = Aws::SSO::Endpoints.parameters_for_operation(context)
|
31
31
|
endpoint = context.config.endpoint_provider.resolve_endpoint(params)
|
32
32
|
|
33
33
|
context.http_request.endpoint = endpoint.url
|
@@ -67,19 +67,6 @@ The endpoint provider used to resolve endpoints. Any object that responds to
|
|
67
67
|
context.http_request.headers[key] = value
|
68
68
|
end
|
69
69
|
end
|
70
|
-
|
71
|
-
def parameters_for_operation(context)
|
72
|
-
case context.operation_name
|
73
|
-
when :get_role_credentials
|
74
|
-
Aws::SSO::Endpoints::GetRoleCredentials.build(context)
|
75
|
-
when :list_account_roles
|
76
|
-
Aws::SSO::Endpoints::ListAccountRoles.build(context)
|
77
|
-
when :list_accounts
|
78
|
-
Aws::SSO::Endpoints::ListAccounts.build(context)
|
79
|
-
when :logout
|
80
|
-
Aws::SSO::Endpoints::Logout.build(context)
|
81
|
-
end
|
82
|
-
end
|
83
70
|
end
|
84
71
|
|
85
72
|
def add_handlers(handlers, _config)
|