aws-sdk-costexplorer 1.47.0 → 1.48.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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"))
@@ -304,6 +407,16 @@ module Aws::CostExplorer
304
407
  DateInterval.add_member(:end, Shapes::ShapeRef.new(shape: YearMonthDay, required: true, location_name: "End"))
305
408
  DateInterval.struct_class = Types::DateInterval
306
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
+
307
420
  DeleteCostCategoryDefinitionRequest.add_member(:cost_category_arn, Shapes::ShapeRef.new(shape: Arn, required: true, location_name: "CostCategoryArn"))
308
421
  DeleteCostCategoryDefinitionRequest.struct_class = Types::DeleteCostCategoryDefinitionRequest
309
422
 
@@ -391,10 +504,41 @@ module Aws::CostExplorer
391
504
 
392
505
  ForecastResultsByTime.member = Shapes::ShapeRef.new(shape: ForecastResult)
393
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
+
394
538
  GetCostAndUsageRequest.add_member(:time_period, Shapes::ShapeRef.new(shape: DateInterval, required: true, location_name: "TimePeriod"))
395
539
  GetCostAndUsageRequest.add_member(:granularity, Shapes::ShapeRef.new(shape: Granularity, location_name: "Granularity"))
396
540
  GetCostAndUsageRequest.add_member(:filter, Shapes::ShapeRef.new(shape: Expression, location_name: "Filter"))
397
- 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"))
398
542
  GetCostAndUsageRequest.add_member(:group_by, Shapes::ShapeRef.new(shape: GroupDefinitions, location_name: "GroupBy"))
399
543
  GetCostAndUsageRequest.add_member(:next_page_token, Shapes::ShapeRef.new(shape: NextPageToken, location_name: "NextPageToken"))
400
544
  GetCostAndUsageRequest.struct_class = Types::GetCostAndUsageRequest
@@ -406,7 +550,7 @@ module Aws::CostExplorer
406
550
 
407
551
  GetCostAndUsageWithResourcesRequest.add_member(:time_period, Shapes::ShapeRef.new(shape: DateInterval, required: true, location_name: "TimePeriod"))
408
552
  GetCostAndUsageWithResourcesRequest.add_member(:granularity, Shapes::ShapeRef.new(shape: Granularity, location_name: "Granularity"))
409
- 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"))
410
554
  GetCostAndUsageWithResourcesRequest.add_member(:metrics, Shapes::ShapeRef.new(shape: MetricNames, location_name: "Metrics"))
411
555
  GetCostAndUsageWithResourcesRequest.add_member(:group_by, Shapes::ShapeRef.new(shape: GroupDefinitions, location_name: "GroupBy"))
412
556
  GetCostAndUsageWithResourcesRequest.add_member(:next_page_token, Shapes::ShapeRef.new(shape: NextPageToken, location_name: "NextPageToken"))
@@ -580,6 +724,10 @@ module Aws::CostExplorer
580
724
 
581
725
  Groups.member = Shapes::ShapeRef.new(shape: Group)
582
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
+
583
731
  InstanceDetails.add_member(:ec2_instance_details, Shapes::ShapeRef.new(shape: EC2InstanceDetails, location_name: "EC2InstanceDetails"))
584
732
  InstanceDetails.add_member(:rds_instance_details, Shapes::ShapeRef.new(shape: RDSInstanceDetails, location_name: "RDSInstanceDetails"))
585
733
  InstanceDetails.add_member(:redshift_instance_details, Shapes::ShapeRef.new(shape: RedshiftInstanceDetails, location_name: "RedshiftInstanceDetails"))
@@ -618,6 +766,13 @@ module Aws::CostExplorer
618
766
  ModifyRecommendationDetail.add_member(:target_instances, Shapes::ShapeRef.new(shape: TargetInstancesList, location_name: "TargetInstances"))
619
767
  ModifyRecommendationDetail.struct_class = Types::ModifyRecommendationDetail
620
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
+
621
776
  RDSInstanceDetails.add_member(:family, Shapes::ShapeRef.new(shape: GenericString, location_name: "Family"))
622
777
  RDSInstanceDetails.add_member(:instance_type, Shapes::ShapeRef.new(shape: GenericString, location_name: "InstanceType"))
623
778
  RDSInstanceDetails.add_member(:region, Shapes::ShapeRef.new(shape: GenericString, location_name: "Region"))
@@ -753,6 +908,14 @@ module Aws::CostExplorer
753
908
  RightsizingRecommendationSummary.add_member(:savings_percentage, Shapes::ShapeRef.new(shape: GenericString, location_name: "SavingsPercentage"))
754
909
  RightsizingRecommendationSummary.struct_class = Types::RightsizingRecommendationSummary
755
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
+
756
919
  SavingsPlansAmortizedCommitment.add_member(:amortized_recurring_commitment, Shapes::ShapeRef.new(shape: GenericString, location_name: "AmortizedRecurringCommitment"))
757
920
  SavingsPlansAmortizedCommitment.add_member(:amortized_upfront_commitment, Shapes::ShapeRef.new(shape: GenericString, location_name: "AmortizedUpfrontCommitment"))
758
921
  SavingsPlansAmortizedCommitment.add_member(:total_amortized_commitment, Shapes::ShapeRef.new(shape: GenericString, location_name: "TotalAmortizedCommitment"))
@@ -860,6 +1023,13 @@ module Aws::CostExplorer
860
1023
  ServiceSpecification.add_member(:ec2_specification, Shapes::ShapeRef.new(shape: EC2Specification, location_name: "EC2Specification"))
861
1024
  ServiceSpecification.struct_class = Types::ServiceSpecification
862
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
+
863
1033
  TagList.member = Shapes::ShapeRef.new(shape: Entity)
864
1034
 
865
1035
  TagValues.add_member(:key, Shapes::ShapeRef.new(shape: TagKey, location_name: "Key"))
@@ -883,9 +1053,38 @@ module Aws::CostExplorer
883
1053
  TerminateRecommendationDetail.add_member(:currency_code, Shapes::ShapeRef.new(shape: GenericString, location_name: "CurrencyCode"))
884
1054
  TerminateRecommendationDetail.struct_class = Types::TerminateRecommendationDetail
885
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
+
886
1067
  UnresolvableUsageUnitException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
887
1068
  UnresolvableUsageUnitException.struct_class = Types::UnresolvableUsageUnitException
888
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
+
889
1088
  UpdateCostCategoryDefinitionRequest.add_member(:cost_category_arn, Shapes::ShapeRef.new(shape: Arn, required: true, location_name: "CostCategoryArn"))
890
1089
  UpdateCostCategoryDefinitionRequest.add_member(:rule_version, Shapes::ShapeRef.new(shape: CostCategoryRuleVersion, required: true, location_name: "RuleVersion"))
891
1090
  UpdateCostCategoryDefinitionRequest.add_member(:rules, Shapes::ShapeRef.new(shape: CostCategoryRulesList, required: true, location_name: "Rules"))
@@ -924,6 +1123,25 @@ module Aws::CostExplorer
924
1123
  "uid" => "ce-2017-10-25",
925
1124
  }
926
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
+
927
1145
  api.add_operation(:create_cost_category_definition, Seahorse::Model::Operation.new.tap do |o|
928
1146
  o.name = "CreateCostCategoryDefinition"
929
1147
  o.http_method = "POST"
@@ -934,6 +1152,26 @@ module Aws::CostExplorer
934
1152
  o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
935
1153
  end)
936
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
+
937
1175
  api.add_operation(:delete_cost_category_definition, Seahorse::Model::Operation.new.tap do |o|
938
1176
  o.name = "DeleteCostCategoryDefinition"
939
1177
  o.http_method = "POST"
@@ -954,6 +1192,38 @@ module Aws::CostExplorer
954
1192
  o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
955
1193
  end)
956
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
+
957
1227
  api.add_operation(:get_cost_and_usage, Seahorse::Model::Operation.new.tap do |o|
958
1228
  o.name = "GetCostAndUsage"
959
1229
  o.http_method = "POST"
@@ -1139,6 +1409,36 @@ module Aws::CostExplorer
1139
1409
  )
1140
1410
  end)
1141
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
+
1142
1442
  api.add_operation(:update_cost_category_definition, Seahorse::Model::Operation.new.tap do |o|
1143
1443
  o.name = "UpdateCostCategoryDefinition"
1144
1444
  o.http_method = "POST"