aws-sdk-costexplorer 1.114.0 → 1.116.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -14,9 +14,18 @@ module Aws::CostExplorer
14
14
 
15
15
  include Seahorse::Model
16
16
 
17
+ AccountId = Shapes::StringShape.new(name: 'AccountId')
17
18
  AccountScope = Shapes::StringShape.new(name: 'AccountScope')
18
19
  AmortizedRecurringFee = Shapes::StringShape.new(name: 'AmortizedRecurringFee')
19
20
  AmortizedUpfrontFee = Shapes::StringShape.new(name: 'AmortizedUpfrontFee')
21
+ AnalysisDetails = Shapes::StructureShape.new(name: 'AnalysisDetails')
22
+ AnalysisId = Shapes::StringShape.new(name: 'AnalysisId')
23
+ AnalysisIds = Shapes::ListShape.new(name: 'AnalysisIds')
24
+ AnalysisNotFoundException = Shapes::StructureShape.new(name: 'AnalysisNotFoundException')
25
+ AnalysisStatus = Shapes::StringShape.new(name: 'AnalysisStatus')
26
+ AnalysisSummary = Shapes::StructureShape.new(name: 'AnalysisSummary')
27
+ AnalysisSummaryList = Shapes::ListShape.new(name: 'AnalysisSummaryList')
28
+ AnalysisType = Shapes::StringShape.new(name: 'AnalysisType')
20
29
  Anomalies = Shapes::ListShape.new(name: 'Anomalies')
21
30
  Anomaly = Shapes::StructureShape.new(name: 'Anomaly')
22
31
  AnomalyDateInterval = Shapes::StructureShape.new(name: 'AnomalyDateInterval')
@@ -35,6 +44,7 @@ module Aws::CostExplorer
35
44
  Attributes = Shapes::MapShape.new(name: 'Attributes')
36
45
  BackfillLimitExceededException = Shapes::StructureShape.new(name: 'BackfillLimitExceededException')
37
46
  BillExpirationException = Shapes::StructureShape.new(name: 'BillExpirationException')
47
+ CommitmentPurchaseAnalysisConfiguration = Shapes::StructureShape.new(name: 'CommitmentPurchaseAnalysisConfiguration')
38
48
  Context = Shapes::StringShape.new(name: 'Context')
39
49
  CostAllocationTag = Shapes::StructureShape.new(name: 'CostAllocationTag')
40
50
  CostAllocationTagBackfillRequest = Shapes::StructureShape.new(name: 'CostAllocationTagBackfillRequest')
@@ -113,6 +123,7 @@ module Aws::CostExplorer
113
123
  ESInstanceDetails = Shapes::StructureShape.new(name: 'ESInstanceDetails')
114
124
  ElastiCacheInstanceDetails = Shapes::StructureShape.new(name: 'ElastiCacheInstanceDetails')
115
125
  Entity = Shapes::StringShape.new(name: 'Entity')
126
+ ErrorCode = Shapes::StringShape.new(name: 'ErrorCode')
116
127
  ErrorMessage = Shapes::StringShape.new(name: 'ErrorMessage')
117
128
  Estimated = Shapes::BooleanShape.new(name: 'Estimated')
118
129
  Expression = Shapes::StructureShape.new(name: 'Expression')
@@ -136,6 +147,8 @@ module Aws::CostExplorer
136
147
  GetAnomalySubscriptionsResponse = Shapes::StructureShape.new(name: 'GetAnomalySubscriptionsResponse')
137
148
  GetApproximateUsageRecordsRequest = Shapes::StructureShape.new(name: 'GetApproximateUsageRecordsRequest')
138
149
  GetApproximateUsageRecordsResponse = Shapes::StructureShape.new(name: 'GetApproximateUsageRecordsResponse')
150
+ GetCommitmentPurchaseAnalysisRequest = Shapes::StructureShape.new(name: 'GetCommitmentPurchaseAnalysisRequest')
151
+ GetCommitmentPurchaseAnalysisResponse = Shapes::StructureShape.new(name: 'GetCommitmentPurchaseAnalysisResponse')
139
152
  GetCostAndUsageRequest = Shapes::StructureShape.new(name: 'GetCostAndUsageRequest')
140
153
  GetCostAndUsageResponse = Shapes::StructureShape.new(name: 'GetCostAndUsageResponse')
141
154
  GetCostAndUsageWithResourcesRequest = Shapes::StructureShape.new(name: 'GetCostAndUsageWithResourcesRequest')
@@ -181,6 +194,8 @@ module Aws::CostExplorer
181
194
  Key = Shapes::StringShape.new(name: 'Key')
182
195
  Keys = Shapes::ListShape.new(name: 'Keys')
183
196
  LimitExceededException = Shapes::StructureShape.new(name: 'LimitExceededException')
197
+ ListCommitmentPurchaseAnalysesRequest = Shapes::StructureShape.new(name: 'ListCommitmentPurchaseAnalysesRequest')
198
+ ListCommitmentPurchaseAnalysesResponse = Shapes::StructureShape.new(name: 'ListCommitmentPurchaseAnalysesResponse')
184
199
  ListCostAllocationTagBackfillHistoryRequest = Shapes::StructureShape.new(name: 'ListCostAllocationTagBackfillHistoryRequest')
185
200
  ListCostAllocationTagBackfillHistoryResponse = Shapes::StructureShape.new(name: 'ListCostAllocationTagBackfillHistoryResponse')
186
201
  ListCostAllocationTagsRequest = Shapes::StructureShape.new(name: 'ListCostAllocationTagsRequest')
@@ -275,19 +290,26 @@ module Aws::CostExplorer
275
290
  RootCause = Shapes::StructureShape.new(name: 'RootCause')
276
291
  RootCauses = Shapes::ListShape.new(name: 'RootCauses')
277
292
  SavingsPlanArn = Shapes::StringShape.new(name: 'SavingsPlanArn')
293
+ SavingsPlans = Shapes::StructureShape.new(name: 'SavingsPlans')
278
294
  SavingsPlansAmortizedCommitment = Shapes::StructureShape.new(name: 'SavingsPlansAmortizedCommitment')
295
+ SavingsPlansCommitment = Shapes::FloatShape.new(name: 'SavingsPlansCommitment')
279
296
  SavingsPlansCoverage = Shapes::StructureShape.new(name: 'SavingsPlansCoverage')
280
297
  SavingsPlansCoverageData = Shapes::StructureShape.new(name: 'SavingsPlansCoverageData')
281
298
  SavingsPlansCoverages = Shapes::ListShape.new(name: 'SavingsPlansCoverages')
282
299
  SavingsPlansDataType = Shapes::StringShape.new(name: 'SavingsPlansDataType')
283
300
  SavingsPlansDataTypes = Shapes::ListShape.new(name: 'SavingsPlansDataTypes')
284
301
  SavingsPlansDetails = Shapes::StructureShape.new(name: 'SavingsPlansDetails')
302
+ SavingsPlansId = Shapes::StringShape.new(name: 'SavingsPlansId')
303
+ SavingsPlansPurchaseAnalysisConfiguration = Shapes::StructureShape.new(name: 'SavingsPlansPurchaseAnalysisConfiguration')
304
+ SavingsPlansPurchaseAnalysisDetails = Shapes::StructureShape.new(name: 'SavingsPlansPurchaseAnalysisDetails')
285
305
  SavingsPlansPurchaseRecommendation = Shapes::StructureShape.new(name: 'SavingsPlansPurchaseRecommendation')
286
306
  SavingsPlansPurchaseRecommendationDetail = Shapes::StructureShape.new(name: 'SavingsPlansPurchaseRecommendationDetail')
287
307
  SavingsPlansPurchaseRecommendationDetailList = Shapes::ListShape.new(name: 'SavingsPlansPurchaseRecommendationDetailList')
288
308
  SavingsPlansPurchaseRecommendationMetadata = Shapes::StructureShape.new(name: 'SavingsPlansPurchaseRecommendationMetadata')
289
309
  SavingsPlansPurchaseRecommendationSummary = Shapes::StructureShape.new(name: 'SavingsPlansPurchaseRecommendationSummary')
290
310
  SavingsPlansSavings = Shapes::StructureShape.new(name: 'SavingsPlansSavings')
311
+ SavingsPlansToAdd = Shapes::ListShape.new(name: 'SavingsPlansToAdd')
312
+ SavingsPlansToExclude = Shapes::ListShape.new(name: 'SavingsPlansToExclude')
291
313
  SavingsPlansUtilization = Shapes::StructureShape.new(name: 'SavingsPlansUtilization')
292
314
  SavingsPlansUtilizationAggregates = Shapes::StructureShape.new(name: 'SavingsPlansUtilizationAggregates')
293
315
  SavingsPlansUtilizationByTime = Shapes::StructureShape.new(name: 'SavingsPlansUtilizationByTime')
@@ -301,6 +323,8 @@ module Aws::CostExplorer
301
323
  SortDefinitionKey = Shapes::StringShape.new(name: 'SortDefinitionKey')
302
324
  SortDefinitions = Shapes::ListShape.new(name: 'SortDefinitions')
303
325
  SortOrder = Shapes::StringShape.new(name: 'SortOrder')
326
+ StartCommitmentPurchaseAnalysisRequest = Shapes::StructureShape.new(name: 'StartCommitmentPurchaseAnalysisRequest')
327
+ StartCommitmentPurchaseAnalysisResponse = Shapes::StructureShape.new(name: 'StartCommitmentPurchaseAnalysisResponse')
304
328
  StartCostAllocationTagBackfillRequest = Shapes::StructureShape.new(name: 'StartCostAllocationTagBackfillRequest')
305
329
  StartCostAllocationTagBackfillResponse = Shapes::StructureShape.new(name: 'StartCostAllocationTagBackfillResponse')
306
330
  StartSavingsPlansPurchaseRecommendationGenerationRequest = Shapes::StructureShape.new(name: 'StartSavingsPlansPurchaseRecommendationGenerationRequest')
@@ -357,6 +381,25 @@ module Aws::CostExplorer
357
381
  YearMonthDay = Shapes::StringShape.new(name: 'YearMonthDay')
358
382
  ZonedDateTime = Shapes::StringShape.new(name: 'ZonedDateTime')
359
383
 
384
+ AnalysisDetails.add_member(:savings_plans_purchase_analysis_details, Shapes::ShapeRef.new(shape: SavingsPlansPurchaseAnalysisDetails, location_name: "SavingsPlansPurchaseAnalysisDetails"))
385
+ AnalysisDetails.struct_class = Types::AnalysisDetails
386
+
387
+ AnalysisIds.member = Shapes::ShapeRef.new(shape: AnalysisId)
388
+
389
+ AnalysisNotFoundException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
390
+ AnalysisNotFoundException.struct_class = Types::AnalysisNotFoundException
391
+
392
+ AnalysisSummary.add_member(:estimated_completion_time, Shapes::ShapeRef.new(shape: ZonedDateTime, location_name: "EstimatedCompletionTime"))
393
+ AnalysisSummary.add_member(:analysis_completion_time, Shapes::ShapeRef.new(shape: ZonedDateTime, location_name: "AnalysisCompletionTime"))
394
+ AnalysisSummary.add_member(:analysis_started_time, Shapes::ShapeRef.new(shape: ZonedDateTime, location_name: "AnalysisStartedTime"))
395
+ AnalysisSummary.add_member(:analysis_status, Shapes::ShapeRef.new(shape: AnalysisStatus, location_name: "AnalysisStatus"))
396
+ AnalysisSummary.add_member(:error_code, Shapes::ShapeRef.new(shape: ErrorCode, location_name: "ErrorCode"))
397
+ AnalysisSummary.add_member(:analysis_id, Shapes::ShapeRef.new(shape: AnalysisId, location_name: "AnalysisId"))
398
+ AnalysisSummary.add_member(:commitment_purchase_analysis_configuration, Shapes::ShapeRef.new(shape: CommitmentPurchaseAnalysisConfiguration, location_name: "CommitmentPurchaseAnalysisConfiguration"))
399
+ AnalysisSummary.struct_class = Types::AnalysisSummary
400
+
401
+ AnalysisSummaryList.member = Shapes::ShapeRef.new(shape: AnalysisSummary)
402
+
360
403
  Anomalies.member = Shapes::ShapeRef.new(shape: Anomaly)
361
404
 
362
405
  Anomaly.add_member(:anomaly_id, Shapes::ShapeRef.new(shape: GenericString, required: true, location_name: "AnomalyId"))
@@ -415,6 +458,9 @@ module Aws::CostExplorer
415
458
  BillExpirationException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
416
459
  BillExpirationException.struct_class = Types::BillExpirationException
417
460
 
461
+ CommitmentPurchaseAnalysisConfiguration.add_member(:savings_plans_purchase_analysis_configuration, Shapes::ShapeRef.new(shape: SavingsPlansPurchaseAnalysisConfiguration, location_name: "SavingsPlansPurchaseAnalysisConfiguration"))
462
+ CommitmentPurchaseAnalysisConfiguration.struct_class = Types::CommitmentPurchaseAnalysisConfiguration
463
+
418
464
  CostAllocationTag.add_member(:tag_key, Shapes::ShapeRef.new(shape: TagKey, required: true, location_name: "TagKey"))
419
465
  CostAllocationTag.add_member(:type, Shapes::ShapeRef.new(shape: CostAllocationTagType, required: true, location_name: "Type"))
420
466
  CostAllocationTag.add_member(:status, Shapes::ShapeRef.new(shape: CostAllocationTagStatus, required: true, location_name: "Status"))
@@ -754,6 +800,19 @@ module Aws::CostExplorer
754
800
  GetApproximateUsageRecordsResponse.add_member(:lookback_period, Shapes::ShapeRef.new(shape: DateInterval, location_name: "LookbackPeriod"))
755
801
  GetApproximateUsageRecordsResponse.struct_class = Types::GetApproximateUsageRecordsResponse
756
802
 
803
+ GetCommitmentPurchaseAnalysisRequest.add_member(:analysis_id, Shapes::ShapeRef.new(shape: AnalysisId, required: true, location_name: "AnalysisId"))
804
+ GetCommitmentPurchaseAnalysisRequest.struct_class = Types::GetCommitmentPurchaseAnalysisRequest
805
+
806
+ GetCommitmentPurchaseAnalysisResponse.add_member(:estimated_completion_time, Shapes::ShapeRef.new(shape: ZonedDateTime, required: true, location_name: "EstimatedCompletionTime"))
807
+ GetCommitmentPurchaseAnalysisResponse.add_member(:analysis_completion_time, Shapes::ShapeRef.new(shape: ZonedDateTime, location_name: "AnalysisCompletionTime"))
808
+ GetCommitmentPurchaseAnalysisResponse.add_member(:analysis_started_time, Shapes::ShapeRef.new(shape: ZonedDateTime, required: true, location_name: "AnalysisStartedTime"))
809
+ GetCommitmentPurchaseAnalysisResponse.add_member(:analysis_id, Shapes::ShapeRef.new(shape: AnalysisId, required: true, location_name: "AnalysisId"))
810
+ GetCommitmentPurchaseAnalysisResponse.add_member(:analysis_status, Shapes::ShapeRef.new(shape: AnalysisStatus, required: true, location_name: "AnalysisStatus"))
811
+ GetCommitmentPurchaseAnalysisResponse.add_member(:error_code, Shapes::ShapeRef.new(shape: ErrorCode, location_name: "ErrorCode"))
812
+ GetCommitmentPurchaseAnalysisResponse.add_member(:analysis_details, Shapes::ShapeRef.new(shape: AnalysisDetails, location_name: "AnalysisDetails"))
813
+ GetCommitmentPurchaseAnalysisResponse.add_member(:commitment_purchase_analysis_configuration, Shapes::ShapeRef.new(shape: CommitmentPurchaseAnalysisConfiguration, required: true, location_name: "CommitmentPurchaseAnalysisConfiguration"))
814
+ GetCommitmentPurchaseAnalysisResponse.struct_class = Types::GetCommitmentPurchaseAnalysisResponse
815
+
757
816
  GetCostAndUsageRequest.add_member(:time_period, Shapes::ShapeRef.new(shape: DateInterval, required: true, location_name: "TimePeriod"))
758
817
  GetCostAndUsageRequest.add_member(:granularity, Shapes::ShapeRef.new(shape: Granularity, required: true, location_name: "Granularity"))
759
818
  GetCostAndUsageRequest.add_member(:filter, Shapes::ShapeRef.new(shape: Expression, location_name: "Filter"))
@@ -1006,6 +1065,16 @@ module Aws::CostExplorer
1006
1065
  LimitExceededException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
1007
1066
  LimitExceededException.struct_class = Types::LimitExceededException
1008
1067
 
1068
+ ListCommitmentPurchaseAnalysesRequest.add_member(:analysis_status, Shapes::ShapeRef.new(shape: AnalysisStatus, location_name: "AnalysisStatus"))
1069
+ ListCommitmentPurchaseAnalysesRequest.add_member(:next_page_token, Shapes::ShapeRef.new(shape: NextPageToken, location_name: "NextPageToken"))
1070
+ ListCommitmentPurchaseAnalysesRequest.add_member(:page_size, Shapes::ShapeRef.new(shape: NonNegativeInteger, location_name: "PageSize"))
1071
+ ListCommitmentPurchaseAnalysesRequest.add_member(:analysis_ids, Shapes::ShapeRef.new(shape: AnalysisIds, location_name: "AnalysisIds"))
1072
+ ListCommitmentPurchaseAnalysesRequest.struct_class = Types::ListCommitmentPurchaseAnalysesRequest
1073
+
1074
+ ListCommitmentPurchaseAnalysesResponse.add_member(:analysis_summary_list, Shapes::ShapeRef.new(shape: AnalysisSummaryList, location_name: "AnalysisSummaryList"))
1075
+ ListCommitmentPurchaseAnalysesResponse.add_member(:next_page_token, Shapes::ShapeRef.new(shape: NextPageToken, location_name: "NextPageToken"))
1076
+ ListCommitmentPurchaseAnalysesResponse.struct_class = Types::ListCommitmentPurchaseAnalysesResponse
1077
+
1009
1078
  ListCostAllocationTagBackfillHistoryRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextPageToken, location_name: "NextToken"))
1010
1079
  ListCostAllocationTagBackfillHistoryRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: CostAllocationTagsMaxResults, location_name: "MaxResults", metadata: {"box"=>true}))
1011
1080
  ListCostAllocationTagBackfillHistoryRequest.struct_class = Types::ListCostAllocationTagBackfillHistoryRequest
@@ -1297,6 +1366,15 @@ module Aws::CostExplorer
1297
1366
 
1298
1367
  RootCauses.member = Shapes::ShapeRef.new(shape: RootCause)
1299
1368
 
1369
+ SavingsPlans.add_member(:payment_option, Shapes::ShapeRef.new(shape: PaymentOption, location_name: "PaymentOption"))
1370
+ SavingsPlans.add_member(:savings_plans_type, Shapes::ShapeRef.new(shape: SupportedSavingsPlansType, location_name: "SavingsPlansType"))
1371
+ SavingsPlans.add_member(:region, Shapes::ShapeRef.new(shape: GenericString, location_name: "Region"))
1372
+ SavingsPlans.add_member(:instance_family, Shapes::ShapeRef.new(shape: GenericString, location_name: "InstanceFamily"))
1373
+ SavingsPlans.add_member(:term_in_years, Shapes::ShapeRef.new(shape: TermInYears, location_name: "TermInYears"))
1374
+ SavingsPlans.add_member(:savings_plans_commitment, Shapes::ShapeRef.new(shape: SavingsPlansCommitment, location_name: "SavingsPlansCommitment"))
1375
+ SavingsPlans.add_member(:offering_id, Shapes::ShapeRef.new(shape: GenericString, location_name: "OfferingId"))
1376
+ SavingsPlans.struct_class = Types::SavingsPlans
1377
+
1300
1378
  SavingsPlansAmortizedCommitment.add_member(:amortized_recurring_commitment, Shapes::ShapeRef.new(shape: GenericString, location_name: "AmortizedRecurringCommitment"))
1301
1379
  SavingsPlansAmortizedCommitment.add_member(:amortized_upfront_commitment, Shapes::ShapeRef.new(shape: GenericString, location_name: "AmortizedUpfrontCommitment"))
1302
1380
  SavingsPlansAmortizedCommitment.add_member(:total_amortized_commitment, Shapes::ShapeRef.new(shape: GenericString, location_name: "TotalAmortizedCommitment"))
@@ -1322,6 +1400,38 @@ module Aws::CostExplorer
1322
1400
  SavingsPlansDetails.add_member(:offering_id, Shapes::ShapeRef.new(shape: GenericString, location_name: "OfferingId"))
1323
1401
  SavingsPlansDetails.struct_class = Types::SavingsPlansDetails
1324
1402
 
1403
+ SavingsPlansPurchaseAnalysisConfiguration.add_member(:account_scope, Shapes::ShapeRef.new(shape: AccountScope, location_name: "AccountScope"))
1404
+ SavingsPlansPurchaseAnalysisConfiguration.add_member(:account_id, Shapes::ShapeRef.new(shape: AccountId, location_name: "AccountId"))
1405
+ SavingsPlansPurchaseAnalysisConfiguration.add_member(:analysis_type, Shapes::ShapeRef.new(shape: AnalysisType, required: true, location_name: "AnalysisType"))
1406
+ SavingsPlansPurchaseAnalysisConfiguration.add_member(:savings_plans_to_add, Shapes::ShapeRef.new(shape: SavingsPlansToAdd, required: true, location_name: "SavingsPlansToAdd"))
1407
+ SavingsPlansPurchaseAnalysisConfiguration.add_member(:savings_plans_to_exclude, Shapes::ShapeRef.new(shape: SavingsPlansToExclude, location_name: "SavingsPlansToExclude"))
1408
+ SavingsPlansPurchaseAnalysisConfiguration.add_member(:look_back_time_period, Shapes::ShapeRef.new(shape: DateInterval, required: true, location_name: "LookBackTimePeriod"))
1409
+ SavingsPlansPurchaseAnalysisConfiguration.struct_class = Types::SavingsPlansPurchaseAnalysisConfiguration
1410
+
1411
+ SavingsPlansPurchaseAnalysisDetails.add_member(:currency_code, Shapes::ShapeRef.new(shape: GenericString, location_name: "CurrencyCode"))
1412
+ SavingsPlansPurchaseAnalysisDetails.add_member(:lookback_period_in_hours, Shapes::ShapeRef.new(shape: GenericString, location_name: "LookbackPeriodInHours"))
1413
+ SavingsPlansPurchaseAnalysisDetails.add_member(:current_average_coverage, Shapes::ShapeRef.new(shape: GenericString, location_name: "CurrentAverageCoverage"))
1414
+ SavingsPlansPurchaseAnalysisDetails.add_member(:current_average_hourly_on_demand_spend, Shapes::ShapeRef.new(shape: GenericString, location_name: "CurrentAverageHourlyOnDemandSpend"))
1415
+ SavingsPlansPurchaseAnalysisDetails.add_member(:current_maximum_hourly_on_demand_spend, Shapes::ShapeRef.new(shape: GenericString, location_name: "CurrentMaximumHourlyOnDemandSpend"))
1416
+ SavingsPlansPurchaseAnalysisDetails.add_member(:current_minimum_hourly_on_demand_spend, Shapes::ShapeRef.new(shape: GenericString, location_name: "CurrentMinimumHourlyOnDemandSpend"))
1417
+ SavingsPlansPurchaseAnalysisDetails.add_member(:current_on_demand_spend, Shapes::ShapeRef.new(shape: GenericString, location_name: "CurrentOnDemandSpend"))
1418
+ SavingsPlansPurchaseAnalysisDetails.add_member(:existing_hourly_commitment, Shapes::ShapeRef.new(shape: GenericString, location_name: "ExistingHourlyCommitment"))
1419
+ SavingsPlansPurchaseAnalysisDetails.add_member(:hourly_commitment_to_purchase, Shapes::ShapeRef.new(shape: GenericString, location_name: "HourlyCommitmentToPurchase"))
1420
+ SavingsPlansPurchaseAnalysisDetails.add_member(:estimated_average_coverage, Shapes::ShapeRef.new(shape: GenericString, location_name: "EstimatedAverageCoverage"))
1421
+ SavingsPlansPurchaseAnalysisDetails.add_member(:estimated_average_utilization, Shapes::ShapeRef.new(shape: GenericString, location_name: "EstimatedAverageUtilization"))
1422
+ SavingsPlansPurchaseAnalysisDetails.add_member(:estimated_monthly_savings_amount, Shapes::ShapeRef.new(shape: GenericString, location_name: "EstimatedMonthlySavingsAmount"))
1423
+ SavingsPlansPurchaseAnalysisDetails.add_member(:estimated_on_demand_cost, Shapes::ShapeRef.new(shape: GenericString, location_name: "EstimatedOnDemandCost"))
1424
+ SavingsPlansPurchaseAnalysisDetails.add_member(:estimated_on_demand_cost_with_current_commitment, Shapes::ShapeRef.new(shape: GenericString, location_name: "EstimatedOnDemandCostWithCurrentCommitment"))
1425
+ SavingsPlansPurchaseAnalysisDetails.add_member(:estimated_roi, Shapes::ShapeRef.new(shape: GenericString, location_name: "EstimatedROI"))
1426
+ SavingsPlansPurchaseAnalysisDetails.add_member(:estimated_savings_amount, Shapes::ShapeRef.new(shape: GenericString, location_name: "EstimatedSavingsAmount"))
1427
+ SavingsPlansPurchaseAnalysisDetails.add_member(:estimated_savings_percentage, Shapes::ShapeRef.new(shape: GenericString, location_name: "EstimatedSavingsPercentage"))
1428
+ SavingsPlansPurchaseAnalysisDetails.add_member(:estimated_commitment_cost, Shapes::ShapeRef.new(shape: GenericString, location_name: "EstimatedCommitmentCost"))
1429
+ SavingsPlansPurchaseAnalysisDetails.add_member(:latest_usage_timestamp, Shapes::ShapeRef.new(shape: GenericString, location_name: "LatestUsageTimestamp"))
1430
+ SavingsPlansPurchaseAnalysisDetails.add_member(:upfront_cost, Shapes::ShapeRef.new(shape: GenericString, location_name: "UpfrontCost"))
1431
+ SavingsPlansPurchaseAnalysisDetails.add_member(:additional_metadata, Shapes::ShapeRef.new(shape: GenericString, location_name: "AdditionalMetadata"))
1432
+ SavingsPlansPurchaseAnalysisDetails.add_member(:metrics_over_lookback_period, Shapes::ShapeRef.new(shape: MetricsOverLookbackPeriod, location_name: "MetricsOverLookbackPeriod"))
1433
+ SavingsPlansPurchaseAnalysisDetails.struct_class = Types::SavingsPlansPurchaseAnalysisDetails
1434
+
1325
1435
  SavingsPlansPurchaseRecommendation.add_member(:account_scope, Shapes::ShapeRef.new(shape: AccountScope, location_name: "AccountScope"))
1326
1436
  SavingsPlansPurchaseRecommendation.add_member(:savings_plans_type, Shapes::ShapeRef.new(shape: SupportedSavingsPlansType, location_name: "SavingsPlansType"))
1327
1437
  SavingsPlansPurchaseRecommendation.add_member(:term_in_years, Shapes::ShapeRef.new(shape: TermInYears, location_name: "TermInYears"))
@@ -1374,6 +1484,10 @@ module Aws::CostExplorer
1374
1484
  SavingsPlansSavings.add_member(:on_demand_cost_equivalent, Shapes::ShapeRef.new(shape: GenericString, location_name: "OnDemandCostEquivalent"))
1375
1485
  SavingsPlansSavings.struct_class = Types::SavingsPlansSavings
1376
1486
 
1487
+ SavingsPlansToAdd.member = Shapes::ShapeRef.new(shape: SavingsPlans)
1488
+
1489
+ SavingsPlansToExclude.member = Shapes::ShapeRef.new(shape: SavingsPlansId)
1490
+
1377
1491
  SavingsPlansUtilization.add_member(:total_commitment, Shapes::ShapeRef.new(shape: GenericString, location_name: "TotalCommitment"))
1378
1492
  SavingsPlansUtilization.add_member(:used_commitment, Shapes::ShapeRef.new(shape: GenericString, location_name: "UsedCommitment"))
1379
1493
  SavingsPlansUtilization.add_member(:unused_commitment, Shapes::ShapeRef.new(shape: GenericString, location_name: "UnusedCommitment"))
@@ -1414,6 +1528,14 @@ module Aws::CostExplorer
1414
1528
 
1415
1529
  SortDefinitions.member = Shapes::ShapeRef.new(shape: SortDefinition)
1416
1530
 
1531
+ StartCommitmentPurchaseAnalysisRequest.add_member(:commitment_purchase_analysis_configuration, Shapes::ShapeRef.new(shape: CommitmentPurchaseAnalysisConfiguration, required: true, location_name: "CommitmentPurchaseAnalysisConfiguration"))
1532
+ StartCommitmentPurchaseAnalysisRequest.struct_class = Types::StartCommitmentPurchaseAnalysisRequest
1533
+
1534
+ StartCommitmentPurchaseAnalysisResponse.add_member(:analysis_id, Shapes::ShapeRef.new(shape: AnalysisId, required: true, location_name: "AnalysisId"))
1535
+ StartCommitmentPurchaseAnalysisResponse.add_member(:analysis_started_time, Shapes::ShapeRef.new(shape: ZonedDateTime, required: true, location_name: "AnalysisStartedTime"))
1536
+ StartCommitmentPurchaseAnalysisResponse.add_member(:estimated_completion_time, Shapes::ShapeRef.new(shape: ZonedDateTime, required: true, location_name: "EstimatedCompletionTime"))
1537
+ StartCommitmentPurchaseAnalysisResponse.struct_class = Types::StartCommitmentPurchaseAnalysisResponse
1538
+
1417
1539
  StartCostAllocationTagBackfillRequest.add_member(:backfill_from, Shapes::ShapeRef.new(shape: ZonedDateTime, required: true, location_name: "BackfillFrom"))
1418
1540
  StartCostAllocationTagBackfillRequest.struct_class = Types::StartCostAllocationTagBackfillRequest
1419
1541
 
@@ -1676,6 +1798,17 @@ module Aws::CostExplorer
1676
1798
  o.errors << Shapes::ShapeRef.new(shape: DataUnavailableException)
1677
1799
  end)
1678
1800
 
1801
+ api.add_operation(:get_commitment_purchase_analysis, Seahorse::Model::Operation.new.tap do |o|
1802
+ o.name = "GetCommitmentPurchaseAnalysis"
1803
+ o.http_method = "POST"
1804
+ o.http_request_uri = "/"
1805
+ o.input = Shapes::ShapeRef.new(shape: GetCommitmentPurchaseAnalysisRequest)
1806
+ o.output = Shapes::ShapeRef.new(shape: GetCommitmentPurchaseAnalysisResponse)
1807
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
1808
+ o.errors << Shapes::ShapeRef.new(shape: AnalysisNotFoundException)
1809
+ o.errors << Shapes::ShapeRef.new(shape: DataUnavailableException)
1810
+ end)
1811
+
1679
1812
  api.add_operation(:get_cost_and_usage, Seahorse::Model::Operation.new.tap do |o|
1680
1813
  o.name = "GetCostAndUsage"
1681
1814
  o.http_method = "POST"
@@ -1869,6 +2002,17 @@ module Aws::CostExplorer
1869
2002
  o.errors << Shapes::ShapeRef.new(shape: UnresolvableUsageUnitException)
1870
2003
  end)
1871
2004
 
2005
+ api.add_operation(:list_commitment_purchase_analyses, Seahorse::Model::Operation.new.tap do |o|
2006
+ o.name = "ListCommitmentPurchaseAnalyses"
2007
+ o.http_method = "POST"
2008
+ o.http_request_uri = "/"
2009
+ o.input = Shapes::ShapeRef.new(shape: ListCommitmentPurchaseAnalysesRequest)
2010
+ o.output = Shapes::ShapeRef.new(shape: ListCommitmentPurchaseAnalysesResponse)
2011
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
2012
+ o.errors << Shapes::ShapeRef.new(shape: InvalidNextTokenException)
2013
+ o.errors << Shapes::ShapeRef.new(shape: DataUnavailableException)
2014
+ end)
2015
+
1872
2016
  api.add_operation(:list_cost_allocation_tag_backfill_history, Seahorse::Model::Operation.new.tap do |o|
1873
2017
  o.name = "ListCostAllocationTagBackfillHistory"
1874
2018
  o.http_method = "POST"
@@ -1946,6 +2090,18 @@ module Aws::CostExplorer
1946
2090
  o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
1947
2091
  end)
1948
2092
 
2093
+ api.add_operation(:start_commitment_purchase_analysis, Seahorse::Model::Operation.new.tap do |o|
2094
+ o.name = "StartCommitmentPurchaseAnalysis"
2095
+ o.http_method = "POST"
2096
+ o.http_request_uri = "/"
2097
+ o.input = Shapes::ShapeRef.new(shape: StartCommitmentPurchaseAnalysisRequest)
2098
+ o.output = Shapes::ShapeRef.new(shape: StartCommitmentPurchaseAnalysisResponse)
2099
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
2100
+ o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException)
2101
+ o.errors << Shapes::ShapeRef.new(shape: DataUnavailableException)
2102
+ o.errors << Shapes::ShapeRef.new(shape: GenerationExistsException)
2103
+ end)
2104
+
1949
2105
  api.add_operation(:start_cost_allocation_tag_backfill, Seahorse::Model::Operation.new.tap do |o|
1950
2106
  o.name = "StartCostAllocationTagBackfill"
1951
2107
  o.http_method = "POST"
@@ -27,6 +27,7 @@ module Aws::CostExplorer
27
27
  # See {Seahorse::Client::RequestContext} for more information.
28
28
  #
29
29
  # ## Error Classes
30
+ # * {AnalysisNotFoundException}
30
31
  # * {BackfillLimitExceededException}
31
32
  # * {BillExpirationException}
32
33
  # * {DataUnavailableException}
@@ -47,6 +48,21 @@ module Aws::CostExplorer
47
48
 
48
49
  extend Aws::Errors::DynamicErrors
49
50
 
51
+ class AnalysisNotFoundException < ServiceError
52
+
53
+ # @param [Seahorse::Client::RequestContext] context
54
+ # @param [String] message
55
+ # @param [Aws::CostExplorer::Types::AnalysisNotFoundException] data
56
+ def initialize(context, message, data = Aws::EmptyStructure.new)
57
+ super(context, message, data)
58
+ end
59
+
60
+ # @return [String]
61
+ def message
62
+ @message || @data[:message]
63
+ end
64
+ end
65
+
50
66
  class BackfillLimitExceededException < ServiceError
51
67
 
52
68
  # @param [Seahorse::Client::RequestContext] context