aws-sdk-costexplorer 1.95.0 → 1.97.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: 787b6f57e5c4098bab9035a26bdca1c467f3336385bf26bb7b19c126f613d046
4
- data.tar.gz: af884acc5a6364d6a95f7fbedd3b2b44c260c3128abfa1f2181e405525896726
3
+ metadata.gz: fa401a291a4cb06b7610b0a680387854d703d0acd9f0c8de5148797d6683ac99
4
+ data.tar.gz: d3a51e31510606319d1923fc9bdd4fa9e3146e00e002417cdf003750c0f2217d
5
5
  SHA512:
6
- metadata.gz: b6df2e47c530b982b54feaccb5b505f7a49830a53e8f64c8f556ec284646b475ffa6b1a8e6548a97d49c01c31738f0f88f16157f62cf4237ab12af5b6551c5c0
7
- data.tar.gz: 9c95a6f271219d50060cd4d5b5a00a7e04b1cec11cce6364eb37bce7790f20ff688be57fc5970fe85066ce79f5b228ae24cc8e426b86b88067dd165e8982c258
6
+ metadata.gz: 45bccfa686ba9221a27e93d282919e567331d6bccf21ce2e510a223bfe1b25498f2df38b2e18525c397b7dd4799dfa9eba1c50fb74a1214a4ff734c56ba446e3
7
+ data.tar.gz: f51426d95c19e7ba45f29a24007ff735358c2e45770767e6096631892a582aca3a605acdad93681c0ac56bc057a38a6e01dceb0b108a7123370094a532cd7389
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.97.0 (2024-03-26)
5
+ ------------------
6
+
7
+ * Feature - Adds support for backfill of cost allocation tags, with new StartCostAllocationTagBackfill and ListCostAllocationTagBackfillHistory API.
8
+
9
+ 1.96.0 (2024-02-28)
10
+ ------------------
11
+
12
+ * Feature - This release introduces the new API 'GetApproximateUsageRecords', which retrieves estimated usage records for hourly granularity or resource-level data at daily granularity.
13
+
4
14
  1.95.0 (2024-01-26)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.95.0
1
+ 1.97.0
@@ -1149,6 +1149,53 @@ module Aws::CostExplorer
1149
1149
  req.send_request(options)
1150
1150
  end
1151
1151
 
1152
+ # Retrieves estimated usage records for hourly granularity or
1153
+ # resource-level data at daily granularity.
1154
+ #
1155
+ # @option params [required, String] :granularity
1156
+ # How granular you want the data to be. You can enable data at hourly or
1157
+ # daily granularity.
1158
+ #
1159
+ # @option params [Array<String>] :services
1160
+ # The service metadata for the service or services you want to query. If
1161
+ # not specified, all elements are returned.
1162
+ #
1163
+ # @option params [required, String] :approximation_dimension
1164
+ # The service to evaluate for the usage records. You can choose
1165
+ # resource-level data at daily granularity, or hourly granularity with
1166
+ # or without resource-level data.
1167
+ #
1168
+ # @return [Types::GetApproximateUsageRecordsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1169
+ #
1170
+ # * {Types::GetApproximateUsageRecordsResponse#services #services} => Hash&lt;String,Integer&gt;
1171
+ # * {Types::GetApproximateUsageRecordsResponse#total_records #total_records} => Integer
1172
+ # * {Types::GetApproximateUsageRecordsResponse#lookback_period #lookback_period} => Types::DateInterval
1173
+ #
1174
+ # @example Request syntax with placeholder values
1175
+ #
1176
+ # resp = client.get_approximate_usage_records({
1177
+ # granularity: "DAILY", # required, accepts DAILY, MONTHLY, HOURLY
1178
+ # services: ["GenericString"],
1179
+ # approximation_dimension: "SERVICE", # required, accepts SERVICE, RESOURCE
1180
+ # })
1181
+ #
1182
+ # @example Response structure
1183
+ #
1184
+ # resp.services #=> Hash
1185
+ # resp.services["GenericString"] #=> Integer
1186
+ # resp.total_records #=> Integer
1187
+ # resp.lookback_period.start #=> String
1188
+ # resp.lookback_period.end #=> String
1189
+ #
1190
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetApproximateUsageRecords AWS API Documentation
1191
+ #
1192
+ # @overload get_approximate_usage_records(params = {})
1193
+ # @param [Hash] params ({})
1194
+ def get_approximate_usage_records(params = {}, options = {})
1195
+ req = build_request(:get_approximate_usage_records, params)
1196
+ req.send_request(options)
1197
+ end
1198
+
1152
1199
  # Retrieves cost and usage metrics for your account. You can specify
1153
1200
  # which cost and usage-related metric that you want the request to
1154
1201
  # return. For example, you can specify `BlendedCosts` or
@@ -4433,6 +4480,50 @@ module Aws::CostExplorer
4433
4480
  req.send_request(options)
4434
4481
  end
4435
4482
 
4483
+ # Retrieves a list of your historical cost allocation tag backfill
4484
+ # requests.
4485
+ #
4486
+ # @option params [String] :next_token
4487
+ # The token to retrieve the next set of results. Amazon Web Services
4488
+ # provides the token when the response from a previous call has more
4489
+ # results than the maximum page size.
4490
+ #
4491
+ # @option params [Integer] :max_results
4492
+ # The maximum number of objects that are returned for this request.
4493
+ #
4494
+ # @return [Types::ListCostAllocationTagBackfillHistoryResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4495
+ #
4496
+ # * {Types::ListCostAllocationTagBackfillHistoryResponse#backfill_requests #backfill_requests} => Array&lt;Types::CostAllocationTagBackfillRequest&gt;
4497
+ # * {Types::ListCostAllocationTagBackfillHistoryResponse#next_token #next_token} => String
4498
+ #
4499
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
4500
+ #
4501
+ # @example Request syntax with placeholder values
4502
+ #
4503
+ # resp = client.list_cost_allocation_tag_backfill_history({
4504
+ # next_token: "NextPageToken",
4505
+ # max_results: 1,
4506
+ # })
4507
+ #
4508
+ # @example Response structure
4509
+ #
4510
+ # resp.backfill_requests #=> Array
4511
+ # resp.backfill_requests[0].backfill_from #=> String
4512
+ # resp.backfill_requests[0].requested_at #=> String
4513
+ # resp.backfill_requests[0].completed_at #=> String
4514
+ # resp.backfill_requests[0].backfill_status #=> String, one of "SUCCEEDED", "PROCESSING", "FAILED"
4515
+ # resp.backfill_requests[0].last_updated_at #=> String
4516
+ # resp.next_token #=> String
4517
+ #
4518
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/ListCostAllocationTagBackfillHistory AWS API Documentation
4519
+ #
4520
+ # @overload list_cost_allocation_tag_backfill_history(params = {})
4521
+ # @param [Hash] params ({})
4522
+ def list_cost_allocation_tag_backfill_history(params = {}, options = {})
4523
+ req = build_request(:list_cost_allocation_tag_backfill_history, params)
4524
+ req.send_request(options)
4525
+ end
4526
+
4436
4527
  # Get a list of cost allocation tags. All inputs in the API are optional
4437
4528
  # and serve as filters. By default, all cost allocation tags are
4438
4529
  # returned.
@@ -4676,6 +4767,44 @@ module Aws::CostExplorer
4676
4767
  req.send_request(options)
4677
4768
  end
4678
4769
 
4770
+ # Request a cost allocation tag backfill. This will backfill the
4771
+ # activation status (either `active` or `inactive`) for all tag keys
4772
+ # from `para:BackfillFrom` up to the when this request is made.
4773
+ #
4774
+ # You can request a backfill once every 24 hours.
4775
+ #
4776
+ # @option params [required, String] :backfill_from
4777
+ # The date you want the backfill to start from. The date can only be a
4778
+ # first day of the month (a billing start date). Dates can't precede
4779
+ # the previous twelve months, or in the future.
4780
+ #
4781
+ # @return [Types::StartCostAllocationTagBackfillResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4782
+ #
4783
+ # * {Types::StartCostAllocationTagBackfillResponse#backfill_request #backfill_request} => Types::CostAllocationTagBackfillRequest
4784
+ #
4785
+ # @example Request syntax with placeholder values
4786
+ #
4787
+ # resp = client.start_cost_allocation_tag_backfill({
4788
+ # backfill_from: "ZonedDateTime", # required
4789
+ # })
4790
+ #
4791
+ # @example Response structure
4792
+ #
4793
+ # resp.backfill_request.backfill_from #=> String
4794
+ # resp.backfill_request.requested_at #=> String
4795
+ # resp.backfill_request.completed_at #=> String
4796
+ # resp.backfill_request.backfill_status #=> String, one of "SUCCEEDED", "PROCESSING", "FAILED"
4797
+ # resp.backfill_request.last_updated_at #=> String
4798
+ #
4799
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/StartCostAllocationTagBackfill AWS API Documentation
4800
+ #
4801
+ # @overload start_cost_allocation_tag_backfill(params = {})
4802
+ # @param [Hash] params ({})
4803
+ def start_cost_allocation_tag_backfill(params = {}, options = {})
4804
+ req = build_request(:start_cost_allocation_tag_backfill, params)
4805
+ req.send_request(options)
4806
+ end
4807
+
4679
4808
  # Requests a Savings Plans recommendation generation. This enables you
4680
4809
  # to calculate a fresh set of Savings Plans recommendations that takes
4681
4810
  # your latest usage data and current Savings Plans inventory into
@@ -5157,7 +5286,7 @@ module Aws::CostExplorer
5157
5286
  params: params,
5158
5287
  config: config)
5159
5288
  context[:gem_name] = 'aws-sdk-costexplorer'
5160
- context[:gem_version] = '1.95.0'
5289
+ context[:gem_version] = '1.97.0'
5161
5290
  Seahorse::Client::Request.new(handlers, context)
5162
5291
  end
5163
5292
 
@@ -26,13 +26,19 @@ module Aws::CostExplorer
26
26
  AnomalySubscription = Shapes::StructureShape.new(name: 'AnomalySubscription')
27
27
  AnomalySubscriptionFrequency = Shapes::StringShape.new(name: 'AnomalySubscriptionFrequency')
28
28
  AnomalySubscriptions = Shapes::ListShape.new(name: 'AnomalySubscriptions')
29
+ ApproximateUsageRecordsPerService = Shapes::MapShape.new(name: 'ApproximateUsageRecordsPerService')
30
+ ApproximationDimension = Shapes::StringShape.new(name: 'ApproximationDimension')
29
31
  Arn = Shapes::StringShape.new(name: 'Arn')
30
32
  AttributeType = Shapes::StringShape.new(name: 'AttributeType')
31
33
  AttributeValue = Shapes::StringShape.new(name: 'AttributeValue')
32
34
  Attributes = Shapes::MapShape.new(name: 'Attributes')
35
+ BackfillLimitExceededException = Shapes::StructureShape.new(name: 'BackfillLimitExceededException')
33
36
  BillExpirationException = Shapes::StructureShape.new(name: 'BillExpirationException')
34
37
  Context = Shapes::StringShape.new(name: 'Context')
35
38
  CostAllocationTag = Shapes::StructureShape.new(name: 'CostAllocationTag')
39
+ CostAllocationTagBackfillRequest = Shapes::StructureShape.new(name: 'CostAllocationTagBackfillRequest')
40
+ CostAllocationTagBackfillRequestList = Shapes::ListShape.new(name: 'CostAllocationTagBackfillRequestList')
41
+ CostAllocationTagBackfillStatus = Shapes::StringShape.new(name: 'CostAllocationTagBackfillStatus')
36
42
  CostAllocationTagKeyList = Shapes::ListShape.new(name: 'CostAllocationTagKeyList')
37
43
  CostAllocationTagList = Shapes::ListShape.new(name: 'CostAllocationTagList')
38
44
  CostAllocationTagStatus = Shapes::StringShape.new(name: 'CostAllocationTagStatus')
@@ -126,6 +132,8 @@ module Aws::CostExplorer
126
132
  GetAnomalyMonitorsResponse = Shapes::StructureShape.new(name: 'GetAnomalyMonitorsResponse')
127
133
  GetAnomalySubscriptionsRequest = Shapes::StructureShape.new(name: 'GetAnomalySubscriptionsRequest')
128
134
  GetAnomalySubscriptionsResponse = Shapes::StructureShape.new(name: 'GetAnomalySubscriptionsResponse')
135
+ GetApproximateUsageRecordsRequest = Shapes::StructureShape.new(name: 'GetApproximateUsageRecordsRequest')
136
+ GetApproximateUsageRecordsResponse = Shapes::StructureShape.new(name: 'GetApproximateUsageRecordsResponse')
129
137
  GetCostAndUsageRequest = Shapes::StructureShape.new(name: 'GetCostAndUsageRequest')
130
138
  GetCostAndUsageResponse = Shapes::StructureShape.new(name: 'GetCostAndUsageResponse')
131
139
  GetCostAndUsageWithResourcesRequest = Shapes::StructureShape.new(name: 'GetCostAndUsageWithResourcesRequest')
@@ -171,6 +179,8 @@ module Aws::CostExplorer
171
179
  Key = Shapes::StringShape.new(name: 'Key')
172
180
  Keys = Shapes::ListShape.new(name: 'Keys')
173
181
  LimitExceededException = Shapes::StructureShape.new(name: 'LimitExceededException')
182
+ ListCostAllocationTagBackfillHistoryRequest = Shapes::StructureShape.new(name: 'ListCostAllocationTagBackfillHistoryRequest')
183
+ ListCostAllocationTagBackfillHistoryResponse = Shapes::StructureShape.new(name: 'ListCostAllocationTagBackfillHistoryResponse')
174
184
  ListCostAllocationTagsRequest = Shapes::StructureShape.new(name: 'ListCostAllocationTagsRequest')
175
185
  ListCostAllocationTagsResponse = Shapes::StructureShape.new(name: 'ListCostAllocationTagsResponse')
176
186
  ListCostCategoryDefinitionsRequest = Shapes::StructureShape.new(name: 'ListCostCategoryDefinitionsRequest')
@@ -200,6 +210,7 @@ module Aws::CostExplorer
200
210
  NetworkResourceUtilization = Shapes::StructureShape.new(name: 'NetworkResourceUtilization')
201
211
  NextPageToken = Shapes::StringShape.new(name: 'NextPageToken')
202
212
  NonNegativeInteger = Shapes::IntegerShape.new(name: 'NonNegativeInteger')
213
+ NonNegativeLong = Shapes::IntegerShape.new(name: 'NonNegativeLong')
203
214
  NullableNonNegativeDouble = Shapes::FloatShape.new(name: 'NullableNonNegativeDouble')
204
215
  NumericOperator = Shapes::StringShape.new(name: 'NumericOperator')
205
216
  OfferingClass = Shapes::StringShape.new(name: 'OfferingClass')
@@ -287,6 +298,8 @@ module Aws::CostExplorer
287
298
  SortDefinitionKey = Shapes::StringShape.new(name: 'SortDefinitionKey')
288
299
  SortDefinitions = Shapes::ListShape.new(name: 'SortDefinitions')
289
300
  SortOrder = Shapes::StringShape.new(name: 'SortOrder')
301
+ StartCostAllocationTagBackfillRequest = Shapes::StructureShape.new(name: 'StartCostAllocationTagBackfillRequest')
302
+ StartCostAllocationTagBackfillResponse = Shapes::StructureShape.new(name: 'StartCostAllocationTagBackfillResponse')
290
303
  StartSavingsPlansPurchaseRecommendationGenerationRequest = Shapes::StructureShape.new(name: 'StartSavingsPlansPurchaseRecommendationGenerationRequest')
291
304
  StartSavingsPlansPurchaseRecommendationGenerationResponse = Shapes::StructureShape.new(name: 'StartSavingsPlansPurchaseRecommendationGenerationResponse')
292
305
  Subscriber = Shapes::StructureShape.new(name: 'Subscriber')
@@ -331,6 +344,7 @@ module Aws::CostExplorer
331
344
  UpdateCostAllocationTagsStatusResponse = Shapes::StructureShape.new(name: 'UpdateCostAllocationTagsStatusResponse')
332
345
  UpdateCostCategoryDefinitionRequest = Shapes::StructureShape.new(name: 'UpdateCostCategoryDefinitionRequest')
333
346
  UpdateCostCategoryDefinitionResponse = Shapes::StructureShape.new(name: 'UpdateCostCategoryDefinitionResponse')
347
+ UsageServices = Shapes::ListShape.new(name: 'UsageServices')
334
348
  UtilizationByTime = Shapes::StructureShape.new(name: 'UtilizationByTime')
335
349
  UtilizationPercentage = Shapes::StringShape.new(name: 'UtilizationPercentage')
336
350
  UtilizationPercentageInUnits = Shapes::StringShape.new(name: 'UtilizationPercentageInUnits')
@@ -386,9 +400,15 @@ module Aws::CostExplorer
386
400
 
387
401
  AnomalySubscriptions.member = Shapes::ShapeRef.new(shape: AnomalySubscription)
388
402
 
403
+ ApproximateUsageRecordsPerService.key = Shapes::ShapeRef.new(shape: GenericString)
404
+ ApproximateUsageRecordsPerService.value = Shapes::ShapeRef.new(shape: NonNegativeLong)
405
+
389
406
  Attributes.key = Shapes::ShapeRef.new(shape: AttributeType)
390
407
  Attributes.value = Shapes::ShapeRef.new(shape: AttributeValue)
391
408
 
409
+ BackfillLimitExceededException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
410
+ BackfillLimitExceededException.struct_class = Types::BackfillLimitExceededException
411
+
392
412
  BillExpirationException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
393
413
  BillExpirationException.struct_class = Types::BillExpirationException
394
414
 
@@ -399,6 +419,15 @@ module Aws::CostExplorer
399
419
  CostAllocationTag.add_member(:last_used_date, Shapes::ShapeRef.new(shape: ZonedDateTime, location_name: "LastUsedDate"))
400
420
  CostAllocationTag.struct_class = Types::CostAllocationTag
401
421
 
422
+ CostAllocationTagBackfillRequest.add_member(:backfill_from, Shapes::ShapeRef.new(shape: ZonedDateTime, location_name: "BackfillFrom"))
423
+ CostAllocationTagBackfillRequest.add_member(:requested_at, Shapes::ShapeRef.new(shape: ZonedDateTime, location_name: "RequestedAt"))
424
+ CostAllocationTagBackfillRequest.add_member(:completed_at, Shapes::ShapeRef.new(shape: ZonedDateTime, location_name: "CompletedAt"))
425
+ CostAllocationTagBackfillRequest.add_member(:backfill_status, Shapes::ShapeRef.new(shape: CostAllocationTagBackfillStatus, location_name: "BackfillStatus"))
426
+ CostAllocationTagBackfillRequest.add_member(:last_updated_at, Shapes::ShapeRef.new(shape: ZonedDateTime, location_name: "LastUpdatedAt"))
427
+ CostAllocationTagBackfillRequest.struct_class = Types::CostAllocationTagBackfillRequest
428
+
429
+ CostAllocationTagBackfillRequestList.member = Shapes::ShapeRef.new(shape: CostAllocationTagBackfillRequest)
430
+
402
431
  CostAllocationTagKeyList.member = Shapes::ShapeRef.new(shape: TagKey)
403
432
 
404
433
  CostAllocationTagList.member = Shapes::ShapeRef.new(shape: CostAllocationTag)
@@ -708,6 +737,16 @@ module Aws::CostExplorer
708
737
  GetAnomalySubscriptionsResponse.add_member(:next_page_token, Shapes::ShapeRef.new(shape: NextPageToken, location_name: "NextPageToken"))
709
738
  GetAnomalySubscriptionsResponse.struct_class = Types::GetAnomalySubscriptionsResponse
710
739
 
740
+ GetApproximateUsageRecordsRequest.add_member(:granularity, Shapes::ShapeRef.new(shape: Granularity, required: true, location_name: "Granularity"))
741
+ GetApproximateUsageRecordsRequest.add_member(:services, Shapes::ShapeRef.new(shape: UsageServices, location_name: "Services"))
742
+ GetApproximateUsageRecordsRequest.add_member(:approximation_dimension, Shapes::ShapeRef.new(shape: ApproximationDimension, required: true, location_name: "ApproximationDimension"))
743
+ GetApproximateUsageRecordsRequest.struct_class = Types::GetApproximateUsageRecordsRequest
744
+
745
+ GetApproximateUsageRecordsResponse.add_member(:services, Shapes::ShapeRef.new(shape: ApproximateUsageRecordsPerService, location_name: "Services"))
746
+ GetApproximateUsageRecordsResponse.add_member(:total_records, Shapes::ShapeRef.new(shape: NonNegativeLong, location_name: "TotalRecords"))
747
+ GetApproximateUsageRecordsResponse.add_member(:lookback_period, Shapes::ShapeRef.new(shape: DateInterval, location_name: "LookbackPeriod"))
748
+ GetApproximateUsageRecordsResponse.struct_class = Types::GetApproximateUsageRecordsResponse
749
+
711
750
  GetCostAndUsageRequest.add_member(:time_period, Shapes::ShapeRef.new(shape: DateInterval, required: true, location_name: "TimePeriod"))
712
751
  GetCostAndUsageRequest.add_member(:granularity, Shapes::ShapeRef.new(shape: Granularity, required: true, location_name: "Granularity"))
713
752
  GetCostAndUsageRequest.add_member(:filter, Shapes::ShapeRef.new(shape: Expression, location_name: "Filter"))
@@ -960,6 +999,14 @@ module Aws::CostExplorer
960
999
  LimitExceededException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
961
1000
  LimitExceededException.struct_class = Types::LimitExceededException
962
1001
 
1002
+ ListCostAllocationTagBackfillHistoryRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextPageToken, location_name: "NextToken"))
1003
+ ListCostAllocationTagBackfillHistoryRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: CostAllocationTagsMaxResults, location_name: "MaxResults", metadata: {"box"=>true}))
1004
+ ListCostAllocationTagBackfillHistoryRequest.struct_class = Types::ListCostAllocationTagBackfillHistoryRequest
1005
+
1006
+ ListCostAllocationTagBackfillHistoryResponse.add_member(:backfill_requests, Shapes::ShapeRef.new(shape: CostAllocationTagBackfillRequestList, location_name: "BackfillRequests"))
1007
+ ListCostAllocationTagBackfillHistoryResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextPageToken, location_name: "NextToken"))
1008
+ ListCostAllocationTagBackfillHistoryResponse.struct_class = Types::ListCostAllocationTagBackfillHistoryResponse
1009
+
963
1010
  ListCostAllocationTagsRequest.add_member(:status, Shapes::ShapeRef.new(shape: CostAllocationTagStatus, location_name: "Status"))
964
1011
  ListCostAllocationTagsRequest.add_member(:tag_keys, Shapes::ShapeRef.new(shape: CostAllocationTagKeyList, location_name: "TagKeys"))
965
1012
  ListCostAllocationTagsRequest.add_member(:type, Shapes::ShapeRef.new(shape: CostAllocationTagType, location_name: "Type"))
@@ -1351,6 +1398,12 @@ module Aws::CostExplorer
1351
1398
 
1352
1399
  SortDefinitions.member = Shapes::ShapeRef.new(shape: SortDefinition)
1353
1400
 
1401
+ StartCostAllocationTagBackfillRequest.add_member(:backfill_from, Shapes::ShapeRef.new(shape: ZonedDateTime, required: true, location_name: "BackfillFrom"))
1402
+ StartCostAllocationTagBackfillRequest.struct_class = Types::StartCostAllocationTagBackfillRequest
1403
+
1404
+ StartCostAllocationTagBackfillResponse.add_member(:backfill_request, Shapes::ShapeRef.new(shape: CostAllocationTagBackfillRequest, location_name: "BackfillRequest"))
1405
+ StartCostAllocationTagBackfillResponse.struct_class = Types::StartCostAllocationTagBackfillResponse
1406
+
1354
1407
  StartSavingsPlansPurchaseRecommendationGenerationRequest.struct_class = Types::StartSavingsPlansPurchaseRecommendationGenerationRequest
1355
1408
 
1356
1409
  StartSavingsPlansPurchaseRecommendationGenerationResponse.add_member(:recommendation_id, Shapes::ShapeRef.new(shape: RecommendationId, location_name: "RecommendationId"))
@@ -1463,6 +1516,8 @@ module Aws::CostExplorer
1463
1516
  UpdateCostCategoryDefinitionResponse.add_member(:effective_start, Shapes::ShapeRef.new(shape: ZonedDateTime, location_name: "EffectiveStart"))
1464
1517
  UpdateCostCategoryDefinitionResponse.struct_class = Types::UpdateCostCategoryDefinitionResponse
1465
1518
 
1519
+ UsageServices.member = Shapes::ShapeRef.new(shape: GenericString)
1520
+
1466
1521
  UtilizationByTime.add_member(:time_period, Shapes::ShapeRef.new(shape: DateInterval, location_name: "TimePeriod"))
1467
1522
  UtilizationByTime.add_member(:groups, Shapes::ShapeRef.new(shape: ReservationUtilizationGroups, location_name: "Groups"))
1468
1523
  UtilizationByTime.add_member(:total, Shapes::ShapeRef.new(shape: ReservationAggregates, location_name: "Total"))
@@ -1593,6 +1648,16 @@ module Aws::CostExplorer
1593
1648
  o.errors << Shapes::ShapeRef.new(shape: InvalidNextTokenException)
1594
1649
  end)
1595
1650
 
1651
+ api.add_operation(:get_approximate_usage_records, Seahorse::Model::Operation.new.tap do |o|
1652
+ o.name = "GetApproximateUsageRecords"
1653
+ o.http_method = "POST"
1654
+ o.http_request_uri = "/"
1655
+ o.input = Shapes::ShapeRef.new(shape: GetApproximateUsageRecordsRequest)
1656
+ o.output = Shapes::ShapeRef.new(shape: GetApproximateUsageRecordsResponse)
1657
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
1658
+ o.errors << Shapes::ShapeRef.new(shape: DataUnavailableException)
1659
+ end)
1660
+
1596
1661
  api.add_operation(:get_cost_and_usage, Seahorse::Model::Operation.new.tap do |o|
1597
1662
  o.name = "GetCostAndUsage"
1598
1663
  o.http_method = "POST"
@@ -1786,6 +1851,22 @@ module Aws::CostExplorer
1786
1851
  o.errors << Shapes::ShapeRef.new(shape: UnresolvableUsageUnitException)
1787
1852
  end)
1788
1853
 
1854
+ api.add_operation(:list_cost_allocation_tag_backfill_history, Seahorse::Model::Operation.new.tap do |o|
1855
+ o.name = "ListCostAllocationTagBackfillHistory"
1856
+ o.http_method = "POST"
1857
+ o.http_request_uri = "/"
1858
+ o.input = Shapes::ShapeRef.new(shape: ListCostAllocationTagBackfillHistoryRequest)
1859
+ o.output = Shapes::ShapeRef.new(shape: ListCostAllocationTagBackfillHistoryResponse)
1860
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
1861
+ o.errors << Shapes::ShapeRef.new(shape: InvalidNextTokenException)
1862
+ o[:pager] = Aws::Pager.new(
1863
+ limit_key: "max_results",
1864
+ tokens: {
1865
+ "next_token" => "next_token"
1866
+ }
1867
+ )
1868
+ end)
1869
+
1789
1870
  api.add_operation(:list_cost_allocation_tags, Seahorse::Model::Operation.new.tap do |o|
1790
1871
  o.name = "ListCostAllocationTags"
1791
1872
  o.http_method = "POST"
@@ -1847,6 +1928,16 @@ module Aws::CostExplorer
1847
1928
  o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
1848
1929
  end)
1849
1930
 
1931
+ api.add_operation(:start_cost_allocation_tag_backfill, Seahorse::Model::Operation.new.tap do |o|
1932
+ o.name = "StartCostAllocationTagBackfill"
1933
+ o.http_method = "POST"
1934
+ o.http_request_uri = "/"
1935
+ o.input = Shapes::ShapeRef.new(shape: StartCostAllocationTagBackfillRequest)
1936
+ o.output = Shapes::ShapeRef.new(shape: StartCostAllocationTagBackfillResponse)
1937
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
1938
+ o.errors << Shapes::ShapeRef.new(shape: BackfillLimitExceededException)
1939
+ end)
1940
+
1850
1941
  api.add_operation(:start_savings_plans_purchase_recommendation_generation, Seahorse::Model::Operation.new.tap do |o|
1851
1942
  o.name = "StartSavingsPlansPurchaseRecommendationGeneration"
1852
1943
  o.http_method = "POST"
@@ -152,6 +152,20 @@ module Aws::CostExplorer
152
152
  end
153
153
  end
154
154
 
155
+ class GetApproximateUsageRecords
156
+ def self.build(context)
157
+ unless context.config.regional_endpoint
158
+ endpoint = context.config.endpoint.to_s
159
+ end
160
+ Aws::CostExplorer::EndpointParameters.new(
161
+ region: context.config.region,
162
+ use_dual_stack: context.config.use_dualstack_endpoint,
163
+ use_fips: context.config.use_fips_endpoint,
164
+ endpoint: endpoint,
165
+ )
166
+ end
167
+ end
168
+
155
169
  class GetCostAndUsage
156
170
  def self.build(context)
157
171
  unless context.config.regional_endpoint
@@ -376,6 +390,20 @@ module Aws::CostExplorer
376
390
  end
377
391
  end
378
392
 
393
+ class ListCostAllocationTagBackfillHistory
394
+ def self.build(context)
395
+ unless context.config.regional_endpoint
396
+ endpoint = context.config.endpoint.to_s
397
+ end
398
+ Aws::CostExplorer::EndpointParameters.new(
399
+ region: context.config.region,
400
+ use_dual_stack: context.config.use_dualstack_endpoint,
401
+ use_fips: context.config.use_fips_endpoint,
402
+ endpoint: endpoint,
403
+ )
404
+ end
405
+ end
406
+
379
407
  class ListCostAllocationTags
380
408
  def self.build(context)
381
409
  unless context.config.regional_endpoint
@@ -446,6 +474,20 @@ module Aws::CostExplorer
446
474
  end
447
475
  end
448
476
 
477
+ class StartCostAllocationTagBackfill
478
+ def self.build(context)
479
+ unless context.config.regional_endpoint
480
+ endpoint = context.config.endpoint.to_s
481
+ end
482
+ Aws::CostExplorer::EndpointParameters.new(
483
+ region: context.config.region,
484
+ use_dual_stack: context.config.use_dualstack_endpoint,
485
+ use_fips: context.config.use_fips_endpoint,
486
+ endpoint: endpoint,
487
+ )
488
+ end
489
+ end
490
+
449
491
  class StartSavingsPlansPurchaseRecommendationGeneration
450
492
  def self.build(context)
451
493
  unless context.config.regional_endpoint
@@ -27,6 +27,7 @@ module Aws::CostExplorer
27
27
  # See {Seahorse::Client::RequestContext} for more information.
28
28
  #
29
29
  # ## Error Classes
30
+ # * {BackfillLimitExceededException}
30
31
  # * {BillExpirationException}
31
32
  # * {DataUnavailableException}
32
33
  # * {GenerationExistsException}
@@ -46,6 +47,21 @@ module Aws::CostExplorer
46
47
 
47
48
  extend Aws::Errors::DynamicErrors
48
49
 
50
+ class BackfillLimitExceededException < ServiceError
51
+
52
+ # @param [Seahorse::Client::RequestContext] context
53
+ # @param [String] message
54
+ # @param [Aws::CostExplorer::Types::BackfillLimitExceededException] data
55
+ def initialize(context, message, data = Aws::EmptyStructure.new)
56
+ super(context, message, data)
57
+ end
58
+
59
+ # @return [String]
60
+ def message
61
+ @message || @data[:message]
62
+ end
63
+ end
64
+
49
65
  class BillExpirationException < ServiceError
50
66
 
51
67
  # @param [Seahorse::Client::RequestContext] context
@@ -78,6 +78,8 @@ module Aws::CostExplorer
78
78
  Aws::CostExplorer::Endpoints::GetAnomalyMonitors.build(context)
79
79
  when :get_anomaly_subscriptions
80
80
  Aws::CostExplorer::Endpoints::GetAnomalySubscriptions.build(context)
81
+ when :get_approximate_usage_records
82
+ Aws::CostExplorer::Endpoints::GetApproximateUsageRecords.build(context)
81
83
  when :get_cost_and_usage
82
84
  Aws::CostExplorer::Endpoints::GetCostAndUsage.build(context)
83
85
  when :get_cost_and_usage_with_resources
@@ -110,6 +112,8 @@ module Aws::CostExplorer
110
112
  Aws::CostExplorer::Endpoints::GetTags.build(context)
111
113
  when :get_usage_forecast
112
114
  Aws::CostExplorer::Endpoints::GetUsageForecast.build(context)
115
+ when :list_cost_allocation_tag_backfill_history
116
+ Aws::CostExplorer::Endpoints::ListCostAllocationTagBackfillHistory.build(context)
113
117
  when :list_cost_allocation_tags
114
118
  Aws::CostExplorer::Endpoints::ListCostAllocationTags.build(context)
115
119
  when :list_cost_category_definitions
@@ -120,6 +124,8 @@ module Aws::CostExplorer
120
124
  Aws::CostExplorer::Endpoints::ListTagsForResource.build(context)
121
125
  when :provide_anomaly_feedback
122
126
  Aws::CostExplorer::Endpoints::ProvideAnomalyFeedback.build(context)
127
+ when :start_cost_allocation_tag_backfill
128
+ Aws::CostExplorer::Endpoints::StartCostAllocationTagBackfill.build(context)
123
129
  when :start_savings_plans_purchase_recommendation_generation
124
130
  Aws::CostExplorer::Endpoints::StartSavingsPlansPurchaseRecommendationGeneration.build(context)
125
131
  when :tag_resource
@@ -388,6 +388,20 @@ module Aws::CostExplorer
388
388
  include Aws::Structure
389
389
  end
390
390
 
391
+ # A request to backfill is already in progress. Once the previous
392
+ # request is complete, you can create another request.
393
+ #
394
+ # @!attribute [rw] message
395
+ # @return [String]
396
+ #
397
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/BackfillLimitExceededException AWS API Documentation
398
+ #
399
+ class BackfillLimitExceededException < Struct.new(
400
+ :message)
401
+ SENSITIVE = []
402
+ include Aws::Structure
403
+ end
404
+
391
405
  # The requested report expired. Update the date interval and try again.
392
406
  #
393
407
  # @!attribute [rw] message
@@ -441,6 +455,41 @@ module Aws::CostExplorer
441
455
  include Aws::Structure
442
456
  end
443
457
 
458
+ # The cost allocation tag backfill request structure that contains
459
+ # metadata and details of a certain backfill.
460
+ #
461
+ # @!attribute [rw] backfill_from
462
+ # The date the backfill starts from.
463
+ # @return [String]
464
+ #
465
+ # @!attribute [rw] requested_at
466
+ # The time when the backfill was requested.
467
+ # @return [String]
468
+ #
469
+ # @!attribute [rw] completed_at
470
+ # The backfill completion time.
471
+ # @return [String]
472
+ #
473
+ # @!attribute [rw] backfill_status
474
+ # The status of the cost allocation tag backfill request.
475
+ # @return [String]
476
+ #
477
+ # @!attribute [rw] last_updated_at
478
+ # The time when the backfill status was last updated.
479
+ # @return [String]
480
+ #
481
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/CostAllocationTagBackfillRequest AWS API Documentation
482
+ #
483
+ class CostAllocationTagBackfillRequest < Struct.new(
484
+ :backfill_from,
485
+ :requested_at,
486
+ :completed_at,
487
+ :backfill_status,
488
+ :last_updated_at)
489
+ SENSITIVE = []
490
+ include Aws::Structure
491
+ end
492
+
444
493
  # The cost allocation tag status. The status of a key can either be
445
494
  # active or inactive.
446
495
  #
@@ -2079,6 +2128,55 @@ module Aws::CostExplorer
2079
2128
  include Aws::Structure
2080
2129
  end
2081
2130
 
2131
+ # @!attribute [rw] granularity
2132
+ # How granular you want the data to be. You can enable data at hourly
2133
+ # or daily granularity.
2134
+ # @return [String]
2135
+ #
2136
+ # @!attribute [rw] services
2137
+ # The service metadata for the service or services you want to query.
2138
+ # If not specified, all elements are returned.
2139
+ # @return [Array<String>]
2140
+ #
2141
+ # @!attribute [rw] approximation_dimension
2142
+ # The service to evaluate for the usage records. You can choose
2143
+ # resource-level data at daily granularity, or hourly granularity with
2144
+ # or without resource-level data.
2145
+ # @return [String]
2146
+ #
2147
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetApproximateUsageRecordsRequest AWS API Documentation
2148
+ #
2149
+ class GetApproximateUsageRecordsRequest < Struct.new(
2150
+ :granularity,
2151
+ :services,
2152
+ :approximation_dimension)
2153
+ SENSITIVE = []
2154
+ include Aws::Structure
2155
+ end
2156
+
2157
+ # @!attribute [rw] services
2158
+ # The service metadata for the service or services in the response.
2159
+ # @return [Hash<String,Integer>]
2160
+ #
2161
+ # @!attribute [rw] total_records
2162
+ # The total number of usage records for all services in the services
2163
+ # list.
2164
+ # @return [Integer]
2165
+ #
2166
+ # @!attribute [rw] lookback_period
2167
+ # The lookback period that's used for the estimation.
2168
+ # @return [Types::DateInterval]
2169
+ #
2170
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetApproximateUsageRecordsResponse AWS API Documentation
2171
+ #
2172
+ class GetApproximateUsageRecordsResponse < Struct.new(
2173
+ :services,
2174
+ :total_records,
2175
+ :lookback_period)
2176
+ SENSITIVE = []
2177
+ include Aws::Structure
2178
+ end
2179
+
2082
2180
  # @!attribute [rw] time_period
2083
2181
  # Sets the start date and end date for retrieving Amazon Web Services
2084
2182
  # costs. The start date is inclusive, but the end date is exclusive.
@@ -4725,6 +4823,44 @@ module Aws::CostExplorer
4725
4823
  include Aws::Structure
4726
4824
  end
4727
4825
 
4826
+ # @!attribute [rw] next_token
4827
+ # The token to retrieve the next set of results. Amazon Web Services
4828
+ # provides the token when the response from a previous call has more
4829
+ # results than the maximum page size.
4830
+ # @return [String]
4831
+ #
4832
+ # @!attribute [rw] max_results
4833
+ # The maximum number of objects that are returned for this request.
4834
+ # @return [Integer]
4835
+ #
4836
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/ListCostAllocationTagBackfillHistoryRequest AWS API Documentation
4837
+ #
4838
+ class ListCostAllocationTagBackfillHistoryRequest < Struct.new(
4839
+ :next_token,
4840
+ :max_results)
4841
+ SENSITIVE = []
4842
+ include Aws::Structure
4843
+ end
4844
+
4845
+ # @!attribute [rw] backfill_requests
4846
+ # The list of historical cost allocation tag backfill requests.
4847
+ # @return [Array<Types::CostAllocationTagBackfillRequest>]
4848
+ #
4849
+ # @!attribute [rw] next_token
4850
+ # The token to retrieve the next set of results. Amazon Web Services
4851
+ # provides the token when the response from a previous call has more
4852
+ # results than the maximum page size.
4853
+ # @return [String]
4854
+ #
4855
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/ListCostAllocationTagBackfillHistoryResponse AWS API Documentation
4856
+ #
4857
+ class ListCostAllocationTagBackfillHistoryResponse < Struct.new(
4858
+ :backfill_requests,
4859
+ :next_token)
4860
+ SENSITIVE = []
4861
+ include Aws::Structure
4862
+ end
4863
+
4728
4864
  # @!attribute [rw] status
4729
4865
  # The status of cost allocation tag keys that are returned for this
4730
4866
  # request.
@@ -6613,6 +6749,32 @@ module Aws::CostExplorer
6613
6749
  include Aws::Structure
6614
6750
  end
6615
6751
 
6752
+ # @!attribute [rw] backfill_from
6753
+ # The date you want the backfill to start from. The date can only be a
6754
+ # first day of the month (a billing start date). Dates can't precede
6755
+ # the previous twelve months, or in the future.
6756
+ # @return [String]
6757
+ #
6758
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/StartCostAllocationTagBackfillRequest AWS API Documentation
6759
+ #
6760
+ class StartCostAllocationTagBackfillRequest < Struct.new(
6761
+ :backfill_from)
6762
+ SENSITIVE = []
6763
+ include Aws::Structure
6764
+ end
6765
+
6766
+ # @!attribute [rw] backfill_request
6767
+ # An object containing detailed metadata of your new backfill request.
6768
+ # @return [Types::CostAllocationTagBackfillRequest]
6769
+ #
6770
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/StartCostAllocationTagBackfillResponse AWS API Documentation
6771
+ #
6772
+ class StartCostAllocationTagBackfillResponse < Struct.new(
6773
+ :backfill_request)
6774
+ SENSITIVE = []
6775
+ include Aws::Structure
6776
+ end
6777
+
6616
6778
  # @api private
6617
6779
  #
6618
6780
  # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/StartSavingsPlansPurchaseRecommendationGenerationRequest AWS API Documentation
@@ -52,6 +52,6 @@ require_relative 'aws-sdk-costexplorer/customizations'
52
52
  # @!group service
53
53
  module Aws::CostExplorer
54
54
 
55
- GEM_VERSION = '1.95.0'
55
+ GEM_VERSION = '1.97.0'
56
56
 
57
57
  end
data/sig/client.rbs CHANGED
@@ -333,6 +333,20 @@ module Aws
333
333
  ) -> _GetAnomalySubscriptionsResponseSuccess
334
334
  | (?Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _GetAnomalySubscriptionsResponseSuccess
335
335
 
336
+ interface _GetApproximateUsageRecordsResponseSuccess
337
+ include ::Seahorse::Client::_ResponseSuccess[Types::GetApproximateUsageRecordsResponse]
338
+ def services: () -> ::Hash[::String, ::Integer]
339
+ def total_records: () -> ::Integer
340
+ def lookback_period: () -> Types::DateInterval
341
+ end
342
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/CostExplorer/Client.html#get_approximate_usage_records-instance_method
343
+ def get_approximate_usage_records: (
344
+ granularity: ("DAILY" | "MONTHLY" | "HOURLY"),
345
+ ?services: Array[::String],
346
+ approximation_dimension: ("SERVICE" | "RESOURCE")
347
+ ) -> _GetApproximateUsageRecordsResponseSuccess
348
+ | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _GetApproximateUsageRecordsResponseSuccess
349
+
336
350
  interface _GetCostAndUsageResponseSuccess
337
351
  include ::Seahorse::Client::_ResponseSuccess[Types::GetCostAndUsageResponse]
338
352
  def next_page_token: () -> ::String
@@ -1057,6 +1071,18 @@ module Aws
1057
1071
  ) -> _GetUsageForecastResponseSuccess
1058
1072
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _GetUsageForecastResponseSuccess
1059
1073
 
1074
+ interface _ListCostAllocationTagBackfillHistoryResponseSuccess
1075
+ include ::Seahorse::Client::_ResponseSuccess[Types::ListCostAllocationTagBackfillHistoryResponse]
1076
+ def backfill_requests: () -> ::Array[Types::CostAllocationTagBackfillRequest]
1077
+ def next_token: () -> ::String
1078
+ end
1079
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/CostExplorer/Client.html#list_cost_allocation_tag_backfill_history-instance_method
1080
+ def list_cost_allocation_tag_backfill_history: (
1081
+ ?next_token: ::String,
1082
+ ?max_results: ::Integer
1083
+ ) -> _ListCostAllocationTagBackfillHistoryResponseSuccess
1084
+ | (?Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _ListCostAllocationTagBackfillHistoryResponseSuccess
1085
+
1060
1086
  interface _ListCostAllocationTagsResponseSuccess
1061
1087
  include ::Seahorse::Client::_ResponseSuccess[Types::ListCostAllocationTagsResponse]
1062
1088
  def cost_allocation_tags: () -> ::Array[Types::CostAllocationTag]
@@ -1120,6 +1146,16 @@ module Aws
1120
1146
  ) -> _ProvideAnomalyFeedbackResponseSuccess
1121
1147
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _ProvideAnomalyFeedbackResponseSuccess
1122
1148
 
1149
+ interface _StartCostAllocationTagBackfillResponseSuccess
1150
+ include ::Seahorse::Client::_ResponseSuccess[Types::StartCostAllocationTagBackfillResponse]
1151
+ def backfill_request: () -> Types::CostAllocationTagBackfillRequest
1152
+ end
1153
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/CostExplorer/Client.html#start_cost_allocation_tag_backfill-instance_method
1154
+ def start_cost_allocation_tag_backfill: (
1155
+ backfill_from: ::String
1156
+ ) -> _StartCostAllocationTagBackfillResponseSuccess
1157
+ | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _StartCostAllocationTagBackfillResponseSuccess
1158
+
1123
1159
  interface _StartSavingsPlansPurchaseRecommendationGenerationResponseSuccess
1124
1160
  include ::Seahorse::Client::_ResponseSuccess[Types::StartSavingsPlansPurchaseRecommendationGenerationResponse]
1125
1161
  def recommendation_id: () -> ::String
data/sig/errors.rbs CHANGED
@@ -11,6 +11,9 @@ module Aws
11
11
  class ServiceError < ::Aws::Errors::ServiceError
12
12
  end
13
13
 
14
+ class BackfillLimitExceededException < ::Aws::Errors::ServiceError
15
+ def message: () -> ::String
16
+ end
14
17
  class BillExpirationException < ::Aws::Errors::ServiceError
15
18
  def message: () -> ::String
16
19
  end
data/sig/types.rbs CHANGED
@@ -58,6 +58,11 @@ module Aws::CostExplorer
58
58
  SENSITIVE: []
59
59
  end
60
60
 
61
+ class BackfillLimitExceededException
62
+ attr_accessor message: ::String
63
+ SENSITIVE: []
64
+ end
65
+
61
66
  class BillExpirationException
62
67
  attr_accessor message: ::String
63
68
  SENSITIVE: []
@@ -72,6 +77,15 @@ module Aws::CostExplorer
72
77
  SENSITIVE: []
73
78
  end
74
79
 
80
+ class CostAllocationTagBackfillRequest
81
+ attr_accessor backfill_from: ::String
82
+ attr_accessor requested_at: ::String
83
+ attr_accessor completed_at: ::String
84
+ attr_accessor backfill_status: ("SUCCEEDED" | "PROCESSING" | "FAILED")
85
+ attr_accessor last_updated_at: ::String
86
+ SENSITIVE: []
87
+ end
88
+
75
89
  class CostAllocationTagStatusEntry
76
90
  attr_accessor tag_key: ::String
77
91
  attr_accessor status: ("Active" | "Inactive")
@@ -445,6 +459,20 @@ module Aws::CostExplorer
445
459
  SENSITIVE: []
446
460
  end
447
461
 
462
+ class GetApproximateUsageRecordsRequest
463
+ attr_accessor granularity: ("DAILY" | "MONTHLY" | "HOURLY")
464
+ attr_accessor services: ::Array[::String]
465
+ attr_accessor approximation_dimension: ("SERVICE" | "RESOURCE")
466
+ SENSITIVE: []
467
+ end
468
+
469
+ class GetApproximateUsageRecordsResponse
470
+ attr_accessor services: ::Hash[::String, ::Integer]
471
+ attr_accessor total_records: ::Integer
472
+ attr_accessor lookback_period: Types::DateInterval
473
+ SENSITIVE: []
474
+ end
475
+
448
476
  class GetCostAndUsageRequest
449
477
  attr_accessor time_period: Types::DateInterval
450
478
  attr_accessor granularity: ("DAILY" | "MONTHLY" | "HOURLY")
@@ -767,6 +795,18 @@ module Aws::CostExplorer
767
795
  SENSITIVE: []
768
796
  end
769
797
 
798
+ class ListCostAllocationTagBackfillHistoryRequest
799
+ attr_accessor next_token: ::String
800
+ attr_accessor max_results: ::Integer
801
+ SENSITIVE: []
802
+ end
803
+
804
+ class ListCostAllocationTagBackfillHistoryResponse
805
+ attr_accessor backfill_requests: ::Array[Types::CostAllocationTagBackfillRequest]
806
+ attr_accessor next_token: ::String
807
+ SENSITIVE: []
808
+ end
809
+
770
810
  class ListCostAllocationTagsRequest
771
811
  attr_accessor status: ("Active" | "Inactive")
772
812
  attr_accessor tag_keys: ::Array[::String]
@@ -1217,6 +1257,16 @@ module Aws::CostExplorer
1217
1257
  SENSITIVE: []
1218
1258
  end
1219
1259
 
1260
+ class StartCostAllocationTagBackfillRequest
1261
+ attr_accessor backfill_from: ::String
1262
+ SENSITIVE: []
1263
+ end
1264
+
1265
+ class StartCostAllocationTagBackfillResponse
1266
+ attr_accessor backfill_request: Types::CostAllocationTagBackfillRequest
1267
+ SENSITIVE: []
1268
+ end
1269
+
1220
1270
  class StartSavingsPlansPurchaseRecommendationGenerationRequest < Aws::EmptyStructure
1221
1271
  end
1222
1272
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-costexplorer
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.95.0
4
+ version: 1.97.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: 2024-01-26 00:00:00.000000000 Z
11
+ date: 2024-03-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core