aws-sdk-pricing 1.40.0 → 1.42.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 89fae4251e86c4fdd5e6f2e5458415f55730bccee81ad85bb6061ea07be62357
4
- data.tar.gz: f4af3ae6aec14f914d5643b9dc6db131566493e77b232dad31cc5133de1a73f7
3
+ metadata.gz: 6417c454cc32c106948ba165d0426ddcf5272c365da6310691d6073678145b7b
4
+ data.tar.gz: cfce9da89edae3c6eaed9424715f06826b37e46514ee023cee4c7658be2e4707
5
5
  SHA512:
6
- metadata.gz: 70952c2d9fd7d04f7e7c8e00ca38c5480b4ef54408ac6bbd88cbb749f9639b1803cc66fe8de722967c3602da398e22afb4c743cb7ae5f00649eef381f8b06eb9
7
- data.tar.gz: 190f288271be2037d6c9d567bba71cf6679e436814b435a26ab6d8a0f7f9d096e3fc51e32c63cc0cc5dad29f648e18a55a723a72d662de6a4e3005cd23e13b7b
6
+ metadata.gz: 21431e28e9ce274f0c506b3da9d1b61f8e2cd6eb660f9a6fca1d97b0df8811a205f70335163fe34dde74a43c89f0d297ef8edb8987e0ba74871483558266b517
7
+ data.tar.gz: 302cf29267ab4a45e0ef515a435903997cf347a5aba7913f825dd431521b12f4d6660c24ace656f81b481d97c9d3c4ab646fef8e43547ed0cadf1aa5b078b16f
data/CHANGELOG.md CHANGED
@@ -1,6 +1,18 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.42.0 (2023-01-18)
5
+ ------------------
6
+
7
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
8
+
9
+ * Issue - Replace runtime endpoint resolution approach with generated ruby code.
10
+
11
+ 1.41.0 (2022-10-25)
12
+ ------------------
13
+
14
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
15
+
4
16
  1.40.0 (2022-06-30)
5
17
  ------------------
6
18
 
@@ -210,4 +222,4 @@ Unreleased Changes
210
222
  1.0.0 (2017-11-07)
211
223
  ------------------
212
224
 
213
- * Feature - Initial release of `aws-sdk-pricing`.
225
+ * Feature - Initial release of `aws-sdk-pricing`.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.40.0
1
+ 1.42.0
@@ -30,7 +30,7 @@ require 'aws-sdk-core/plugins/http_checksum.rb'
30
30
  require 'aws-sdk-core/plugins/checksum_algorithm.rb'
31
31
  require 'aws-sdk-core/plugins/defaults_mode.rb'
32
32
  require 'aws-sdk-core/plugins/recursion_detection.rb'
33
- require 'aws-sdk-core/plugins/signature_v4.rb'
33
+ require 'aws-sdk-core/plugins/sign.rb'
34
34
  require 'aws-sdk-core/plugins/protocols/json_rpc.rb'
35
35
 
36
36
  Aws::Plugins::GlobalConfiguration.add_identifier(:pricing)
@@ -79,8 +79,9 @@ module Aws::Pricing
79
79
  add_plugin(Aws::Plugins::ChecksumAlgorithm)
80
80
  add_plugin(Aws::Plugins::DefaultsMode)
81
81
  add_plugin(Aws::Plugins::RecursionDetection)
82
- add_plugin(Aws::Plugins::SignatureV4)
82
+ add_plugin(Aws::Plugins::Sign)
83
83
  add_plugin(Aws::Plugins::Protocols::JsonRpc)
84
+ add_plugin(Aws::Pricing::Plugins::Endpoints)
84
85
 
85
86
  # @overload initialize(options)
86
87
  # @param [Hash] options
@@ -297,6 +298,19 @@ module Aws::Pricing
297
298
  # ** Please note ** When response stubbing is enabled, no HTTP
298
299
  # requests are made, and retries are disabled.
299
300
  #
301
+ # @option options [Aws::TokenProvider] :token_provider
302
+ # A Bearer Token Provider. This can be an instance of any one of the
303
+ # following classes:
304
+ #
305
+ # * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
306
+ # tokens.
307
+ #
308
+ # * `Aws::SSOTokenProvider` - Used for loading tokens from AWS SSO using an
309
+ # access token generated from `aws login`.
310
+ #
311
+ # When `:token_provider` is not configured directly, the `Aws::TokenProviderChain`
312
+ # will be used to search for tokens configured for your profile in shared configuration files.
313
+ #
300
314
  # @option options [Boolean] :use_dualstack_endpoint
301
315
  # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
302
316
  # will be used if available.
@@ -310,6 +324,9 @@ module Aws::Pricing
310
324
  # When `true`, request parameters are validated before
311
325
  # sending the request.
312
326
  #
327
+ # @option options [Aws::Pricing::EndpointProvider] :endpoint_provider
328
+ # The endpoint provider used to resolve endpoints. Any object that responds to `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::Pricing::EndpointParameters`
329
+ #
313
330
  # @option options [URI::HTTP,String] :http_proxy A proxy to send
314
331
  # requests through. Formatted like 'http://proxy.com:123'.
315
332
  #
@@ -606,7 +623,7 @@ module Aws::Pricing
606
623
  params: params,
607
624
  config: config)
608
625
  context[:gem_name] = 'aws-sdk-pricing'
609
- context[:gem_version] = '1.40.0'
626
+ context[:gem_version] = '1.42.0'
610
627
  Seahorse::Client::Request.new(handlers, context)
611
628
  end
612
629
 
@@ -0,0 +1,66 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ module Aws::Pricing
11
+ # Endpoint parameters used to influence endpoints per request.
12
+ #
13
+ # @!attribute region
14
+ # The AWS region used to dispatch the request.
15
+ #
16
+ # @return [String]
17
+ #
18
+ # @!attribute use_dual_stack
19
+ # When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.
20
+ #
21
+ # @return [Boolean]
22
+ #
23
+ # @!attribute use_fips
24
+ # When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.
25
+ #
26
+ # @return [Boolean]
27
+ #
28
+ # @!attribute endpoint
29
+ # Override the endpoint used to send this request
30
+ #
31
+ # @return [String]
32
+ #
33
+ EndpointParameters = Struct.new(
34
+ :region,
35
+ :use_dual_stack,
36
+ :use_fips,
37
+ :endpoint,
38
+ ) do
39
+ include Aws::Structure
40
+
41
+ # @api private
42
+ class << self
43
+ PARAM_MAP = {
44
+ 'Region' => :region,
45
+ 'UseDualStack' => :use_dual_stack,
46
+ 'UseFIPS' => :use_fips,
47
+ 'Endpoint' => :endpoint,
48
+ }.freeze
49
+ end
50
+
51
+ def initialize(options = {})
52
+ self[:region] = options[:region]
53
+ self[:use_dual_stack] = options[:use_dual_stack]
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
+ self[:use_fips] = options[:use_fips]
59
+ 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
+ self[:endpoint] = options[:endpoint]
64
+ end
65
+ end
66
+ end
@@ -0,0 +1,51 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ module Aws::Pricing
11
+ class EndpointProvider
12
+ def resolve_endpoint(parameters)
13
+ region = parameters.region
14
+ use_dual_stack = parameters.use_dual_stack
15
+ use_fips = parameters.use_fips
16
+ endpoint = parameters.endpoint
17
+ if (partition_result = Aws::Endpoints::Matchers.aws_partition(region))
18
+ if Aws::Endpoints::Matchers.set?(endpoint) && (url = Aws::Endpoints::Matchers.parse_url(endpoint))
19
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
20
+ raise ArgumentError, "Invalid Configuration: FIPS and custom endpoint are not supported"
21
+ end
22
+ if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
23
+ raise ArgumentError, "Invalid Configuration: Dualstack and custom endpoint are not supported"
24
+ end
25
+ return Aws::Endpoints::Endpoint.new(url: endpoint, headers: {}, properties: {})
26
+ end
27
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true) && Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
28
+ 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"))
29
+ return Aws::Endpoints::Endpoint.new(url: "https://api.pricing-fips.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
30
+ end
31
+ raise ArgumentError, "FIPS and DualStack are enabled, but this partition does not support one or both"
32
+ end
33
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
34
+ if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"))
35
+ return Aws::Endpoints::Endpoint.new(url: "https://api.pricing-fips.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
36
+ end
37
+ raise ArgumentError, "FIPS is enabled but this partition does not support FIPS"
38
+ end
39
+ if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
40
+ if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
41
+ return Aws::Endpoints::Endpoint.new(url: "https://api.pricing.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
42
+ end
43
+ raise ArgumentError, "DualStack is enabled but this partition does not support DualStack"
44
+ end
45
+ return Aws::Endpoints::Endpoint.new(url: "https://api.pricing.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
46
+ end
47
+ raise ArgumentError, 'No endpoint could be resolved'
48
+
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,57 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+
11
+ module Aws::Pricing
12
+ module Endpoints
13
+
14
+ class DescribeServices
15
+ def self.build(context)
16
+ unless context.config.regional_endpoint
17
+ endpoint = context.config.endpoint.to_s
18
+ end
19
+ Aws::Pricing::EndpointParameters.new(
20
+ region: context.config.region,
21
+ use_dual_stack: context.config.use_dualstack_endpoint,
22
+ use_fips: context.config.use_fips_endpoint,
23
+ endpoint: endpoint,
24
+ )
25
+ end
26
+ end
27
+
28
+ class GetAttributeValues
29
+ def self.build(context)
30
+ unless context.config.regional_endpoint
31
+ endpoint = context.config.endpoint.to_s
32
+ end
33
+ Aws::Pricing::EndpointParameters.new(
34
+ region: context.config.region,
35
+ use_dual_stack: context.config.use_dualstack_endpoint,
36
+ use_fips: context.config.use_fips_endpoint,
37
+ endpoint: endpoint,
38
+ )
39
+ end
40
+ end
41
+
42
+ class GetProducts
43
+ def self.build(context)
44
+ unless context.config.regional_endpoint
45
+ endpoint = context.config.endpoint.to_s
46
+ end
47
+ Aws::Pricing::EndpointParameters.new(
48
+ region: context.config.region,
49
+ use_dual_stack: context.config.use_dualstack_endpoint,
50
+ use_fips: context.config.use_fips_endpoint,
51
+ endpoint: endpoint,
52
+ )
53
+ end
54
+ end
55
+
56
+ end
57
+ end
@@ -0,0 +1,74 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+
11
+ module Aws::Pricing
12
+ module Plugins
13
+ class Endpoints < Seahorse::Client::Plugin
14
+ option(
15
+ :endpoint_provider,
16
+ doc_type: 'Aws::Pricing::EndpointProvider',
17
+ docstring: 'The endpoint provider used to resolve endpoints. Any '\
18
+ 'object that responds to `#resolve_endpoint(parameters)` '\
19
+ 'where `parameters` is a Struct similar to '\
20
+ '`Aws::Pricing::EndpointParameters`'
21
+ ) do |cfg|
22
+ Aws::Pricing::EndpointProvider.new
23
+ end
24
+
25
+ # @api private
26
+ class Handler < Seahorse::Client::Handler
27
+ def call(context)
28
+ # If endpoint was discovered, do not resolve or apply the endpoint.
29
+ unless context[:discovered_endpoint]
30
+ params = parameters_for_operation(context)
31
+ endpoint = context.config.endpoint_provider.resolve_endpoint(params)
32
+
33
+ context.http_request.endpoint = endpoint.url
34
+ apply_endpoint_headers(context, endpoint.headers)
35
+ end
36
+
37
+ context[:endpoint_params] = params
38
+ context[:auth_scheme] =
39
+ Aws::Endpoints.resolve_auth_scheme(context, endpoint)
40
+
41
+ @handler.call(context)
42
+ end
43
+
44
+ private
45
+
46
+ def apply_endpoint_headers(context, headers)
47
+ headers.each do |key, values|
48
+ value = values
49
+ .compact
50
+ .map { |s| Seahorse::Util.escape_header_list_string(s.to_s) }
51
+ .join(',')
52
+
53
+ context.http_request.headers[key] = value
54
+ end
55
+ end
56
+
57
+ def parameters_for_operation(context)
58
+ case context.operation_name
59
+ when :describe_services
60
+ Aws::Pricing::Endpoints::DescribeServices.build(context)
61
+ when :get_attribute_values
62
+ Aws::Pricing::Endpoints::GetAttributeValues.build(context)
63
+ when :get_products
64
+ Aws::Pricing::Endpoints::GetProducts.build(context)
65
+ end
66
+ end
67
+ end
68
+
69
+ def add_handlers(handlers, _config)
70
+ handlers.add(Handler, step: :build, priority: 75)
71
+ end
72
+ end
73
+ end
74
+ end
@@ -25,16 +25,6 @@ module Aws::Pricing
25
25
  include Aws::Structure
26
26
  end
27
27
 
28
- # @note When making an API call, you may pass DescribeServicesRequest
29
- # data as a hash:
30
- #
31
- # {
32
- # service_code: "String",
33
- # format_version: "String",
34
- # next_token: "String",
35
- # max_results: 1,
36
- # }
37
- #
38
28
  # @!attribute [rw] service_code
39
29
  # The code for the service whose information you want to retrieve,
40
30
  # such as `AmazonEC2`. You can use the `ServiceCode` to filter the
@@ -106,15 +96,6 @@ module Aws::Pricing
106
96
 
107
97
  # The constraints that you want all returned products to match.
108
98
  #
109
- # @note When making an API call, you may pass Filter
110
- # data as a hash:
111
- #
112
- # {
113
- # type: "TERM_MATCH", # required, accepts TERM_MATCH
114
- # field: "String", # required
115
- # value: "String", # required
116
- # }
117
- #
118
99
  # @!attribute [rw] type
119
100
  # The type of filter that you want to use.
120
101
  #
@@ -154,16 +135,6 @@ module Aws::Pricing
154
135
  include Aws::Structure
155
136
  end
156
137
 
157
- # @note When making an API call, you may pass GetAttributeValuesRequest
158
- # data as a hash:
159
- #
160
- # {
161
- # service_code: "String", # required
162
- # attribute_name: "String", # required
163
- # next_token: "String",
164
- # max_results: 1,
165
- # }
166
- #
167
138
  # @!attribute [rw] service_code
168
139
  # The service code for the service whose attributes you want to
169
140
  # retrieve. For example, if you want the retrieve an EC2 attribute,
@@ -215,23 +186,6 @@ module Aws::Pricing
215
186
  include Aws::Structure
216
187
  end
217
188
 
218
- # @note When making an API call, you may pass GetProductsRequest
219
- # data as a hash:
220
- #
221
- # {
222
- # service_code: "String", # required
223
- # filters: [
224
- # {
225
- # type: "TERM_MATCH", # required, accepts TERM_MATCH
226
- # field: "String", # required
227
- # value: "String", # required
228
- # },
229
- # ],
230
- # format_version: "String",
231
- # next_token: "String",
232
- # max_results: 1,
233
- # }
234
- #
235
189
  # @!attribute [rw] service_code
236
190
  # The code for the service whose products you want to retrieve.
237
191
  # @return [String]
@@ -13,9 +13,13 @@ require 'aws-sigv4'
13
13
 
14
14
  require_relative 'aws-sdk-pricing/types'
15
15
  require_relative 'aws-sdk-pricing/client_api'
16
+ require_relative 'aws-sdk-pricing/plugins/endpoints.rb'
16
17
  require_relative 'aws-sdk-pricing/client'
17
18
  require_relative 'aws-sdk-pricing/errors'
18
19
  require_relative 'aws-sdk-pricing/resource'
20
+ require_relative 'aws-sdk-pricing/endpoint_parameters'
21
+ require_relative 'aws-sdk-pricing/endpoint_provider'
22
+ require_relative 'aws-sdk-pricing/endpoints'
19
23
  require_relative 'aws-sdk-pricing/customizations'
20
24
 
21
25
  # This module provides support for AWS Price List Service. This module is available in the
@@ -48,6 +52,6 @@ require_relative 'aws-sdk-pricing/customizations'
48
52
  # @!group service
49
53
  module Aws::Pricing
50
54
 
51
- GEM_VERSION = '1.40.0'
55
+ GEM_VERSION = '1.42.0'
52
56
 
53
57
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-pricing
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.40.0
4
+ version: 1.42.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: 2022-06-30 00:00:00.000000000 Z
11
+ date: 2023-01-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core
@@ -19,7 +19,7 @@ dependencies:
19
19
  version: '3'
20
20
  - - ">="
21
21
  - !ruby/object:Gem::Version
22
- version: 3.127.0
22
+ version: 3.165.0
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -29,7 +29,7 @@ dependencies:
29
29
  version: '3'
30
30
  - - ">="
31
31
  - !ruby/object:Gem::Version
32
- version: 3.127.0
32
+ version: 3.165.0
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: aws-sigv4
35
35
  requirement: !ruby/object:Gem::Requirement
@@ -59,7 +59,11 @@ files:
59
59
  - lib/aws-sdk-pricing/client.rb
60
60
  - lib/aws-sdk-pricing/client_api.rb
61
61
  - lib/aws-sdk-pricing/customizations.rb
62
+ - lib/aws-sdk-pricing/endpoint_parameters.rb
63
+ - lib/aws-sdk-pricing/endpoint_provider.rb
64
+ - lib/aws-sdk-pricing/endpoints.rb
62
65
  - lib/aws-sdk-pricing/errors.rb
66
+ - lib/aws-sdk-pricing/plugins/endpoints.rb
63
67
  - lib/aws-sdk-pricing/resource.rb
64
68
  - lib/aws-sdk-pricing/types.rb
65
69
  homepage: https://github.com/aws/aws-sdk-ruby