aws-sdk-costexplorer 1.43.1 → 1.48.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # WARNING ABOUT GENERATED CODE
2
4
  #
3
5
  # This file is generated. See the contributing guide for more information:
@@ -14,6 +16,16 @@ module Aws::CostExplorer
14
16
  AccountScope = Shapes::StringShape.new(name: 'AccountScope')
15
17
  AmortizedRecurringFee = Shapes::StringShape.new(name: 'AmortizedRecurringFee')
16
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')
17
29
  Arn = Shapes::StringShape.new(name: 'Arn')
18
30
  AttributeType = Shapes::StringShape.new(name: 'AttributeType')
19
31
  AttributeValue = Shapes::StringShape.new(name: 'AttributeValue')
@@ -38,11 +50,19 @@ module Aws::CostExplorer
38
50
  CoverageNormalizedUnits = Shapes::StructureShape.new(name: 'CoverageNormalizedUnits')
39
51
  CoverageNormalizedUnitsPercentage = Shapes::StringShape.new(name: 'CoverageNormalizedUnitsPercentage')
40
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')
41
57
  CreateCostCategoryDefinitionRequest = Shapes::StructureShape.new(name: 'CreateCostCategoryDefinitionRequest')
42
58
  CreateCostCategoryDefinitionResponse = Shapes::StructureShape.new(name: 'CreateCostCategoryDefinitionResponse')
43
59
  CurrentInstance = Shapes::StructureShape.new(name: 'CurrentInstance')
44
60
  DataUnavailableException = Shapes::StructureShape.new(name: 'DataUnavailableException')
45
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')
46
66
  DeleteCostCategoryDefinitionRequest = Shapes::StructureShape.new(name: 'DeleteCostCategoryDefinitionRequest')
47
67
  DeleteCostCategoryDefinitionResponse = Shapes::StructureShape.new(name: 'DeleteCostCategoryDefinitionResponse')
48
68
  DescribeCostCategoryDefinitionRequest = Shapes::StructureShape.new(name: 'DescribeCostCategoryDefinitionRequest')
@@ -65,7 +85,14 @@ module Aws::CostExplorer
65
85
  ForecastResult = Shapes::StructureShape.new(name: 'ForecastResult')
66
86
  ForecastResultsByTime = Shapes::ListShape.new(name: 'ForecastResultsByTime')
67
87
  GenericBoolean = Shapes::BooleanShape.new(name: 'GenericBoolean')
88
+ GenericDouble = Shapes::FloatShape.new(name: 'GenericDouble')
68
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')
69
96
  GetCostAndUsageRequest = Shapes::StructureShape.new(name: 'GetCostAndUsageRequest')
70
97
  GetCostAndUsageResponse = Shapes::StructureShape.new(name: 'GetCostAndUsageResponse')
71
98
  GetCostAndUsageWithResourcesRequest = Shapes::StructureShape.new(name: 'GetCostAndUsageWithResourcesRequest')
@@ -101,6 +128,7 @@ module Aws::CostExplorer
101
128
  GroupDefinitionType = Shapes::StringShape.new(name: 'GroupDefinitionType')
102
129
  GroupDefinitions = Shapes::ListShape.new(name: 'GroupDefinitions')
103
130
  Groups = Shapes::ListShape.new(name: 'Groups')
131
+ Impact = Shapes::StructureShape.new(name: 'Impact')
104
132
  InstanceDetails = Shapes::StructureShape.new(name: 'InstanceDetails')
105
133
  InvalidNextTokenException = Shapes::StructureShape.new(name: 'InvalidNextTokenException')
106
134
  Key = Shapes::StringShape.new(name: 'Key')
@@ -120,9 +148,13 @@ module Aws::CostExplorer
120
148
  MetricValue = Shapes::StructureShape.new(name: 'MetricValue')
121
149
  Metrics = Shapes::MapShape.new(name: 'Metrics')
122
150
  ModifyRecommendationDetail = Shapes::StructureShape.new(name: 'ModifyRecommendationDetail')
151
+ MonitorDimension = Shapes::StringShape.new(name: 'MonitorDimension')
152
+ MonitorType = Shapes::StringShape.new(name: 'MonitorType')
123
153
  NetRISavings = Shapes::StringShape.new(name: 'NetRISavings')
124
154
  NextPageToken = Shapes::StringShape.new(name: 'NextPageToken')
125
155
  NonNegativeInteger = Shapes::IntegerShape.new(name: 'NonNegativeInteger')
156
+ NullableNonNegativeDouble = Shapes::FloatShape.new(name: 'NullableNonNegativeDouble')
157
+ NumericOperator = Shapes::StringShape.new(name: 'NumericOperator')
126
158
  OfferingClass = Shapes::StringShape.new(name: 'OfferingClass')
127
159
  OnDemandCost = Shapes::StringShape.new(name: 'OnDemandCost')
128
160
  OnDemandCostOfRIHoursUsed = Shapes::StringShape.new(name: 'OnDemandCostOfRIHoursUsed')
@@ -131,6 +163,8 @@ module Aws::CostExplorer
131
163
  PageSize = Shapes::IntegerShape.new(name: 'PageSize')
132
164
  PaymentOption = Shapes::StringShape.new(name: 'PaymentOption')
133
165
  PredictionIntervalLevel = Shapes::IntegerShape.new(name: 'PredictionIntervalLevel')
166
+ ProvideAnomalyFeedbackRequest = Shapes::StructureShape.new(name: 'ProvideAnomalyFeedbackRequest')
167
+ ProvideAnomalyFeedbackResponse = Shapes::StructureShape.new(name: 'ProvideAnomalyFeedbackResponse')
134
168
  PurchasedHours = Shapes::StringShape.new(name: 'PurchasedHours')
135
169
  PurchasedUnits = Shapes::StringShape.new(name: 'PurchasedUnits')
136
170
  RDSInstanceDetails = Shapes::StructureShape.new(name: 'RDSInstanceDetails')
@@ -163,6 +197,8 @@ module Aws::CostExplorer
163
197
  RightsizingRecommendationMetadata = Shapes::StructureShape.new(name: 'RightsizingRecommendationMetadata')
164
198
  RightsizingRecommendationSummary = Shapes::StructureShape.new(name: 'RightsizingRecommendationSummary')
165
199
  RightsizingType = Shapes::StringShape.new(name: 'RightsizingType')
200
+ RootCause = Shapes::StructureShape.new(name: 'RootCause')
201
+ RootCauses = Shapes::ListShape.new(name: 'RootCauses')
166
202
  SavingsPlanArn = Shapes::StringShape.new(name: 'SavingsPlanArn')
167
203
  SavingsPlansAmortizedCommitment = Shapes::StructureShape.new(name: 'SavingsPlansAmortizedCommitment')
168
204
  SavingsPlansCoverage = Shapes::StructureShape.new(name: 'SavingsPlansCoverage')
@@ -184,6 +220,11 @@ module Aws::CostExplorer
184
220
  SearchString = Shapes::StringShape.new(name: 'SearchString')
185
221
  ServiceQuotaExceededException = Shapes::StructureShape.new(name: 'ServiceQuotaExceededException')
186
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')
187
228
  SupportedSavingsPlansType = Shapes::StringShape.new(name: 'SupportedSavingsPlansType')
188
229
  TagKey = Shapes::StringShape.new(name: 'TagKey')
189
230
  TagList = Shapes::ListShape.new(name: 'TagList')
@@ -196,12 +237,19 @@ module Aws::CostExplorer
196
237
  TotalActualHours = Shapes::StringShape.new(name: 'TotalActualHours')
197
238
  TotalActualUnits = Shapes::StringShape.new(name: 'TotalActualUnits')
198
239
  TotalAmortizedFee = Shapes::StringShape.new(name: 'TotalAmortizedFee')
240
+ TotalImpactFilter = Shapes::StructureShape.new(name: 'TotalImpactFilter')
199
241
  TotalPotentialRISavings = Shapes::StringShape.new(name: 'TotalPotentialRISavings')
200
242
  TotalRunningHours = Shapes::StringShape.new(name: 'TotalRunningHours')
201
243
  TotalRunningNormalizedUnits = Shapes::StringShape.new(name: 'TotalRunningNormalizedUnits')
244
+ UnknownMonitorException = Shapes::StructureShape.new(name: 'UnknownMonitorException')
245
+ UnknownSubscriptionException = Shapes::StructureShape.new(name: 'UnknownSubscriptionException')
202
246
  UnresolvableUsageUnitException = Shapes::StructureShape.new(name: 'UnresolvableUsageUnitException')
203
247
  UnusedHours = Shapes::StringShape.new(name: 'UnusedHours')
204
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')
205
253
  UpdateCostCategoryDefinitionRequest = Shapes::StructureShape.new(name: 'UpdateCostCategoryDefinitionRequest')
206
254
  UpdateCostCategoryDefinitionResponse = Shapes::StructureShape.new(name: 'UpdateCostCategoryDefinitionResponse')
207
255
  UtilizationByTime = Shapes::StructureShape.new(name: 'UtilizationByTime')
@@ -213,6 +261,51 @@ module Aws::CostExplorer
213
261
  YearMonthDay = Shapes::StringShape.new(name: 'YearMonthDay')
214
262
  ZonedDateTime = Shapes::StringShape.new(name: 'ZonedDateTime')
215
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
+
216
309
  Attributes.key = Shapes::ShapeRef.new(shape: AttributeType)
217
310
  Attributes.value = Shapes::ShapeRef.new(shape: AttributeValue)
218
311
 
@@ -273,6 +366,18 @@ module Aws::CostExplorer
273
366
 
274
367
  CoveragesByTime.member = Shapes::ShapeRef.new(shape: CoverageByTime)
275
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
+
276
381
  CreateCostCategoryDefinitionRequest.add_member(:name, Shapes::ShapeRef.new(shape: CostCategoryName, required: true, location_name: "Name"))
277
382
  CreateCostCategoryDefinitionRequest.add_member(:rule_version, Shapes::ShapeRef.new(shape: CostCategoryRuleVersion, required: true, location_name: "RuleVersion"))
278
383
  CreateCostCategoryDefinitionRequest.add_member(:rules, Shapes::ShapeRef.new(shape: CostCategoryRulesList, required: true, location_name: "Rules"))
@@ -283,6 +388,7 @@ module Aws::CostExplorer
283
388
  CreateCostCategoryDefinitionResponse.struct_class = Types::CreateCostCategoryDefinitionResponse
284
389
 
285
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"))
286
392
  CurrentInstance.add_member(:tags, Shapes::ShapeRef.new(shape: TagValuesList, location_name: "Tags"))
287
393
  CurrentInstance.add_member(:resource_details, Shapes::ShapeRef.new(shape: ResourceDetails, location_name: "ResourceDetails"))
288
394
  CurrentInstance.add_member(:resource_utilization, Shapes::ShapeRef.new(shape: ResourceUtilization, location_name: "ResourceUtilization"))
@@ -301,6 +407,16 @@ module Aws::CostExplorer
301
407
  DateInterval.add_member(:end, Shapes::ShapeRef.new(shape: YearMonthDay, required: true, location_name: "End"))
302
408
  DateInterval.struct_class = Types::DateInterval
303
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
+
304
420
  DeleteCostCategoryDefinitionRequest.add_member(:cost_category_arn, Shapes::ShapeRef.new(shape: Arn, required: true, location_name: "CostCategoryArn"))
305
421
  DeleteCostCategoryDefinitionRequest.struct_class = Types::DeleteCostCategoryDefinitionRequest
306
422
 
@@ -388,10 +504,41 @@ module Aws::CostExplorer
388
504
 
389
505
  ForecastResultsByTime.member = Shapes::ShapeRef.new(shape: ForecastResult)
390
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
+
391
538
  GetCostAndUsageRequest.add_member(:time_period, Shapes::ShapeRef.new(shape: DateInterval, required: true, location_name: "TimePeriod"))
392
539
  GetCostAndUsageRequest.add_member(:granularity, Shapes::ShapeRef.new(shape: Granularity, location_name: "Granularity"))
393
540
  GetCostAndUsageRequest.add_member(:filter, Shapes::ShapeRef.new(shape: Expression, location_name: "Filter"))
394
- 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"))
395
542
  GetCostAndUsageRequest.add_member(:group_by, Shapes::ShapeRef.new(shape: GroupDefinitions, location_name: "GroupBy"))
396
543
  GetCostAndUsageRequest.add_member(:next_page_token, Shapes::ShapeRef.new(shape: NextPageToken, location_name: "NextPageToken"))
397
544
  GetCostAndUsageRequest.struct_class = Types::GetCostAndUsageRequest
@@ -403,7 +550,7 @@ module Aws::CostExplorer
403
550
 
404
551
  GetCostAndUsageWithResourcesRequest.add_member(:time_period, Shapes::ShapeRef.new(shape: DateInterval, required: true, location_name: "TimePeriod"))
405
552
  GetCostAndUsageWithResourcesRequest.add_member(:granularity, Shapes::ShapeRef.new(shape: Granularity, location_name: "Granularity"))
406
- 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"))
407
554
  GetCostAndUsageWithResourcesRequest.add_member(:metrics, Shapes::ShapeRef.new(shape: MetricNames, location_name: "Metrics"))
408
555
  GetCostAndUsageWithResourcesRequest.add_member(:group_by, Shapes::ShapeRef.new(shape: GroupDefinitions, location_name: "GroupBy"))
409
556
  GetCostAndUsageWithResourcesRequest.add_member(:next_page_token, Shapes::ShapeRef.new(shape: NextPageToken, location_name: "NextPageToken"))
@@ -577,6 +724,10 @@ module Aws::CostExplorer
577
724
 
578
725
  Groups.member = Shapes::ShapeRef.new(shape: Group)
579
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
+
580
731
  InstanceDetails.add_member(:ec2_instance_details, Shapes::ShapeRef.new(shape: EC2InstanceDetails, location_name: "EC2InstanceDetails"))
581
732
  InstanceDetails.add_member(:rds_instance_details, Shapes::ShapeRef.new(shape: RDSInstanceDetails, location_name: "RDSInstanceDetails"))
582
733
  InstanceDetails.add_member(:redshift_instance_details, Shapes::ShapeRef.new(shape: RedshiftInstanceDetails, location_name: "RedshiftInstanceDetails"))
@@ -615,6 +766,13 @@ module Aws::CostExplorer
615
766
  ModifyRecommendationDetail.add_member(:target_instances, Shapes::ShapeRef.new(shape: TargetInstancesList, location_name: "TargetInstances"))
616
767
  ModifyRecommendationDetail.struct_class = Types::ModifyRecommendationDetail
617
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
+
618
776
  RDSInstanceDetails.add_member(:family, Shapes::ShapeRef.new(shape: GenericString, location_name: "Family"))
619
777
  RDSInstanceDetails.add_member(:instance_type, Shapes::ShapeRef.new(shape: GenericString, location_name: "InstanceType"))
620
778
  RDSInstanceDetails.add_member(:region, Shapes::ShapeRef.new(shape: GenericString, location_name: "Region"))
@@ -750,6 +908,14 @@ module Aws::CostExplorer
750
908
  RightsizingRecommendationSummary.add_member(:savings_percentage, Shapes::ShapeRef.new(shape: GenericString, location_name: "SavingsPercentage"))
751
909
  RightsizingRecommendationSummary.struct_class = Types::RightsizingRecommendationSummary
752
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
+
753
919
  SavingsPlansAmortizedCommitment.add_member(:amortized_recurring_commitment, Shapes::ShapeRef.new(shape: GenericString, location_name: "AmortizedRecurringCommitment"))
754
920
  SavingsPlansAmortizedCommitment.add_member(:amortized_upfront_commitment, Shapes::ShapeRef.new(shape: GenericString, location_name: "AmortizedUpfrontCommitment"))
755
921
  SavingsPlansAmortizedCommitment.add_member(:total_amortized_commitment, Shapes::ShapeRef.new(shape: GenericString, location_name: "TotalAmortizedCommitment"))
@@ -857,6 +1023,13 @@ module Aws::CostExplorer
857
1023
  ServiceSpecification.add_member(:ec2_specification, Shapes::ShapeRef.new(shape: EC2Specification, location_name: "EC2Specification"))
858
1024
  ServiceSpecification.struct_class = Types::ServiceSpecification
859
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
+
860
1033
  TagList.member = Shapes::ShapeRef.new(shape: Entity)
861
1034
 
862
1035
  TagValues.add_member(:key, Shapes::ShapeRef.new(shape: TagKey, location_name: "Key"))
@@ -880,9 +1053,38 @@ module Aws::CostExplorer
880
1053
  TerminateRecommendationDetail.add_member(:currency_code, Shapes::ShapeRef.new(shape: GenericString, location_name: "CurrencyCode"))
881
1054
  TerminateRecommendationDetail.struct_class = Types::TerminateRecommendationDetail
882
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
+
883
1067
  UnresolvableUsageUnitException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
884
1068
  UnresolvableUsageUnitException.struct_class = Types::UnresolvableUsageUnitException
885
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
+
886
1088
  UpdateCostCategoryDefinitionRequest.add_member(:cost_category_arn, Shapes::ShapeRef.new(shape: Arn, required: true, location_name: "CostCategoryArn"))
887
1089
  UpdateCostCategoryDefinitionRequest.add_member(:rule_version, Shapes::ShapeRef.new(shape: CostCategoryRuleVersion, required: true, location_name: "RuleVersion"))
888
1090
  UpdateCostCategoryDefinitionRequest.add_member(:rules, Shapes::ShapeRef.new(shape: CostCategoryRulesList, required: true, location_name: "Rules"))
@@ -921,6 +1123,25 @@ module Aws::CostExplorer
921
1123
  "uid" => "ce-2017-10-25",
922
1124
  }
923
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
+
924
1145
  api.add_operation(:create_cost_category_definition, Seahorse::Model::Operation.new.tap do |o|
925
1146
  o.name = "CreateCostCategoryDefinition"
926
1147
  o.http_method = "POST"
@@ -931,6 +1152,26 @@ module Aws::CostExplorer
931
1152
  o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
932
1153
  end)
933
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
+
934
1175
  api.add_operation(:delete_cost_category_definition, Seahorse::Model::Operation.new.tap do |o|
935
1176
  o.name = "DeleteCostCategoryDefinition"
936
1177
  o.http_method = "POST"
@@ -951,6 +1192,38 @@ module Aws::CostExplorer
951
1192
  o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
952
1193
  end)
953
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
+
954
1227
  api.add_operation(:get_cost_and_usage, Seahorse::Model::Operation.new.tap do |o|
955
1228
  o.name = "GetCostAndUsage"
956
1229
  o.http_method = "POST"
@@ -1136,6 +1409,36 @@ module Aws::CostExplorer
1136
1409
  )
1137
1410
  end)
1138
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
+
1139
1442
  api.add_operation(:update_cost_category_definition, Seahorse::Model::Operation.new.tap do |o|
1140
1443
  o.name = "UpdateCostCategoryDefinition"
1141
1444
  o.http_method = "POST"