aws-sdk-core 3.205.0 → 3.209.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (39) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +48 -0
  3. data/VERSION +1 -1
  4. data/lib/aws-defaults.rb +4 -1
  5. data/lib/aws-sdk-core/assume_role_credentials.rb +12 -5
  6. data/lib/aws-sdk-core/assume_role_web_identity_credentials.rb +13 -7
  7. data/lib/aws-sdk-core/client_side_monitoring.rb +9 -0
  8. data/lib/aws-sdk-core/credential_provider_chain.rb +9 -2
  9. data/lib/aws-sdk-core/credentials.rb +13 -6
  10. data/lib/aws-sdk-core/endpoints/endpoint.rb +3 -1
  11. data/lib/aws-sdk-core/endpoints.rb +6 -3
  12. data/lib/aws-sdk-core/log.rb +10 -0
  13. data/lib/aws-sdk-core/plugins/credentials_configuration.rb +7 -3
  14. data/lib/aws-sdk-core/plugins/user_agent.rb +6 -1
  15. data/lib/aws-sdk-core/plugins.rb +39 -0
  16. data/lib/aws-sdk-core/process_credentials.rb +2 -1
  17. data/lib/aws-sdk-core/resources.rb +8 -0
  18. data/lib/aws-sdk-core/shared_config.rb +3 -1
  19. data/lib/aws-sdk-core/shared_credentials.rb +0 -7
  20. data/lib/aws-sdk-core/sso_credentials.rb +2 -1
  21. data/lib/aws-sdk-core/stubbing.rb +22 -0
  22. data/lib/aws-sdk-core.rb +82 -102
  23. data/lib/aws-sdk-sso/client.rb +11 -7
  24. data/lib/aws-sdk-sso/client_api.rb +1 -0
  25. data/lib/aws-sdk-sso/plugins/endpoints.rb +8 -5
  26. data/lib/aws-sdk-sso/types.rb +1 -0
  27. data/lib/aws-sdk-sso.rb +15 -11
  28. data/lib/aws-sdk-ssooidc/client.rb +11 -7
  29. data/lib/aws-sdk-ssooidc/client_api.rb +1 -0
  30. data/lib/aws-sdk-ssooidc/plugins/endpoints.rb +8 -5
  31. data/lib/aws-sdk-ssooidc/types.rb +1 -0
  32. data/lib/aws-sdk-ssooidc.rb +15 -11
  33. data/lib/aws-sdk-sts/client.rb +11 -7
  34. data/lib/aws-sdk-sts/client_api.rb +1 -0
  35. data/lib/aws-sdk-sts/customizations.rb +5 -1
  36. data/lib/aws-sdk-sts/plugins/endpoints.rb +8 -5
  37. data/lib/aws-sdk-sts/types.rb +1 -0
  38. data/lib/aws-sdk-sts.rb +15 -11
  39. metadata +7 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2d3b4f9e7c9f140f0b216c6906c6b23135826ca87fdc8fc8a1a427b5b655f8f0
4
- data.tar.gz: 47e453550bd7e0131a1b0f8f1a3d08b442546cca675c43685c9bac6550d1cc45
3
+ metadata.gz: b21a55766ac3b065464e202f9e5e8eaa449fb1b186776cc439f9ef6859c51923
4
+ data.tar.gz: d0602af7e12f340646722e0ca65ebbe1b9950d8b7ac7da1da2bfaf22a6723fbb
5
5
  SHA512:
6
- metadata.gz: 0a1138a6ef760e057c942ea81263c6db0af07b267715bd6467bdfaabed5ec01c45dc4b4297c4db397ae2dca534c6af55e4aec8b9c158b395d99a22c0b50fe205
7
- data.tar.gz: 5366ddf0b85dd20f0a177a7b5c44ebc3d6d2eabc898f6d5934a75795bee36dc1e5c4eb677781ba77e39807c2cea412deff17ba732e038810bc2e640f963157e8
6
+ metadata.gz: dce3b13eced2c29beecdbc6929836c9917cc0d7524033cb76e0ea7ae6cf6f01c87b9f0f07a88a17197cb2989c4addf3a9c303acbdb6cf5fb331ecb328d16feec
7
+ data.tar.gz: ace0cb1e6d8e05083601c36607a3c8d6902a72a36cec481081939626ce8399fa43b603b42d6fb026cddce1ec51ab98f405a02e6fa4eb861aabe23aa658519457
data/CHANGELOG.md CHANGED
@@ -1,6 +1,53 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 3.209.1 (2024-09-25)
5
+ ------------------
6
+
7
+ * Issue - Add all core plugins to autoloads.
8
+
9
+ 3.209.0 (2024-09-24)
10
+ ------------------
11
+
12
+ * Feature - Updated Aws::STS::Client with the latest API changes.
13
+
14
+ * Feature - Updated Aws::SSOOIDC::Client with the latest API changes.
15
+
16
+ * Feature - Updated Aws::SSO::Client with the latest API changes.
17
+
18
+ * Issue - Add service identifiers to GlobalConfig's list of identifiers outside of autoload (#3113).
19
+
20
+ * Issue - Ignore invalid ARNs when trying to parse accountId in assume role credentials.
21
+
22
+ 3.208.0 (2024-09-23)
23
+ ------------------
24
+
25
+ * Feature - Updated Aws::STS::Client with the latest API changes.
26
+
27
+ * Feature - Updated Aws::SSOOIDC::Client with the latest API changes.
28
+
29
+ * Feature - Updated Aws::SSO::Client with the latest API changes.
30
+
31
+ * Feature - Use autoloading at the service level to load service clients and resources.
32
+
33
+ 3.207.0 (2024-09-20)
34
+ ------------------
35
+
36
+ * Feature - Updated Aws::STS::Client with the latest API changes.
37
+
38
+ * Feature - Updated Aws::SSOOIDC::Client with the latest API changes.
39
+
40
+ * Feature - Updated Aws::SSO::Client with the latest API changes.
41
+
42
+ * Feature - Support Account ID credentials using `ENV['AWS_ACCOUNT_ID']`, `aws_account_id` shared config, or the `account_id` Client configuration option.
43
+
44
+ * Feature - Support Account ID endpoint mode using `ENV['AWS_ACCOUNT_ID_ENDPOINT_MODE']`, `aws_account_id_endpoint_mode` shared config, or the `account_id_endpoint_mode` Client configuration option. Defaults to `preferred`, which will use the account id endpoint if available. Set to `disabled` to disable account id endpoints. Set to `required` to require account id endpoint usage; an error is raised if credentials do not have an account id.
45
+
46
+ 3.206.0 (2024-09-17)
47
+ ------------------
48
+
49
+ * Feature - Support `sigv4a` endpoint auth without CRT.
50
+
4
51
  3.205.0 (2024-09-11)
5
52
  ------------------
6
53
 
@@ -59,6 +106,7 @@ Unreleased Changes
59
106
  ------------------
60
107
 
61
108
  * Issue - Allow legacy/undocumented `sigv4_signer` configuration to override resolved signer.
109
+
62
110
  * Issue - Consider sigv4a supported without crt check.
63
111
 
64
112
  3.201.4 (2024-08-08)
data/VERSION CHANGED
@@ -1 +1 @@
1
- 3.205.0
1
+ 3.209.1
data/lib/aws-defaults.rb CHANGED
@@ -1,3 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require_relative 'aws-defaults/default_configuration'
3
+ module Aws
4
+ autoload :DefaultsModeConfiguration, 'aws-defaults/default_configuration'
5
+ autoload :DefaultsModeConfigResolver, 'aws-defaults/defaults_mode_config_resolver'
6
+ end
@@ -62,13 +62,20 @@ module Aws
62
62
  private
63
63
 
64
64
  def refresh
65
- c = @client.assume_role(@assume_role_params).credentials
65
+ resp = @client.assume_role(@assume_role_params)
66
+ creds = resp.credentials
66
67
  @credentials = Credentials.new(
67
- c.access_key_id,
68
- c.secret_access_key,
69
- c.session_token
68
+ creds.access_key_id,
69
+ creds.secret_access_key,
70
+ creds.session_token,
71
+ account_id: parse_account_id(resp)
70
72
  )
71
- @expiration = c.expiration
73
+ @expiration = creds.expiration
74
+ end
75
+
76
+ def parse_account_id(resp)
77
+ arn = resp.assumed_role_user&.arn
78
+ ARNParser.parse(arn).account_id if ARNParser.arn?(arn)
72
79
  end
73
80
 
74
81
  class << self
@@ -60,7 +60,7 @@ module Aws
60
60
  # not provided, generate encoded UUID as session name
61
61
  @assume_role_web_identity_params[:role_session_name] = _session_name
62
62
  end
63
- @client = client_opts[:client] || STS::Client.new(client_opts.merge(credentials: false))
63
+ @client = client_opts[:client] || STS::Client.new(client_opts.merge(credentials: nil))
64
64
  super
65
65
  end
66
66
 
@@ -73,14 +73,15 @@ module Aws
73
73
  # read from token file everytime it refreshes
74
74
  @assume_role_web_identity_params[:web_identity_token] = _token_from_file(@token_file)
75
75
 
76
- c = @client.assume_role_with_web_identity(
77
- @assume_role_web_identity_params).credentials
76
+ resp = @client.assume_role_with_web_identity(@assume_role_web_identity_params)
77
+ creds = resp.credentials
78
78
  @credentials = Credentials.new(
79
- c.access_key_id,
80
- c.secret_access_key,
81
- c.session_token
79
+ creds.access_key_id,
80
+ creds.secret_access_key,
81
+ creds.session_token,
82
+ account_id: parse_account_id(resp)
82
83
  )
83
- @expiration = c.expiration
84
+ @expiration = creds.expiration
84
85
  end
85
86
 
86
87
  def _token_from_file(path)
@@ -94,6 +95,11 @@ module Aws
94
95
  Base64.strict_encode64(SecureRandom.uuid)
95
96
  end
96
97
 
98
+ def parse_account_id(resp)
99
+ arn = resp.assumed_role_user&.arn
100
+ ARNParser.parse(arn).account_id if ARNParser.arn?(arn)
101
+ end
102
+
97
103
  class << self
98
104
 
99
105
  # @api private
@@ -0,0 +1,9 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Aws
4
+ # setup autoloading for ClientSideMonitoring module
5
+ module ClientSideMonitoring
6
+ autoload :RequestMetrics, 'aws-sdk-core/client_side_monitoring/request_metrics'
7
+ autoload :Publisher, 'aws-sdk-core/client_side_monitoring/publisher'
8
+ end
9
+ end
@@ -45,7 +45,8 @@ module Aws
45
45
  Credentials.new(
46
46
  options[:config].access_key_id,
47
47
  options[:config].secret_access_key,
48
- options[:config].session_token
48
+ options[:config].session_token,
49
+ account_id: options[:config].account_id
49
50
  )
50
51
  end
51
52
  end
@@ -94,7 +95,13 @@ module Aws
94
95
  key = %w[AWS_ACCESS_KEY_ID AMAZON_ACCESS_KEY_ID AWS_ACCESS_KEY]
95
96
  secret = %w[AWS_SECRET_ACCESS_KEY AMAZON_SECRET_ACCESS_KEY AWS_SECRET_KEY]
96
97
  token = %w[AWS_SESSION_TOKEN AMAZON_SESSION_TOKEN]
97
- Credentials.new(envar(key), envar(secret), envar(token))
98
+ account_id = %w[AWS_ACCOUNT_ID]
99
+ Credentials.new(
100
+ envar(key),
101
+ envar(secret),
102
+ envar(token),
103
+ account_id: envar(account_id)
104
+ )
98
105
  end
99
106
 
100
107
  def envar(keys)
@@ -6,21 +6,28 @@ module Aws
6
6
  # @param [String] access_key_id
7
7
  # @param [String] secret_access_key
8
8
  # @param [String] session_token (nil)
9
- def initialize(access_key_id, secret_access_key, session_token = nil)
9
+ # @param [Hash] kwargs
10
+ # @option kwargs [String] :credential_scope (nil)
11
+ def initialize(access_key_id, secret_access_key, session_token = nil,
12
+ **kwargs)
10
13
  @access_key_id = access_key_id
11
14
  @secret_access_key = secret_access_key
12
15
  @session_token = session_token
16
+ @account_id = kwargs[:account_id]
13
17
  end
14
18
 
15
- # @return [String, nil]
19
+ # @return [String]
16
20
  attr_reader :access_key_id
17
21
 
18
- # @return [String, nil]
22
+ # @return [String]
19
23
  attr_reader :secret_access_key
20
24
 
21
25
  # @return [String, nil]
22
26
  attr_reader :session_token
23
27
 
28
+ # @return [String, nil]
29
+ attr_reader :account_id
30
+
24
31
  # @return [Credentials]
25
32
  def credentials
26
33
  self
@@ -30,9 +37,9 @@ module Aws
30
37
  # access key are both set.
31
38
  def set?
32
39
  !access_key_id.nil? &&
33
- !access_key_id.empty? &&
34
- !secret_access_key.nil? &&
35
- !secret_access_key.empty?
40
+ !access_key_id.empty? &&
41
+ !secret_access_key.nil? &&
42
+ !secret_access_key.empty?
36
43
  end
37
44
 
38
45
  # Removing the secret access key from the default inspect string.
@@ -3,15 +3,17 @@
3
3
  module Aws
4
4
  module Endpoints
5
5
  class Endpoint
6
- def initialize(url:, properties: {}, headers: {})
6
+ def initialize(url:, properties: {}, headers: {}, metadata: {})
7
7
  @url = url
8
8
  @properties = properties
9
9
  @headers = headers
10
+ @metadata = metadata
10
11
  end
11
12
 
12
13
  attr_reader :url
13
14
  attr_reader :properties
14
15
  attr_reader :headers
16
+ attr_reader :metadata
15
17
  end
16
18
  end
17
19
  end
@@ -19,9 +19,12 @@ require 'aws-sigv4'
19
19
  module Aws
20
20
  # @api private
21
21
  module Endpoints
22
- supported_auth_traits = %w[aws.auth#sigv4 smithy.api#httpBearerAuth smithy.api#noAuth]
23
- supported_auth_traits += ['aws.auth#sigv4a'] if Aws::Sigv4::Signer.use_crt?
24
- SUPPORTED_AUTH_TRAITS = supported_auth_traits.freeze
22
+ SUPPORTED_AUTH_TRAITS = %w[
23
+ aws.auth#sigv4
24
+ aws.auth#sigv4a
25
+ smithy.api#httpBearerAuth
26
+ smithy.api#noAuth
27
+ ].freeze
25
28
 
26
29
  class << self
27
30
  def resolve_auth_scheme(context, endpoint)
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Aws
4
+ # setup autoloading for Log module
5
+ module Log
6
+ autoload :Formatter, 'aws-sdk-core/log/formatter'
7
+ autoload :ParamFilter, 'aws-sdk-core/log/param_filter'
8
+ autoload :ParamFormatter, 'aws-sdk-core/log/param_formatter'
9
+ end
10
+ end
@@ -12,6 +12,8 @@ module Aws
12
12
 
13
13
  option(:session_token, doc_type: String, docstring: '')
14
14
 
15
+ option(:account_id, doc_type: String, docstring: '')
16
+
15
17
  option(:profile,
16
18
  doc_default: 'default',
17
19
  doc_type: String,
@@ -58,13 +60,15 @@ When `:credentials` are not configured directly, the following
58
60
  locations will be searched for credentials:
59
61
 
60
62
  * `Aws.config[:credentials]`
61
- * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
62
- * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
63
+ * The `:access_key_id`, `:secret_access_key`, `:session_token`, and
64
+ `:account_id` options.
65
+ * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY'],
66
+ ENV['AWS_SESSION_TOKEN'], and ENV['AWS_ACCOUNT_ID']
63
67
  * `~/.aws/credentials`
64
68
  * `~/.aws/config`
65
69
  * EC2/ECS IMDS instance profile - When used by default, the timeouts
66
70
  are very aggressive. Construct and pass an instance of
67
- `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
71
+ `Aws::InstanceProfileCredentials` or `Aws::ECSCredentials` to
68
72
  enable retries and extended timeouts. Instance profile credential
69
73
  fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
70
74
  to true.
@@ -20,7 +20,12 @@ module Aws
20
20
  "GZIP_REQUEST_COMPRESSION": "L",
21
21
  "PROTOCOL_RPC_V2_CBOR": "M",
22
22
  "ENDPOINT_OVERRIDE": "N",
23
- "SIGV4A_SIGNING": "S"
23
+ "ACCOUNT_ID_ENDPOINT": "O",
24
+ "ACCOUNT_ID_MODE_PREFERRED": "P",
25
+ "ACCOUNT_ID_MODE_DISABLED": "Q",
26
+ "ACCOUNT_ID_MODE_REQUIRED": "R",
27
+ "SIGV4A_SIGNING": "S",
28
+ "RESOLVED_ACCOUNT_ID": "T"
24
29
  }
25
30
  METRICS
26
31
 
@@ -0,0 +1,39 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Aws
4
+ # setup autoloading for Plugins
5
+ # Most plugins are required explicitly from service clients
6
+ # but users may reference them outside of client usage.
7
+ module Plugins
8
+ autoload :ApiKey, 'aws-sdk-core/plugins/api_key'
9
+ autoload :BearerAuthorization, 'aws-sdk-core/plugins/bearer_authorization'
10
+ autoload :ChecksumAlgorithm, 'aws-sdk-core/plugins/checksum_algorithm'
11
+ autoload :ClientMetricsPlugin, 'aws-sdk-core/plugins/client_metrics_plugin'
12
+ autoload :ClientMetricsSendPlugin, 'aws-sdk-core/plugins/client_metrics_send_plugin'
13
+ autoload :CredentialsConfiguration, 'aws-sdk-core/plugins/credentials_configuration'
14
+ autoload :DefaultsMode, 'aws-sdk-core/plugins/defaults_mode'
15
+ autoload :EndpointDiscovery, 'aws-sdk-core/plugins/endpoint_discovery'
16
+ autoload :EndpointPattern, 'aws-sdk-core/plugins/endpoint_pattern'
17
+ autoload :EventStreamConfiguration, 'aws-sdk-core/plugins/event_stream_configuration'
18
+ autoload :GlobalConfiguration, 'aws-sdk-core/plugins/global_configuration'
19
+ autoload :HelpfulSocketErrors, 'aws-sdk-core/plugins/helpful_socket_errors'
20
+ autoload :HttpChecksum, 'aws-sdk-core/plugins/http_checksum'
21
+ autoload :IdempotencyToken, 'aws-sdk-core/plugins/idempotency_token'
22
+ autoload :InvocationId, 'aws-sdk-core/plugins/invocation_id'
23
+ autoload :JsonvalueConverter, 'aws-sdk-core/plugins/jsonvalue_converter'
24
+ autoload :Logging, 'aws-sdk-core/plugins/logging'
25
+ autoload :ParamConverter, 'aws-sdk-core/plugins/param_converter'
26
+ autoload :ParamValidator, 'aws-sdk-core/plugins/param_validator'
27
+ autoload :RecursionDetection, 'aws-sdk-core/plugins/recursion_detection'
28
+ autoload :RegionalEndpoint, 'aws-sdk-core/plugins/regional_endpoint'
29
+ autoload :RequestCompression, 'aws-sdk-core/plugins/request_compression'
30
+ autoload :ResponsePaging, 'aws-sdk-core/plugins/response_paging'
31
+ autoload :RetryErrors, 'aws-sdk-core/plugins/retry_errors'
32
+ autoload :Sign, 'aws-sdk-core/plugins/sign'
33
+ autoload :SignatureV4, 'aws-sdk-core/plugins/signature_v4'
34
+ autoload :StubResponses, 'aws-sdk-core/plugins/stub_responses'
35
+ autoload :Telemetry, 'aws-sdk-core/plugins/telemetry'
36
+ autoload :TransferEncoding, 'aws-sdk-core/plugins/transfer_encoding'
37
+ autoload :UserAgent, 'aws-sdk-core/plugins/user_agent'
38
+ end
39
+ end
@@ -74,7 +74,8 @@ module Aws
74
74
  creds = Credentials.new(
75
75
  creds_json['AccessKeyId'],
76
76
  creds_json['SecretAccessKey'],
77
- creds_json['SessionToken']
77
+ creds_json['SessionToken'],
78
+ account_id: creds_json['AccountId']
78
79
  )
79
80
 
80
81
  @expiration = creds_json['Expiration'] ? Time.iso8601(creds_json['Expiration']) : nil
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Aws
4
+ # setup autoloading for Resources module
5
+ module Resources
6
+ autoload :Collection, 'aws-sdk-core/resources/collection'
7
+ end
8
+ end
@@ -198,6 +198,7 @@ module Aws
198
198
 
199
199
  config_reader(
200
200
  :region,
201
+ :account_id_endpoint_mode,
201
202
  :sigv4a_signing_region_set,
202
203
  :ca_bundle,
203
204
  :credential_process,
@@ -414,7 +415,8 @@ module Aws
414
415
  creds = Credentials.new(
415
416
  prof_config['aws_access_key_id'],
416
417
  prof_config['aws_secret_access_key'],
417
- prof_config['aws_session_token']
418
+ prof_config['aws_session_token'],
419
+ account_id: prof_config['aws_account_id']
418
420
  )
419
421
  creds if creds.set?
420
422
  end
@@ -7,13 +7,6 @@ module Aws
7
7
 
8
8
  include CredentialProvider
9
9
 
10
- # @api private
11
- KEY_MAP = {
12
- 'aws_access_key_id' => 'access_key_id',
13
- 'aws_secret_access_key' => 'secret_access_key',
14
- 'aws_session_token' => 'session_token',
15
- }
16
-
17
10
  # Constructs a new SharedCredentials object. This will load static
18
11
  # (access_key_id, secret_access_key and session_token) AWS access
19
12
  # credentials from an ini file, which supports profiles. The default
@@ -156,7 +156,8 @@ module Aws
156
156
  @credentials = Credentials.new(
157
157
  c.access_key_id,
158
158
  c.secret_access_key,
159
- c.session_token
159
+ c.session_token,
160
+ account_id: @sso_account_id
160
161
  )
161
162
  @expiration = Time.at(c.expiration / 1000.0)
162
163
  end
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Aws
4
+ # setup autoloading for Stubbing module
5
+ module Stubbing
6
+ autoload :EmptyStub, 'aws-sdk-core/stubbing/empty_stub'
7
+ autoload :DataApplicator, 'aws-sdk-core/stubbing/data_applicator'
8
+ autoload :StubData, 'aws-sdk-core/stubbing/stub_data'
9
+ autoload :XmlError, 'aws-sdk-core/stubbing/xml_error'
10
+
11
+ module Protocols
12
+ autoload :Json, 'aws-sdk-core/stubbing/protocols/json'
13
+ autoload :Rest, 'aws-sdk-core/stubbing/protocols/rest'
14
+ autoload :RestJson, 'aws-sdk-core/stubbing/protocols/rest_json'
15
+ autoload :RestXml, 'aws-sdk-core/stubbing/protocols/rest_xml'
16
+ autoload :Query, 'aws-sdk-core/stubbing/protocols/query'
17
+ autoload :EC2, 'aws-sdk-core/stubbing/protocols/ec2'
18
+ autoload :RpcV2, 'aws-sdk-core/stubbing/protocols/rpc_v2'
19
+ autoload :ApiGateway, 'aws-sdk-core/stubbing/protocols/api_gateway'
20
+ end
21
+ end
22
+ end
data/lib/aws-sdk-core.rb CHANGED
@@ -3,115 +3,80 @@
3
3
  require 'aws-partitions'
4
4
  require 'seahorse'
5
5
  require 'jmespath'
6
+ require 'aws-sigv4'
6
7
 
7
8
  require_relative 'aws-sdk-core/deprecations'
8
-
9
- # credential providers
10
- require_relative 'aws-sdk-core/credential_provider'
11
- require_relative 'aws-sdk-core/refreshing_credentials'
12
- require_relative 'aws-sdk-core/assume_role_credentials'
13
- require_relative 'aws-sdk-core/assume_role_web_identity_credentials'
14
- require_relative 'aws-sdk-core/credentials'
15
- require_relative 'aws-sdk-core/credential_provider_chain'
16
- require_relative 'aws-sdk-core/ecs_credentials'
17
- require_relative 'aws-sdk-core/instance_profile_credentials'
18
- require_relative 'aws-sdk-core/shared_credentials'
19
- require_relative 'aws-sdk-core/process_credentials'
20
- require_relative 'aws-sdk-core/sso_credentials'
21
-
22
- # tokens and token providers
23
- require_relative 'aws-sdk-core/token'
24
- require_relative 'aws-sdk-core/token_provider'
25
- require_relative 'aws-sdk-core/static_token_provider'
26
- require_relative 'aws-sdk-core/refreshing_token'
27
- require_relative 'aws-sdk-core/sso_token_provider'
28
- require_relative 'aws-sdk-core/token_provider_chain'
29
- require_relative 'aws-sdk-core/plugins/bearer_authorization'
30
-
31
- # client modules
32
- require_relative 'aws-sdk-core/client_stubs'
33
- require_relative 'aws-sdk-core/async_client_stubs'
34
- require_relative 'aws-sdk-core/eager_loader'
35
- require_relative 'aws-sdk-core/errors'
36
- require_relative 'aws-sdk-core/pageable_response'
37
- require_relative 'aws-sdk-core/pager'
38
- require_relative 'aws-sdk-core/param_converter'
39
- require_relative 'aws-sdk-core/param_validator'
40
- require_relative 'aws-sdk-core/shared_config'
41
- require_relative 'aws-sdk-core/structure'
42
- require_relative 'aws-sdk-core/type_builder'
43
- require_relative 'aws-sdk-core/util'
44
-
45
- # resource classes
46
- require_relative 'aws-sdk-core/resources/collection'
47
-
48
- # logging
49
- require_relative 'aws-sdk-core/log/formatter'
50
- require_relative 'aws-sdk-core/log/param_filter'
51
- require_relative 'aws-sdk-core/log/param_formatter'
52
-
53
- # stubbing
54
- require_relative 'aws-sdk-core/stubbing/empty_stub'
55
- require_relative 'aws-sdk-core/stubbing/data_applicator'
56
- require_relative 'aws-sdk-core/stubbing/stub_data'
57
- require_relative 'aws-sdk-core/stubbing/xml_error'
58
-
59
- # stubbing protocols
60
- require_relative 'aws-sdk-core/stubbing/protocols/json'
61
- require_relative 'aws-sdk-core/stubbing/protocols/rest'
62
- require_relative 'aws-sdk-core/stubbing/protocols/rest_json'
63
- require_relative 'aws-sdk-core/stubbing/protocols/rest_xml'
64
- require_relative 'aws-sdk-core/stubbing/protocols/query'
65
- require_relative 'aws-sdk-core/stubbing/protocols/ec2'
66
- require_relative 'aws-sdk-core/stubbing/protocols/rpc_v2'
67
- require_relative 'aws-sdk-core/stubbing/protocols/api_gateway'
68
-
69
- # protocols
70
- require_relative 'aws-sdk-core/error_handler'
71
- require_relative 'aws-sdk-core/rest'
72
- require_relative 'aws-sdk-core/xml'
73
- require_relative 'aws-sdk-core/json'
74
- require_relative 'aws-sdk-core/query'
75
- require_relative 'aws-sdk-core/rpc_v2'
76
-
77
- # event stream
78
- require_relative 'aws-sdk-core/binary'
79
- require_relative 'aws-sdk-core/event_emitter'
80
-
81
- # endpoint discovery
82
- require_relative 'aws-sdk-core/endpoint_cache'
83
-
84
- # client metrics / telemetry
85
- require_relative 'aws-sdk-core/client_side_monitoring/request_metrics'
86
- require_relative 'aws-sdk-core/client_side_monitoring/publisher'
87
- require_relative 'aws-sdk-core/telemetry'
88
-
89
- # utilities
90
- require_relative 'aws-sdk-core/arn'
91
- require_relative 'aws-sdk-core/arn_parser'
92
- require_relative 'aws-sdk-core/ec2_metadata'
93
- require_relative 'aws-sdk-core/lru_cache'
94
-
95
- # dynamic endpoints
96
- require_relative 'aws-sdk-core/endpoints'
97
- require_relative 'aws-sdk-core/plugins/signature_v4'
98
-
99
9
  # defaults
100
10
  require_relative 'aws-defaults'
101
11
 
102
- # plugins
103
- # loaded through building STS or SSO ..
104
-
105
- # aws-sdk-sts is included to support Aws::AssumeRoleCredentials
106
- require_relative 'aws-sdk-sts'
107
-
108
- # aws-sdk-sso is included to support Aws::SSOCredentials
109
- require_relative 'aws-sdk-sso'
110
- require_relative 'aws-sdk-ssooidc'
111
-
112
12
  module Aws
113
13
 
114
- CORE_GEM_VERSION = File.read(File.expand_path('../../VERSION', __FILE__)).strip
14
+ autoload :IniParser, 'aws-sdk-core/ini_parser'
15
+
16
+ # Credentials and credentials providers
17
+ autoload :Credentials, 'aws-sdk-core/credentials'
18
+ autoload :CredentialProvider, 'aws-sdk-core/credential_provider'
19
+ autoload :RefreshingCredentials, 'aws-sdk-core/refreshing_credentials'
20
+ autoload :AssumeRoleCredentials, 'aws-sdk-core/assume_role_credentials'
21
+ autoload :AssumeRoleWebIdentityCredentials, 'aws-sdk-core/assume_role_web_identity_credentials'
22
+ autoload :CredentialProviderChain, 'aws-sdk-core/credential_provider_chain'
23
+ autoload :ECSCredentials, 'aws-sdk-core/ecs_credentials'
24
+ autoload :InstanceProfileCredentials, 'aws-sdk-core/instance_profile_credentials'
25
+ autoload :SharedCredentials, 'aws-sdk-core/shared_credentials'
26
+ autoload :ProcessCredentials, 'aws-sdk-core/process_credentials'
27
+ autoload :SSOCredentials, 'aws-sdk-core/sso_credentials'
28
+
29
+
30
+ # tokens and token providers
31
+ autoload :Token, 'aws-sdk-core/token'
32
+ autoload :TokenProvider, 'aws-sdk-core/token_provider'
33
+ autoload :StaticTokenProvider, 'aws-sdk-core/static_token_provider'
34
+ autoload :RefreshingToken, 'aws-sdk-core/refreshing_token'
35
+ autoload :SSOTokenProvider, 'aws-sdk-core/sso_token_provider'
36
+ autoload :TokenProviderChain, 'aws-sdk-core/token_provider_chain'
37
+
38
+ # client modules
39
+ autoload :ClientStubs, 'aws-sdk-core/client_stubs'
40
+ autoload :AsyncClientStubs, 'aws-sdk-core/async_client_stubs'
41
+ autoload :EagerLoader, 'aws-sdk-core/eager_loader'
42
+ autoload :Errors, 'aws-sdk-core/errors'
43
+ autoload :PageableResponse, 'aws-sdk-core/pageable_response'
44
+ autoload :Pager, 'aws-sdk-core/pager'
45
+ autoload :ParamConverter, 'aws-sdk-core/param_converter'
46
+ autoload :ParamValidator, 'aws-sdk-core/param_validator'
47
+ autoload :SharedConfig, 'aws-sdk-core/shared_config'
48
+ autoload :Structure, 'aws-sdk-core/structure'
49
+ autoload :EmptyStructure, 'aws-sdk-core/structure'
50
+ autoload :TypeBuilder, 'aws-sdk-core/type_builder'
51
+ autoload :Util, 'aws-sdk-core/util'
52
+
53
+ # protocols
54
+ autoload :ErrorHandler, 'aws-sdk-core/error_handler'
55
+ autoload :Rest, 'aws-sdk-core/rest'
56
+ autoload :Xml, 'aws-sdk-core/xml'
57
+ autoload :Json, 'aws-sdk-core/json'
58
+ autoload :Query, 'aws-sdk-core/query'
59
+ autoload :RpcV2, 'aws-sdk-core/rpc_v2'
60
+
61
+ # event stream
62
+ autoload :Binary, 'aws-sdk-core/binary'
63
+ autoload :EventEmitter, 'aws-sdk-core/event_emitter'
64
+
65
+ # endpoint discovery
66
+ autoload :EndpointCache, 'aws-sdk-core/endpoint_cache'
67
+
68
+ autoload :Telemetry, 'aws-sdk-core/telemetry'
69
+
70
+ # utilities
71
+ autoload :ARN, 'aws-sdk-core/arn'
72
+ autoload :ARNParser, 'aws-sdk-core/arn_parser'
73
+ autoload :EC2Metadata, 'aws-sdk-core/ec2_metadata'
74
+ autoload :LRUCache, 'aws-sdk-core/lru_cache'
75
+
76
+ # dynamic endpoints
77
+ autoload :Endpoints, 'aws-sdk-core/endpoints'
78
+
79
+ CORE_GEM_VERSION = File.read(File.expand_path('../VERSION', __dir__)).strip
115
80
 
116
81
  @config = {}
117
82
 
@@ -195,3 +160,18 @@ module Aws
195
160
 
196
161
  end
197
162
  end
163
+
164
+ # Setup additional autoloads/modules
165
+ require_relative 'aws-sdk-core/client_side_monitoring'
166
+ require_relative 'aws-sdk-core/log'
167
+ require_relative 'aws-sdk-core/plugins'
168
+ require_relative 'aws-sdk-core/resources'
169
+ require_relative 'aws-sdk-core/stubbing'
170
+ require_relative 'aws-sdk-core/waiters'
171
+
172
+ # aws-sdk-sts is included to support Aws::AssumeRoleCredentials
173
+ require_relative 'aws-sdk-sts'
174
+
175
+ # aws-sdk-sso is included to support Aws::SSOCredentials
176
+ require_relative 'aws-sdk-sso'
177
+ require_relative 'aws-sdk-ssooidc'
@@ -36,8 +36,6 @@ require 'aws-sdk-core/plugins/telemetry.rb'
36
36
  require 'aws-sdk-core/plugins/sign.rb'
37
37
  require 'aws-sdk-core/plugins/protocols/rest_json.rb'
38
38
 
39
- Aws::Plugins::GlobalConfiguration.add_identifier(:sso)
40
-
41
39
  module Aws::SSO
42
40
  # An API client for SSO. To construct a client, you need to configure a `:region` and `:credentials`.
43
41
  #
@@ -130,13 +128,15 @@ module Aws::SSO
130
128
  # locations will be searched for credentials:
131
129
  #
132
130
  # * `Aws.config[:credentials]`
133
- # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
134
- # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
131
+ # * The `:access_key_id`, `:secret_access_key`, `:session_token`, and
132
+ # `:account_id` options.
133
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY'],
134
+ # ENV['AWS_SESSION_TOKEN'], and ENV['AWS_ACCOUNT_ID']
135
135
  # * `~/.aws/credentials`
136
136
  # * `~/.aws/config`
137
137
  # * EC2/ECS IMDS instance profile - When used by default, the timeouts
138
138
  # are very aggressive. Construct and pass an instance of
139
- # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
139
+ # `Aws::InstanceProfileCredentials` or `Aws::ECSCredentials` to
140
140
  # enable retries and extended timeouts. Instance profile credential
141
141
  # fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
142
142
  # to true.
@@ -155,6 +155,8 @@ module Aws::SSO
155
155
  #
156
156
  # @option options [String] :access_key_id
157
157
  #
158
+ # @option options [String] :account_id
159
+ #
158
160
  # @option options [Boolean] :active_endpoint_cache (false)
159
161
  # When set to `true`, a thread polling for endpoints will be running in
160
162
  # the background every 60 secs (default). Defaults to `false`.
@@ -369,7 +371,9 @@ module Aws::SSO
369
371
  # sending the request.
370
372
  #
371
373
  # @option options [Aws::SSO::EndpointProvider] :endpoint_provider
372
- # The endpoint provider used to resolve endpoints. Any object that responds to `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::SSO::EndpointParameters`
374
+ # The endpoint provider used to resolve endpoints. Any object that responds to
375
+ # `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to
376
+ # `Aws::SSO::EndpointParameters`.
373
377
  #
374
378
  # @option options [Float] :http_continue_timeout (1)
375
379
  # The number of seconds to wait for a 100-continue response before sending the
@@ -665,7 +669,7 @@ module Aws::SSO
665
669
  tracer: tracer
666
670
  )
667
671
  context[:gem_name] = 'aws-sdk-core'
668
- context[:gem_version] = '3.205.0'
672
+ context[:gem_version] = '3.209.1'
669
673
  Seahorse::Client::Request.new(handlers, context)
670
674
  end
671
675
 
@@ -7,6 +7,7 @@
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
10
+
10
11
  module Aws::SSO
11
12
  # @api private
12
13
  module ClientApi
@@ -15,11 +15,11 @@ module Aws::SSO
15
15
  :endpoint_provider,
16
16
  doc_type: 'Aws::SSO::EndpointProvider',
17
17
  rbs_type: 'untyped',
18
- docstring: 'The endpoint provider used to resolve endpoints. Any '\
19
- 'object that responds to `#resolve_endpoint(parameters)` '\
20
- 'where `parameters` is a Struct similar to '\
21
- '`Aws::SSO::EndpointParameters`'
22
- ) do |cfg|
18
+ docstring: <<~DOCS) do |_cfg|
19
+ The endpoint provider used to resolve endpoints. Any object that responds to
20
+ `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to
21
+ `Aws::SSO::EndpointParameters`.
22
+ DOCS
23
23
  Aws::SSO::EndpointProvider.new
24
24
  end
25
25
 
@@ -51,6 +51,9 @@ module Aws::SSO
51
51
  if context[:auth_scheme] && context[:auth_scheme]['name'] == 'sigv4a'
52
52
  metrics << 'SIGV4A_SIGNING'
53
53
  end
54
+ if context.config.credentials&.credentials&.account_id
55
+ metrics << 'RESOLVED_ACCOUNT_ID'
56
+ end
54
57
  Aws::Plugins::UserAgent.metric(*metrics, &block)
55
58
  end
56
59
 
@@ -315,3 +315,4 @@ module Aws::SSO
315
315
 
316
316
  end
317
317
  end
318
+
data/lib/aws-sdk-sso.rb CHANGED
@@ -13,16 +13,7 @@ unless Module.const_defined?(:Aws)
13
13
  require 'aws-sigv4'
14
14
  end
15
15
 
16
- require_relative 'aws-sdk-sso/types'
17
- require_relative 'aws-sdk-sso/client_api'
18
- require_relative 'aws-sdk-sso/plugins/endpoints.rb'
19
- require_relative 'aws-sdk-sso/client'
20
- require_relative 'aws-sdk-sso/errors'
21
- require_relative 'aws-sdk-sso/resource'
22
- require_relative 'aws-sdk-sso/endpoint_parameters'
23
- require_relative 'aws-sdk-sso/endpoint_provider'
24
- require_relative 'aws-sdk-sso/endpoints'
25
- require_relative 'aws-sdk-sso/customizations'
16
+ Aws::Plugins::GlobalConfiguration.add_identifier(:sso)
26
17
 
27
18
  # This module provides support for AWS Single Sign-On. This module is available in the
28
19
  # `aws-sdk-core` gem.
@@ -53,7 +44,20 @@ require_relative 'aws-sdk-sso/customizations'
53
44
  #
54
45
  # @!group service
55
46
  module Aws::SSO
47
+ autoload :Types, 'aws-sdk-sso/types'
48
+ autoload :ClientApi, 'aws-sdk-sso/client_api'
49
+ module Plugins
50
+ autoload :Endpoints, 'aws-sdk-sso/plugins/endpoints.rb'
51
+ end
52
+ autoload :Client, 'aws-sdk-sso/client'
53
+ autoload :Errors, 'aws-sdk-sso/errors'
54
+ autoload :Resource, 'aws-sdk-sso/resource'
55
+ autoload :EndpointParameters, 'aws-sdk-sso/endpoint_parameters'
56
+ autoload :EndpointProvider, 'aws-sdk-sso/endpoint_provider'
57
+ autoload :Endpoints, 'aws-sdk-sso/endpoints'
56
58
 
57
- GEM_VERSION = '3.205.0'
59
+ GEM_VERSION = '3.209.1'
58
60
 
59
61
  end
62
+
63
+ require_relative 'aws-sdk-sso/customizations'
@@ -36,8 +36,6 @@ require 'aws-sdk-core/plugins/telemetry.rb'
36
36
  require 'aws-sdk-core/plugins/sign.rb'
37
37
  require 'aws-sdk-core/plugins/protocols/rest_json.rb'
38
38
 
39
- Aws::Plugins::GlobalConfiguration.add_identifier(:ssooidc)
40
-
41
39
  module Aws::SSOOIDC
42
40
  # An API client for SSOOIDC. To construct a client, you need to configure a `:region` and `:credentials`.
43
41
  #
@@ -130,13 +128,15 @@ module Aws::SSOOIDC
130
128
  # locations will be searched for credentials:
131
129
  #
132
130
  # * `Aws.config[:credentials]`
133
- # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
134
- # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
131
+ # * The `:access_key_id`, `:secret_access_key`, `:session_token`, and
132
+ # `:account_id` options.
133
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY'],
134
+ # ENV['AWS_SESSION_TOKEN'], and ENV['AWS_ACCOUNT_ID']
135
135
  # * `~/.aws/credentials`
136
136
  # * `~/.aws/config`
137
137
  # * EC2/ECS IMDS instance profile - When used by default, the timeouts
138
138
  # are very aggressive. Construct and pass an instance of
139
- # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
139
+ # `Aws::InstanceProfileCredentials` or `Aws::ECSCredentials` to
140
140
  # enable retries and extended timeouts. Instance profile credential
141
141
  # fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
142
142
  # to true.
@@ -155,6 +155,8 @@ module Aws::SSOOIDC
155
155
  #
156
156
  # @option options [String] :access_key_id
157
157
  #
158
+ # @option options [String] :account_id
159
+ #
158
160
  # @option options [Boolean] :active_endpoint_cache (false)
159
161
  # When set to `true`, a thread polling for endpoints will be running in
160
162
  # the background every 60 secs (default). Defaults to `false`.
@@ -369,7 +371,9 @@ module Aws::SSOOIDC
369
371
  # sending the request.
370
372
  #
371
373
  # @option options [Aws::SSOOIDC::EndpointProvider] :endpoint_provider
372
- # 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`
374
+ # The endpoint provider used to resolve endpoints. Any object that responds to
375
+ # `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to
376
+ # `Aws::SSOOIDC::EndpointParameters`.
373
377
  #
374
378
  # @option options [Float] :http_continue_timeout (1)
375
379
  # The number of seconds to wait for a 100-continue response before sending the
@@ -1018,7 +1022,7 @@ module Aws::SSOOIDC
1018
1022
  tracer: tracer
1019
1023
  )
1020
1024
  context[:gem_name] = 'aws-sdk-core'
1021
- context[:gem_version] = '3.205.0'
1025
+ context[:gem_version] = '3.209.1'
1022
1026
  Seahorse::Client::Request.new(handlers, context)
1023
1027
  end
1024
1028
 
@@ -7,6 +7,7 @@
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
10
+
10
11
  module Aws::SSOOIDC
11
12
  # @api private
12
13
  module ClientApi
@@ -15,11 +15,11 @@ module Aws::SSOOIDC
15
15
  :endpoint_provider,
16
16
  doc_type: 'Aws::SSOOIDC::EndpointProvider',
17
17
  rbs_type: 'untyped',
18
- docstring: 'The endpoint provider used to resolve endpoints. Any '\
19
- 'object that responds to `#resolve_endpoint(parameters)` '\
20
- 'where `parameters` is a Struct similar to '\
21
- '`Aws::SSOOIDC::EndpointParameters`'
22
- ) do |cfg|
18
+ docstring: <<~DOCS) do |_cfg|
19
+ The endpoint provider used to resolve endpoints. Any object that responds to
20
+ `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to
21
+ `Aws::SSOOIDC::EndpointParameters`.
22
+ DOCS
23
23
  Aws::SSOOIDC::EndpointProvider.new
24
24
  end
25
25
 
@@ -51,6 +51,9 @@ module Aws::SSOOIDC
51
51
  if context[:auth_scheme] && context[:auth_scheme]['name'] == 'sigv4a'
52
52
  metrics << 'SIGV4A_SIGNING'
53
53
  end
54
+ if context.config.credentials&.credentials&.account_id
55
+ metrics << 'RESOLVED_ACCOUNT_ID'
56
+ end
54
57
  Aws::Plugins::UserAgent.metric(*metrics, &block)
55
58
  end
56
59
 
@@ -821,3 +821,4 @@ module Aws::SSOOIDC
821
821
 
822
822
  end
823
823
  end
824
+
@@ -13,16 +13,7 @@ unless Module.const_defined?(:Aws)
13
13
  require 'aws-sigv4'
14
14
  end
15
15
 
16
- require_relative 'aws-sdk-ssooidc/types'
17
- require_relative 'aws-sdk-ssooidc/client_api'
18
- require_relative 'aws-sdk-ssooidc/plugins/endpoints.rb'
19
- require_relative 'aws-sdk-ssooidc/client'
20
- require_relative 'aws-sdk-ssooidc/errors'
21
- require_relative 'aws-sdk-ssooidc/resource'
22
- require_relative 'aws-sdk-ssooidc/endpoint_parameters'
23
- require_relative 'aws-sdk-ssooidc/endpoint_provider'
24
- require_relative 'aws-sdk-ssooidc/endpoints'
25
- require_relative 'aws-sdk-ssooidc/customizations'
16
+ Aws::Plugins::GlobalConfiguration.add_identifier(:ssooidc)
26
17
 
27
18
  # This module provides support for AWS SSO OIDC. This module is available in the
28
19
  # `aws-sdk-core` gem.
@@ -53,7 +44,20 @@ require_relative 'aws-sdk-ssooidc/customizations'
53
44
  #
54
45
  # @!group service
55
46
  module Aws::SSOOIDC
47
+ autoload :Types, 'aws-sdk-ssooidc/types'
48
+ autoload :ClientApi, 'aws-sdk-ssooidc/client_api'
49
+ module Plugins
50
+ autoload :Endpoints, 'aws-sdk-ssooidc/plugins/endpoints.rb'
51
+ end
52
+ autoload :Client, 'aws-sdk-ssooidc/client'
53
+ autoload :Errors, 'aws-sdk-ssooidc/errors'
54
+ autoload :Resource, 'aws-sdk-ssooidc/resource'
55
+ autoload :EndpointParameters, 'aws-sdk-ssooidc/endpoint_parameters'
56
+ autoload :EndpointProvider, 'aws-sdk-ssooidc/endpoint_provider'
57
+ autoload :Endpoints, 'aws-sdk-ssooidc/endpoints'
56
58
 
57
- GEM_VERSION = '3.205.0'
59
+ GEM_VERSION = '3.209.1'
58
60
 
59
61
  end
62
+
63
+ require_relative 'aws-sdk-ssooidc/customizations'
@@ -37,8 +37,6 @@ require 'aws-sdk-core/plugins/sign.rb'
37
37
  require 'aws-sdk-core/plugins/protocols/query.rb'
38
38
  require 'aws-sdk-sts/plugins/sts_regional_endpoints.rb'
39
39
 
40
- Aws::Plugins::GlobalConfiguration.add_identifier(:sts)
41
-
42
40
  module Aws::STS
43
41
  # An API client for STS. To construct a client, you need to configure a `:region` and `:credentials`.
44
42
  #
@@ -132,13 +130,15 @@ module Aws::STS
132
130
  # locations will be searched for credentials:
133
131
  #
134
132
  # * `Aws.config[:credentials]`
135
- # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
136
- # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
133
+ # * The `:access_key_id`, `:secret_access_key`, `:session_token`, and
134
+ # `:account_id` options.
135
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY'],
136
+ # ENV['AWS_SESSION_TOKEN'], and ENV['AWS_ACCOUNT_ID']
137
137
  # * `~/.aws/credentials`
138
138
  # * `~/.aws/config`
139
139
  # * EC2/ECS IMDS instance profile - When used by default, the timeouts
140
140
  # are very aggressive. Construct and pass an instance of
141
- # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
141
+ # `Aws::InstanceProfileCredentials` or `Aws::ECSCredentials` to
142
142
  # enable retries and extended timeouts. Instance profile credential
143
143
  # fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
144
144
  # to true.
@@ -157,6 +157,8 @@ module Aws::STS
157
157
  #
158
158
  # @option options [String] :access_key_id
159
159
  #
160
+ # @option options [String] :account_id
161
+ #
160
162
  # @option options [Boolean] :active_endpoint_cache (false)
161
163
  # When set to `true`, a thread polling for endpoints will be running in
162
164
  # the background every 60 secs (default). Defaults to `false`.
@@ -376,7 +378,9 @@ module Aws::STS
376
378
  # sending the request.
377
379
  #
378
380
  # @option options [Aws::STS::EndpointProvider] :endpoint_provider
379
- # The endpoint provider used to resolve endpoints. Any object that responds to `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::STS::EndpointParameters`
381
+ # The endpoint provider used to resolve endpoints. Any object that responds to
382
+ # `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to
383
+ # `Aws::STS::EndpointParameters`.
380
384
  #
381
385
  # @option options [Float] :http_continue_timeout (1)
382
386
  # The number of seconds to wait for a 100-continue response before sending the
@@ -2412,7 +2416,7 @@ module Aws::STS
2412
2416
  tracer: tracer
2413
2417
  )
2414
2418
  context[:gem_name] = 'aws-sdk-core'
2415
- context[:gem_version] = '3.205.0'
2419
+ context[:gem_version] = '3.209.1'
2416
2420
  Seahorse::Client::Request.new(handlers, context)
2417
2421
  end
2418
2422
 
@@ -7,6 +7,7 @@
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
10
+
10
11
  module Aws::STS
11
12
  # @api private
12
13
  module ClientApi
@@ -1,4 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  # utility classes
4
- require 'aws-sdk-sts/presigner'
4
+ module Aws
5
+ module STS
6
+ autoload :Presigner, 'aws-sdk-sts/presigner'
7
+ end
8
+ end
@@ -15,11 +15,11 @@ module Aws::STS
15
15
  :endpoint_provider,
16
16
  doc_type: 'Aws::STS::EndpointProvider',
17
17
  rbs_type: 'untyped',
18
- docstring: 'The endpoint provider used to resolve endpoints. Any '\
19
- 'object that responds to `#resolve_endpoint(parameters)` '\
20
- 'where `parameters` is a Struct similar to '\
21
- '`Aws::STS::EndpointParameters`'
22
- ) do |cfg|
18
+ docstring: <<~DOCS) do |_cfg|
19
+ The endpoint provider used to resolve endpoints. Any object that responds to
20
+ `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to
21
+ `Aws::STS::EndpointParameters`.
22
+ DOCS
23
23
  Aws::STS::EndpointProvider.new
24
24
  end
25
25
 
@@ -51,6 +51,9 @@ module Aws::STS
51
51
  if context[:auth_scheme] && context[:auth_scheme]['name'] == 'sigv4a'
52
52
  metrics << 'SIGV4A_SIGNING'
53
53
  end
54
+ if context.config.credentials&.credentials&.account_id
55
+ metrics << 'RESOLVED_ACCOUNT_ID'
56
+ end
54
57
  Aws::Plugins::UserAgent.metric(*metrics, &block)
55
58
  end
56
59
 
@@ -1602,3 +1602,4 @@ module Aws::STS
1602
1602
 
1603
1603
  end
1604
1604
  end
1605
+
data/lib/aws-sdk-sts.rb CHANGED
@@ -13,16 +13,7 @@ unless Module.const_defined?(:Aws)
13
13
  require 'aws-sigv4'
14
14
  end
15
15
 
16
- require_relative 'aws-sdk-sts/types'
17
- require_relative 'aws-sdk-sts/client_api'
18
- require_relative 'aws-sdk-sts/plugins/endpoints.rb'
19
- require_relative 'aws-sdk-sts/client'
20
- require_relative 'aws-sdk-sts/errors'
21
- require_relative 'aws-sdk-sts/resource'
22
- require_relative 'aws-sdk-sts/endpoint_parameters'
23
- require_relative 'aws-sdk-sts/endpoint_provider'
24
- require_relative 'aws-sdk-sts/endpoints'
25
- require_relative 'aws-sdk-sts/customizations'
16
+ Aws::Plugins::GlobalConfiguration.add_identifier(:sts)
26
17
 
27
18
  # This module provides support for AWS Security Token Service. This module is available in the
28
19
  # `aws-sdk-core` gem.
@@ -53,7 +44,20 @@ require_relative 'aws-sdk-sts/customizations'
53
44
  #
54
45
  # @!group service
55
46
  module Aws::STS
47
+ autoload :Types, 'aws-sdk-sts/types'
48
+ autoload :ClientApi, 'aws-sdk-sts/client_api'
49
+ module Plugins
50
+ autoload :Endpoints, 'aws-sdk-sts/plugins/endpoints.rb'
51
+ end
52
+ autoload :Client, 'aws-sdk-sts/client'
53
+ autoload :Errors, 'aws-sdk-sts/errors'
54
+ autoload :Resource, 'aws-sdk-sts/resource'
55
+ autoload :EndpointParameters, 'aws-sdk-sts/endpoint_parameters'
56
+ autoload :EndpointProvider, 'aws-sdk-sts/endpoint_provider'
57
+ autoload :Endpoints, 'aws-sdk-sts/endpoints'
56
58
 
57
- GEM_VERSION = '3.205.0'
59
+ GEM_VERSION = '3.209.1'
58
60
 
59
61
  end
62
+
63
+ require_relative 'aws-sdk-sts/customizations'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-core
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.205.0
4
+ version: 3.209.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-09-11 00:00:00.000000000 Z
11
+ date: 2024-09-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jmespath
@@ -115,6 +115,7 @@ files:
115
115
  - lib/aws-sdk-core/cbor/cbor_engine.rb
116
116
  - lib/aws-sdk-core/cbor/decoder.rb
117
117
  - lib/aws-sdk-core/cbor/encoder.rb
118
+ - lib/aws-sdk-core/client_side_monitoring.rb
118
119
  - lib/aws-sdk-core/client_side_monitoring/publisher.rb
119
120
  - lib/aws-sdk-core/client_side_monitoring/request_metrics.rb
120
121
  - lib/aws-sdk-core/client_stubs.rb
@@ -152,6 +153,7 @@ files:
152
153
  - lib/aws-sdk-core/json/json_engine.rb
153
154
  - lib/aws-sdk-core/json/oj_engine.rb
154
155
  - lib/aws-sdk-core/json/parser.rb
156
+ - lib/aws-sdk-core/log.rb
155
157
  - lib/aws-sdk-core/log/formatter.rb
156
158
  - lib/aws-sdk-core/log/handler.rb
157
159
  - lib/aws-sdk-core/log/param_filter.rb
@@ -161,6 +163,7 @@ files:
161
163
  - lib/aws-sdk-core/pager.rb
162
164
  - lib/aws-sdk-core/param_converter.rb
163
165
  - lib/aws-sdk-core/param_validator.rb
166
+ - lib/aws-sdk-core/plugins.rb
164
167
  - lib/aws-sdk-core/plugins/api_key.rb
165
168
  - lib/aws-sdk-core/plugins/apig_authorizer_token.rb
166
169
  - lib/aws-sdk-core/plugins/apig_credentials_configuration.rb
@@ -216,6 +219,7 @@ files:
216
219
  - lib/aws-sdk-core/query/param_list.rb
217
220
  - lib/aws-sdk-core/refreshing_credentials.rb
218
221
  - lib/aws-sdk-core/refreshing_token.rb
222
+ - lib/aws-sdk-core/resources.rb
219
223
  - lib/aws-sdk-core/resources/collection.rb
220
224
  - lib/aws-sdk-core/rest.rb
221
225
  - lib/aws-sdk-core/rest/content_type_handler.rb
@@ -242,6 +246,7 @@ files:
242
246
  - lib/aws-sdk-core/sso_token_provider.rb
243
247
  - lib/aws-sdk-core/static_token_provider.rb
244
248
  - lib/aws-sdk-core/structure.rb
249
+ - lib/aws-sdk-core/stubbing.rb
245
250
  - lib/aws-sdk-core/stubbing/data_applicator.rb
246
251
  - lib/aws-sdk-core/stubbing/empty_stub.rb
247
252
  - lib/aws-sdk-core/stubbing/protocols/api_gateway.rb