aws-sdk-core 3.177.0 → 3.179.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e27672fd173d6d117fd03b8c4f2d63be68f113727cf4d2aa0fcb1a310f94d329
4
- data.tar.gz: '0329e77dd584bfe1142be767d7eb1dd3dfe80c4d2dc6f3382328fdfddaaadc11'
3
+ metadata.gz: a718aa02701040d0bd3aec6ab69cf36a790a9e16aa6ffa2f7d171ce95d36e055
4
+ data.tar.gz: 5452e4aa44a6d2d0d37341d05d0a43ccc2168a1a4c804291c2cecfac6c923378
5
5
  SHA512:
6
- metadata.gz: fd9aaf73cf5da342b331b394ab8f3cb9f2de5bdbbc195be122fbfab07911844583e0c10b53f0fc1dedd93f90d4ac21687ba8baa1f428eb546d08ad8ce47bbb31
7
- data.tar.gz: 8010064f2bcf25b9c4b72ff7c6b9f9b5f2a6c33e3a81d053543a6b3817357952cfb196d80d875b8a1ef5c26f86287d1f98a8e97435eb04341f4247e911d24334
6
+ metadata.gz: daf4fccf95fa9fceee0b98d840bb67552223b881c70d6253118ce18d28277f6a81b0386eb047770acb569a4bc58f9f1ae7159d9b86fae80787c4d766ae3ece23
7
+ data.tar.gz: be4b8b86226158943daba8bb40eb53a05fcf387616bbe35d3424f5065a36a318d4e2767f840adfafd5ac16e5059891cd438301815834ae16ad85c1bfd2ac4ceb
data/CHANGELOG.md CHANGED
@@ -1,6 +1,22 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 3.179.0 (2023-07-24)
5
+ ------------------
6
+
7
+ * Feature - Add `checksum_validated` method to response.
8
+
9
+ 3.178.0 (2023-07-11)
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
+ * Feature - Add support for configuring the endpoint URL in the shared configuration file or via an environment variable for a specific AWS service or all AWS services.
19
+
4
20
  3.177.0 (2023-07-06)
5
21
  ------------------
6
22
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 3.177.0
1
+ 3.179.0
@@ -6,7 +6,7 @@ module Aws
6
6
  # @return [Credentials]
7
7
  attr_reader :credentials
8
8
 
9
- # @param [Time]
9
+ # @return [Time]
10
10
  attr_reader :expiration
11
11
 
12
12
  # @return [Boolean]
@@ -17,7 +17,7 @@ module Aws
17
17
  current_profile = named_profile[1] if named_profile
18
18
  elsif current_profile
19
19
  unless line.nil?
20
- item = line.match(/^(.+?)\s*=\s*(.+?)\s*$/)
20
+ item = line.match(/^(.+?)\s*=\s*([^\s].*?)\s*$/)
21
21
  prefix = line.match(/^(.+?)\s*=\s*$/)
22
22
  end
23
23
  if item && item[1].match(/^\s+/)
@@ -47,44 +47,21 @@ is set to `true`.
47
47
  # Legacy endpoints must continue to be generated at client time.
48
48
  option(:regional_endpoint, false)
49
49
 
50
- # NOTE: All of the defaults block code is effectively deprecated.
51
- # Because old services can depend on this new core version, we must
52
- # retain it.
50
+ option(:ignore_configured_endpoint_urls,
51
+ doc_type: 'Boolean',
52
+ docstring: <<-DOCS) do |cfg|
53
+ Setting to true disables use of endpoint URLs provided via environment
54
+ variables and the shared configuration file.
55
+ DOCS
56
+ resolve_ignore_configured_endpoint_urls(cfg)
57
+ end
58
+
53
59
  option(:endpoint, doc_type: String, docstring: <<-DOCS) do |cfg|
54
60
  The client endpoint is normally constructed from the `:region`
55
61
  option. You should only configure an `:endpoint` when connecting
56
62
  to test or custom endpoints. This should be a valid HTTP(S) URI.
57
63
  DOCS
58
- endpoint_prefix = cfg.api.metadata['endpointPrefix']
59
- if cfg.region && endpoint_prefix
60
- if cfg.respond_to?(:sts_regional_endpoints)
61
- sts_regional = cfg.sts_regional_endpoints
62
- end
63
-
64
- # check region is a valid RFC host label
65
- unless Seahorse::Util.host_label?(cfg.region)
66
- raise Errors::InvalidRegionError
67
- end
68
-
69
- region = cfg.region
70
- new_region = region.gsub('fips-', '').gsub('-fips', '')
71
- if region != new_region
72
- warn("Legacy region #{region} was transformed to #{new_region}."\
73
- '`use_fips_endpoint` config was set to true.')
74
- cfg.override_config(:use_fips_endpoint, true)
75
- cfg.override_config(:region, new_region)
76
- end
77
-
78
- Aws::Partitions::EndpointProvider.resolve(
79
- cfg.region,
80
- endpoint_prefix,
81
- sts_regional,
82
- {
83
- dualstack: cfg.use_dualstack_endpoint,
84
- fips: cfg.use_fips_endpoint
85
- }
86
- )
87
- end
64
+ resolve_endpoint(cfg)
88
65
  end
89
66
 
90
67
  def after_initialize(client)
@@ -117,6 +94,105 @@ to test or custom endpoints. This should be a valid HTTP(S) URI.
117
94
  value ||= Aws.shared_config.use_fips_endpoint(profile: cfg.profile)
118
95
  Aws::Util.str_2_bool(value) || false
119
96
  end
97
+
98
+ def resolve_ignore_configured_endpoint_urls(cfg)
99
+ value = ENV['AWS_IGNORE_CONFIGURED_ENDPOINT_URLS']
100
+ value ||= Aws.shared_config.ignore_configured_endpoint_urls(profile: cfg.profile)
101
+ Aws::Util.str_2_bool(value&.downcase) || false
102
+ end
103
+
104
+ # NOTE: with Endpoints 2.0, some of this logic is deprecated
105
+ # but because new old service gems may depend on new core versions
106
+ # we must preserve that behavior.
107
+ # Additional behavior controls the setting of the custom SDK::Endpoint
108
+ # parameter.
109
+ # When the `regional_endpoint` config is set to true - this indicates to
110
+ # Endpoints2.0 that a custom endpoint has NOT been configured by the user.
111
+ def resolve_endpoint(cfg)
112
+ endpoint = resolve_custom_config_endpoint(cfg)
113
+ endpoint_prefix = cfg.api.metadata['endpointPrefix']
114
+
115
+ return endpoint unless endpoint.nil? && cfg.region && endpoint_prefix
116
+
117
+ validate_region!(cfg.region)
118
+ handle_legacy_pseudo_regions(cfg)
119
+
120
+ # set regional_endpoint flag - this indicates to Endpoints 2.0
121
+ # that a custom endpoint has NOT been configured by the user
122
+ cfg.override_config(:regional_endpoint, true)
123
+
124
+ resolve_legacy_endpoint(cfg)
125
+ end
126
+
127
+ # get a custom configured endpoint from ENV or configuration
128
+ def resolve_custom_config_endpoint(cfg)
129
+ return if cfg.ignore_configured_endpoint_urls
130
+
131
+
132
+ env_service_endpoint(cfg) || env_global_endpoint(cfg) || shared_config_endpoint(cfg)
133
+ end
134
+
135
+ def env_service_endpoint(cfg)
136
+ service_id = cfg.api.metadata['serviceId'] || cfg.api.metadata['endpointPrefix']
137
+ env_service_id = service_id.gsub(" ", "_").upcase
138
+ return unless endpoint = ENV["AWS_ENDPOINT_URL_#{env_service_id}"]
139
+
140
+ cfg.logger&.debug(
141
+ "Endpoint configured from ENV['AWS_ENDPOINT_URL_#{env_service_id}']: #{endpoint}\n")
142
+ endpoint
143
+ end
144
+
145
+ def env_global_endpoint(cfg)
146
+ return unless endpoint = ENV['AWS_ENDPOINT_URL']
147
+
148
+ cfg.logger&.debug(
149
+ "Endpoint configured from ENV['AWS_ENDPOINT_URL']: #{endpoint}\n")
150
+ endpoint
151
+ end
152
+
153
+ def shared_config_endpoint(cfg)
154
+ service_id = cfg.api.metadata['serviceId'] || cfg.api.metadata['endpointPrefix']
155
+ return unless endpoint = Aws.shared_config.configured_endpoint(profile: cfg.profile, service_id: service_id)
156
+
157
+ cfg.logger&.debug(
158
+ "Endpoint configured from shared config(profile: #{cfg.profile}): #{endpoint}\n")
159
+ endpoint
160
+ end
161
+
162
+ # check region is a valid RFC host label
163
+ def validate_region!(region)
164
+ unless Seahorse::Util.host_label?(region)
165
+ raise Errors::InvalidRegionError
166
+ end
167
+ end
168
+
169
+ def handle_legacy_pseudo_regions(cfg)
170
+ region = cfg.region
171
+ new_region = region.gsub('fips-', '').gsub('-fips', '')
172
+ if region != new_region
173
+ warn("Legacy region #{region} was transformed to #{new_region}."\
174
+ '`use_fips_endpoint` config was set to true.')
175
+ cfg.override_config(:use_fips_endpoint, true)
176
+ cfg.override_config(:region, new_region)
177
+ end
178
+ end
179
+ # set a default endpoint in config using legacy (endpoints.json) resolver
180
+ def resolve_legacy_endpoint(cfg)
181
+ endpoint_prefix = cfg.api.metadata['endpointPrefix']
182
+ if cfg.respond_to?(:sts_regional_endpoints)
183
+ sts_regional = cfg.sts_regional_endpoints
184
+ end
185
+
186
+ Aws::Partitions::EndpointProvider.resolve(
187
+ cfg.region,
188
+ endpoint_prefix,
189
+ sts_regional,
190
+ {
191
+ dualstack: cfg.use_dualstack_endpoint,
192
+ fips: cfg.use_fips_endpoint
193
+ }
194
+ )
195
+ end
120
196
  end
121
197
  end
122
198
  end
@@ -167,6 +167,26 @@ module Aws
167
167
  token
168
168
  end
169
169
 
170
+ # Source a custom configured endpoint from the shared configuration file
171
+ #
172
+ # @param [Hash] opts
173
+ # @option opts [String] :profile
174
+ # @option opts [String] :service_id
175
+ def configured_endpoint(opts = {})
176
+ # services section is only allowed in the shared config file (not credentials)
177
+ profile = opts[:profile] || @profile_name
178
+ service_id = opts[:service_id]&.gsub(" ", "_")&.downcase
179
+ if @parsed_config && (prof_config = @parsed_config[profile])
180
+ services_section_name = prof_config['services']
181
+ if (services_config = @parsed_config["services #{services_section_name}"]) &&
182
+ (service_config = services_config[service_id])
183
+ return service_config['endpoint_url'] if service_config['endpoint_url']
184
+ end
185
+ return prof_config['endpoint_url']
186
+ end
187
+ nil
188
+ end
189
+
170
190
  # Add an accessor method (similar to attr_reader) to return a configuration value
171
191
  # Uses the get_config_value below to control where
172
192
  # values are loaded from
@@ -200,7 +220,8 @@ module Aws
200
220
  :defaults_mode,
201
221
  :sdk_ua_app_id,
202
222
  :disable_request_compression,
203
- :request_min_compression_size_bytes
223
+ :request_min_compression_size_bytes,
224
+ :ignore_configured_endpoint_urls
204
225
  )
205
226
 
206
227
  private
@@ -216,6 +216,10 @@ module Aws::SSO
216
216
  # @option options [Boolean] :endpoint_discovery (false)
217
217
  # When set to `true`, endpoint discovery will be enabled for operations when available.
218
218
  #
219
+ # @option options [Boolean] :ignore_configured_endpoint_urls
220
+ # Setting to true disables use of endpoint URLs provided via environment
221
+ # variables and the shared configuration file.
222
+ #
219
223
  # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
220
224
  # The log formatter.
221
225
  #
@@ -601,7 +605,7 @@ module Aws::SSO
601
605
  params: params,
602
606
  config: config)
603
607
  context[:gem_name] = 'aws-sdk-core'
604
- context[:gem_version] = '3.177.0'
608
+ context[:gem_version] = '3.179.0'
605
609
  Seahorse::Client::Request.new(handlers, context)
606
610
  end
607
611
 
data/lib/aws-sdk-sso.rb CHANGED
@@ -54,6 +54,6 @@ require_relative 'aws-sdk-sso/customizations'
54
54
  # @!group service
55
55
  module Aws::SSO
56
56
 
57
- GEM_VERSION = '3.177.0'
57
+ GEM_VERSION = '3.179.0'
58
58
 
59
59
  end
@@ -216,6 +216,10 @@ module Aws::SSOOIDC
216
216
  # @option options [Boolean] :endpoint_discovery (false)
217
217
  # When set to `true`, endpoint discovery will be enabled for operations when available.
218
218
  #
219
+ # @option options [Boolean] :ignore_configured_endpoint_urls
220
+ # Setting to true disables use of endpoint URLs provided via environment
221
+ # variables and the shared configuration file.
222
+ #
219
223
  # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
220
224
  # The log formatter.
221
225
  #
@@ -597,7 +601,7 @@ module Aws::SSOOIDC
597
601
  params: params,
598
602
  config: config)
599
603
  context[:gem_name] = 'aws-sdk-core'
600
- context[:gem_version] = '3.177.0'
604
+ context[:gem_version] = '3.179.0'
601
605
  Seahorse::Client::Request.new(handlers, context)
602
606
  end
603
607
 
@@ -54,6 +54,6 @@ require_relative 'aws-sdk-ssooidc/customizations'
54
54
  # @!group service
55
55
  module Aws::SSOOIDC
56
56
 
57
- GEM_VERSION = '3.177.0'
57
+ GEM_VERSION = '3.179.0'
58
58
 
59
59
  end
@@ -218,6 +218,10 @@ module Aws::STS
218
218
  # @option options [Boolean] :endpoint_discovery (false)
219
219
  # When set to `true`, endpoint discovery will be enabled for operations when available.
220
220
  #
221
+ # @option options [Boolean] :ignore_configured_endpoint_urls
222
+ # Setting to true disables use of endpoint URLs provided via environment
223
+ # variables and the shared configuration file.
224
+ #
221
225
  # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
222
226
  # The log formatter.
223
227
  #
@@ -2330,7 +2334,7 @@ module Aws::STS
2330
2334
  params: params,
2331
2335
  config: config)
2332
2336
  context[:gem_name] = 'aws-sdk-core'
2333
- context[:gem_version] = '3.177.0'
2337
+ context[:gem_version] = '3.179.0'
2334
2338
  Seahorse::Client::Request.new(handlers, context)
2335
2339
  end
2336
2340
 
data/lib/aws-sdk-sts.rb CHANGED
@@ -54,6 +54,6 @@ require_relative 'aws-sdk-sts/customizations'
54
54
  # @!group service
55
55
  module Aws::STS
56
56
 
57
- GEM_VERSION = '3.177.0'
57
+ GEM_VERSION = '3.179.0'
58
58
 
59
59
  end
@@ -204,10 +204,6 @@ module Seahorse
204
204
  def value_at(opt_name)
205
205
  value = @struct[opt_name]
206
206
  if value.is_a?(Defaults)
207
- # Legacy endpoints must continue to exist.
208
- if opt_name == :endpoint && @struct.members.include?(:regional_endpoint)
209
- @struct[:regional_endpoint] = true
210
- end
211
207
  resolve_defaults(opt_name, value)
212
208
  else
213
209
  value
@@ -30,6 +30,12 @@ module Seahorse
30
30
  # @return [StandardError, nil]
31
31
  attr_accessor :error
32
32
 
33
+ # @return [String, nil] returns the algorithm used to validate
34
+ # the response checksum. Returns nil if no verification was done.
35
+ def checksum_validated
36
+ context[:http_checksum][:validated] if context[:http_checksum]
37
+ end
38
+
33
39
  # @overload on(status_code, &block)
34
40
  # @param [Integer] status_code The block will be
35
41
  # triggered only for responses with the given status code.
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.177.0
4
+ version: 3.179.0
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: 2023-07-06 00:00:00.000000000 Z
11
+ date: 2023-07-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: jmespath