aws-sdk-costexplorer 1.44.0 → 1.49.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.
@@ -16,6 +16,16 @@ module Aws::CostExplorer
16
16
  AccountScope = Shapes::StringShape.new(name: 'AccountScope')
17
17
  AmortizedRecurringFee = Shapes::StringShape.new(name: 'AmortizedRecurringFee')
18
18
  AmortizedUpfrontFee = Shapes::StringShape.new(name: 'AmortizedUpfrontFee')
19
+ Anomalies = Shapes::ListShape.new(name: 'Anomalies')
20
+ Anomaly = Shapes::StructureShape.new(name: 'Anomaly')
21
+ AnomalyDateInterval = Shapes::StructureShape.new(name: 'AnomalyDateInterval')
22
+ AnomalyFeedbackType = Shapes::StringShape.new(name: 'AnomalyFeedbackType')
23
+ AnomalyMonitor = Shapes::StructureShape.new(name: 'AnomalyMonitor')
24
+ AnomalyMonitors = Shapes::ListShape.new(name: 'AnomalyMonitors')
25
+ AnomalyScore = Shapes::StructureShape.new(name: 'AnomalyScore')
26
+ AnomalySubscription = Shapes::StructureShape.new(name: 'AnomalySubscription')
27
+ AnomalySubscriptionFrequency = Shapes::StringShape.new(name: 'AnomalySubscriptionFrequency')
28
+ AnomalySubscriptions = Shapes::ListShape.new(name: 'AnomalySubscriptions')
19
29
  Arn = Shapes::StringShape.new(name: 'Arn')
20
30
  AttributeType = Shapes::StringShape.new(name: 'AttributeType')
21
31
  AttributeValue = Shapes::StringShape.new(name: 'AttributeValue')
@@ -40,11 +50,19 @@ module Aws::CostExplorer
40
50
  CoverageNormalizedUnits = Shapes::StructureShape.new(name: 'CoverageNormalizedUnits')
41
51
  CoverageNormalizedUnitsPercentage = Shapes::StringShape.new(name: 'CoverageNormalizedUnitsPercentage')
42
52
  CoveragesByTime = Shapes::ListShape.new(name: 'CoveragesByTime')
53
+ CreateAnomalyMonitorRequest = Shapes::StructureShape.new(name: 'CreateAnomalyMonitorRequest')
54
+ CreateAnomalyMonitorResponse = Shapes::StructureShape.new(name: 'CreateAnomalyMonitorResponse')
55
+ CreateAnomalySubscriptionRequest = Shapes::StructureShape.new(name: 'CreateAnomalySubscriptionRequest')
56
+ CreateAnomalySubscriptionResponse = Shapes::StructureShape.new(name: 'CreateAnomalySubscriptionResponse')
43
57
  CreateCostCategoryDefinitionRequest = Shapes::StructureShape.new(name: 'CreateCostCategoryDefinitionRequest')
44
58
  CreateCostCategoryDefinitionResponse = Shapes::StructureShape.new(name: 'CreateCostCategoryDefinitionResponse')
45
59
  CurrentInstance = Shapes::StructureShape.new(name: 'CurrentInstance')
46
60
  DataUnavailableException = Shapes::StructureShape.new(name: 'DataUnavailableException')
47
61
  DateInterval = Shapes::StructureShape.new(name: 'DateInterval')
62
+ DeleteAnomalyMonitorRequest = Shapes::StructureShape.new(name: 'DeleteAnomalyMonitorRequest')
63
+ DeleteAnomalyMonitorResponse = Shapes::StructureShape.new(name: 'DeleteAnomalyMonitorResponse')
64
+ DeleteAnomalySubscriptionRequest = Shapes::StructureShape.new(name: 'DeleteAnomalySubscriptionRequest')
65
+ DeleteAnomalySubscriptionResponse = Shapes::StructureShape.new(name: 'DeleteAnomalySubscriptionResponse')
48
66
  DeleteCostCategoryDefinitionRequest = Shapes::StructureShape.new(name: 'DeleteCostCategoryDefinitionRequest')
49
67
  DeleteCostCategoryDefinitionResponse = Shapes::StructureShape.new(name: 'DeleteCostCategoryDefinitionResponse')
50
68
  DescribeCostCategoryDefinitionRequest = Shapes::StructureShape.new(name: 'DescribeCostCategoryDefinitionRequest')
@@ -67,7 +85,14 @@ module Aws::CostExplorer
67
85
  ForecastResult = Shapes::StructureShape.new(name: 'ForecastResult')
68
86
  ForecastResultsByTime = Shapes::ListShape.new(name: 'ForecastResultsByTime')
69
87
  GenericBoolean = Shapes::BooleanShape.new(name: 'GenericBoolean')
88
+ GenericDouble = Shapes::FloatShape.new(name: 'GenericDouble')
70
89
  GenericString = Shapes::StringShape.new(name: 'GenericString')
90
+ GetAnomaliesRequest = Shapes::StructureShape.new(name: 'GetAnomaliesRequest')
91
+ GetAnomaliesResponse = Shapes::StructureShape.new(name: 'GetAnomaliesResponse')
92
+ GetAnomalyMonitorsRequest = Shapes::StructureShape.new(name: 'GetAnomalyMonitorsRequest')
93
+ GetAnomalyMonitorsResponse = Shapes::StructureShape.new(name: 'GetAnomalyMonitorsResponse')
94
+ GetAnomalySubscriptionsRequest = Shapes::StructureShape.new(name: 'GetAnomalySubscriptionsRequest')
95
+ GetAnomalySubscriptionsResponse = Shapes::StructureShape.new(name: 'GetAnomalySubscriptionsResponse')
71
96
  GetCostAndUsageRequest = Shapes::StructureShape.new(name: 'GetCostAndUsageRequest')
72
97
  GetCostAndUsageResponse = Shapes::StructureShape.new(name: 'GetCostAndUsageResponse')
73
98
  GetCostAndUsageWithResourcesRequest = Shapes::StructureShape.new(name: 'GetCostAndUsageWithResourcesRequest')
@@ -103,6 +128,7 @@ module Aws::CostExplorer
103
128
  GroupDefinitionType = Shapes::StringShape.new(name: 'GroupDefinitionType')
104
129
  GroupDefinitions = Shapes::ListShape.new(name: 'GroupDefinitions')
105
130
  Groups = Shapes::ListShape.new(name: 'Groups')
131
+ Impact = Shapes::StructureShape.new(name: 'Impact')
106
132
  InstanceDetails = Shapes::StructureShape.new(name: 'InstanceDetails')
107
133
  InvalidNextTokenException = Shapes::StructureShape.new(name: 'InvalidNextTokenException')
108
134
  Key = Shapes::StringShape.new(name: 'Key')
@@ -122,9 +148,13 @@ module Aws::CostExplorer
122
148
  MetricValue = Shapes::StructureShape.new(name: 'MetricValue')
123
149
  Metrics = Shapes::MapShape.new(name: 'Metrics')
124
150
  ModifyRecommendationDetail = Shapes::StructureShape.new(name: 'ModifyRecommendationDetail')
151
+ MonitorDimension = Shapes::StringShape.new(name: 'MonitorDimension')
152
+ MonitorType = Shapes::StringShape.new(name: 'MonitorType')
125
153
  NetRISavings = Shapes::StringShape.new(name: 'NetRISavings')
126
154
  NextPageToken = Shapes::StringShape.new(name: 'NextPageToken')
127
155
  NonNegativeInteger = Shapes::IntegerShape.new(name: 'NonNegativeInteger')
156
+ NullableNonNegativeDouble = Shapes::FloatShape.new(name: 'NullableNonNegativeDouble')
157
+ NumericOperator = Shapes::StringShape.new(name: 'NumericOperator')
128
158
  OfferingClass = Shapes::StringShape.new(name: 'OfferingClass')
129
159
  OnDemandCost = Shapes::StringShape.new(name: 'OnDemandCost')
130
160
  OnDemandCostOfRIHoursUsed = Shapes::StringShape.new(name: 'OnDemandCostOfRIHoursUsed')
@@ -133,6 +163,8 @@ module Aws::CostExplorer
133
163
  PageSize = Shapes::IntegerShape.new(name: 'PageSize')
134
164
  PaymentOption = Shapes::StringShape.new(name: 'PaymentOption')
135
165
  PredictionIntervalLevel = Shapes::IntegerShape.new(name: 'PredictionIntervalLevel')
166
+ ProvideAnomalyFeedbackRequest = Shapes::StructureShape.new(name: 'ProvideAnomalyFeedbackRequest')
167
+ ProvideAnomalyFeedbackResponse = Shapes::StructureShape.new(name: 'ProvideAnomalyFeedbackResponse')
136
168
  PurchasedHours = Shapes::StringShape.new(name: 'PurchasedHours')
137
169
  PurchasedUnits = Shapes::StringShape.new(name: 'PurchasedUnits')
138
170
  RDSInstanceDetails = Shapes::StructureShape.new(name: 'RDSInstanceDetails')
@@ -165,6 +197,8 @@ module Aws::CostExplorer
165
197
  RightsizingRecommendationMetadata = Shapes::StructureShape.new(name: 'RightsizingRecommendationMetadata')
166
198
  RightsizingRecommendationSummary = Shapes::StructureShape.new(name: 'RightsizingRecommendationSummary')
167
199
  RightsizingType = Shapes::StringShape.new(name: 'RightsizingType')
200
+ RootCause = Shapes::StructureShape.new(name: 'RootCause')
201
+ RootCauses = Shapes::ListShape.new(name: 'RootCauses')
168
202
  SavingsPlanArn = Shapes::StringShape.new(name: 'SavingsPlanArn')
169
203
  SavingsPlansAmortizedCommitment = Shapes::StructureShape.new(name: 'SavingsPlansAmortizedCommitment')
170
204
  SavingsPlansCoverage = Shapes::StructureShape.new(name: 'SavingsPlansCoverage')
@@ -186,6 +220,11 @@ module Aws::CostExplorer
186
220
  SearchString = Shapes::StringShape.new(name: 'SearchString')
187
221
  ServiceQuotaExceededException = Shapes::StructureShape.new(name: 'ServiceQuotaExceededException')
188
222
  ServiceSpecification = Shapes::StructureShape.new(name: 'ServiceSpecification')
223
+ Subscriber = Shapes::StructureShape.new(name: 'Subscriber')
224
+ SubscriberAddress = Shapes::StringShape.new(name: 'SubscriberAddress')
225
+ SubscriberStatus = Shapes::StringShape.new(name: 'SubscriberStatus')
226
+ SubscriberType = Shapes::StringShape.new(name: 'SubscriberType')
227
+ Subscribers = Shapes::ListShape.new(name: 'Subscribers')
189
228
  SupportedSavingsPlansType = Shapes::StringShape.new(name: 'SupportedSavingsPlansType')
190
229
  TagKey = Shapes::StringShape.new(name: 'TagKey')
191
230
  TagList = Shapes::ListShape.new(name: 'TagList')
@@ -198,12 +237,19 @@ module Aws::CostExplorer
198
237
  TotalActualHours = Shapes::StringShape.new(name: 'TotalActualHours')
199
238
  TotalActualUnits = Shapes::StringShape.new(name: 'TotalActualUnits')
200
239
  TotalAmortizedFee = Shapes::StringShape.new(name: 'TotalAmortizedFee')
240
+ TotalImpactFilter = Shapes::StructureShape.new(name: 'TotalImpactFilter')
201
241
  TotalPotentialRISavings = Shapes::StringShape.new(name: 'TotalPotentialRISavings')
202
242
  TotalRunningHours = Shapes::StringShape.new(name: 'TotalRunningHours')
203
243
  TotalRunningNormalizedUnits = Shapes::StringShape.new(name: 'TotalRunningNormalizedUnits')
244
+ UnknownMonitorException = Shapes::StructureShape.new(name: 'UnknownMonitorException')
245
+ UnknownSubscriptionException = Shapes::StructureShape.new(name: 'UnknownSubscriptionException')
204
246
  UnresolvableUsageUnitException = Shapes::StructureShape.new(name: 'UnresolvableUsageUnitException')
205
247
  UnusedHours = Shapes::StringShape.new(name: 'UnusedHours')
206
248
  UnusedUnits = Shapes::StringShape.new(name: 'UnusedUnits')
249
+ UpdateAnomalyMonitorRequest = Shapes::StructureShape.new(name: 'UpdateAnomalyMonitorRequest')
250
+ UpdateAnomalyMonitorResponse = Shapes::StructureShape.new(name: 'UpdateAnomalyMonitorResponse')
251
+ UpdateAnomalySubscriptionRequest = Shapes::StructureShape.new(name: 'UpdateAnomalySubscriptionRequest')
252
+ UpdateAnomalySubscriptionResponse = Shapes::StructureShape.new(name: 'UpdateAnomalySubscriptionResponse')
207
253
  UpdateCostCategoryDefinitionRequest = Shapes::StructureShape.new(name: 'UpdateCostCategoryDefinitionRequest')
208
254
  UpdateCostCategoryDefinitionResponse = Shapes::StructureShape.new(name: 'UpdateCostCategoryDefinitionResponse')
209
255
  UtilizationByTime = Shapes::StructureShape.new(name: 'UtilizationByTime')
@@ -215,6 +261,51 @@ module Aws::CostExplorer
215
261
  YearMonthDay = Shapes::StringShape.new(name: 'YearMonthDay')
216
262
  ZonedDateTime = Shapes::StringShape.new(name: 'ZonedDateTime')
217
263
 
264
+ Anomalies.member = Shapes::ShapeRef.new(shape: Anomaly)
265
+
266
+ Anomaly.add_member(:anomaly_id, Shapes::ShapeRef.new(shape: GenericString, required: true, location_name: "AnomalyId"))
267
+ Anomaly.add_member(:anomaly_start_date, Shapes::ShapeRef.new(shape: YearMonthDay, location_name: "AnomalyStartDate"))
268
+ Anomaly.add_member(:anomaly_end_date, Shapes::ShapeRef.new(shape: YearMonthDay, location_name: "AnomalyEndDate"))
269
+ Anomaly.add_member(:dimension_value, Shapes::ShapeRef.new(shape: GenericString, location_name: "DimensionValue"))
270
+ Anomaly.add_member(:root_causes, Shapes::ShapeRef.new(shape: RootCauses, location_name: "RootCauses"))
271
+ Anomaly.add_member(:anomaly_score, Shapes::ShapeRef.new(shape: AnomalyScore, required: true, location_name: "AnomalyScore"))
272
+ Anomaly.add_member(:impact, Shapes::ShapeRef.new(shape: Impact, required: true, location_name: "Impact"))
273
+ Anomaly.add_member(:monitor_arn, Shapes::ShapeRef.new(shape: GenericString, required: true, location_name: "MonitorArn"))
274
+ Anomaly.add_member(:feedback, Shapes::ShapeRef.new(shape: AnomalyFeedbackType, location_name: "Feedback"))
275
+ Anomaly.struct_class = Types::Anomaly
276
+
277
+ AnomalyDateInterval.add_member(:start_date, Shapes::ShapeRef.new(shape: YearMonthDay, required: true, location_name: "StartDate"))
278
+ AnomalyDateInterval.add_member(:end_date, Shapes::ShapeRef.new(shape: YearMonthDay, location_name: "EndDate"))
279
+ AnomalyDateInterval.struct_class = Types::AnomalyDateInterval
280
+
281
+ AnomalyMonitor.add_member(:monitor_arn, Shapes::ShapeRef.new(shape: GenericString, location_name: "MonitorArn"))
282
+ AnomalyMonitor.add_member(:monitor_name, Shapes::ShapeRef.new(shape: GenericString, required: true, location_name: "MonitorName"))
283
+ AnomalyMonitor.add_member(:creation_date, Shapes::ShapeRef.new(shape: YearMonthDay, location_name: "CreationDate"))
284
+ AnomalyMonitor.add_member(:last_updated_date, Shapes::ShapeRef.new(shape: YearMonthDay, location_name: "LastUpdatedDate"))
285
+ AnomalyMonitor.add_member(:last_evaluated_date, Shapes::ShapeRef.new(shape: YearMonthDay, location_name: "LastEvaluatedDate"))
286
+ AnomalyMonitor.add_member(:monitor_type, Shapes::ShapeRef.new(shape: MonitorType, required: true, location_name: "MonitorType"))
287
+ AnomalyMonitor.add_member(:monitor_dimension, Shapes::ShapeRef.new(shape: MonitorDimension, location_name: "MonitorDimension"))
288
+ AnomalyMonitor.add_member(:monitor_specification, Shapes::ShapeRef.new(shape: Expression, location_name: "MonitorSpecification"))
289
+ AnomalyMonitor.add_member(:dimensional_value_count, Shapes::ShapeRef.new(shape: NonNegativeInteger, location_name: "DimensionalValueCount"))
290
+ AnomalyMonitor.struct_class = Types::AnomalyMonitor
291
+
292
+ AnomalyMonitors.member = Shapes::ShapeRef.new(shape: AnomalyMonitor)
293
+
294
+ AnomalyScore.add_member(:max_score, Shapes::ShapeRef.new(shape: GenericDouble, required: true, location_name: "MaxScore"))
295
+ AnomalyScore.add_member(:current_score, Shapes::ShapeRef.new(shape: GenericDouble, required: true, location_name: "CurrentScore"))
296
+ AnomalyScore.struct_class = Types::AnomalyScore
297
+
298
+ AnomalySubscription.add_member(:subscription_arn, Shapes::ShapeRef.new(shape: GenericString, location_name: "SubscriptionArn"))
299
+ AnomalySubscription.add_member(:account_id, Shapes::ShapeRef.new(shape: GenericString, location_name: "AccountId"))
300
+ AnomalySubscription.add_member(:monitor_arn_list, Shapes::ShapeRef.new(shape: Values, required: true, location_name: "MonitorArnList"))
301
+ AnomalySubscription.add_member(:subscribers, Shapes::ShapeRef.new(shape: Subscribers, required: true, location_name: "Subscribers"))
302
+ AnomalySubscription.add_member(:threshold, Shapes::ShapeRef.new(shape: NullableNonNegativeDouble, required: true, location_name: "Threshold"))
303
+ AnomalySubscription.add_member(:frequency, Shapes::ShapeRef.new(shape: AnomalySubscriptionFrequency, required: true, location_name: "Frequency"))
304
+ AnomalySubscription.add_member(:subscription_name, Shapes::ShapeRef.new(shape: GenericString, required: true, location_name: "SubscriptionName"))
305
+ AnomalySubscription.struct_class = Types::AnomalySubscription
306
+
307
+ AnomalySubscriptions.member = Shapes::ShapeRef.new(shape: AnomalySubscription)
308
+
218
309
  Attributes.key = Shapes::ShapeRef.new(shape: AttributeType)
219
310
  Attributes.value = Shapes::ShapeRef.new(shape: AttributeValue)
220
311
 
@@ -275,6 +366,18 @@ module Aws::CostExplorer
275
366
 
276
367
  CoveragesByTime.member = Shapes::ShapeRef.new(shape: CoverageByTime)
277
368
 
369
+ CreateAnomalyMonitorRequest.add_member(:anomaly_monitor, Shapes::ShapeRef.new(shape: AnomalyMonitor, required: true, location_name: "AnomalyMonitor"))
370
+ CreateAnomalyMonitorRequest.struct_class = Types::CreateAnomalyMonitorRequest
371
+
372
+ CreateAnomalyMonitorResponse.add_member(:monitor_arn, Shapes::ShapeRef.new(shape: GenericString, required: true, location_name: "MonitorArn"))
373
+ CreateAnomalyMonitorResponse.struct_class = Types::CreateAnomalyMonitorResponse
374
+
375
+ CreateAnomalySubscriptionRequest.add_member(:anomaly_subscription, Shapes::ShapeRef.new(shape: AnomalySubscription, required: true, location_name: "AnomalySubscription"))
376
+ CreateAnomalySubscriptionRequest.struct_class = Types::CreateAnomalySubscriptionRequest
377
+
378
+ CreateAnomalySubscriptionResponse.add_member(:subscription_arn, Shapes::ShapeRef.new(shape: GenericString, required: true, location_name: "SubscriptionArn"))
379
+ CreateAnomalySubscriptionResponse.struct_class = Types::CreateAnomalySubscriptionResponse
380
+
278
381
  CreateCostCategoryDefinitionRequest.add_member(:name, Shapes::ShapeRef.new(shape: CostCategoryName, required: true, location_name: "Name"))
279
382
  CreateCostCategoryDefinitionRequest.add_member(:rule_version, Shapes::ShapeRef.new(shape: CostCategoryRuleVersion, required: true, location_name: "RuleVersion"))
280
383
  CreateCostCategoryDefinitionRequest.add_member(:rules, Shapes::ShapeRef.new(shape: CostCategoryRulesList, required: true, location_name: "Rules"))
@@ -285,6 +388,7 @@ module Aws::CostExplorer
285
388
  CreateCostCategoryDefinitionResponse.struct_class = Types::CreateCostCategoryDefinitionResponse
286
389
 
287
390
  CurrentInstance.add_member(:resource_id, Shapes::ShapeRef.new(shape: GenericString, location_name: "ResourceId"))
391
+ CurrentInstance.add_member(:instance_name, Shapes::ShapeRef.new(shape: GenericString, location_name: "InstanceName"))
288
392
  CurrentInstance.add_member(:tags, Shapes::ShapeRef.new(shape: TagValuesList, location_name: "Tags"))
289
393
  CurrentInstance.add_member(:resource_details, Shapes::ShapeRef.new(shape: ResourceDetails, location_name: "ResourceDetails"))
290
394
  CurrentInstance.add_member(:resource_utilization, Shapes::ShapeRef.new(shape: ResourceUtilization, location_name: "ResourceUtilization"))
@@ -303,6 +407,16 @@ module Aws::CostExplorer
303
407
  DateInterval.add_member(:end, Shapes::ShapeRef.new(shape: YearMonthDay, required: true, location_name: "End"))
304
408
  DateInterval.struct_class = Types::DateInterval
305
409
 
410
+ DeleteAnomalyMonitorRequest.add_member(:monitor_arn, Shapes::ShapeRef.new(shape: GenericString, required: true, location_name: "MonitorArn"))
411
+ DeleteAnomalyMonitorRequest.struct_class = Types::DeleteAnomalyMonitorRequest
412
+
413
+ DeleteAnomalyMonitorResponse.struct_class = Types::DeleteAnomalyMonitorResponse
414
+
415
+ DeleteAnomalySubscriptionRequest.add_member(:subscription_arn, Shapes::ShapeRef.new(shape: GenericString, required: true, location_name: "SubscriptionArn"))
416
+ DeleteAnomalySubscriptionRequest.struct_class = Types::DeleteAnomalySubscriptionRequest
417
+
418
+ DeleteAnomalySubscriptionResponse.struct_class = Types::DeleteAnomalySubscriptionResponse
419
+
306
420
  DeleteCostCategoryDefinitionRequest.add_member(:cost_category_arn, Shapes::ShapeRef.new(shape: Arn, required: true, location_name: "CostCategoryArn"))
307
421
  DeleteCostCategoryDefinitionRequest.struct_class = Types::DeleteCostCategoryDefinitionRequest
308
422
 
@@ -390,10 +504,41 @@ module Aws::CostExplorer
390
504
 
391
505
  ForecastResultsByTime.member = Shapes::ShapeRef.new(shape: ForecastResult)
392
506
 
507
+ GetAnomaliesRequest.add_member(:monitor_arn, Shapes::ShapeRef.new(shape: GenericString, location_name: "MonitorArn"))
508
+ GetAnomaliesRequest.add_member(:date_interval, Shapes::ShapeRef.new(shape: AnomalyDateInterval, required: true, location_name: "DateInterval"))
509
+ GetAnomaliesRequest.add_member(:feedback, Shapes::ShapeRef.new(shape: AnomalyFeedbackType, location_name: "Feedback"))
510
+ GetAnomaliesRequest.add_member(:total_impact, Shapes::ShapeRef.new(shape: TotalImpactFilter, location_name: "TotalImpact"))
511
+ GetAnomaliesRequest.add_member(:next_page_token, Shapes::ShapeRef.new(shape: NextPageToken, location_name: "NextPageToken"))
512
+ GetAnomaliesRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: PageSize, location_name: "MaxResults"))
513
+ GetAnomaliesRequest.struct_class = Types::GetAnomaliesRequest
514
+
515
+ GetAnomaliesResponse.add_member(:anomalies, Shapes::ShapeRef.new(shape: Anomalies, required: true, location_name: "Anomalies"))
516
+ GetAnomaliesResponse.add_member(:next_page_token, Shapes::ShapeRef.new(shape: NextPageToken, location_name: "NextPageToken"))
517
+ GetAnomaliesResponse.struct_class = Types::GetAnomaliesResponse
518
+
519
+ GetAnomalyMonitorsRequest.add_member(:monitor_arn_list, Shapes::ShapeRef.new(shape: Values, location_name: "MonitorArnList"))
520
+ GetAnomalyMonitorsRequest.add_member(:next_page_token, Shapes::ShapeRef.new(shape: NextPageToken, location_name: "NextPageToken"))
521
+ GetAnomalyMonitorsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: PageSize, location_name: "MaxResults"))
522
+ GetAnomalyMonitorsRequest.struct_class = Types::GetAnomalyMonitorsRequest
523
+
524
+ GetAnomalyMonitorsResponse.add_member(:anomaly_monitors, Shapes::ShapeRef.new(shape: AnomalyMonitors, required: true, location_name: "AnomalyMonitors"))
525
+ GetAnomalyMonitorsResponse.add_member(:next_page_token, Shapes::ShapeRef.new(shape: NextPageToken, location_name: "NextPageToken"))
526
+ GetAnomalyMonitorsResponse.struct_class = Types::GetAnomalyMonitorsResponse
527
+
528
+ GetAnomalySubscriptionsRequest.add_member(:subscription_arn_list, Shapes::ShapeRef.new(shape: Values, location_name: "SubscriptionArnList"))
529
+ GetAnomalySubscriptionsRequest.add_member(:monitor_arn, Shapes::ShapeRef.new(shape: GenericString, location_name: "MonitorArn"))
530
+ GetAnomalySubscriptionsRequest.add_member(:next_page_token, Shapes::ShapeRef.new(shape: NextPageToken, location_name: "NextPageToken"))
531
+ GetAnomalySubscriptionsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: PageSize, location_name: "MaxResults"))
532
+ GetAnomalySubscriptionsRequest.struct_class = Types::GetAnomalySubscriptionsRequest
533
+
534
+ GetAnomalySubscriptionsResponse.add_member(:anomaly_subscriptions, Shapes::ShapeRef.new(shape: AnomalySubscriptions, required: true, location_name: "AnomalySubscriptions"))
535
+ GetAnomalySubscriptionsResponse.add_member(:next_page_token, Shapes::ShapeRef.new(shape: NextPageToken, location_name: "NextPageToken"))
536
+ GetAnomalySubscriptionsResponse.struct_class = Types::GetAnomalySubscriptionsResponse
537
+
393
538
  GetCostAndUsageRequest.add_member(:time_period, Shapes::ShapeRef.new(shape: DateInterval, required: true, location_name: "TimePeriod"))
394
539
  GetCostAndUsageRequest.add_member(:granularity, Shapes::ShapeRef.new(shape: Granularity, location_name: "Granularity"))
395
540
  GetCostAndUsageRequest.add_member(:filter, Shapes::ShapeRef.new(shape: Expression, location_name: "Filter"))
396
- GetCostAndUsageRequest.add_member(:metrics, Shapes::ShapeRef.new(shape: MetricNames, location_name: "Metrics"))
541
+ GetCostAndUsageRequest.add_member(:metrics, Shapes::ShapeRef.new(shape: MetricNames, required: true, location_name: "Metrics"))
397
542
  GetCostAndUsageRequest.add_member(:group_by, Shapes::ShapeRef.new(shape: GroupDefinitions, location_name: "GroupBy"))
398
543
  GetCostAndUsageRequest.add_member(:next_page_token, Shapes::ShapeRef.new(shape: NextPageToken, location_name: "NextPageToken"))
399
544
  GetCostAndUsageRequest.struct_class = Types::GetCostAndUsageRequest
@@ -405,7 +550,7 @@ module Aws::CostExplorer
405
550
 
406
551
  GetCostAndUsageWithResourcesRequest.add_member(:time_period, Shapes::ShapeRef.new(shape: DateInterval, required: true, location_name: "TimePeriod"))
407
552
  GetCostAndUsageWithResourcesRequest.add_member(:granularity, Shapes::ShapeRef.new(shape: Granularity, location_name: "Granularity"))
408
- GetCostAndUsageWithResourcesRequest.add_member(:filter, Shapes::ShapeRef.new(shape: Expression, location_name: "Filter"))
553
+ GetCostAndUsageWithResourcesRequest.add_member(:filter, Shapes::ShapeRef.new(shape: Expression, required: true, location_name: "Filter"))
409
554
  GetCostAndUsageWithResourcesRequest.add_member(:metrics, Shapes::ShapeRef.new(shape: MetricNames, location_name: "Metrics"))
410
555
  GetCostAndUsageWithResourcesRequest.add_member(:group_by, Shapes::ShapeRef.new(shape: GroupDefinitions, location_name: "GroupBy"))
411
556
  GetCostAndUsageWithResourcesRequest.add_member(:next_page_token, Shapes::ShapeRef.new(shape: NextPageToken, location_name: "NextPageToken"))
@@ -579,6 +724,10 @@ module Aws::CostExplorer
579
724
 
580
725
  Groups.member = Shapes::ShapeRef.new(shape: Group)
581
726
 
727
+ Impact.add_member(:max_impact, Shapes::ShapeRef.new(shape: GenericDouble, required: true, location_name: "MaxImpact"))
728
+ Impact.add_member(:total_impact, Shapes::ShapeRef.new(shape: GenericDouble, location_name: "TotalImpact"))
729
+ Impact.struct_class = Types::Impact
730
+
582
731
  InstanceDetails.add_member(:ec2_instance_details, Shapes::ShapeRef.new(shape: EC2InstanceDetails, location_name: "EC2InstanceDetails"))
583
732
  InstanceDetails.add_member(:rds_instance_details, Shapes::ShapeRef.new(shape: RDSInstanceDetails, location_name: "RDSInstanceDetails"))
584
733
  InstanceDetails.add_member(:redshift_instance_details, Shapes::ShapeRef.new(shape: RedshiftInstanceDetails, location_name: "RedshiftInstanceDetails"))
@@ -617,6 +766,13 @@ module Aws::CostExplorer
617
766
  ModifyRecommendationDetail.add_member(:target_instances, Shapes::ShapeRef.new(shape: TargetInstancesList, location_name: "TargetInstances"))
618
767
  ModifyRecommendationDetail.struct_class = Types::ModifyRecommendationDetail
619
768
 
769
+ ProvideAnomalyFeedbackRequest.add_member(:anomaly_id, Shapes::ShapeRef.new(shape: GenericString, required: true, location_name: "AnomalyId"))
770
+ ProvideAnomalyFeedbackRequest.add_member(:feedback, Shapes::ShapeRef.new(shape: AnomalyFeedbackType, required: true, location_name: "Feedback"))
771
+ ProvideAnomalyFeedbackRequest.struct_class = Types::ProvideAnomalyFeedbackRequest
772
+
773
+ ProvideAnomalyFeedbackResponse.add_member(:anomaly_id, Shapes::ShapeRef.new(shape: GenericString, required: true, location_name: "AnomalyId"))
774
+ ProvideAnomalyFeedbackResponse.struct_class = Types::ProvideAnomalyFeedbackResponse
775
+
620
776
  RDSInstanceDetails.add_member(:family, Shapes::ShapeRef.new(shape: GenericString, location_name: "Family"))
621
777
  RDSInstanceDetails.add_member(:instance_type, Shapes::ShapeRef.new(shape: GenericString, location_name: "InstanceType"))
622
778
  RDSInstanceDetails.add_member(:region, Shapes::ShapeRef.new(shape: GenericString, location_name: "Region"))
@@ -752,6 +908,14 @@ module Aws::CostExplorer
752
908
  RightsizingRecommendationSummary.add_member(:savings_percentage, Shapes::ShapeRef.new(shape: GenericString, location_name: "SavingsPercentage"))
753
909
  RightsizingRecommendationSummary.struct_class = Types::RightsizingRecommendationSummary
754
910
 
911
+ RootCause.add_member(:service, Shapes::ShapeRef.new(shape: GenericString, location_name: "Service"))
912
+ RootCause.add_member(:region, Shapes::ShapeRef.new(shape: GenericString, location_name: "Region"))
913
+ RootCause.add_member(:linked_account, Shapes::ShapeRef.new(shape: GenericString, location_name: "LinkedAccount"))
914
+ RootCause.add_member(:usage_type, Shapes::ShapeRef.new(shape: GenericString, location_name: "UsageType"))
915
+ RootCause.struct_class = Types::RootCause
916
+
917
+ RootCauses.member = Shapes::ShapeRef.new(shape: RootCause)
918
+
755
919
  SavingsPlansAmortizedCommitment.add_member(:amortized_recurring_commitment, Shapes::ShapeRef.new(shape: GenericString, location_name: "AmortizedRecurringCommitment"))
756
920
  SavingsPlansAmortizedCommitment.add_member(:amortized_upfront_commitment, Shapes::ShapeRef.new(shape: GenericString, location_name: "AmortizedUpfrontCommitment"))
757
921
  SavingsPlansAmortizedCommitment.add_member(:total_amortized_commitment, Shapes::ShapeRef.new(shape: GenericString, location_name: "TotalAmortizedCommitment"))
@@ -859,6 +1023,13 @@ module Aws::CostExplorer
859
1023
  ServiceSpecification.add_member(:ec2_specification, Shapes::ShapeRef.new(shape: EC2Specification, location_name: "EC2Specification"))
860
1024
  ServiceSpecification.struct_class = Types::ServiceSpecification
861
1025
 
1026
+ Subscriber.add_member(:address, Shapes::ShapeRef.new(shape: SubscriberAddress, location_name: "Address"))
1027
+ Subscriber.add_member(:type, Shapes::ShapeRef.new(shape: SubscriberType, location_name: "Type"))
1028
+ Subscriber.add_member(:status, Shapes::ShapeRef.new(shape: SubscriberStatus, location_name: "Status"))
1029
+ Subscriber.struct_class = Types::Subscriber
1030
+
1031
+ Subscribers.member = Shapes::ShapeRef.new(shape: Subscriber)
1032
+
862
1033
  TagList.member = Shapes::ShapeRef.new(shape: Entity)
863
1034
 
864
1035
  TagValues.add_member(:key, Shapes::ShapeRef.new(shape: TagKey, location_name: "Key"))
@@ -882,9 +1053,38 @@ module Aws::CostExplorer
882
1053
  TerminateRecommendationDetail.add_member(:currency_code, Shapes::ShapeRef.new(shape: GenericString, location_name: "CurrencyCode"))
883
1054
  TerminateRecommendationDetail.struct_class = Types::TerminateRecommendationDetail
884
1055
 
1056
+ TotalImpactFilter.add_member(:numeric_operator, Shapes::ShapeRef.new(shape: NumericOperator, required: true, location_name: "NumericOperator"))
1057
+ TotalImpactFilter.add_member(:start_value, Shapes::ShapeRef.new(shape: GenericDouble, required: true, location_name: "StartValue"))
1058
+ TotalImpactFilter.add_member(:end_value, Shapes::ShapeRef.new(shape: GenericDouble, location_name: "EndValue"))
1059
+ TotalImpactFilter.struct_class = Types::TotalImpactFilter
1060
+
1061
+ UnknownMonitorException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
1062
+ UnknownMonitorException.struct_class = Types::UnknownMonitorException
1063
+
1064
+ UnknownSubscriptionException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
1065
+ UnknownSubscriptionException.struct_class = Types::UnknownSubscriptionException
1066
+
885
1067
  UnresolvableUsageUnitException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
886
1068
  UnresolvableUsageUnitException.struct_class = Types::UnresolvableUsageUnitException
887
1069
 
1070
+ UpdateAnomalyMonitorRequest.add_member(:monitor_arn, Shapes::ShapeRef.new(shape: GenericString, required: true, location_name: "MonitorArn"))
1071
+ UpdateAnomalyMonitorRequest.add_member(:monitor_name, Shapes::ShapeRef.new(shape: GenericString, location_name: "MonitorName"))
1072
+ UpdateAnomalyMonitorRequest.struct_class = Types::UpdateAnomalyMonitorRequest
1073
+
1074
+ UpdateAnomalyMonitorResponse.add_member(:monitor_arn, Shapes::ShapeRef.new(shape: GenericString, required: true, location_name: "MonitorArn"))
1075
+ UpdateAnomalyMonitorResponse.struct_class = Types::UpdateAnomalyMonitorResponse
1076
+
1077
+ UpdateAnomalySubscriptionRequest.add_member(:subscription_arn, Shapes::ShapeRef.new(shape: GenericString, required: true, location_name: "SubscriptionArn"))
1078
+ UpdateAnomalySubscriptionRequest.add_member(:threshold, Shapes::ShapeRef.new(shape: NullableNonNegativeDouble, location_name: "Threshold"))
1079
+ UpdateAnomalySubscriptionRequest.add_member(:frequency, Shapes::ShapeRef.new(shape: AnomalySubscriptionFrequency, location_name: "Frequency"))
1080
+ UpdateAnomalySubscriptionRequest.add_member(:monitor_arn_list, Shapes::ShapeRef.new(shape: Values, location_name: "MonitorArnList"))
1081
+ UpdateAnomalySubscriptionRequest.add_member(:subscribers, Shapes::ShapeRef.new(shape: Subscribers, location_name: "Subscribers"))
1082
+ UpdateAnomalySubscriptionRequest.add_member(:subscription_name, Shapes::ShapeRef.new(shape: GenericString, location_name: "SubscriptionName"))
1083
+ UpdateAnomalySubscriptionRequest.struct_class = Types::UpdateAnomalySubscriptionRequest
1084
+
1085
+ UpdateAnomalySubscriptionResponse.add_member(:subscription_arn, Shapes::ShapeRef.new(shape: GenericString, required: true, location_name: "SubscriptionArn"))
1086
+ UpdateAnomalySubscriptionResponse.struct_class = Types::UpdateAnomalySubscriptionResponse
1087
+
888
1088
  UpdateCostCategoryDefinitionRequest.add_member(:cost_category_arn, Shapes::ShapeRef.new(shape: Arn, required: true, location_name: "CostCategoryArn"))
889
1089
  UpdateCostCategoryDefinitionRequest.add_member(:rule_version, Shapes::ShapeRef.new(shape: CostCategoryRuleVersion, required: true, location_name: "RuleVersion"))
890
1090
  UpdateCostCategoryDefinitionRequest.add_member(:rules, Shapes::ShapeRef.new(shape: CostCategoryRulesList, required: true, location_name: "Rules"))
@@ -923,6 +1123,25 @@ module Aws::CostExplorer
923
1123
  "uid" => "ce-2017-10-25",
924
1124
  }
925
1125
 
1126
+ api.add_operation(:create_anomaly_monitor, Seahorse::Model::Operation.new.tap do |o|
1127
+ o.name = "CreateAnomalyMonitor"
1128
+ o.http_method = "POST"
1129
+ o.http_request_uri = "/"
1130
+ o.input = Shapes::ShapeRef.new(shape: CreateAnomalyMonitorRequest)
1131
+ o.output = Shapes::ShapeRef.new(shape: CreateAnomalyMonitorResponse)
1132
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
1133
+ end)
1134
+
1135
+ api.add_operation(:create_anomaly_subscription, Seahorse::Model::Operation.new.tap do |o|
1136
+ o.name = "CreateAnomalySubscription"
1137
+ o.http_method = "POST"
1138
+ o.http_request_uri = "/"
1139
+ o.input = Shapes::ShapeRef.new(shape: CreateAnomalySubscriptionRequest)
1140
+ o.output = Shapes::ShapeRef.new(shape: CreateAnomalySubscriptionResponse)
1141
+ o.errors << Shapes::ShapeRef.new(shape: UnknownMonitorException)
1142
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
1143
+ end)
1144
+
926
1145
  api.add_operation(:create_cost_category_definition, Seahorse::Model::Operation.new.tap do |o|
927
1146
  o.name = "CreateCostCategoryDefinition"
928
1147
  o.http_method = "POST"
@@ -933,6 +1152,26 @@ module Aws::CostExplorer
933
1152
  o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
934
1153
  end)
935
1154
 
1155
+ api.add_operation(:delete_anomaly_monitor, Seahorse::Model::Operation.new.tap do |o|
1156
+ o.name = "DeleteAnomalyMonitor"
1157
+ o.http_method = "POST"
1158
+ o.http_request_uri = "/"
1159
+ o.input = Shapes::ShapeRef.new(shape: DeleteAnomalyMonitorRequest)
1160
+ o.output = Shapes::ShapeRef.new(shape: DeleteAnomalyMonitorResponse)
1161
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
1162
+ o.errors << Shapes::ShapeRef.new(shape: UnknownMonitorException)
1163
+ end)
1164
+
1165
+ api.add_operation(:delete_anomaly_subscription, Seahorse::Model::Operation.new.tap do |o|
1166
+ o.name = "DeleteAnomalySubscription"
1167
+ o.http_method = "POST"
1168
+ o.http_request_uri = "/"
1169
+ o.input = Shapes::ShapeRef.new(shape: DeleteAnomalySubscriptionRequest)
1170
+ o.output = Shapes::ShapeRef.new(shape: DeleteAnomalySubscriptionResponse)
1171
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
1172
+ o.errors << Shapes::ShapeRef.new(shape: UnknownSubscriptionException)
1173
+ end)
1174
+
936
1175
  api.add_operation(:delete_cost_category_definition, Seahorse::Model::Operation.new.tap do |o|
937
1176
  o.name = "DeleteCostCategoryDefinition"
938
1177
  o.http_method = "POST"
@@ -953,6 +1192,38 @@ module Aws::CostExplorer
953
1192
  o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
954
1193
  end)
955
1194
 
1195
+ api.add_operation(:get_anomalies, Seahorse::Model::Operation.new.tap do |o|
1196
+ o.name = "GetAnomalies"
1197
+ o.http_method = "POST"
1198
+ o.http_request_uri = "/"
1199
+ o.input = Shapes::ShapeRef.new(shape: GetAnomaliesRequest)
1200
+ o.output = Shapes::ShapeRef.new(shape: GetAnomaliesResponse)
1201
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
1202
+ o.errors << Shapes::ShapeRef.new(shape: InvalidNextTokenException)
1203
+ end)
1204
+
1205
+ api.add_operation(:get_anomaly_monitors, Seahorse::Model::Operation.new.tap do |o|
1206
+ o.name = "GetAnomalyMonitors"
1207
+ o.http_method = "POST"
1208
+ o.http_request_uri = "/"
1209
+ o.input = Shapes::ShapeRef.new(shape: GetAnomalyMonitorsRequest)
1210
+ o.output = Shapes::ShapeRef.new(shape: GetAnomalyMonitorsResponse)
1211
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
1212
+ o.errors << Shapes::ShapeRef.new(shape: UnknownMonitorException)
1213
+ o.errors << Shapes::ShapeRef.new(shape: InvalidNextTokenException)
1214
+ end)
1215
+
1216
+ api.add_operation(:get_anomaly_subscriptions, Seahorse::Model::Operation.new.tap do |o|
1217
+ o.name = "GetAnomalySubscriptions"
1218
+ o.http_method = "POST"
1219
+ o.http_request_uri = "/"
1220
+ o.input = Shapes::ShapeRef.new(shape: GetAnomalySubscriptionsRequest)
1221
+ o.output = Shapes::ShapeRef.new(shape: GetAnomalySubscriptionsResponse)
1222
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
1223
+ o.errors << Shapes::ShapeRef.new(shape: UnknownSubscriptionException)
1224
+ o.errors << Shapes::ShapeRef.new(shape: InvalidNextTokenException)
1225
+ end)
1226
+
956
1227
  api.add_operation(:get_cost_and_usage, Seahorse::Model::Operation.new.tap do |o|
957
1228
  o.name = "GetCostAndUsage"
958
1229
  o.http_method = "POST"
@@ -1138,6 +1409,36 @@ module Aws::CostExplorer
1138
1409
  )
1139
1410
  end)
1140
1411
 
1412
+ api.add_operation(:provide_anomaly_feedback, Seahorse::Model::Operation.new.tap do |o|
1413
+ o.name = "ProvideAnomalyFeedback"
1414
+ o.http_method = "POST"
1415
+ o.http_request_uri = "/"
1416
+ o.input = Shapes::ShapeRef.new(shape: ProvideAnomalyFeedbackRequest)
1417
+ o.output = Shapes::ShapeRef.new(shape: ProvideAnomalyFeedbackResponse)
1418
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
1419
+ end)
1420
+
1421
+ api.add_operation(:update_anomaly_monitor, Seahorse::Model::Operation.new.tap do |o|
1422
+ o.name = "UpdateAnomalyMonitor"
1423
+ o.http_method = "POST"
1424
+ o.http_request_uri = "/"
1425
+ o.input = Shapes::ShapeRef.new(shape: UpdateAnomalyMonitorRequest)
1426
+ o.output = Shapes::ShapeRef.new(shape: UpdateAnomalyMonitorResponse)
1427
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
1428
+ o.errors << Shapes::ShapeRef.new(shape: UnknownMonitorException)
1429
+ end)
1430
+
1431
+ api.add_operation(:update_anomaly_subscription, Seahorse::Model::Operation.new.tap do |o|
1432
+ o.name = "UpdateAnomalySubscription"
1433
+ o.http_method = "POST"
1434
+ o.http_request_uri = "/"
1435
+ o.input = Shapes::ShapeRef.new(shape: UpdateAnomalySubscriptionRequest)
1436
+ o.output = Shapes::ShapeRef.new(shape: UpdateAnomalySubscriptionResponse)
1437
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
1438
+ o.errors << Shapes::ShapeRef.new(shape: UnknownMonitorException)
1439
+ o.errors << Shapes::ShapeRef.new(shape: UnknownSubscriptionException)
1440
+ end)
1441
+
1141
1442
  api.add_operation(:update_cost_category_definition, Seahorse::Model::Operation.new.tap do |o|
1142
1443
  o.name = "UpdateCostCategoryDefinition"
1143
1444
  o.http_method = "POST"