aws-sdk-costexplorer 1.47.0 → 1.48.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"))
@@ -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"