aws-sdk-core 3.226.2 → 3.232.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 +53 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-core/credential_provider_chain.rb +1 -1
- data/lib/aws-sdk-core/endpoints.rb +37 -13
- data/lib/aws-sdk-core/instance_profile_credentials.rb +146 -157
- data/lib/aws-sdk-core/plugins/credentials_configuration.rb +75 -59
- data/lib/aws-sdk-core/plugins/sign.rb +23 -28
- data/lib/aws-sdk-core/plugins/stub_responses.rb +6 -0
- data/lib/aws-sdk-core/plugins/user_agent.rb +2 -1
- data/lib/aws-sdk-core/shared_config.rb +10 -0
- data/lib/aws-sdk-core/static_token_provider.rb +1 -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-sso/client.rb +24 -17
- data/lib/aws-sdk-sso/endpoint_provider.rb +2 -2
- data/lib/aws-sdk-sso.rb +1 -1
- data/lib/aws-sdk-ssooidc/client.rb +24 -17
- data/lib/aws-sdk-ssooidc.rb +1 -1
- data/lib/aws-sdk-sts/client.rb +24 -17
- data/lib/aws-sdk-sts/presigner.rb +2 -6
- data/lib/aws-sdk-sts.rb +1 -1
- data/lib/seahorse/client/request_context.rb +2 -2
- metadata +15 -1
@@ -14,64 +14,68 @@ module Aws
|
|
14
14
|
|
15
15
|
option(:account_id, doc_type: String, docstring: '')
|
16
16
|
|
17
|
-
option(
|
17
|
+
option(
|
18
|
+
:profile,
|
18
19
|
doc_default: 'default',
|
19
20
|
doc_type: String,
|
20
|
-
docstring:
|
21
|
-
Used when loading credentials from the shared credentials file
|
22
|
-
|
21
|
+
docstring: <<~DOCS)
|
22
|
+
Used when loading credentials from the shared credentials file at `HOME/.aws/credentials`.
|
23
|
+
When not specified, 'default' is used.
|
23
24
|
DOCS
|
24
25
|
|
25
|
-
option(
|
26
|
+
option(
|
27
|
+
:credentials,
|
26
28
|
required: true,
|
27
29
|
doc_type: 'Aws::CredentialProvider',
|
28
30
|
rbs_type: 'untyped',
|
29
|
-
docstring:
|
30
|
-
Your AWS credentials. This can be
|
31
|
-
following classes:
|
31
|
+
docstring: <<~DOCS
|
32
|
+
Your AWS credentials used for authentication. This can be any class that includes and implements
|
33
|
+
`Aws::CredentialProvider`, or instance of any one of the following classes:
|
32
34
|
|
33
|
-
* `Aws::Credentials` - Used for configuring static, non-refreshing
|
34
|
-
|
35
|
+
* `Aws::Credentials` - Used for configuring static, non-refreshing
|
36
|
+
credentials.
|
35
37
|
|
36
|
-
* `Aws::SharedCredentials` - Used for loading static credentials from a
|
37
|
-
|
38
|
+
* `Aws::SharedCredentials` - Used for loading static credentials from a
|
39
|
+
shared file, such as `~/.aws/config`.
|
38
40
|
|
39
|
-
* `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
|
41
|
+
* `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
|
40
42
|
|
41
|
-
* `Aws::AssumeRoleWebIdentityCredentials` - Used when you need to
|
42
|
-
|
43
|
+
* `Aws::AssumeRoleWebIdentityCredentials` - Used when you need to
|
44
|
+
assume a role after providing credentials via the web.
|
43
45
|
|
44
|
-
* `Aws::SSOCredentials` - Used for loading credentials from AWS SSO using an
|
45
|
-
|
46
|
+
* `Aws::SSOCredentials` - Used for loading credentials from AWS SSO using an
|
47
|
+
access token generated from `aws login`.
|
46
48
|
|
47
|
-
* `Aws::ProcessCredentials` - Used for loading credentials from a
|
48
|
-
|
49
|
+
* `Aws::ProcessCredentials` - Used for loading credentials from a
|
50
|
+
process that outputs to stdout.
|
49
51
|
|
50
|
-
* `Aws::InstanceProfileCredentials` - Used for loading credentials
|
51
|
-
|
52
|
+
* `Aws::InstanceProfileCredentials` - Used for loading credentials
|
53
|
+
from an EC2 IMDS on an EC2 instance.
|
52
54
|
|
53
|
-
* `Aws::ECSCredentials` - Used for loading credentials from
|
54
|
-
|
55
|
+
* `Aws::ECSCredentials` - Used for loading credentials from
|
56
|
+
instances running in ECS.
|
55
57
|
|
56
|
-
* `Aws::CognitoIdentityCredentials` - Used for loading credentials
|
57
|
-
|
58
|
+
* `Aws::CognitoIdentityCredentials` - Used for loading credentials
|
59
|
+
from the Cognito Identity service.
|
58
60
|
|
59
|
-
When `:credentials` are not configured directly, the following
|
60
|
-
locations will be searched for credentials:
|
61
|
+
When `:credentials` are not configured directly, the following locations will be searched for credentials:
|
61
62
|
|
62
|
-
* `Aws.config[:credentials]`
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
*
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
63
|
+
* `Aws.config[:credentials]`
|
64
|
+
|
65
|
+
* The `:access_key_id`, `:secret_access_key`, `:session_token`, and
|
66
|
+
`:account_id` options.
|
67
|
+
|
68
|
+
* `ENV['AWS_ACCESS_KEY_ID']`, `ENV['AWS_SECRET_ACCESS_KEY']`,
|
69
|
+
`ENV['AWS_SESSION_TOKEN']`, and `ENV['AWS_ACCOUNT_ID']`.
|
70
|
+
|
71
|
+
* `~/.aws/credentials`
|
72
|
+
|
73
|
+
* `~/.aws/config`
|
74
|
+
|
75
|
+
* EC2/ECS IMDS instance profile - When used by default, the timeouts are very aggressive.
|
76
|
+
Construct and pass an instance of `Aws::InstanceProfileCredentials` or `Aws::ECSCredentials` to
|
77
|
+
enable retries and extended timeouts. Instance profile credential fetching can be disabled by
|
78
|
+
setting `ENV['AWS_EC2_METADATA_DISABLED']` to `true`.
|
75
79
|
DOCS
|
76
80
|
) do |config|
|
77
81
|
CredentialProviderChain.new(config).resolve
|
@@ -81,31 +85,43 @@ locations will be searched for credentials:
|
|
81
85
|
|
82
86
|
option(:instance_profile_credentials_timeout, 1)
|
83
87
|
|
84
|
-
option(
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
following classes:
|
88
|
+
option(
|
89
|
+
:token_provider,
|
90
|
+
doc_type: 'Aws::TokenProvider',
|
91
|
+
rbs_type: 'untyped',
|
92
|
+
docstring: <<~DOCS
|
93
|
+
Your Bearer token used for authentication. This can be any class that includes and implements
|
94
|
+
`Aws::TokenProvider`, or instance of any one of the following classes:
|
91
95
|
|
92
|
-
* `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
|
93
|
-
|
96
|
+
* `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
|
97
|
+
tokens.
|
94
98
|
|
95
|
-
* `Aws::SSOTokenProvider` - Used for loading tokens from AWS SSO using an
|
96
|
-
|
99
|
+
* `Aws::SSOTokenProvider` - Used for loading tokens from AWS SSO using an
|
100
|
+
access token generated from `aws login`.
|
97
101
|
|
98
|
-
When `:token_provider` is not configured directly, the `Aws::TokenProviderChain`
|
99
|
-
will be used to search for tokens configured for your profile in shared configuration files.
|
100
|
-
|
102
|
+
When `:token_provider` is not configured directly, the `Aws::TokenProviderChain`
|
103
|
+
will be used to search for tokens configured for your profile in shared configuration files.
|
104
|
+
DOCS
|
101
105
|
) do |config|
|
102
|
-
|
103
|
-
StaticTokenProvider.new('token')
|
104
|
-
else
|
105
|
-
TokenProviderChain.new(config).resolve
|
106
|
-
end
|
106
|
+
TokenProviderChain.new(config).resolve
|
107
107
|
end
|
108
108
|
|
109
|
+
option(
|
110
|
+
:auth_scheme_preference,
|
111
|
+
doc_type: 'Array<String>',
|
112
|
+
rbs_type: 'Array[String]',
|
113
|
+
docstring: <<~DOCS
|
114
|
+
A list of preferred authentication schemes to use when making a request. Supported values are:
|
115
|
+
`sigv4`, `sigv4a`, `httpBearerAuth`, and `noAuth`. When set using `ENV['AWS_AUTH_SCHEME_PREFERENCE']` or in
|
116
|
+
shared config as `auth_scheme_preference`, the value should be a comma-separated list.
|
117
|
+
DOCS
|
118
|
+
) do |config|
|
119
|
+
value =
|
120
|
+
ENV['AWS_AUTH_SCHEME_PREFERENCE'] ||
|
121
|
+
Aws.shared_config.auth_scheme_preference(profile: config.profile) ||
|
122
|
+
''
|
123
|
+
value.gsub(' ', '').gsub("\t", '').split(',')
|
124
|
+
end
|
109
125
|
end
|
110
126
|
end
|
111
127
|
end
|
@@ -13,9 +13,6 @@ module Aws
|
|
13
13
|
option(:sigv4_region)
|
14
14
|
option(:unsigned_operations, default: [])
|
15
15
|
|
16
|
-
supported_auth_types = %w[sigv4 bearer sigv4-s3express sigv4a none]
|
17
|
-
SUPPORTED_AUTH_TYPES = supported_auth_types.freeze
|
18
|
-
|
19
16
|
def add_handlers(handlers, cfg)
|
20
17
|
operations = cfg.api.operation_names - cfg.unsigned_operations
|
21
18
|
handlers.add(Handler, step: :sign, operations: operations)
|
@@ -32,7 +29,7 @@ module Aws
|
|
32
29
|
}
|
33
30
|
SignatureV4.new(auth_scheme, config, sigv4_overrides)
|
34
31
|
when 'bearer'
|
35
|
-
Bearer.new
|
32
|
+
Bearer.new(config)
|
36
33
|
else
|
37
34
|
NullSigner.new
|
38
35
|
end
|
@@ -41,7 +38,6 @@ module Aws
|
|
41
38
|
class Handler < Seahorse::Client::Handler
|
42
39
|
def call(context)
|
43
40
|
# Skip signing if using sigv2 signing from s3_signer in S3
|
44
|
-
credentials = nil
|
45
41
|
unless v2_signing?(context.config)
|
46
42
|
signer = Sign.signer_for(
|
47
43
|
context[:auth_scheme],
|
@@ -49,18 +45,22 @@ module Aws
|
|
49
45
|
context[:sigv4_region],
|
50
46
|
context[:sigv4_credentials]
|
51
47
|
)
|
52
|
-
credentials = signer.credentials if signer.is_a?(SignatureV4)
|
53
48
|
signer.sign(context)
|
54
49
|
end
|
55
|
-
with_metrics(
|
50
|
+
with_metrics(signer) { @handler.call(context) }
|
56
51
|
end
|
57
52
|
|
58
53
|
private
|
59
54
|
|
60
|
-
def with_metrics(
|
61
|
-
|
62
|
-
|
63
|
-
|
55
|
+
def with_metrics(signer, &block)
|
56
|
+
case signer
|
57
|
+
when SignatureV4
|
58
|
+
Aws::Plugins::UserAgent.metric(*signer.credentials.metrics, &block)
|
59
|
+
when Bearer
|
60
|
+
Aws::Plugins::UserAgent.metric(*signer.token_provider.metrics, &block)
|
61
|
+
else
|
62
|
+
block.call
|
63
|
+
end
|
64
64
|
end
|
65
65
|
|
66
66
|
def v2_signing?(config)
|
@@ -72,21 +72,19 @@ module Aws
|
|
72
72
|
|
73
73
|
# @api private
|
74
74
|
class Bearer
|
75
|
-
def initialize
|
75
|
+
def initialize(config)
|
76
|
+
@token_provider = config.token_provider
|
76
77
|
end
|
77
78
|
|
79
|
+
attr_reader :token_provider
|
80
|
+
|
78
81
|
def sign(context)
|
79
82
|
if context.http_request.endpoint.scheme != 'https'
|
80
|
-
raise ArgumentError,
|
81
|
-
'Unable to use bearer authorization on non https endpoint.'
|
83
|
+
raise ArgumentError, 'Unable to use bearer authorization on non https endpoint.'
|
82
84
|
end
|
85
|
+
raise Errors::MissingBearerTokenError unless @token_provider && @token_provider.set?
|
83
86
|
|
84
|
-
|
85
|
-
|
86
|
-
raise Errors::MissingBearerTokenError unless token_provider&.set?
|
87
|
-
|
88
|
-
context.http_request.headers['Authorization'] =
|
89
|
-
"Bearer #{token_provider.token.token}"
|
87
|
+
context.http_request.headers['Authorization'] = "Bearer #{@token_provider.token.token}"
|
90
88
|
end
|
91
89
|
|
92
90
|
def presign_url(*args)
|
@@ -100,16 +98,11 @@ module Aws
|
|
100
98
|
|
101
99
|
# @api private
|
102
100
|
class SignatureV4
|
103
|
-
attr_reader :signer
|
104
|
-
|
105
101
|
def initialize(auth_scheme, config, sigv4_overrides = {})
|
106
102
|
scheme_name = auth_scheme['name']
|
107
|
-
|
108
103
|
unless %w[sigv4 sigv4a sigv4-s3express].include?(scheme_name)
|
109
|
-
raise ArgumentError,
|
110
|
-
"Expected sigv4, sigv4a, or sigv4-s3express auth scheme, got #{scheme_name}"
|
104
|
+
raise ArgumentError, "Expected sigv4, sigv4a, or sigv4-s3express auth scheme, got #{scheme_name}"
|
111
105
|
end
|
112
|
-
|
113
106
|
region = if scheme_name == 'sigv4a'
|
114
107
|
auth_scheme['signingRegionSet'].join(',')
|
115
108
|
else
|
@@ -121,8 +114,8 @@ module Aws
|
|
121
114
|
region: sigv4_overrides[:region] || config.sigv4_region || region,
|
122
115
|
credentials_provider: sigv4_overrides[:credentials] || config.credentials,
|
123
116
|
signing_algorithm: scheme_name.to_sym,
|
124
|
-
uri_escape_path:
|
125
|
-
normalize_path:
|
117
|
+
uri_escape_path: !auth_scheme['disableDoubleEncoding'],
|
118
|
+
normalize_path: !auth_scheme['disableNormalizePath'],
|
126
119
|
unsigned_headers: %w[content-length user-agent x-amzn-trace-id expect transfer-encoding connection]
|
127
120
|
)
|
128
121
|
rescue Aws::Sigv4::Errors::MissingCredentialsError
|
@@ -130,6 +123,8 @@ module Aws
|
|
130
123
|
end
|
131
124
|
end
|
132
125
|
|
126
|
+
attr_reader :signer
|
127
|
+
|
133
128
|
def sign(context)
|
134
129
|
req = context.http_request
|
135
130
|
|
@@ -29,6 +29,12 @@ requests are made, and retries are disabled.
|
|
29
29
|
end
|
30
30
|
end
|
31
31
|
|
32
|
+
option(:token_provider) do |config|
|
33
|
+
if config.stub_responses
|
34
|
+
StaticTokenProvider.new('stubbed-token')
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
32
38
|
option(:stubs) { {} }
|
33
39
|
option(:stubs_mutex) { Mutex.new }
|
34
40
|
option(:api_requests) { [] }
|
@@ -203,6 +203,7 @@ module Aws
|
|
203
203
|
config_reader(
|
204
204
|
:region,
|
205
205
|
:account_id_endpoint_mode,
|
206
|
+
:auth_scheme_preference,
|
206
207
|
:sigv4a_signing_region_set,
|
207
208
|
:ca_bundle,
|
208
209
|
:credential_process,
|
@@ -368,6 +369,15 @@ module Aws
|
|
368
369
|
)
|
369
370
|
when 'EcsContainer'
|
370
371
|
ECSCredentials.new
|
372
|
+
when 'Environment'
|
373
|
+
creds = Credentials.new(
|
374
|
+
ENV['AWS_ACCESS_KEY_ID'],
|
375
|
+
ENV['AWS_SECRET_ACCESS_KEY'],
|
376
|
+
ENV['AWS_SESSION_TOKEN'],
|
377
|
+
account_id: ENV['AWS_ACCOUNT_ID']
|
378
|
+
)
|
379
|
+
creds.metrics = ['CREDENTIALS_ENV_VARS']
|
380
|
+
creds
|
371
381
|
else
|
372
382
|
raise Errors::InvalidCredentialSourceError, "Unsupported credential_source: #{credential_source}"
|
373
383
|
end
|
@@ -2,12 +2,11 @@
|
|
2
2
|
|
3
3
|
module Aws
|
4
4
|
class StaticTokenProvider
|
5
|
-
|
6
5
|
include TokenProvider
|
7
6
|
|
8
7
|
# @param [String] token
|
9
8
|
# @param [Time] expiration
|
10
|
-
def initialize(token, expiration=nil)
|
9
|
+
def initialize(token, expiration = nil)
|
11
10
|
@token = Token.new(token, expiration)
|
12
11
|
end
|
13
12
|
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-sso/client.rb
CHANGED
@@ -95,8 +95,8 @@ 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
|
99
|
-
# 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:
|
100
100
|
#
|
101
101
|
# * `Aws::Credentials` - Used for configuring static, non-refreshing
|
102
102
|
# credentials.
|
@@ -124,22 +124,24 @@ module Aws::SSO
|
|
124
124
|
# * `Aws::CognitoIdentityCredentials` - Used for loading credentials
|
125
125
|
# from the Cognito Identity service.
|
126
126
|
#
|
127
|
-
# When `:credentials` are not configured directly, the following
|
128
|
-
# locations will be searched for credentials:
|
127
|
+
# When `:credentials` are not configured directly, the following locations will be searched for credentials:
|
129
128
|
#
|
130
129
|
# * `Aws.config[:credentials]`
|
130
|
+
#
|
131
131
|
# * The `:access_key_id`, `:secret_access_key`, `:session_token`, and
|
132
132
|
# `:account_id` options.
|
133
|
-
#
|
134
|
-
#
|
133
|
+
#
|
134
|
+
# * `ENV['AWS_ACCESS_KEY_ID']`, `ENV['AWS_SECRET_ACCESS_KEY']`,
|
135
|
+
# `ENV['AWS_SESSION_TOKEN']`, and `ENV['AWS_ACCOUNT_ID']`.
|
136
|
+
#
|
135
137
|
# * `~/.aws/credentials`
|
138
|
+
#
|
136
139
|
# * `~/.aws/config`
|
137
|
-
#
|
138
|
-
#
|
139
|
-
# `Aws::InstanceProfileCredentials` or `Aws::ECSCredentials` to
|
140
|
-
# enable retries and extended timeouts. Instance profile credential
|
141
|
-
#
|
142
|
-
# 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`.
|
143
145
|
#
|
144
146
|
# @option options [required, String] :region
|
145
147
|
# The AWS region to connect to. The configured `:region` is
|
@@ -167,6 +169,11 @@ module Aws::SSO
|
|
167
169
|
# When false, the request will raise a `RetryCapacityNotAvailableError` and will
|
168
170
|
# not retry instead of sleeping.
|
169
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
|
+
#
|
170
177
|
# @option options [Boolean] :client_side_monitoring (false)
|
171
178
|
# When `true`, client-side metrics will be collected for all API requests from
|
172
179
|
# this client.
|
@@ -253,8 +260,8 @@ module Aws::SSO
|
|
253
260
|
# 4 times. Used in `standard` and `adaptive` retry modes.
|
254
261
|
#
|
255
262
|
# @option options [String] :profile ("default")
|
256
|
-
# Used when loading credentials from the shared credentials file
|
257
|
-
#
|
263
|
+
# Used when loading credentials from the shared credentials file at `HOME/.aws/credentials`.
|
264
|
+
# When not specified, 'default' is used.
|
258
265
|
#
|
259
266
|
# @option options [String] :request_checksum_calculation ("when_supported")
|
260
267
|
# Determines when a checksum will be calculated for request payloads. Values are:
|
@@ -367,8 +374,8 @@ module Aws::SSO
|
|
367
374
|
# `Aws::Telemetry::OTelProvider` for telemetry provider.
|
368
375
|
#
|
369
376
|
# @option options [Aws::TokenProvider] :token_provider
|
370
|
-
#
|
371
|
-
# 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:
|
372
379
|
#
|
373
380
|
# * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
|
374
381
|
# tokens.
|
@@ -691,7 +698,7 @@ module Aws::SSO
|
|
691
698
|
tracer: tracer
|
692
699
|
)
|
693
700
|
context[:gem_name] = 'aws-sdk-core'
|
694
|
-
context[:gem_version] = '3.
|
701
|
+
context[:gem_version] = '3.232.0'
|
695
702
|
Seahorse::Client::Request.new(handlers, context)
|
696
703
|
end
|
697
704
|
|
@@ -28,8 +28,8 @@ module Aws::SSO
|
|
28
28
|
raise ArgumentError, "FIPS and DualStack are enabled, but this partition does not support one or both"
|
29
29
|
end
|
30
30
|
if Aws::Endpoints::Matchers.boolean_equals?(parameters.use_fips, true)
|
31
|
-
if Aws::Endpoints::Matchers.boolean_equals?(
|
32
|
-
if Aws::Endpoints::Matchers.string_equals?(
|
31
|
+
if Aws::Endpoints::Matchers.boolean_equals?(Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"), true)
|
32
|
+
if Aws::Endpoints::Matchers.string_equals?(Aws::Endpoints::Matchers.attr(partition_result, "name"), "aws-us-gov")
|
33
33
|
return Aws::Endpoints::Endpoint.new(url: "https://portal.sso.#{parameters.region}.amazonaws.com", headers: {}, properties: {})
|
34
34
|
end
|
35
35
|
return Aws::Endpoints::Endpoint.new(url: "https://portal.sso-fips.#{parameters.region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
|
data/lib/aws-sdk-sso.rb
CHANGED
@@ -95,8 +95,8 @@ module Aws::SSOOIDC
|
|
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
|
99
|
-
# 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:
|
100
100
|
#
|
101
101
|
# * `Aws::Credentials` - Used for configuring static, non-refreshing
|
102
102
|
# credentials.
|
@@ -124,22 +124,24 @@ module Aws::SSOOIDC
|
|
124
124
|
# * `Aws::CognitoIdentityCredentials` - Used for loading credentials
|
125
125
|
# from the Cognito Identity service.
|
126
126
|
#
|
127
|
-
# When `:credentials` are not configured directly, the following
|
128
|
-
# locations will be searched for credentials:
|
127
|
+
# When `:credentials` are not configured directly, the following locations will be searched for credentials:
|
129
128
|
#
|
130
129
|
# * `Aws.config[:credentials]`
|
130
|
+
#
|
131
131
|
# * The `:access_key_id`, `:secret_access_key`, `:session_token`, and
|
132
132
|
# `:account_id` options.
|
133
|
-
#
|
134
|
-
#
|
133
|
+
#
|
134
|
+
# * `ENV['AWS_ACCESS_KEY_ID']`, `ENV['AWS_SECRET_ACCESS_KEY']`,
|
135
|
+
# `ENV['AWS_SESSION_TOKEN']`, and `ENV['AWS_ACCOUNT_ID']`.
|
136
|
+
#
|
135
137
|
# * `~/.aws/credentials`
|
138
|
+
#
|
136
139
|
# * `~/.aws/config`
|
137
|
-
#
|
138
|
-
#
|
139
|
-
# `Aws::InstanceProfileCredentials` or `Aws::ECSCredentials` to
|
140
|
-
# enable retries and extended timeouts. Instance profile credential
|
141
|
-
#
|
142
|
-
# 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`.
|
143
145
|
#
|
144
146
|
# @option options [required, String] :region
|
145
147
|
# The AWS region to connect to. The configured `:region` is
|
@@ -167,6 +169,11 @@ module Aws::SSOOIDC
|
|
167
169
|
# When false, the request will raise a `RetryCapacityNotAvailableError` and will
|
168
170
|
# not retry instead of sleeping.
|
169
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
|
+
#
|
170
177
|
# @option options [Boolean] :client_side_monitoring (false)
|
171
178
|
# When `true`, client-side metrics will be collected for all API requests from
|
172
179
|
# this client.
|
@@ -253,8 +260,8 @@ module Aws::SSOOIDC
|
|
253
260
|
# 4 times. Used in `standard` and `adaptive` retry modes.
|
254
261
|
#
|
255
262
|
# @option options [String] :profile ("default")
|
256
|
-
# Used when loading credentials from the shared credentials file
|
257
|
-
#
|
263
|
+
# Used when loading credentials from the shared credentials file at `HOME/.aws/credentials`.
|
264
|
+
# When not specified, 'default' is used.
|
258
265
|
#
|
259
266
|
# @option options [String] :request_checksum_calculation ("when_supported")
|
260
267
|
# Determines when a checksum will be calculated for request payloads. Values are:
|
@@ -367,8 +374,8 @@ module Aws::SSOOIDC
|
|
367
374
|
# `Aws::Telemetry::OTelProvider` for telemetry provider.
|
368
375
|
#
|
369
376
|
# @option options [Aws::TokenProvider] :token_provider
|
370
|
-
#
|
371
|
-
# 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:
|
372
379
|
#
|
373
380
|
# * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
|
374
381
|
# tokens.
|
@@ -1061,7 +1068,7 @@ module Aws::SSOOIDC
|
|
1061
1068
|
tracer: tracer
|
1062
1069
|
)
|
1063
1070
|
context[:gem_name] = 'aws-sdk-core'
|
1064
|
-
context[:gem_version] = '3.
|
1071
|
+
context[:gem_version] = '3.232.0'
|
1065
1072
|
Seahorse::Client::Request.new(handlers, context)
|
1066
1073
|
end
|
1067
1074
|
|