aws-sdk-pricing 1.41.0 → 1.43.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: 9768e4a7fcac055fb53cd0f9614e50cf863e1d4b956a23c66211925741f41418
4
- data.tar.gz: 849569ea5afeba775e0c5364cfb97718e9669a756f726d9dcb7b3f0491ee4a23
3
+ metadata.gz: 7825c66ce3281c35e7f356be7e32c62a6c62eb6c5ef456c0d1e97e8eb90cec67
4
+ data.tar.gz: 6146568860b4c0e4d602d3d4da7af4627c3c5f965e056bd84bc78390029ab459
5
5
  SHA512:
6
- metadata.gz: 97346ebce74d27d80a5b7c27ea461da77b35d01268cb8a5c5f519c6a30bd967aa53fc15338fb132456298867af247aef72c6d0c3a0dc3c02d7fd6522b82ee848
7
- data.tar.gz: 9e8464894356947b784b7db846e17b338f6dcadf6fc4e3d26de352ed79c99dc24f05dae4a058d7e7e2cdd0fdf8fa84f11a5848c1208aeaf4b3cf0f8d33c0038f
6
+ metadata.gz: 359898dbba468f1cd4196cddd34aa8f2c9740c0ff86402f898ca172bcbddfd3c9280d672918653e1ead58e566f3def18b995256b37a22bfc0ceb17cd8c73d3fb
7
+ data.tar.gz: 5e10b85d52f0f5ded108caa436fec8a4af106bfab0e71a23eb93fba107f42e305913f8e567254968091cebf8c180bbb42dac5893fec64e49fa3a58749d48a832
data/CHANGELOG.md CHANGED
@@ -1,6 +1,18 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.43.0 (2023-03-01)
5
+ ------------------
6
+
7
+ * Feature - This release adds 2 new APIs - ListPriceLists which returns a list of applicable price lists, and GetPriceListFileUrl which outputs a URL to retrieve your price lists from the generated file from ListPriceLists
8
+
9
+ 1.42.0 (2023-01-18)
10
+ ------------------
11
+
12
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
13
+
14
+ * Issue - Replace runtime endpoint resolution approach with generated ruby code.
15
+
4
16
  1.41.0 (2022-10-25)
5
17
  ------------------
6
18
 
@@ -215,4 +227,4 @@ Unreleased Changes
215
227
  1.0.0 (2017-11-07)
216
228
  ------------------
217
229
 
218
- * Feature - Initial release of `aws-sdk-pricing`.
230
+ * Feature - Initial release of `aws-sdk-pricing`.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.41.0
1
+ 1.43.0
@@ -549,6 +549,62 @@ module Aws::Pricing
549
549
  req.send_request(options)
550
550
  end
551
551
 
552
+ # <i> <b>This feature is in preview release and is subject to change.
553
+ # Your use of Amazon Web Services Price List API is subject to the Beta
554
+ # Service Participation terms of the <a
555
+ # href="https://aws.amazon.com/service-terms/">Amazon Web Services
556
+ # Service Terms</a> (Section 1.10).</b> </i>
557
+ #
558
+ # This returns the URL that you can retrieve your Price List file from.
559
+ # This URL is based on the `PriceListArn` and `FileFormat` that you
560
+ # retrieve from the [ `ListPriceLists` ][1] response.
561
+ #
562
+ #
563
+ #
564
+ # [1]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_pricing_ListPriceLists.html
565
+ #
566
+ # @option params [required, String] :price_list_arn
567
+ # The unique identifier that maps to where your Price List files are
568
+ # located. `PriceListArn` can be obtained from the [ `ListPriceLists`
569
+ # ][1] response.
570
+ #
571
+ #
572
+ #
573
+ # [1]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_pricing_ListPriceLists.html
574
+ #
575
+ # @option params [required, String] :file_format
576
+ # The format that you want to retrieve your Price List files in. The
577
+ # `FileFormat` can be obtained from the [ `ListPriceLists` ][1]
578
+ # response.
579
+ #
580
+ #
581
+ #
582
+ # [1]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_pricing_ListPriceLists.html
583
+ #
584
+ # @return [Types::GetPriceListFileUrlResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
585
+ #
586
+ # * {Types::GetPriceListFileUrlResponse#url #url} => String
587
+ #
588
+ # @example Request syntax with placeholder values
589
+ #
590
+ # resp = client.get_price_list_file_url({
591
+ # price_list_arn: "PriceListArn", # required
592
+ # file_format: "FileFormat", # required
593
+ # })
594
+ #
595
+ # @example Response structure
596
+ #
597
+ # resp.url #=> String
598
+ #
599
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pricing-2017-10-15/GetPriceListFileUrl AWS API Documentation
600
+ #
601
+ # @overload get_price_list_file_url(params = {})
602
+ # @param [Hash] params ({})
603
+ def get_price_list_file_url(params = {}, options = {})
604
+ req = build_request(:get_price_list_file_url, params)
605
+ req.send_request(options)
606
+ end
607
+
552
608
  # Returns a list of all products that match the filter criteria.
553
609
  #
554
610
  # @option params [required, String] :service_code
@@ -610,6 +666,103 @@ module Aws::Pricing
610
666
  req.send_request(options)
611
667
  end
612
668
 
669
+ # <i> <b>This feature is in preview release and is subject to change.
670
+ # Your use of Amazon Web Services Price List API is subject to the Beta
671
+ # Service Participation terms of the <a
672
+ # href="https://aws.amazon.com/service-terms/">Amazon Web Services
673
+ # Service Terms</a> (Section 1.10).</b> </i>
674
+ #
675
+ # This returns a list of Price List references that the requester if
676
+ # authorized to view, given a `ServiceCode`, `CurrencyCode`, and an
677
+ # `EffectiveDate`. Use without a `RegionCode` filter to list Price List
678
+ # references from all available Amazon Web Services Regions. Use with a
679
+ # `RegionCode` filter to get the Price List reference that's specific
680
+ # to a specific Amazon Web Services Region. You can use the
681
+ # `PriceListArn` from the response to get your preferred Price List
682
+ # files through the [ `GetPriceListFileUrl` ][1] API.
683
+ #
684
+ #
685
+ #
686
+ # [1]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_pricing_GetPriceListFileUrl.html
687
+ #
688
+ # @option params [required, String] :service_code
689
+ # The service code or the Savings Plan service code for the attributes
690
+ # that you want to retrieve. For example, to get the list of applicable
691
+ # Amazon EC2 price lists, use `AmazonEC2`. For a full list of service
692
+ # codes containing On-Demand and Reserved Instance (RI) pricing, use the
693
+ # [ `DescribeServices` ][1] API.
694
+ #
695
+ # To retrieve the Compute Savings Plan price lists, use
696
+ # `ComputeSavingsPlans`. To retrieve Machine Learning Savings Plans
697
+ # price lists, use `MachineLearningSavingsPlans`.
698
+ #
699
+ #
700
+ #
701
+ # [1]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_pricing_DescribeServices.html#awscostmanagement-pricing_DescribeServices-request-FormatVersion
702
+ #
703
+ # @option params [required, Time,DateTime,Date,Integer,String] :effective_date
704
+ # The date that the Price List file prices are effective from.
705
+ #
706
+ # @option params [String] :region_code
707
+ # This is used to filter the Price List by Amazon Web Services Region.
708
+ # For example, to get the price list only for the `US East (N.
709
+ # Virginia)` Region, use `us-east-1`. If nothing is specified, you
710
+ # retrieve price lists for all applicable Regions. The available
711
+ # `RegionCode` list can be retrieved from [ `GetAttributeValues` ][1]
712
+ # API.
713
+ #
714
+ #
715
+ #
716
+ # [1]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_pricing_GetAttributeValues.html
717
+ #
718
+ # @option params [required, String] :currency_code
719
+ # The three alphabetical character ISO-4217 currency code that the Price
720
+ # List files are denominated in.
721
+ #
722
+ # @option params [String] :next_token
723
+ # The pagination token that indicates the next set of results that you
724
+ # want to retrieve.
725
+ #
726
+ # @option params [Integer] :max_results
727
+ # The maximum number of results to return in the response.
728
+ #
729
+ # @return [Types::ListPriceListsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
730
+ #
731
+ # * {Types::ListPriceListsResponse#price_lists #price_lists} => Array&lt;Types::PriceList&gt;
732
+ # * {Types::ListPriceListsResponse#next_token #next_token} => String
733
+ #
734
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
735
+ #
736
+ # @example Request syntax with placeholder values
737
+ #
738
+ # resp = client.list_price_lists({
739
+ # service_code: "ServiceCode", # required
740
+ # effective_date: Time.now, # required
741
+ # region_code: "RegionCode",
742
+ # currency_code: "CurrencyCode", # required
743
+ # next_token: "String",
744
+ # max_results: 1,
745
+ # })
746
+ #
747
+ # @example Response structure
748
+ #
749
+ # resp.price_lists #=> Array
750
+ # resp.price_lists[0].price_list_arn #=> String
751
+ # resp.price_lists[0].region_code #=> String
752
+ # resp.price_lists[0].currency_code #=> String
753
+ # resp.price_lists[0].file_formats #=> Array
754
+ # resp.price_lists[0].file_formats[0] #=> String
755
+ # resp.next_token #=> String
756
+ #
757
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pricing-2017-10-15/ListPriceLists AWS API Documentation
758
+ #
759
+ # @overload list_price_lists(params = {})
760
+ # @param [Hash] params ({})
761
+ def list_price_lists(params = {}, options = {})
762
+ req = build_request(:list_price_lists, params)
763
+ req.send_request(options)
764
+ end
765
+
613
766
  # @!endgroup
614
767
 
615
768
  # @param params ({})
@@ -623,7 +776,7 @@ module Aws::Pricing
623
776
  params: params,
624
777
  config: config)
625
778
  context[:gem_name] = 'aws-sdk-pricing'
626
- context[:gem_version] = '1.41.0'
779
+ context[:gem_version] = '1.43.0'
627
780
  Seahorse::Client::Request.new(handlers, context)
628
781
  end
629
782
 
@@ -13,31 +13,49 @@ module Aws::Pricing
13
13
 
14
14
  include Seahorse::Model
15
15
 
16
+ AccessDeniedException = Shapes::StructureShape.new(name: 'AccessDeniedException')
16
17
  AttributeNameList = Shapes::ListShape.new(name: 'AttributeNameList')
17
18
  AttributeValue = Shapes::StructureShape.new(name: 'AttributeValue')
18
19
  AttributeValueList = Shapes::ListShape.new(name: 'AttributeValueList')
19
20
  BoxedInteger = Shapes::IntegerShape.new(name: 'BoxedInteger')
21
+ CurrencyCode = Shapes::StringShape.new(name: 'CurrencyCode')
20
22
  DescribeServicesRequest = Shapes::StructureShape.new(name: 'DescribeServicesRequest')
21
23
  DescribeServicesResponse = Shapes::StructureShape.new(name: 'DescribeServicesResponse')
24
+ EffectiveDate = Shapes::TimestampShape.new(name: 'EffectiveDate')
22
25
  ExpiredNextTokenException = Shapes::StructureShape.new(name: 'ExpiredNextTokenException')
26
+ FileFormat = Shapes::StringShape.new(name: 'FileFormat')
27
+ FileFormats = Shapes::ListShape.new(name: 'FileFormats')
23
28
  Filter = Shapes::StructureShape.new(name: 'Filter')
24
29
  FilterType = Shapes::StringShape.new(name: 'FilterType')
25
30
  Filters = Shapes::ListShape.new(name: 'Filters')
26
31
  GetAttributeValuesRequest = Shapes::StructureShape.new(name: 'GetAttributeValuesRequest')
27
32
  GetAttributeValuesResponse = Shapes::StructureShape.new(name: 'GetAttributeValuesResponse')
33
+ GetPriceListFileUrlRequest = Shapes::StructureShape.new(name: 'GetPriceListFileUrlRequest')
34
+ GetPriceListFileUrlResponse = Shapes::StructureShape.new(name: 'GetPriceListFileUrlResponse')
28
35
  GetProductsRequest = Shapes::StructureShape.new(name: 'GetProductsRequest')
29
36
  GetProductsResponse = Shapes::StructureShape.new(name: 'GetProductsResponse')
30
37
  InternalErrorException = Shapes::StructureShape.new(name: 'InternalErrorException')
31
38
  InvalidNextTokenException = Shapes::StructureShape.new(name: 'InvalidNextTokenException')
32
39
  InvalidParameterException = Shapes::StructureShape.new(name: 'InvalidParameterException')
40
+ ListPriceListsRequest = Shapes::StructureShape.new(name: 'ListPriceListsRequest')
41
+ ListPriceListsResponse = Shapes::StructureShape.new(name: 'ListPriceListsResponse')
42
+ MaxResults = Shapes::IntegerShape.new(name: 'MaxResults')
33
43
  NotFoundException = Shapes::StructureShape.new(name: 'NotFoundException')
44
+ PriceList = Shapes::StructureShape.new(name: 'PriceList')
45
+ PriceListArn = Shapes::StringShape.new(name: 'PriceListArn')
34
46
  PriceListJsonItem = Shapes::StringShape.new(name: 'PriceListJsonItem')
35
47
  PriceListJsonItems = Shapes::ListShape.new(name: 'PriceListJsonItems')
48
+ PriceLists = Shapes::ListShape.new(name: 'PriceLists')
49
+ RegionCode = Shapes::StringShape.new(name: 'RegionCode')
36
50
  Service = Shapes::StructureShape.new(name: 'Service')
51
+ ServiceCode = Shapes::StringShape.new(name: 'ServiceCode')
37
52
  ServiceList = Shapes::ListShape.new(name: 'ServiceList')
38
53
  String = Shapes::StringShape.new(name: 'String')
39
54
  errorMessage = Shapes::StringShape.new(name: 'errorMessage')
40
55
 
56
+ AccessDeniedException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "Message"))
57
+ AccessDeniedException.struct_class = Types::AccessDeniedException
58
+
41
59
  AttributeNameList.member = Shapes::ShapeRef.new(shape: String)
42
60
 
43
61
  AttributeValue.add_member(:value, Shapes::ShapeRef.new(shape: String, location_name: "Value"))
@@ -59,6 +77,8 @@ module Aws::Pricing
59
77
  ExpiredNextTokenException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "Message"))
60
78
  ExpiredNextTokenException.struct_class = Types::ExpiredNextTokenException
61
79
 
80
+ FileFormats.member = Shapes::ShapeRef.new(shape: FileFormat)
81
+
62
82
  Filter.add_member(:type, Shapes::ShapeRef.new(shape: FilterType, required: true, location_name: "Type"))
63
83
  Filter.add_member(:field, Shapes::ShapeRef.new(shape: String, required: true, location_name: "Field"))
64
84
  Filter.add_member(:value, Shapes::ShapeRef.new(shape: String, required: true, location_name: "Value"))
@@ -76,6 +96,13 @@ module Aws::Pricing
76
96
  GetAttributeValuesResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "NextToken"))
77
97
  GetAttributeValuesResponse.struct_class = Types::GetAttributeValuesResponse
78
98
 
99
+ GetPriceListFileUrlRequest.add_member(:price_list_arn, Shapes::ShapeRef.new(shape: PriceListArn, required: true, location_name: "PriceListArn"))
100
+ GetPriceListFileUrlRequest.add_member(:file_format, Shapes::ShapeRef.new(shape: FileFormat, required: true, location_name: "FileFormat"))
101
+ GetPriceListFileUrlRequest.struct_class = Types::GetPriceListFileUrlRequest
102
+
103
+ GetPriceListFileUrlResponse.add_member(:url, Shapes::ShapeRef.new(shape: String, location_name: "Url"))
104
+ GetPriceListFileUrlResponse.struct_class = Types::GetPriceListFileUrlResponse
105
+
79
106
  GetProductsRequest.add_member(:service_code, Shapes::ShapeRef.new(shape: String, required: true, location_name: "ServiceCode"))
80
107
  GetProductsRequest.add_member(:filters, Shapes::ShapeRef.new(shape: Filters, location_name: "Filters"))
81
108
  GetProductsRequest.add_member(:format_version, Shapes::ShapeRef.new(shape: String, location_name: "FormatVersion"))
@@ -97,11 +124,31 @@ module Aws::Pricing
97
124
  InvalidParameterException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "Message"))
98
125
  InvalidParameterException.struct_class = Types::InvalidParameterException
99
126
 
127
+ ListPriceListsRequest.add_member(:service_code, Shapes::ShapeRef.new(shape: ServiceCode, required: true, location_name: "ServiceCode"))
128
+ ListPriceListsRequest.add_member(:effective_date, Shapes::ShapeRef.new(shape: EffectiveDate, required: true, location_name: "EffectiveDate"))
129
+ ListPriceListsRequest.add_member(:region_code, Shapes::ShapeRef.new(shape: RegionCode, location_name: "RegionCode"))
130
+ ListPriceListsRequest.add_member(:currency_code, Shapes::ShapeRef.new(shape: CurrencyCode, required: true, location_name: "CurrencyCode"))
131
+ ListPriceListsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "NextToken"))
132
+ ListPriceListsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location_name: "MaxResults"))
133
+ ListPriceListsRequest.struct_class = Types::ListPriceListsRequest
134
+
135
+ ListPriceListsResponse.add_member(:price_lists, Shapes::ShapeRef.new(shape: PriceLists, location_name: "PriceLists"))
136
+ ListPriceListsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "NextToken"))
137
+ ListPriceListsResponse.struct_class = Types::ListPriceListsResponse
138
+
100
139
  NotFoundException.add_member(:message, Shapes::ShapeRef.new(shape: errorMessage, location_name: "Message"))
101
140
  NotFoundException.struct_class = Types::NotFoundException
102
141
 
142
+ PriceList.add_member(:price_list_arn, Shapes::ShapeRef.new(shape: PriceListArn, location_name: "PriceListArn"))
143
+ PriceList.add_member(:region_code, Shapes::ShapeRef.new(shape: RegionCode, location_name: "RegionCode"))
144
+ PriceList.add_member(:currency_code, Shapes::ShapeRef.new(shape: CurrencyCode, location_name: "CurrencyCode"))
145
+ PriceList.add_member(:file_formats, Shapes::ShapeRef.new(shape: FileFormats, location_name: "FileFormats"))
146
+ PriceList.struct_class = Types::PriceList
147
+
103
148
  PriceListJsonItems.member = Shapes::ShapeRef.new(shape: PriceListJsonItem, metadata: {"jsonvalue"=>true})
104
149
 
150
+ PriceLists.member = Shapes::ShapeRef.new(shape: PriceList)
151
+
105
152
  Service.add_member(:service_code, Shapes::ShapeRef.new(shape: String, required: true, location_name: "ServiceCode"))
106
153
  Service.add_member(:attribute_names, Shapes::ShapeRef.new(shape: AttributeNameList, location_name: "AttributeNames"))
107
154
  Service.struct_class = Types::Service
@@ -166,6 +213,18 @@ module Aws::Pricing
166
213
  )
167
214
  end)
168
215
 
216
+ api.add_operation(:get_price_list_file_url, Seahorse::Model::Operation.new.tap do |o|
217
+ o.name = "GetPriceListFileUrl"
218
+ o.http_method = "POST"
219
+ o.http_request_uri = "/"
220
+ o.input = Shapes::ShapeRef.new(shape: GetPriceListFileUrlRequest)
221
+ o.output = Shapes::ShapeRef.new(shape: GetPriceListFileUrlResponse)
222
+ o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
223
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
224
+ o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
225
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
226
+ end)
227
+
169
228
  api.add_operation(:get_products, Seahorse::Model::Operation.new.tap do |o|
170
229
  o.name = "GetProducts"
171
230
  o.http_method = "POST"
@@ -184,6 +243,26 @@ module Aws::Pricing
184
243
  }
185
244
  )
186
245
  end)
246
+
247
+ api.add_operation(:list_price_lists, Seahorse::Model::Operation.new.tap do |o|
248
+ o.name = "ListPriceLists"
249
+ o.http_method = "POST"
250
+ o.http_request_uri = "/"
251
+ o.input = Shapes::ShapeRef.new(shape: ListPriceListsRequest)
252
+ o.output = Shapes::ShapeRef.new(shape: ListPriceListsResponse)
253
+ o.errors << Shapes::ShapeRef.new(shape: InternalErrorException)
254
+ o.errors << Shapes::ShapeRef.new(shape: InvalidParameterException)
255
+ o.errors << Shapes::ShapeRef.new(shape: NotFoundException)
256
+ o.errors << Shapes::ShapeRef.new(shape: InvalidNextTokenException)
257
+ o.errors << Shapes::ShapeRef.new(shape: ExpiredNextTokenException)
258
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
259
+ o[:pager] = Aws::Pager.new(
260
+ limit_key: "max_results",
261
+ tokens: {
262
+ "next_token" => "next_token"
263
+ }
264
+ )
265
+ end)
187
266
  end
188
267
 
189
268
  end
@@ -9,104 +9,49 @@
9
9
 
10
10
  module Aws::Pricing
11
11
  class EndpointProvider
12
- def initialize(rule_set = nil)
13
- @@rule_set ||= begin
14
- endpoint_rules = Aws::Json.load(Base64.decode64(RULES))
15
- Aws::Endpoints::RuleSet.new(
16
- version: endpoint_rules['version'],
17
- service_id: endpoint_rules['serviceId'],
18
- parameters: endpoint_rules['parameters'],
19
- rules: endpoint_rules['rules']
20
- )
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 Aws::Endpoints::Matchers.set?(endpoint)
18
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
19
+ raise ArgumentError, "Invalid Configuration: FIPS and custom endpoint are not supported"
20
+ end
21
+ if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
22
+ raise ArgumentError, "Invalid Configuration: Dualstack and custom endpoint are not supported"
23
+ end
24
+ return Aws::Endpoints::Endpoint.new(url: endpoint, headers: {}, properties: {})
21
25
  end
22
- @provider = Aws::Endpoints::RulesProvider.new(rule_set || @@rule_set)
23
- end
26
+ if Aws::Endpoints::Matchers.set?(region)
27
+ if (partition_result = Aws::Endpoints::Matchers.aws_partition(region))
28
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true) && Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
29
+ if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS")) && Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
30
+ return Aws::Endpoints::Endpoint.new(url: "https://api.pricing-fips.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
31
+ end
32
+ raise ArgumentError, "FIPS and DualStack are enabled, but this partition does not support one or both"
33
+ end
34
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
35
+ if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"))
36
+ return Aws::Endpoints::Endpoint.new(url: "https://api.pricing-fips.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
37
+ end
38
+ raise ArgumentError, "FIPS is enabled but this partition does not support FIPS"
39
+ end
40
+ if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
41
+ if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
42
+ return Aws::Endpoints::Endpoint.new(url: "https://api.pricing.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
43
+ end
44
+ raise ArgumentError, "DualStack is enabled but this partition does not support DualStack"
45
+ end
46
+ if Aws::Endpoints::Matchers.string_equals?("aws", Aws::Endpoints::Matchers.attr(partition_result, "name"))
47
+ return Aws::Endpoints::Endpoint.new(url: "https://api.pricing.#{region}.amazonaws.com", headers: {}, properties: {})
48
+ end
49
+ return Aws::Endpoints::Endpoint.new(url: "https://api.pricing.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
50
+ end
51
+ end
52
+ raise ArgumentError, "Invalid Configuration: Missing Region"
53
+ raise ArgumentError, 'No endpoint could be resolved'
24
54
 
25
- def resolve_endpoint(parameters)
26
- @provider.resolve_endpoint(parameters)
27
55
  end
28
-
29
- # @api private
30
- RULES = <<-JSON
31
- eyJ2ZXJzaW9uIjoiMS4wIiwicGFyYW1ldGVycyI6eyJSZWdpb24iOnsiYnVp
32
- bHRJbiI6IkFXUzo6UmVnaW9uIiwicmVxdWlyZWQiOmZhbHNlLCJkb2N1bWVu
33
- dGF0aW9uIjoiVGhlIEFXUyByZWdpb24gdXNlZCB0byBkaXNwYXRjaCB0aGUg
34
- cmVxdWVzdC4iLCJ0eXBlIjoiU3RyaW5nIn0sIlVzZUR1YWxTdGFjayI6eyJi
35
- dWlsdEluIjoiQVdTOjpVc2VEdWFsU3RhY2siLCJyZXF1aXJlZCI6dHJ1ZSwi
36
- ZGVmYXVsdCI6ZmFsc2UsImRvY3VtZW50YXRpb24iOiJXaGVuIHRydWUsIHVz
37
- ZSB0aGUgZHVhbC1zdGFjayBlbmRwb2ludC4gSWYgdGhlIGNvbmZpZ3VyZWQg
38
- ZW5kcG9pbnQgZG9lcyBub3Qgc3VwcG9ydCBkdWFsLXN0YWNrLCBkaXNwYXRj
39
- aGluZyB0aGUgcmVxdWVzdCBNQVkgcmV0dXJuIGFuIGVycm9yLiIsInR5cGUi
40
- OiJCb29sZWFuIn0sIlVzZUZJUFMiOnsiYnVpbHRJbiI6IkFXUzo6VXNlRklQ
41
- UyIsInJlcXVpcmVkIjp0cnVlLCJkZWZhdWx0IjpmYWxzZSwiZG9jdW1lbnRh
42
- dGlvbiI6IldoZW4gdHJ1ZSwgc2VuZCB0aGlzIHJlcXVlc3QgdG8gdGhlIEZJ
43
- UFMtY29tcGxpYW50IHJlZ2lvbmFsIGVuZHBvaW50LiBJZiB0aGUgY29uZmln
44
- dXJlZCBlbmRwb2ludCBkb2VzIG5vdCBoYXZlIGEgRklQUyBjb21wbGlhbnQg
45
- ZW5kcG9pbnQsIGRpc3BhdGNoaW5nIHRoZSByZXF1ZXN0IHdpbGwgcmV0dXJu
46
- IGFuIGVycm9yLiIsInR5cGUiOiJCb29sZWFuIn0sIkVuZHBvaW50Ijp7ImJ1
47
- aWx0SW4iOiJTREs6OkVuZHBvaW50IiwicmVxdWlyZWQiOmZhbHNlLCJkb2N1
48
- bWVudGF0aW9uIjoiT3ZlcnJpZGUgdGhlIGVuZHBvaW50IHVzZWQgdG8gc2Vu
49
- ZCB0aGlzIHJlcXVlc3QiLCJ0eXBlIjoiU3RyaW5nIn19LCJydWxlcyI6W3si
50
- Y29uZGl0aW9ucyI6W3siZm4iOiJhd3MucGFydGl0aW9uIiwiYXJndiI6W3si
51
- cmVmIjoiUmVnaW9uIn1dLCJhc3NpZ24iOiJQYXJ0aXRpb25SZXN1bHQifV0s
52
- InR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOlt7ImZuIjoi
53
- aXNTZXQiLCJhcmd2IjpbeyJyZWYiOiJFbmRwb2ludCJ9XX0seyJmbiI6InBh
54
- cnNlVVJMIiwiYXJndiI6W3sicmVmIjoiRW5kcG9pbnQifV0sImFzc2lnbiI6
55
- InVybCJ9XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0aW9ucyI6
56
- W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiVXNlRklQ
57
- UyJ9LHRydWVdfV0sImVycm9yIjoiSW52YWxpZCBDb25maWd1cmF0aW9uOiBG
58
- SVBTIGFuZCBjdXN0b20gZW5kcG9pbnQgYXJlIG5vdCBzdXBwb3J0ZWQiLCJ0
59
- eXBlIjoiZXJyb3IifSx7ImNvbmRpdGlvbnMiOltdLCJ0eXBlIjoidHJlZSIs
60
- InJ1bGVzIjpbeyJjb25kaXRpb25zIjpbeyJmbiI6ImJvb2xlYW5FcXVhbHMi
61
- LCJhcmd2IjpbeyJyZWYiOiJVc2VEdWFsU3RhY2sifSx0cnVlXX1dLCJlcnJv
62
- ciI6IkludmFsaWQgQ29uZmlndXJhdGlvbjogRHVhbHN0YWNrIGFuZCBjdXN0
63
- b20gZW5kcG9pbnQgYXJlIG5vdCBzdXBwb3J0ZWQiLCJ0eXBlIjoiZXJyb3Ii
64
- fSx7ImNvbmRpdGlvbnMiOltdLCJlbmRwb2ludCI6eyJ1cmwiOnsicmVmIjoi
65
- RW5kcG9pbnQifSwicHJvcGVydGllcyI6e30sImhlYWRlcnMiOnt9fSwidHlw
66
- ZSI6ImVuZHBvaW50In1dfV19LHsiY29uZGl0aW9ucyI6W3siZm4iOiJib29s
67
- ZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiVXNlRklQUyJ9LHRydWVdfSx7
68
- ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt7InJlZiI6IlVzZUR1YWxT
69
- dGFjayJ9LHRydWVdfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRp
70
- dGlvbnMiOlt7ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt0cnVlLHsi
71
- Zm4iOiJnZXRBdHRyIiwiYXJndiI6W3sicmVmIjoiUGFydGl0aW9uUmVzdWx0
72
- In0sInN1cHBvcnRzRklQUyJdfV19LHsiZm4iOiJib29sZWFuRXF1YWxzIiwi
73
- YXJndiI6W3RydWUseyJmbiI6ImdldEF0dHIiLCJhcmd2IjpbeyJyZWYiOiJQ
74
- YXJ0aXRpb25SZXN1bHQifSwic3VwcG9ydHNEdWFsU3RhY2siXX1dfV0sInR5
75
- cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOltdLCJlbmRwb2lu
76
- dCI6eyJ1cmwiOiJodHRwczovL2FwaS5wcmljaW5nLWZpcHMue1JlZ2lvbn0u
77
- e1BhcnRpdGlvblJlc3VsdCNkdWFsU3RhY2tEbnNTdWZmaXh9IiwicHJvcGVy
78
- dGllcyI6e30sImhlYWRlcnMiOnt9fSwidHlwZSI6ImVuZHBvaW50In1dfSx7
79
- ImNvbmRpdGlvbnMiOltdLCJlcnJvciI6IkZJUFMgYW5kIER1YWxTdGFjayBh
80
- cmUgZW5hYmxlZCwgYnV0IHRoaXMgcGFydGl0aW9uIGRvZXMgbm90IHN1cHBv
81
- cnQgb25lIG9yIGJvdGgiLCJ0eXBlIjoiZXJyb3IifV19LHsiY29uZGl0aW9u
82
- cyI6W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiVXNl
83
- RklQUyJ9LHRydWVdfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRp
84
- dGlvbnMiOlt7ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt0cnVlLHsi
85
- Zm4iOiJnZXRBdHRyIiwiYXJndiI6W3sicmVmIjoiUGFydGl0aW9uUmVzdWx0
86
- In0sInN1cHBvcnRzRklQUyJdfV19XSwidHlwZSI6InRyZWUiLCJydWxlcyI6
87
- W3siY29uZGl0aW9ucyI6W10sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNv
88
- bmRpdGlvbnMiOltdLCJlbmRwb2ludCI6eyJ1cmwiOiJodHRwczovL2FwaS5w
89
- cmljaW5nLWZpcHMue1JlZ2lvbn0ue1BhcnRpdGlvblJlc3VsdCNkbnNTdWZm
90
- aXh9IiwicHJvcGVydGllcyI6e30sImhlYWRlcnMiOnt9fSwidHlwZSI6ImVu
91
- ZHBvaW50In1dfV19LHsiY29uZGl0aW9ucyI6W10sImVycm9yIjoiRklQUyBp
92
- cyBlbmFibGVkIGJ1dCB0aGlzIHBhcnRpdGlvbiBkb2VzIG5vdCBzdXBwb3J0
93
- IEZJUFMiLCJ0eXBlIjoiZXJyb3IifV19LHsiY29uZGl0aW9ucyI6W3siZm4i
94
- OiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiVXNlRHVhbFN0YWNr
95
- In0sdHJ1ZV19XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0aW9u
96
- cyI6W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3RydWUseyJmbiI6
97
- ImdldEF0dHIiLCJhcmd2IjpbeyJyZWYiOiJQYXJ0aXRpb25SZXN1bHQifSwi
98
- c3VwcG9ydHNEdWFsU3RhY2siXX1dfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMi
99
- Olt7ImNvbmRpdGlvbnMiOltdLCJlbmRwb2ludCI6eyJ1cmwiOiJodHRwczov
100
- L2FwaS5wcmljaW5nLntSZWdpb259LntQYXJ0aXRpb25SZXN1bHQjZHVhbFN0
101
- YWNrRG5zU3VmZml4fSIsInByb3BlcnRpZXMiOnt9LCJoZWFkZXJzIjp7fX0s
102
- InR5cGUiOiJlbmRwb2ludCJ9XX0seyJjb25kaXRpb25zIjpbXSwiZXJyb3Ii
103
- OiJEdWFsU3RhY2sgaXMgZW5hYmxlZCBidXQgdGhpcyBwYXJ0aXRpb24gZG9l
104
- cyBub3Qgc3VwcG9ydCBEdWFsU3RhY2siLCJ0eXBlIjoiZXJyb3IifV19LHsi
105
- Y29uZGl0aW9ucyI6W10sImVuZHBvaW50Ijp7InVybCI6Imh0dHBzOi8vYXBp
106
- LnByaWNpbmcue1JlZ2lvbn0ue1BhcnRpdGlvblJlc3VsdCNkbnNTdWZmaXh9
107
- IiwicHJvcGVydGllcyI6e30sImhlYWRlcnMiOnt9fSwidHlwZSI6ImVuZHBv
108
- aW50In1dfV19
109
-
110
- JSON
111
56
  end
112
57
  end
@@ -39,6 +39,20 @@ module Aws::Pricing
39
39
  end
40
40
  end
41
41
 
42
+ class GetPriceListFileUrl
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
+
42
56
  class GetProducts
43
57
  def self.build(context)
44
58
  unless context.config.regional_endpoint
@@ -53,5 +67,19 @@ module Aws::Pricing
53
67
  end
54
68
  end
55
69
 
70
+ class ListPriceLists
71
+ def self.build(context)
72
+ unless context.config.regional_endpoint
73
+ endpoint = context.config.endpoint.to_s
74
+ end
75
+ Aws::Pricing::EndpointParameters.new(
76
+ region: context.config.region,
77
+ use_dual_stack: context.config.use_dualstack_endpoint,
78
+ use_fips: context.config.use_fips_endpoint,
79
+ endpoint: endpoint,
80
+ )
81
+ end
82
+ end
83
+
56
84
  end
57
85
  end
@@ -27,6 +27,7 @@ module Aws::Pricing
27
27
  # See {Seahorse::Client::RequestContext} for more information.
28
28
  #
29
29
  # ## Error Classes
30
+ # * {AccessDeniedException}
30
31
  # * {ExpiredNextTokenException}
31
32
  # * {InternalErrorException}
32
33
  # * {InvalidNextTokenException}
@@ -39,6 +40,21 @@ module Aws::Pricing
39
40
 
40
41
  extend Aws::Errors::DynamicErrors
41
42
 
43
+ class AccessDeniedException < ServiceError
44
+
45
+ # @param [Seahorse::Client::RequestContext] context
46
+ # @param [String] message
47
+ # @param [Aws::Pricing::Types::AccessDeniedException] data
48
+ def initialize(context, message, data = Aws::EmptyStructure.new)
49
+ super(context, message, data)
50
+ end
51
+
52
+ # @return [String]
53
+ def message
54
+ @message || @data[:message]
55
+ end
56
+ end
57
+
42
58
  class ExpiredNextTokenException < ServiceError
43
59
 
44
60
  # @param [Seahorse::Client::RequestContext] context
@@ -60,8 +60,12 @@ module Aws::Pricing
60
60
  Aws::Pricing::Endpoints::DescribeServices.build(context)
61
61
  when :get_attribute_values
62
62
  Aws::Pricing::Endpoints::GetAttributeValues.build(context)
63
+ when :get_price_list_file_url
64
+ Aws::Pricing::Endpoints::GetPriceListFileUrl.build(context)
63
65
  when :get_products
64
66
  Aws::Pricing::Endpoints::GetProducts.build(context)
67
+ when :list_price_lists
68
+ Aws::Pricing::Endpoints::ListPriceLists.build(context)
65
69
  end
66
70
  end
67
71
  end
@@ -10,6 +10,19 @@
10
10
  module Aws::Pricing
11
11
  module Types
12
12
 
13
+ # General authentication failure. The request wasn't signed correctly.
14
+ #
15
+ # @!attribute [rw] message
16
+ # @return [String]
17
+ #
18
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pricing-2017-10-15/AccessDeniedException AWS API Documentation
19
+ #
20
+ class AccessDeniedException < Struct.new(
21
+ :message)
22
+ SENSITIVE = []
23
+ include Aws::Structure
24
+ end
25
+
13
26
  # The values of a given attribute, such as `Throughput Optimized HDD` or
14
27
  # `Provisioned IOPS` for the `Amazon EC2` `volumeType` attribute.
15
28
  #
@@ -25,16 +38,6 @@ module Aws::Pricing
25
38
  include Aws::Structure
26
39
  end
27
40
 
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
41
  # @!attribute [rw] service_code
39
42
  # The code for the service whose information you want to retrieve,
40
43
  # such as `AmazonEC2`. You can use the `ServiceCode` to filter the
@@ -106,15 +109,6 @@ module Aws::Pricing
106
109
 
107
110
  # The constraints that you want all returned products to match.
108
111
  #
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
112
  # @!attribute [rw] type
119
113
  # The type of filter that you want to use.
120
114
  #
@@ -138,8 +132,8 @@ module Aws::Pricing
138
132
  #
139
133
  # @!attribute [rw] value
140
134
  # The service code or attribute value that you want to filter by. If
141
- # you are filtering by service code this is the actual service code,
142
- # such as `AmazonEC2`. If you are filtering by attribute name, this is
135
+ # you're filtering by service code this is the actual service code,
136
+ # such as `AmazonEC2`. If you're filtering by attribute name, this is
143
137
  # the attribute value that you want the returned products to match,
144
138
  # such as a `Provisioned IOPS` volume.
145
139
  # @return [String]
@@ -154,16 +148,6 @@ module Aws::Pricing
154
148
  include Aws::Structure
155
149
  end
156
150
 
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
151
  # @!attribute [rw] service_code
168
152
  # The service code for the service whose attributes you want to
169
153
  # retrieve. For example, if you want the retrieve an EC2 attribute,
@@ -215,23 +199,47 @@ module Aws::Pricing
215
199
  include Aws::Structure
216
200
  end
217
201
 
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
- # }
202
+ # @!attribute [rw] price_list_arn
203
+ # The unique identifier that maps to where your Price List files are
204
+ # located. `PriceListArn` can be obtained from the [ `ListPriceLists`
205
+ # ][1] response.
206
+ #
207
+ #
208
+ #
209
+ # [1]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_pricing_ListPriceLists.html
210
+ # @return [String]
211
+ #
212
+ # @!attribute [rw] file_format
213
+ # The format that you want to retrieve your Price List files in. The
214
+ # `FileFormat` can be obtained from the [ `ListPriceLists` ][1]
215
+ # response.
216
+ #
217
+ #
218
+ #
219
+ # [1]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_pricing_ListPriceLists.html
220
+ # @return [String]
221
+ #
222
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pricing-2017-10-15/GetPriceListFileUrlRequest AWS API Documentation
223
+ #
224
+ class GetPriceListFileUrlRequest < Struct.new(
225
+ :price_list_arn,
226
+ :file_format)
227
+ SENSITIVE = []
228
+ include Aws::Structure
229
+ end
230
+
231
+ # @!attribute [rw] url
232
+ # The URL to download your Price List file from.
233
+ # @return [String]
234
+ #
235
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pricing-2017-10-15/GetPriceListFileUrlResponse AWS API Documentation
234
236
  #
237
+ class GetPriceListFileUrlResponse < Struct.new(
238
+ :url)
239
+ SENSITIVE = []
240
+ include Aws::Structure
241
+ end
242
+
235
243
  # @!attribute [rw] service_code
236
244
  # The code for the service whose products you want to retrieve.
237
245
  # @return [String]
@@ -332,6 +340,84 @@ module Aws::Pricing
332
340
  include Aws::Structure
333
341
  end
334
342
 
343
+ # @!attribute [rw] service_code
344
+ # The service code or the Savings Plan service code for the attributes
345
+ # that you want to retrieve. For example, to get the list of
346
+ # applicable Amazon EC2 price lists, use `AmazonEC2`. For a full list
347
+ # of service codes containing On-Demand and Reserved Instance (RI)
348
+ # pricing, use the [ `DescribeServices` ][1] API.
349
+ #
350
+ # To retrieve the Compute Savings Plan price lists, use
351
+ # `ComputeSavingsPlans`. To retrieve Machine Learning Savings Plans
352
+ # price lists, use `MachineLearningSavingsPlans`.
353
+ #
354
+ #
355
+ #
356
+ # [1]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_pricing_DescribeServices.html#awscostmanagement-pricing_DescribeServices-request-FormatVersion
357
+ # @return [String]
358
+ #
359
+ # @!attribute [rw] effective_date
360
+ # The date that the Price List file prices are effective from.
361
+ # @return [Time]
362
+ #
363
+ # @!attribute [rw] region_code
364
+ # This is used to filter the Price List by Amazon Web Services Region.
365
+ # For example, to get the price list only for the `US East (N.
366
+ # Virginia)` Region, use `us-east-1`. If nothing is specified, you
367
+ # retrieve price lists for all applicable Regions. The available
368
+ # `RegionCode` list can be retrieved from [ `GetAttributeValues` ][1]
369
+ # API.
370
+ #
371
+ #
372
+ #
373
+ # [1]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_pricing_GetAttributeValues.html
374
+ # @return [String]
375
+ #
376
+ # @!attribute [rw] currency_code
377
+ # The three alphabetical character ISO-4217 currency code that the
378
+ # Price List files are denominated in.
379
+ # @return [String]
380
+ #
381
+ # @!attribute [rw] next_token
382
+ # The pagination token that indicates the next set of results that you
383
+ # want to retrieve.
384
+ # @return [String]
385
+ #
386
+ # @!attribute [rw] max_results
387
+ # The maximum number of results to return in the response.
388
+ # @return [Integer]
389
+ #
390
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pricing-2017-10-15/ListPriceListsRequest AWS API Documentation
391
+ #
392
+ class ListPriceListsRequest < Struct.new(
393
+ :service_code,
394
+ :effective_date,
395
+ :region_code,
396
+ :currency_code,
397
+ :next_token,
398
+ :max_results)
399
+ SENSITIVE = []
400
+ include Aws::Structure
401
+ end
402
+
403
+ # @!attribute [rw] price_lists
404
+ # The type of price list references that match your request.
405
+ # @return [Array<Types::PriceList>]
406
+ #
407
+ # @!attribute [rw] next_token
408
+ # The pagination token that indicates the next set of results to
409
+ # retrieve.
410
+ # @return [String]
411
+ #
412
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pricing-2017-10-15/ListPriceListsResponse AWS API Documentation
413
+ #
414
+ class ListPriceListsResponse < Struct.new(
415
+ :price_lists,
416
+ :next_token)
417
+ SENSITIVE = []
418
+ include Aws::Structure
419
+ end
420
+
335
421
  # The requested resource can't be found.
336
422
  #
337
423
  # @!attribute [rw] message
@@ -345,6 +431,63 @@ module Aws::Pricing
345
431
  include Aws::Structure
346
432
  end
347
433
 
434
+ # <i> <b>This feature is in preview release and is subject to change.
435
+ # Your use of Amazon Web Services Price List API is subject to the Beta
436
+ # Service Participation terms of the <a
437
+ # href="https://aws.amazon.com/service-terms/">Amazon Web Services
438
+ # Service Terms</a> (Section 1.10).</b> </i>
439
+ #
440
+ # This is the type of price list references that match your request.
441
+ #
442
+ # @!attribute [rw] price_list_arn
443
+ # The unique identifier that maps to where your Price List files are
444
+ # located. `PriceListArn` can be obtained from the [ `ListPriceList`
445
+ # ][1] response.
446
+ #
447
+ #
448
+ #
449
+ # [1]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_pricing_ListPriceLists.html
450
+ # @return [String]
451
+ #
452
+ # @!attribute [rw] region_code
453
+ # This is used to filter the Price List by Amazon Web Services Region.
454
+ # For example, to get the price list only for the `US East (N.
455
+ # Virginia)` Region, use `us-east-1`. If nothing is specified, you
456
+ # retrieve price lists for all applicable Regions. The available
457
+ # `RegionCode` list can be retrieved from [ `GetAttributeValues` ][1]
458
+ # API.
459
+ #
460
+ #
461
+ #
462
+ # [1]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_pricing_GetAttributeValues.html
463
+ # @return [String]
464
+ #
465
+ # @!attribute [rw] currency_code
466
+ # The three alphabetical character ISO-4217 currency code the Price
467
+ # List files are denominated in.
468
+ # @return [String]
469
+ #
470
+ # @!attribute [rw] file_formats
471
+ # The format you want to retrieve your Price List files. The
472
+ # `FileFormat` can be obtained from the [ `ListPriceList` ][1]
473
+ # response.
474
+ #
475
+ #
476
+ #
477
+ # [1]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_pricing_ListPriceLists.html
478
+ # @return [Array<String>]
479
+ #
480
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pricing-2017-10-15/PriceList AWS API Documentation
481
+ #
482
+ class PriceList < Struct.new(
483
+ :price_list_arn,
484
+ :region_code,
485
+ :currency_code,
486
+ :file_formats)
487
+ SENSITIVE = []
488
+ include Aws::Structure
489
+ end
490
+
348
491
  # The metadata for a service, such as the service code and available
349
492
  # attribute names.
350
493
  #
@@ -52,6 +52,6 @@ require_relative 'aws-sdk-pricing/customizations'
52
52
  # @!group service
53
53
  module Aws::Pricing
54
54
 
55
- GEM_VERSION = '1.41.0'
55
+ GEM_VERSION = '1.43.0'
56
56
 
57
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.41.0
4
+ version: 1.43.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-10-25 00:00:00.000000000 Z
11
+ date: 2023-03-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core