aws-sdk-costexplorer 1.46.0 → 1.51.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -34,6 +34,8 @@ module Aws::CostExplorer
34
34
  # * {RequestChangedException}
35
35
  # * {ResourceNotFoundException}
36
36
  # * {ServiceQuotaExceededException}
37
+ # * {UnknownMonitorException}
38
+ # * {UnknownSubscriptionException}
37
39
  # * {UnresolvableUsageUnitException}
38
40
  #
39
41
  # Additionally, error classes are dynamically generated for service errors based on the error code
@@ -147,6 +149,36 @@ module Aws::CostExplorer
147
149
  end
148
150
  end
149
151
 
152
+ class UnknownMonitorException < ServiceError
153
+
154
+ # @param [Seahorse::Client::RequestContext] context
155
+ # @param [String] message
156
+ # @param [Aws::CostExplorer::Types::UnknownMonitorException] data
157
+ def initialize(context, message, data = Aws::EmptyStructure.new)
158
+ super(context, message, data)
159
+ end
160
+
161
+ # @return [String]
162
+ def message
163
+ @message || @data[:message]
164
+ end
165
+ end
166
+
167
+ class UnknownSubscriptionException < ServiceError
168
+
169
+ # @param [Seahorse::Client::RequestContext] context
170
+ # @param [String] message
171
+ # @param [Aws::CostExplorer::Types::UnknownSubscriptionException] data
172
+ def initialize(context, message, data = Aws::EmptyStructure.new)
173
+ super(context, message, data)
174
+ end
175
+
176
+ # @return [String]
177
+ def message
178
+ @message || @data[:message]
179
+ end
180
+ end
181
+
150
182
  class UnresolvableUsageUnitException < ServiceError
151
183
 
152
184
  # @param [Seahorse::Client::RequestContext] context
@@ -10,6 +10,325 @@
10
10
  module Aws::CostExplorer
11
11
  module Types
12
12
 
13
+ # An unusual cost pattern. This consists of the detailed metadata and
14
+ # the current status of the anomaly object.
15
+ #
16
+ # @!attribute [rw] anomaly_id
17
+ # The unique identifier for the anomaly.
18
+ # @return [String]
19
+ #
20
+ # @!attribute [rw] anomaly_start_date
21
+ # The first day the anomaly is detected.
22
+ # @return [String]
23
+ #
24
+ # @!attribute [rw] anomaly_end_date
25
+ # The last day the anomaly is detected.
26
+ # @return [String]
27
+ #
28
+ # @!attribute [rw] dimension_value
29
+ # The dimension for the anomaly. For example, an AWS service in a
30
+ # service monitor.
31
+ # @return [String]
32
+ #
33
+ # @!attribute [rw] root_causes
34
+ # The list of identified root causes for the anomaly.
35
+ # @return [Array<Types::RootCause>]
36
+ #
37
+ # @!attribute [rw] anomaly_score
38
+ # The latest and maximum score for the anomaly.
39
+ # @return [Types::AnomalyScore]
40
+ #
41
+ # @!attribute [rw] impact
42
+ # The dollar impact for the anomaly.
43
+ # @return [Types::Impact]
44
+ #
45
+ # @!attribute [rw] monitor_arn
46
+ # The Amazon Resource Name (ARN) for the cost monitor that generated
47
+ # this anomaly.
48
+ # @return [String]
49
+ #
50
+ # @!attribute [rw] feedback
51
+ # The feedback value.
52
+ # @return [String]
53
+ #
54
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/Anomaly AWS API Documentation
55
+ #
56
+ class Anomaly < Struct.new(
57
+ :anomaly_id,
58
+ :anomaly_start_date,
59
+ :anomaly_end_date,
60
+ :dimension_value,
61
+ :root_causes,
62
+ :anomaly_score,
63
+ :impact,
64
+ :monitor_arn,
65
+ :feedback)
66
+ SENSITIVE = []
67
+ include Aws::Structure
68
+ end
69
+
70
+ # The time period for an anomaly.
71
+ #
72
+ # @note When making an API call, you may pass AnomalyDateInterval
73
+ # data as a hash:
74
+ #
75
+ # {
76
+ # start_date: "YearMonthDay", # required
77
+ # end_date: "YearMonthDay",
78
+ # }
79
+ #
80
+ # @!attribute [rw] start_date
81
+ # The first date an anomaly was observed.
82
+ # @return [String]
83
+ #
84
+ # @!attribute [rw] end_date
85
+ # The last date an anomaly was observed.
86
+ # @return [String]
87
+ #
88
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/AnomalyDateInterval AWS API Documentation
89
+ #
90
+ class AnomalyDateInterval < Struct.new(
91
+ :start_date,
92
+ :end_date)
93
+ SENSITIVE = []
94
+ include Aws::Structure
95
+ end
96
+
97
+ # This object continuously inspects your account's cost data for
98
+ # anomalies, based on `MonitorType` and `MonitorSpecification`. The
99
+ # content consists of detailed metadata and the current status of the
100
+ # monitor object.
101
+ #
102
+ # @note When making an API call, you may pass AnomalyMonitor
103
+ # data as a hash:
104
+ #
105
+ # {
106
+ # monitor_arn: "GenericString",
107
+ # monitor_name: "GenericString", # required
108
+ # creation_date: "YearMonthDay",
109
+ # last_updated_date: "YearMonthDay",
110
+ # last_evaluated_date: "YearMonthDay",
111
+ # monitor_type: "DIMENSIONAL", # required, accepts DIMENSIONAL, CUSTOM
112
+ # monitor_dimension: "SERVICE", # accepts SERVICE
113
+ # monitor_specification: {
114
+ # or: [
115
+ # {
116
+ # # recursive Expression
117
+ # },
118
+ # ],
119
+ # and: [
120
+ # {
121
+ # # recursive Expression
122
+ # },
123
+ # ],
124
+ # not: {
125
+ # # recursive Expression
126
+ # },
127
+ # dimensions: {
128
+ # key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, LINKED_ACCOUNT_NAME, OPERATION, PURCHASE_TYPE, REGION, SERVICE, SERVICE_CODE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RESOURCE_ID, RIGHTSIZING_TYPE, SAVINGS_PLANS_TYPE, SAVINGS_PLAN_ARN, PAYMENT_OPTION
129
+ # values: ["Value"],
130
+ # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
131
+ # },
132
+ # tags: {
133
+ # key: "TagKey",
134
+ # values: ["Value"],
135
+ # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
136
+ # },
137
+ # cost_categories: {
138
+ # key: "CostCategoryName",
139
+ # values: ["Value"],
140
+ # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
141
+ # },
142
+ # },
143
+ # dimensional_value_count: 1,
144
+ # }
145
+ #
146
+ # @!attribute [rw] monitor_arn
147
+ # The Amazon Resource Name (ARN) value.
148
+ # @return [String]
149
+ #
150
+ # @!attribute [rw] monitor_name
151
+ # The name of the monitor.
152
+ # @return [String]
153
+ #
154
+ # @!attribute [rw] creation_date
155
+ # The date when the monitor was created.
156
+ # @return [String]
157
+ #
158
+ # @!attribute [rw] last_updated_date
159
+ # The date when the monitor was last updated.
160
+ # @return [String]
161
+ #
162
+ # @!attribute [rw] last_evaluated_date
163
+ # The date when the monitor last evaluated for anomalies.
164
+ # @return [String]
165
+ #
166
+ # @!attribute [rw] monitor_type
167
+ # The possible type values.
168
+ # @return [String]
169
+ #
170
+ # @!attribute [rw] monitor_dimension
171
+ # The dimensions to evaluate.
172
+ # @return [String]
173
+ #
174
+ # @!attribute [rw] monitor_specification
175
+ # Use `Expression` to filter by cost or by usage. There are two
176
+ # patterns:
177
+ #
178
+ # * Simple dimension values - You can set the dimension name and
179
+ # values for the filters that you plan to use. For example, you can
180
+ # filter for `REGION==us-east-1 OR REGION==us-west-1`. For
181
+ # `GetRightsizingRecommendation`, the Region is a full name (for
182
+ # example, `REGION==US East (N. Virginia)`. The `Expression` example
183
+ # looks like:
184
+ #
185
+ # `\{ "Dimensions": \{ "Key": "REGION", "Values": [ "us-east-1",
186
+ # “us-west-1” ] \} \}`
187
+ #
188
+ # The list of dimension values are OR'd together to retrieve cost
189
+ # or usage data. You can create `Expression` and `DimensionValues`
190
+ # objects using either `with*` methods or `set*` methods in multiple
191
+ # lines.
192
+ #
193
+ # * Compound dimension values with logical operations - You can use
194
+ # multiple `Expression` types and the logical operators `AND/OR/NOT`
195
+ # to create a list of one or more `Expression` objects. This allows
196
+ # you to filter on more advanced options. For example, you can
197
+ # filter on `((REGION == us-east-1 OR REGION == us-west-1) OR
198
+ # (TAG.Type == Type1)) AND (USAGE_TYPE != DataTransfer)`. The
199
+ # `Expression` for that looks like this:
200
+ #
201
+ # `\{ "And": [ \{"Or": [ \{"Dimensions": \{ "Key": "REGION",
202
+ # "Values": [ "us-east-1", "us-west-1" ] \}\}, \{"Tags": \{ "Key":
203
+ # "TagName", "Values": ["Value1"] \} \} ]\}, \{"Not":
204
+ # \{"Dimensions": \{ "Key": "USAGE_TYPE", "Values": ["DataTransfer"]
205
+ # \}\}\} ] \} `
206
+ #
207
+ # <note markdown="1"> Because each `Expression` can have only one operator, the service
208
+ # returns an error if more than one is specified. The following
209
+ # example shows an `Expression` object that creates an error.
210
+ #
211
+ # </note>
212
+ #
213
+ # ` \{ "And": [ ... ], "DimensionValues": \{ "Dimension":
214
+ # "USAGE_TYPE", "Values": [ "DataTransfer" ] \} \} `
215
+ #
216
+ # <note markdown="1"> For `GetRightsizingRecommendation` action, a combination of OR and
217
+ # NOT is not supported. OR is not supported between different
218
+ # dimensions, or dimensions and tags. NOT operators aren't supported.
219
+ # Dimensions are also limited to `LINKED_ACCOUNT`, `REGION`, or
220
+ # `RIGHTSIZING_TYPE`.
221
+ #
222
+ # </note>
223
+ # @return [Types::Expression]
224
+ #
225
+ # @!attribute [rw] dimensional_value_count
226
+ # The value for evaluated dimensions.
227
+ # @return [Integer]
228
+ #
229
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/AnomalyMonitor AWS API Documentation
230
+ #
231
+ class AnomalyMonitor < Struct.new(
232
+ :monitor_arn,
233
+ :monitor_name,
234
+ :creation_date,
235
+ :last_updated_date,
236
+ :last_evaluated_date,
237
+ :monitor_type,
238
+ :monitor_dimension,
239
+ :monitor_specification,
240
+ :dimensional_value_count)
241
+ SENSITIVE = []
242
+ include Aws::Structure
243
+ end
244
+
245
+ # Quantifies the anomaly. The higher score means that it is more
246
+ # anomalous.
247
+ #
248
+ # @!attribute [rw] max_score
249
+ # The maximum score observed during the `AnomalyDateInterval`.
250
+ # @return [Float]
251
+ #
252
+ # @!attribute [rw] current_score
253
+ # The last observed score.
254
+ # @return [Float]
255
+ #
256
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/AnomalyScore AWS API Documentation
257
+ #
258
+ class AnomalyScore < Struct.new(
259
+ :max_score,
260
+ :current_score)
261
+ SENSITIVE = []
262
+ include Aws::Structure
263
+ end
264
+
265
+ # The association between a monitor, threshold, and list of subscribers
266
+ # used to deliver notifications about anomalies detected by a monitor
267
+ # that exceeds a threshold. The content consists of the detailed
268
+ # metadata and the current status of the `AnomalySubscription` object.
269
+ #
270
+ # @note When making an API call, you may pass AnomalySubscription
271
+ # data as a hash:
272
+ #
273
+ # {
274
+ # subscription_arn: "GenericString",
275
+ # account_id: "GenericString",
276
+ # monitor_arn_list: ["Value"], # required
277
+ # subscribers: [ # required
278
+ # {
279
+ # address: "SubscriberAddress",
280
+ # type: "EMAIL", # accepts EMAIL, SNS
281
+ # status: "CONFIRMED", # accepts CONFIRMED, DECLINED
282
+ # },
283
+ # ],
284
+ # threshold: 1.0, # required
285
+ # frequency: "DAILY", # required, accepts DAILY, IMMEDIATE, WEEKLY
286
+ # subscription_name: "GenericString", # required
287
+ # }
288
+ #
289
+ # @!attribute [rw] subscription_arn
290
+ # The `AnomalySubscription` Amazon Resource Name (ARN).
291
+ # @return [String]
292
+ #
293
+ # @!attribute [rw] account_id
294
+ # Your unique account identifier.
295
+ # @return [String]
296
+ #
297
+ # @!attribute [rw] monitor_arn_list
298
+ # A list of cost anomaly monitors.
299
+ # @return [Array<String>]
300
+ #
301
+ # @!attribute [rw] subscribers
302
+ # A list of subscribers to notify.
303
+ # @return [Array<Types::Subscriber>]
304
+ #
305
+ # @!attribute [rw] threshold
306
+ # The dollar value that triggers a notification if the threshold is
307
+ # exceeded.
308
+ # @return [Float]
309
+ #
310
+ # @!attribute [rw] frequency
311
+ # The frequency at which anomaly reports are sent over email.
312
+ # @return [String]
313
+ #
314
+ # @!attribute [rw] subscription_name
315
+ # The name for the subscription.
316
+ # @return [String]
317
+ #
318
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/AnomalySubscription AWS API Documentation
319
+ #
320
+ class AnomalySubscription < Struct.new(
321
+ :subscription_arn,
322
+ :account_id,
323
+ :monitor_arn_list,
324
+ :subscribers,
325
+ :threshold,
326
+ :frequency,
327
+ :subscription_name)
328
+ SENSITIVE = []
329
+ include Aws::Structure
330
+ end
331
+
13
332
  # The requested report expired. Update the date interval and try again.
14
333
  #
15
334
  # @!attribute [rw] message
@@ -52,6 +371,11 @@ module Aws::CostExplorer
52
371
  # that Cost Category value.
53
372
  # @return [Array<Types::CostCategoryRule>]
54
373
  #
374
+ # @!attribute [rw] processing_status
375
+ # The list of processing statuses for Cost Management products for a
376
+ # specific cost category.
377
+ # @return [Array<Types::CostCategoryProcessingStatus>]
378
+ #
55
379
  # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/CostCategory AWS API Documentation
56
380
  #
57
381
  class CostCategory < Struct.new(
@@ -60,7 +384,28 @@ module Aws::CostExplorer
60
384
  :effective_end,
61
385
  :name,
62
386
  :rule_version,
63
- :rules)
387
+ :rules,
388
+ :processing_status)
389
+ SENSITIVE = []
390
+ include Aws::Structure
391
+ end
392
+
393
+ # The list of processing statuses for Cost Management products for a
394
+ # specific cost category.
395
+ #
396
+ # @!attribute [rw] component
397
+ # The Cost Management product name of the applied status.
398
+ # @return [String]
399
+ #
400
+ # @!attribute [rw] status
401
+ # The process status for a specific cost category.
402
+ # @return [String]
403
+ #
404
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/CostCategoryProcessingStatus AWS API Documentation
405
+ #
406
+ class CostCategoryProcessingStatus < Struct.new(
407
+ :component,
408
+ :status)
64
409
  SENSITIVE = []
65
410
  include Aws::Structure
66
411
  end
@@ -91,6 +436,15 @@ module Aws::CostExplorer
91
436
  # The number of rules associated with a specific Cost Category.
92
437
  # @return [Integer]
93
438
  #
439
+ # @!attribute [rw] processing_status
440
+ # The list of processing statuses for Cost Management products for a
441
+ # specific cost category.
442
+ # @return [Array<Types::CostCategoryProcessingStatus>]
443
+ #
444
+ # @!attribute [rw] values
445
+ # A list of unique cost category values in a specific cost category.
446
+ # @return [Array<String>]
447
+ #
94
448
  # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/CostCategoryReference AWS API Documentation
95
449
  #
96
450
  class CostCategoryReference < Struct.new(
@@ -98,7 +452,9 @@ module Aws::CostExplorer
98
452
  :name,
99
453
  :effective_start,
100
454
  :effective_end,
101
- :number_of_rules)
455
+ :number_of_rules,
456
+ :processing_status,
457
+ :values)
102
458
  SENSITIVE = []
103
459
  include Aws::Structure
104
460
  end
@@ -139,6 +495,7 @@ module Aws::CostExplorer
139
495
  # cost_categories: {
140
496
  # key: "CostCategoryName",
141
497
  # values: ["Value"],
498
+ # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
142
499
  # },
143
500
  # },
144
501
  # }
@@ -150,7 +507,7 @@ module Aws::CostExplorer
150
507
  #
151
508
  # @!attribute [rw] rule
152
509
  # An [Expression][1] object used to categorize costs. This supports
153
- # dimensions, Tags, and nested expressions. Currently the only
510
+ # dimensions, tags, and nested expressions. Currently the only
154
511
  # dimensions supported are `LINKED_ACCOUNT`, `SERVICE_CODE`,
155
512
  # `RECORD_TYPE`, and `LINKED_ACCOUNT_NAME`.
156
513
  #
@@ -186,6 +543,7 @@ module Aws::CostExplorer
186
543
  # {
187
544
  # key: "CostCategoryName",
188
545
  # values: ["Value"],
546
+ # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
189
547
  # }
190
548
  #
191
549
  # @!attribute [rw] key
@@ -196,11 +554,19 @@ module Aws::CostExplorer
196
554
  # The specific value of the Cost Category.
197
555
  # @return [Array<String>]
198
556
  #
557
+ # @!attribute [rw] match_options
558
+ # The match options that you can use to filter your results.
559
+ # MatchOptions is only applicable for only applicable for actions
560
+ # related to cost category. The default values for `MatchOptions` is
561
+ # `EQUALS` and `CASE_SENSITIVE`.
562
+ # @return [Array<String>]
563
+ #
199
564
  # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/CostCategoryValues AWS API Documentation
200
565
  #
201
566
  class CostCategoryValues < Struct.new(
202
567
  :key,
203
- :values)
568
+ :values,
569
+ :match_options)
204
570
  SENSITIVE = []
205
571
  include Aws::Structure
206
572
  end
@@ -345,6 +711,123 @@ module Aws::CostExplorer
345
711
  include Aws::Structure
346
712
  end
347
713
 
714
+ # @note When making an API call, you may pass CreateAnomalyMonitorRequest
715
+ # data as a hash:
716
+ #
717
+ # {
718
+ # anomaly_monitor: { # required
719
+ # monitor_arn: "GenericString",
720
+ # monitor_name: "GenericString", # required
721
+ # creation_date: "YearMonthDay",
722
+ # last_updated_date: "YearMonthDay",
723
+ # last_evaluated_date: "YearMonthDay",
724
+ # monitor_type: "DIMENSIONAL", # required, accepts DIMENSIONAL, CUSTOM
725
+ # monitor_dimension: "SERVICE", # accepts SERVICE
726
+ # monitor_specification: {
727
+ # or: [
728
+ # {
729
+ # # recursive Expression
730
+ # },
731
+ # ],
732
+ # and: [
733
+ # {
734
+ # # recursive Expression
735
+ # },
736
+ # ],
737
+ # not: {
738
+ # # recursive Expression
739
+ # },
740
+ # dimensions: {
741
+ # key: "AZ", # accepts AZ, INSTANCE_TYPE, LINKED_ACCOUNT, LINKED_ACCOUNT_NAME, OPERATION, PURCHASE_TYPE, REGION, SERVICE, SERVICE_CODE, USAGE_TYPE, USAGE_TYPE_GROUP, RECORD_TYPE, OPERATING_SYSTEM, TENANCY, SCOPE, PLATFORM, SUBSCRIPTION_ID, LEGAL_ENTITY_NAME, DEPLOYMENT_OPTION, DATABASE_ENGINE, CACHE_ENGINE, INSTANCE_TYPE_FAMILY, BILLING_ENTITY, RESERVATION_ID, RESOURCE_ID, RIGHTSIZING_TYPE, SAVINGS_PLANS_TYPE, SAVINGS_PLAN_ARN, PAYMENT_OPTION
742
+ # values: ["Value"],
743
+ # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
744
+ # },
745
+ # tags: {
746
+ # key: "TagKey",
747
+ # values: ["Value"],
748
+ # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
749
+ # },
750
+ # cost_categories: {
751
+ # key: "CostCategoryName",
752
+ # values: ["Value"],
753
+ # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
754
+ # },
755
+ # },
756
+ # dimensional_value_count: 1,
757
+ # },
758
+ # }
759
+ #
760
+ # @!attribute [rw] anomaly_monitor
761
+ # The cost anomaly detection monitor object that you want to create.
762
+ # @return [Types::AnomalyMonitor]
763
+ #
764
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/CreateAnomalyMonitorRequest AWS API Documentation
765
+ #
766
+ class CreateAnomalyMonitorRequest < Struct.new(
767
+ :anomaly_monitor)
768
+ SENSITIVE = []
769
+ include Aws::Structure
770
+ end
771
+
772
+ # @!attribute [rw] monitor_arn
773
+ # The unique identifier of your newly created cost anomaly detection
774
+ # monitor.
775
+ # @return [String]
776
+ #
777
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/CreateAnomalyMonitorResponse AWS API Documentation
778
+ #
779
+ class CreateAnomalyMonitorResponse < Struct.new(
780
+ :monitor_arn)
781
+ SENSITIVE = []
782
+ include Aws::Structure
783
+ end
784
+
785
+ # @note When making an API call, you may pass CreateAnomalySubscriptionRequest
786
+ # data as a hash:
787
+ #
788
+ # {
789
+ # anomaly_subscription: { # required
790
+ # subscription_arn: "GenericString",
791
+ # account_id: "GenericString",
792
+ # monitor_arn_list: ["Value"], # required
793
+ # subscribers: [ # required
794
+ # {
795
+ # address: "SubscriberAddress",
796
+ # type: "EMAIL", # accepts EMAIL, SNS
797
+ # status: "CONFIRMED", # accepts CONFIRMED, DECLINED
798
+ # },
799
+ # ],
800
+ # threshold: 1.0, # required
801
+ # frequency: "DAILY", # required, accepts DAILY, IMMEDIATE, WEEKLY
802
+ # subscription_name: "GenericString", # required
803
+ # },
804
+ # }
805
+ #
806
+ # @!attribute [rw] anomaly_subscription
807
+ # The cost anomaly subscription object that you want to create.
808
+ # @return [Types::AnomalySubscription]
809
+ #
810
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/CreateAnomalySubscriptionRequest AWS API Documentation
811
+ #
812
+ class CreateAnomalySubscriptionRequest < Struct.new(
813
+ :anomaly_subscription)
814
+ SENSITIVE = []
815
+ include Aws::Structure
816
+ end
817
+
818
+ # @!attribute [rw] subscription_arn
819
+ # The unique identifier of your newly created cost anomaly
820
+ # subscription.
821
+ # @return [String]
822
+ #
823
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/CreateAnomalySubscriptionResponse AWS API Documentation
824
+ #
825
+ class CreateAnomalySubscriptionResponse < Struct.new(
826
+ :subscription_arn)
827
+ SENSITIVE = []
828
+ include Aws::Structure
829
+ end
830
+
348
831
  # @note When making an API call, you may pass CreateCostCategoryDefinitionRequest
349
832
  # data as a hash:
350
833
  #
@@ -381,6 +864,7 @@ module Aws::CostExplorer
381
864
  # cost_categories: {
382
865
  # key: "CostCategoryName",
383
866
  # values: ["Value"],
867
+ # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
384
868
  # },
385
869
  # },
386
870
  # },
@@ -464,7 +948,7 @@ module Aws::CostExplorer
464
948
  # @return [String]
465
949
  #
466
950
  # @!attribute [rw] on_demand_hours_in_lookback_period
467
- # Number of hours during the lookback period billed at On Demand
951
+ # Number of hours during the lookback period billed at On-Demand
468
952
  # rates.
469
953
  # @return [String]
470
954
  #
@@ -474,13 +958,13 @@ module Aws::CostExplorer
474
958
  # @return [String]
475
959
  #
476
960
  # @!attribute [rw] monthly_cost
477
- # Current On Demand cost of operating this instance on a monthly
961
+ # Current On-Demand cost of operating this instance on a monthly
478
962
  # basis.
479
963
  # @return [String]
480
964
  #
481
965
  # @!attribute [rw] currency_code
482
- # The currency code that Amazon Web Services used to calculate the
483
- # costs for this instance.
966
+ # The currency code that AWS used to calculate the costs for this
967
+ # instance.
484
968
  # @return [String]
485
969
  #
486
970
  # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/CurrentInstance AWS API Documentation
@@ -547,6 +1031,54 @@ module Aws::CostExplorer
547
1031
  include Aws::Structure
548
1032
  end
549
1033
 
1034
+ # @note When making an API call, you may pass DeleteAnomalyMonitorRequest
1035
+ # data as a hash:
1036
+ #
1037
+ # {
1038
+ # monitor_arn: "GenericString", # required
1039
+ # }
1040
+ #
1041
+ # @!attribute [rw] monitor_arn
1042
+ # The unique identifier of the cost anomaly monitor that you want to
1043
+ # delete.
1044
+ # @return [String]
1045
+ #
1046
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/DeleteAnomalyMonitorRequest AWS API Documentation
1047
+ #
1048
+ class DeleteAnomalyMonitorRequest < Struct.new(
1049
+ :monitor_arn)
1050
+ SENSITIVE = []
1051
+ include Aws::Structure
1052
+ end
1053
+
1054
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/DeleteAnomalyMonitorResponse AWS API Documentation
1055
+ #
1056
+ class DeleteAnomalyMonitorResponse < Aws::EmptyStructure; end
1057
+
1058
+ # @note When making an API call, you may pass DeleteAnomalySubscriptionRequest
1059
+ # data as a hash:
1060
+ #
1061
+ # {
1062
+ # subscription_arn: "GenericString", # required
1063
+ # }
1064
+ #
1065
+ # @!attribute [rw] subscription_arn
1066
+ # The unique identifier of the cost anomaly subscription that you want
1067
+ # to delete.
1068
+ # @return [String]
1069
+ #
1070
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/DeleteAnomalySubscriptionRequest AWS API Documentation
1071
+ #
1072
+ class DeleteAnomalySubscriptionRequest < Struct.new(
1073
+ :subscription_arn)
1074
+ SENSITIVE = []
1075
+ include Aws::Structure
1076
+ end
1077
+
1078
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/DeleteAnomalySubscriptionResponse AWS API Documentation
1079
+ #
1080
+ class DeleteAnomalySubscriptionResponse < Aws::EmptyStructure; end
1081
+
550
1082
  # @note When making an API call, you may pass DeleteCostCategoryDefinitionRequest
551
1083
  # data as a hash:
552
1084
  #
@@ -649,7 +1181,7 @@ module Aws::CostExplorer
649
1181
  # @!attribute [rw] match_options
650
1182
  # The match options that you can use to filter your results.
651
1183
  # `MatchOptions` is only applicable for actions related to Cost
652
- # Category. The default values for `MatchOptions` is `EQUALS` and
1184
+ # Category. The default values for `MatchOptions` are `EQUALS` and
653
1185
  # `CASE_SENSITIVE`.
654
1186
  # @return [Array<String>]
655
1187
  #
@@ -684,6 +1216,36 @@ module Aws::CostExplorer
684
1216
  include Aws::Structure
685
1217
  end
686
1218
 
1219
+ # The EBS field that contains a list of EBS metrics associated with the
1220
+ # current instance.
1221
+ #
1222
+ # @!attribute [rw] ebs_read_ops_per_second
1223
+ # The maximum number of read operations per second.
1224
+ # @return [String]
1225
+ #
1226
+ # @!attribute [rw] ebs_write_ops_per_second
1227
+ # The maximum number of write operations per second.
1228
+ # @return [String]
1229
+ #
1230
+ # @!attribute [rw] ebs_read_bytes_per_second
1231
+ # The maximum size of read operations per second
1232
+ # @return [String]
1233
+ #
1234
+ # @!attribute [rw] ebs_write_bytes_per_second
1235
+ # The maximum size of write operations per second.
1236
+ # @return [String]
1237
+ #
1238
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/EBSResourceUtilization AWS API Documentation
1239
+ #
1240
+ class EBSResourceUtilization < Struct.new(
1241
+ :ebs_read_ops_per_second,
1242
+ :ebs_write_ops_per_second,
1243
+ :ebs_read_bytes_per_second,
1244
+ :ebs_write_bytes_per_second)
1245
+ SENSITIVE = []
1246
+ include Aws::Structure
1247
+ end
1248
+
687
1249
  # Details about the Amazon EC2 instances that AWS recommends that you
688
1250
  # purchase.
689
1251
  #
@@ -739,21 +1301,21 @@ module Aws::CostExplorer
739
1301
  # Details on the Amazon EC2 Resource.
740
1302
  #
741
1303
  # @!attribute [rw] hourly_on_demand_rate
742
- # Hourly public On Demand rate for the instance type.
1304
+ # Hourly public On-Demand rate for the instance type.
743
1305
  # @return [String]
744
1306
  #
745
1307
  # @!attribute [rw] instance_type
746
- # The type of Amazon Web Services instance.
1308
+ # The type of AWS instance.
747
1309
  # @return [String]
748
1310
  #
749
1311
  # @!attribute [rw] platform
750
- # The platform of the Amazon Web Services instance. The platform is
751
- # the specific combination of operating system, license model, and
752
- # software on an instance.
1312
+ # The platform of the AWS instance. The platform is the specific
1313
+ # combination of operating system, license model, and software on an
1314
+ # instance.
753
1315
  # @return [String]
754
1316
  #
755
1317
  # @!attribute [rw] region
756
- # The Amazon Web Services Region of the instance.
1318
+ # The AWS Region of the instance.
757
1319
  # @return [String]
758
1320
  #
759
1321
  # @!attribute [rw] sku
@@ -761,20 +1323,19 @@ module Aws::CostExplorer
761
1323
  # @return [String]
762
1324
  #
763
1325
  # @!attribute [rw] memory
764
- # Memory capacity of Amazon Web Services instance.
1326
+ # Memory capacity of the AWS instance.
765
1327
  # @return [String]
766
1328
  #
767
1329
  # @!attribute [rw] network_performance
768
- # Network performance capacity of the Amazon Web Services instance.
1330
+ # Network performance capacity of the AWS instance.
769
1331
  # @return [String]
770
1332
  #
771
1333
  # @!attribute [rw] storage
772
- # The disk storage of the Amazon Web Services instance (Not EBS
773
- # storage).
1334
+ # The disk storage of the AWS instance (not EBS storage).
774
1335
  # @return [String]
775
1336
  #
776
1337
  # @!attribute [rw] vcpu
777
- # Number of VCPU cores in the Amazon Web Services instance type.
1338
+ # Number of VCPU cores in the AWS instance type.
778
1339
  # @return [String]
779
1340
  #
780
1341
  # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/EC2ResourceDetails AWS API Documentation
@@ -808,12 +1369,18 @@ module Aws::CostExplorer
808
1369
  # (does not measure EBS storage).
809
1370
  # @return [String]
810
1371
  #
1372
+ # @!attribute [rw] ebs_resource_utilization
1373
+ # The EBS field that contains a list of EBS metrics associated with
1374
+ # the current instance.
1375
+ # @return [Types::EBSResourceUtilization]
1376
+ #
811
1377
  # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/EC2ResourceUtilization AWS API Documentation
812
1378
  #
813
1379
  class EC2ResourceUtilization < Struct.new(
814
1380
  :max_cpu_utilization_percentage,
815
1381
  :max_memory_utilization_percentage,
816
- :max_storage_utilization_percentage)
1382
+ :max_storage_utilization_percentage,
1383
+ :ebs_resource_utilization)
817
1384
  SENSITIVE = []
818
1385
  include Aws::Structure
819
1386
  end
@@ -921,8 +1488,10 @@ module Aws::CostExplorer
921
1488
  #
922
1489
  # * Simple dimension values - You can set the dimension name and values
923
1490
  # for the filters that you plan to use. For example, you can filter
924
- # for `REGION==us-east-1 OR REGION==us-west-1`. The `Expression` for
925
- # that looks like this:
1491
+ # for `REGION==us-east-1 OR REGION==us-west-1`. For
1492
+ # `GetRightsizingRecommendation`, the Region is a full name (for
1493
+ # example, `REGION==US East (N. Virginia)`. The `Expression` example
1494
+ # looks like:
926
1495
  #
927
1496
  # `\{ "Dimensions": \{ "Key": "REGION", "Values": [ "us-east-1",
928
1497
  # “us-west-1” ] \} \}`
@@ -989,6 +1558,7 @@ module Aws::CostExplorer
989
1558
  # cost_categories: {
990
1559
  # key: "CostCategoryName",
991
1560
  # values: ["Value"],
1561
+ # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
992
1562
  # },
993
1563
  # },
994
1564
  # ],
@@ -1016,6 +1586,7 @@ module Aws::CostExplorer
1016
1586
  # cost_categories: {
1017
1587
  # key: "CostCategoryName",
1018
1588
  # values: ["Value"],
1589
+ # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1019
1590
  # },
1020
1591
  # },
1021
1592
  # ],
@@ -1046,6 +1617,7 @@ module Aws::CostExplorer
1046
1617
  # cost_categories: {
1047
1618
  # key: "CostCategoryName",
1048
1619
  # values: ["Value"],
1620
+ # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1049
1621
  # },
1050
1622
  # },
1051
1623
  # dimensions: {
@@ -1061,6 +1633,7 @@ module Aws::CostExplorer
1061
1633
  # cost_categories: {
1062
1634
  # key: "CostCategoryName",
1063
1635
  # values: ["Value"],
1636
+ # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1064
1637
  # },
1065
1638
  # }
1066
1639
  #
@@ -1076,56 +1649,251 @@ module Aws::CostExplorer
1076
1649
  # Return results that don't match a `Dimension` object.
1077
1650
  # @return [Types::Expression]
1078
1651
  #
1079
- # @!attribute [rw] dimensions
1080
- # The specific `Dimension` to use for `Expression`.
1081
- # @return [Types::DimensionValues]
1652
+ # @!attribute [rw] dimensions
1653
+ # The specific `Dimension` to use for `Expression`.
1654
+ # @return [Types::DimensionValues]
1655
+ #
1656
+ # @!attribute [rw] tags
1657
+ # The specific `Tag` to use for `Expression`.
1658
+ # @return [Types::TagValues]
1659
+ #
1660
+ # @!attribute [rw] cost_categories
1661
+ # The filter based on `CostCategory` values.
1662
+ # @return [Types::CostCategoryValues]
1663
+ #
1664
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/Expression AWS API Documentation
1665
+ #
1666
+ class Expression < Struct.new(
1667
+ :or,
1668
+ :and,
1669
+ :not,
1670
+ :dimensions,
1671
+ :tags,
1672
+ :cost_categories)
1673
+ SENSITIVE = []
1674
+ include Aws::Structure
1675
+ end
1676
+
1677
+ # The forecast created for your query.
1678
+ #
1679
+ # @!attribute [rw] time_period
1680
+ # The period of time that the forecast covers.
1681
+ # @return [Types::DateInterval]
1682
+ #
1683
+ # @!attribute [rw] mean_value
1684
+ # The mean value of the forecast.
1685
+ # @return [String]
1686
+ #
1687
+ # @!attribute [rw] prediction_interval_lower_bound
1688
+ # The lower limit for the prediction interval.
1689
+ # @return [String]
1690
+ #
1691
+ # @!attribute [rw] prediction_interval_upper_bound
1692
+ # The upper limit for the prediction interval.
1693
+ # @return [String]
1694
+ #
1695
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/ForecastResult AWS API Documentation
1696
+ #
1697
+ class ForecastResult < Struct.new(
1698
+ :time_period,
1699
+ :mean_value,
1700
+ :prediction_interval_lower_bound,
1701
+ :prediction_interval_upper_bound)
1702
+ SENSITIVE = []
1703
+ include Aws::Structure
1704
+ end
1705
+
1706
+ # @note When making an API call, you may pass GetAnomaliesRequest
1707
+ # data as a hash:
1708
+ #
1709
+ # {
1710
+ # monitor_arn: "GenericString",
1711
+ # date_interval: { # required
1712
+ # start_date: "YearMonthDay", # required
1713
+ # end_date: "YearMonthDay",
1714
+ # },
1715
+ # feedback: "YES", # accepts YES, NO, PLANNED_ACTIVITY
1716
+ # total_impact: {
1717
+ # numeric_operator: "EQUAL", # required, accepts EQUAL, GREATER_THAN_OR_EQUAL, LESS_THAN_OR_EQUAL, GREATER_THAN, LESS_THAN, BETWEEN
1718
+ # start_value: 1.0, # required
1719
+ # end_value: 1.0,
1720
+ # },
1721
+ # next_page_token: "NextPageToken",
1722
+ # max_results: 1,
1723
+ # }
1724
+ #
1725
+ # @!attribute [rw] monitor_arn
1726
+ # Retrieves all of the cost anomalies detected for a specific cost
1727
+ # anomaly monitor Amazon Resource Name (ARN).
1728
+ # @return [String]
1729
+ #
1730
+ # @!attribute [rw] date_interval
1731
+ # Assigns the start and end dates for retrieving cost anomalies. The
1732
+ # returned anomaly object will have an `AnomalyEndDate` in the
1733
+ # specified time range.
1734
+ # @return [Types::AnomalyDateInterval]
1735
+ #
1736
+ # @!attribute [rw] feedback
1737
+ # Filters anomaly results by the feedback field on the anomaly object.
1738
+ # @return [String]
1739
+ #
1740
+ # @!attribute [rw] total_impact
1741
+ # Filters anomaly results by the total impact field on the anomaly
1742
+ # object. For example, you can filter anomalies `GREATER_THAN 200.00`
1743
+ # to retrieve anomalies, with an estimated dollar impact greater than
1744
+ # 200.
1745
+ # @return [Types::TotalImpactFilter]
1746
+ #
1747
+ # @!attribute [rw] next_page_token
1748
+ # The token to retrieve the next set of results. AWS provides the
1749
+ # token when the response from a previous call has more results than
1750
+ # the maximum page size.
1751
+ # @return [String]
1752
+ #
1753
+ # @!attribute [rw] max_results
1754
+ # The number of entries a paginated response contains.
1755
+ # @return [Integer]
1756
+ #
1757
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetAnomaliesRequest AWS API Documentation
1758
+ #
1759
+ class GetAnomaliesRequest < Struct.new(
1760
+ :monitor_arn,
1761
+ :date_interval,
1762
+ :feedback,
1763
+ :total_impact,
1764
+ :next_page_token,
1765
+ :max_results)
1766
+ SENSITIVE = []
1767
+ include Aws::Structure
1768
+ end
1769
+
1770
+ # @!attribute [rw] anomalies
1771
+ # A list of cost anomalies.
1772
+ # @return [Array<Types::Anomaly>]
1773
+ #
1774
+ # @!attribute [rw] next_page_token
1775
+ # The token to retrieve the next set of results. AWS provides the
1776
+ # token when the response from a previous call has more results than
1777
+ # the maximum page size.
1778
+ # @return [String]
1779
+ #
1780
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetAnomaliesResponse AWS API Documentation
1781
+ #
1782
+ class GetAnomaliesResponse < Struct.new(
1783
+ :anomalies,
1784
+ :next_page_token)
1785
+ SENSITIVE = []
1786
+ include Aws::Structure
1787
+ end
1788
+
1789
+ # @note When making an API call, you may pass GetAnomalyMonitorsRequest
1790
+ # data as a hash:
1791
+ #
1792
+ # {
1793
+ # monitor_arn_list: ["Value"],
1794
+ # next_page_token: "NextPageToken",
1795
+ # max_results: 1,
1796
+ # }
1797
+ #
1798
+ # @!attribute [rw] monitor_arn_list
1799
+ # A list of cost anomaly monitor ARNs.
1800
+ # @return [Array<String>]
1801
+ #
1802
+ # @!attribute [rw] next_page_token
1803
+ # The token to retrieve the next set of results. AWS provides the
1804
+ # token when the response from a previous call has more results than
1805
+ # the maximum page size.
1806
+ # @return [String]
1807
+ #
1808
+ # @!attribute [rw] max_results
1809
+ # The number of entries a paginated response contains.
1810
+ # @return [Integer]
1811
+ #
1812
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetAnomalyMonitorsRequest AWS API Documentation
1082
1813
  #
1083
- # @!attribute [rw] tags
1084
- # The specific `Tag` to use for `Expression`.
1085
- # @return [Types::TagValues]
1814
+ class GetAnomalyMonitorsRequest < Struct.new(
1815
+ :monitor_arn_list,
1816
+ :next_page_token,
1817
+ :max_results)
1818
+ SENSITIVE = []
1819
+ include Aws::Structure
1820
+ end
1821
+
1822
+ # @!attribute [rw] anomaly_monitors
1823
+ # A list of cost anomaly monitors that includes the detailed metadata
1824
+ # for each monitor.
1825
+ # @return [Array<Types::AnomalyMonitor>]
1086
1826
  #
1087
- # @!attribute [rw] cost_categories
1088
- # The filter based on `CostCategory` values.
1089
- # @return [Types::CostCategoryValues]
1827
+ # @!attribute [rw] next_page_token
1828
+ # The token to retrieve the next set of results. AWS provides the
1829
+ # token when the response from a previous call has more results than
1830
+ # the maximum page size.
1831
+ # @return [String]
1090
1832
  #
1091
- # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/Expression AWS API Documentation
1833
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetAnomalyMonitorsResponse AWS API Documentation
1092
1834
  #
1093
- class Expression < Struct.new(
1094
- :or,
1095
- :and,
1096
- :not,
1097
- :dimensions,
1098
- :tags,
1099
- :cost_categories)
1835
+ class GetAnomalyMonitorsResponse < Struct.new(
1836
+ :anomaly_monitors,
1837
+ :next_page_token)
1100
1838
  SENSITIVE = []
1101
1839
  include Aws::Structure
1102
1840
  end
1103
1841
 
1104
- # The forecast created for your query.
1842
+ # @note When making an API call, you may pass GetAnomalySubscriptionsRequest
1843
+ # data as a hash:
1105
1844
  #
1106
- # @!attribute [rw] time_period
1107
- # The period of time that the forecast covers.
1108
- # @return [Types::DateInterval]
1845
+ # {
1846
+ # subscription_arn_list: ["Value"],
1847
+ # monitor_arn: "GenericString",
1848
+ # next_page_token: "NextPageToken",
1849
+ # max_results: 1,
1850
+ # }
1109
1851
  #
1110
- # @!attribute [rw] mean_value
1111
- # The mean value of the forecast.
1852
+ # @!attribute [rw] subscription_arn_list
1853
+ # A list of cost anomaly subscription ARNs.
1854
+ # @return [Array<String>]
1855
+ #
1856
+ # @!attribute [rw] monitor_arn
1857
+ # Cost anomaly monitor ARNs.
1112
1858
  # @return [String]
1113
1859
  #
1114
- # @!attribute [rw] prediction_interval_lower_bound
1115
- # The lower limit for the prediction interval.
1860
+ # @!attribute [rw] next_page_token
1861
+ # The token to retrieve the next set of results. AWS provides the
1862
+ # token when the response from a previous call has more results than
1863
+ # the maximum page size.
1116
1864
  # @return [String]
1117
1865
  #
1118
- # @!attribute [rw] prediction_interval_upper_bound
1119
- # The upper limit for the prediction interval.
1866
+ # @!attribute [rw] max_results
1867
+ # The number of entries a paginated response contains.
1868
+ # @return [Integer]
1869
+ #
1870
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetAnomalySubscriptionsRequest AWS API Documentation
1871
+ #
1872
+ class GetAnomalySubscriptionsRequest < Struct.new(
1873
+ :subscription_arn_list,
1874
+ :monitor_arn,
1875
+ :next_page_token,
1876
+ :max_results)
1877
+ SENSITIVE = []
1878
+ include Aws::Structure
1879
+ end
1880
+
1881
+ # @!attribute [rw] anomaly_subscriptions
1882
+ # A list of cost anomaly subscriptions that includes the detailed
1883
+ # metadata for each one.
1884
+ # @return [Array<Types::AnomalySubscription>]
1885
+ #
1886
+ # @!attribute [rw] next_page_token
1887
+ # The token to retrieve the next set of results. AWS provides the
1888
+ # token when the response from a previous call has more results than
1889
+ # the maximum page size.
1120
1890
  # @return [String]
1121
1891
  #
1122
- # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/ForecastResult AWS API Documentation
1892
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetAnomalySubscriptionsResponse AWS API Documentation
1123
1893
  #
1124
- class ForecastResult < Struct.new(
1125
- :time_period,
1126
- :mean_value,
1127
- :prediction_interval_lower_bound,
1128
- :prediction_interval_upper_bound)
1894
+ class GetAnomalySubscriptionsResponse < Struct.new(
1895
+ :anomaly_subscriptions,
1896
+ :next_page_token)
1129
1897
  SENSITIVE = []
1130
1898
  include Aws::Structure
1131
1899
  end
@@ -1166,9 +1934,10 @@ module Aws::CostExplorer
1166
1934
  # cost_categories: {
1167
1935
  # key: "CostCategoryName",
1168
1936
  # values: ["Value"],
1937
+ # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1169
1938
  # },
1170
1939
  # },
1171
- # metrics: ["MetricName"],
1940
+ # metrics: ["MetricName"], # required
1172
1941
  # group_by: [
1173
1942
  # {
1174
1943
  # type: "DIMENSION", # accepts DIMENSION, TAG, COST_CATEGORY
@@ -1232,7 +2001,7 @@ module Aws::CostExplorer
1232
2001
  #
1233
2002
  # @!attribute [rw] group_by
1234
2003
  # You can group AWS costs using up to two different groups, either
1235
- # dimensions, tag keys, or both.
2004
+ # dimensions, tag keys, cost categories, or any two group by types.
1236
2005
  #
1237
2006
  # When you group by tag key, you get all tag values, including empty
1238
2007
  # strings.
@@ -1295,7 +2064,7 @@ module Aws::CostExplorer
1295
2064
  # end: "YearMonthDay", # required
1296
2065
  # },
1297
2066
  # granularity: "DAILY", # accepts DAILY, MONTHLY, HOURLY
1298
- # filter: {
2067
+ # filter: { # required
1299
2068
  # or: [
1300
2069
  # {
1301
2070
  # # recursive Expression
@@ -1322,6 +2091,7 @@ module Aws::CostExplorer
1322
2091
  # cost_categories: {
1323
2092
  # key: "CostCategoryName",
1324
2093
  # values: ["Value"],
2094
+ # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1325
2095
  # },
1326
2096
  # },
1327
2097
  # metrics: ["MetricName"],
@@ -1358,7 +2128,9 @@ module Aws::CostExplorer
1358
2128
  # of dimension filters. For more information, see [Expression][1].
1359
2129
  #
1360
2130
  # The `GetCostAndUsageWithResources` operation requires that you
1361
- # either group by or filter by a `ResourceId`.
2131
+ # either group by or filter by a `ResourceId`. It requires the
2132
+ # [Expression][1] `"SERVICE = Amazon Elastic Compute Cloud - Compute"`
2133
+ # in the filter.
1362
2134
  #
1363
2135
  #
1364
2136
  #
@@ -1477,13 +2249,16 @@ module Aws::CostExplorer
1477
2249
  # cost_categories: {
1478
2250
  # key: "CostCategoryName",
1479
2251
  # values: ["Value"],
2252
+ # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1480
2253
  # },
1481
2254
  # },
1482
2255
  # prediction_interval_level: 1,
1483
2256
  # }
1484
2257
  #
1485
2258
  # @!attribute [rw] time_period
1486
- # The period of time that you want the forecast to cover.
2259
+ # The period of time that you want the forecast to cover. The start
2260
+ # date must be equal to or no later than the current date to avoid a
2261
+ # validation error.
1487
2262
  # @return [Types::DateInterval]
1488
2263
  #
1489
2264
  # @!attribute [rw] metric
@@ -1643,6 +2418,8 @@ module Aws::CostExplorer
1643
2418
  # example is Amazon EC2: CloudWatch – Alarms. The response for this
1644
2419
  # operation includes a unit attribute.
1645
2420
  #
2421
+ # * REGION - The AWS Region.
2422
+ #
1646
2423
  # * RECORD\_TYPE - The different types of charges such as RI fees,
1647
2424
  # usage costs, tax refunds, and credits.
1648
2425
  #
@@ -1896,6 +2673,7 @@ module Aws::CostExplorer
1896
2673
  # cost_categories: {
1897
2674
  # key: "CostCategoryName",
1898
2675
  # values: ["Value"],
2676
+ # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
1899
2677
  # },
1900
2678
  # },
1901
2679
  # metrics: ["MetricName"],
@@ -2070,9 +2848,9 @@ module Aws::CostExplorer
2070
2848
  #
2071
2849
  # @!attribute [rw] account_scope
2072
2850
  # The account scope that you want your recommendations for. Amazon Web
2073
- # Services calculates recommendations including the payer account and
2074
- # linked accounts if the value is set to `PAYER`. If the value is
2075
- # `LINKED`, recommendations are calculated for individual linked
2851
+ # Services calculates recommendations including the master account and
2852
+ # member accounts if the value is set to `PAYER`. If the value is
2853
+ # `LINKED`, recommendations are calculated for individual member
2076
2854
  # accounts only.
2077
2855
  # @return [String]
2078
2856
  #
@@ -2186,6 +2964,7 @@ module Aws::CostExplorer
2186
2964
  # cost_categories: {
2187
2965
  # key: "CostCategoryName",
2188
2966
  # values: ["Value"],
2967
+ # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2189
2968
  # },
2190
2969
  # },
2191
2970
  # next_page_token: "NextPageToken",
@@ -2322,6 +3101,7 @@ module Aws::CostExplorer
2322
3101
  # cost_categories: {
2323
3102
  # key: "CostCategoryName",
2324
3103
  # values: ["Value"],
3104
+ # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2325
3105
  # },
2326
3106
  # },
2327
3107
  # configuration: {
@@ -2339,8 +3119,10 @@ module Aws::CostExplorer
2339
3119
  #
2340
3120
  # * Simple dimension values - You can set the dimension name and
2341
3121
  # values for the filters that you plan to use. For example, you can
2342
- # filter for `REGION==us-east-1 OR REGION==us-west-1`. The
2343
- # `Expression` for that looks like this:
3122
+ # filter for `REGION==us-east-1 OR REGION==us-west-1`. For
3123
+ # `GetRightsizingRecommendation`, the Region is a full name (for
3124
+ # example, `REGION==US East (N. Virginia)`. The `Expression` example
3125
+ # looks like:
2344
3126
  #
2345
3127
  # `\{ "Dimensions": \{ "Key": "REGION", "Values": [ "us-east-1",
2346
3128
  # “us-west-1” ] \} \}`
@@ -2497,6 +3279,7 @@ module Aws::CostExplorer
2497
3279
  # cost_categories: {
2498
3280
  # key: "CostCategoryName",
2499
3281
  # values: ["Value"],
3282
+ # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2500
3283
  # },
2501
3284
  # },
2502
3285
  # metrics: ["MetricName"],
@@ -2635,6 +3418,7 @@ module Aws::CostExplorer
2635
3418
  # cost_categories: {
2636
3419
  # key: "CostCategoryName",
2637
3420
  # values: ["Value"],
3421
+ # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2638
3422
  # },
2639
3423
  # },
2640
3424
  # }
@@ -2654,9 +3438,9 @@ module Aws::CostExplorer
2654
3438
  #
2655
3439
  # @!attribute [rw] account_scope
2656
3440
  # The account scope that you want your recommendations for. Amazon Web
2657
- # Services calculates recommendations including the payer account and
2658
- # linked accounts if the value is set to `PAYER`. If the value is
2659
- # `LINKED`, recommendations are calculated for individual linked
3441
+ # Services calculates recommendations including the master account and
3442
+ # member accounts if the value is set to `PAYER`. If the value is
3443
+ # `LINKED`, recommendations are calculated for individual member
2660
3444
  # accounts only.
2661
3445
  # @return [String]
2662
3446
  #
@@ -2765,6 +3549,7 @@ module Aws::CostExplorer
2765
3549
  # cost_categories: {
2766
3550
  # key: "CostCategoryName",
2767
3551
  # values: ["Value"],
3552
+ # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2768
3553
  # },
2769
3554
  # },
2770
3555
  # next_token: "NextPageToken",
@@ -2889,6 +3674,7 @@ module Aws::CostExplorer
2889
3674
  # cost_categories: {
2890
3675
  # key: "CostCategoryName",
2891
3676
  # values: ["Value"],
3677
+ # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
2892
3678
  # },
2893
3679
  # },
2894
3680
  # }
@@ -3074,6 +3860,7 @@ module Aws::CostExplorer
3074
3860
  # cost_categories: {
3075
3861
  # key: "CostCategoryName",
3076
3862
  # values: ["Value"],
3863
+ # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
3077
3864
  # },
3078
3865
  # },
3079
3866
  # prediction_interval_level: 1,
@@ -3085,7 +3872,8 @@ module Aws::CostExplorer
3085
3872
  # exclusive. For example, if `start` is `2017-01-01` and `end` is
3086
3873
  # `2017-05-01`, then the cost and usage data is retrieved from
3087
3874
  # `2017-01-01` up to and including `2017-04-30` but not including
3088
- # `2017-05-01`.
3875
+ # `2017-05-01`. The start date must be equal to or later than the
3876
+ # current date to avoid a validation error.
3089
3877
  # @return [Types::DateInterval]
3090
3878
  #
3091
3879
  # @!attribute [rw] metric
@@ -3198,6 +3986,25 @@ module Aws::CostExplorer
3198
3986
  include Aws::Structure
3199
3987
  end
3200
3988
 
3989
+ # The anomaly's dollar value.
3990
+ #
3991
+ # @!attribute [rw] max_impact
3992
+ # The maximum dollar value observed for an anomaly.
3993
+ # @return [Float]
3994
+ #
3995
+ # @!attribute [rw] total_impact
3996
+ # The cumulative dollar value observed for an anomaly.
3997
+ # @return [Float]
3998
+ #
3999
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/Impact AWS API Documentation
4000
+ #
4001
+ class Impact < Struct.new(
4002
+ :max_impact,
4003
+ :total_impact)
4004
+ SENSITIVE = []
4005
+ include Aws::Structure
4006
+ end
4007
+
3201
4008
  # Details about the instances that AWS recommends that you purchase.
3202
4009
  #
3203
4010
  # @!attribute [rw] ec2_instance_details
@@ -3333,8 +4140,8 @@ module Aws::CostExplorer
3333
4140
  # Details on the modification recommendation.
3334
4141
  #
3335
4142
  # @!attribute [rw] target_instances
3336
- # Identifies whether this instance type is the Amazon Web Services
3337
- # default recommendation.
4143
+ # Identifies whether this instance type is the AWS default
4144
+ # recommendation.
3338
4145
  # @return [Array<Types::TargetInstance>]
3339
4146
  #
3340
4147
  # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/ModifyRecommendationDetail AWS API Documentation
@@ -3345,6 +4152,44 @@ module Aws::CostExplorer
3345
4152
  include Aws::Structure
3346
4153
  end
3347
4154
 
4155
+ # @note When making an API call, you may pass ProvideAnomalyFeedbackRequest
4156
+ # data as a hash:
4157
+ #
4158
+ # {
4159
+ # anomaly_id: "GenericString", # required
4160
+ # feedback: "YES", # required, accepts YES, NO, PLANNED_ACTIVITY
4161
+ # }
4162
+ #
4163
+ # @!attribute [rw] anomaly_id
4164
+ # A cost anomaly ID.
4165
+ # @return [String]
4166
+ #
4167
+ # @!attribute [rw] feedback
4168
+ # Describes whether the cost anomaly was a planned activity or you
4169
+ # considered it an anomaly.
4170
+ # @return [String]
4171
+ #
4172
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/ProvideAnomalyFeedbackRequest AWS API Documentation
4173
+ #
4174
+ class ProvideAnomalyFeedbackRequest < Struct.new(
4175
+ :anomaly_id,
4176
+ :feedback)
4177
+ SENSITIVE = []
4178
+ include Aws::Structure
4179
+ end
4180
+
4181
+ # @!attribute [rw] anomaly_id
4182
+ # The ID of the modified cost anomaly.
4183
+ # @return [String]
4184
+ #
4185
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/ProvideAnomalyFeedbackResponse AWS API Documentation
4186
+ #
4187
+ class ProvideAnomalyFeedbackResponse < Struct.new(
4188
+ :anomaly_id)
4189
+ SENSITIVE = []
4190
+ include Aws::Structure
4191
+ end
4192
+
3348
4193
  # Details about the Amazon RDS instances that AWS recommends that you
3349
4194
  # purchase.
3350
4195
  #
@@ -3843,7 +4688,7 @@ module Aws::CostExplorer
3843
4688
  # Resource utilization of current resource.
3844
4689
  #
3845
4690
  # @!attribute [rw] ec2_resource_utilization
3846
- # Utilization of current Amazon EC2 Instance
4691
+ # Utilization of current Amazon EC2 instance.
3847
4692
  # @return [Types::EC2ResourceUtilization]
3848
4693
  #
3849
4694
  # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/ResourceUtilization AWS API Documentation
@@ -3959,12 +4804,12 @@ module Aws::CostExplorer
3959
4804
  # @return [String]
3960
4805
  #
3961
4806
  # @!attribute [rw] generation_timestamp
3962
- # The timestamp for when Amazon Web Services made this recommendation.
4807
+ # The timestamp for when AWS made this recommendation.
3963
4808
  # @return [String]
3964
4809
  #
3965
4810
  # @!attribute [rw] lookback_period_in_days
3966
- # How many days of previous usage that Amazon Web Services considers
3967
- # when making this recommendation.
4811
+ # How many days of previous usage that AWS considers when making this
4812
+ # recommendation.
3968
4813
  # @return [String]
3969
4814
  #
3970
4815
  # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/RightsizingRecommendationMetadata AWS API Documentation
@@ -3989,8 +4834,7 @@ module Aws::CostExplorer
3989
4834
  # @return [String]
3990
4835
  #
3991
4836
  # @!attribute [rw] savings_currency_code
3992
- # The currency code that Amazon Web Services used to calculate the
3993
- # savings.
4837
+ # The currency code that AWS used to calculate the savings.
3994
4838
  # @return [String]
3995
4839
  #
3996
4840
  # @!attribute [rw] savings_percentage
@@ -4009,6 +4853,36 @@ module Aws::CostExplorer
4009
4853
  include Aws::Structure
4010
4854
  end
4011
4855
 
4856
+ # The combination of AWS service, linked account, Region, and usage type
4857
+ # where a cost anomaly is observed.
4858
+ #
4859
+ # @!attribute [rw] service
4860
+ # The AWS service name associated with the cost anomaly.
4861
+ # @return [String]
4862
+ #
4863
+ # @!attribute [rw] region
4864
+ # The AWS Region associated with the cost anomaly.
4865
+ # @return [String]
4866
+ #
4867
+ # @!attribute [rw] linked_account
4868
+ # The linked account value associated with the cost anomaly.
4869
+ # @return [String]
4870
+ #
4871
+ # @!attribute [rw] usage_type
4872
+ # The `UsageType` value associated with the cost anomaly.
4873
+ # @return [String]
4874
+ #
4875
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/RootCause AWS API Documentation
4876
+ #
4877
+ class RootCause < Struct.new(
4878
+ :service,
4879
+ :region,
4880
+ :linked_account,
4881
+ :usage_type)
4882
+ SENSITIVE = []
4883
+ include Aws::Structure
4884
+ end
4885
+
4012
4886
  # The amortized amount of Savings Plans purchased in a specific account
4013
4887
  # during a specific time interval.
4014
4888
  #
@@ -4068,18 +4942,16 @@ module Aws::CostExplorer
4068
4942
  # Savings Plans, and total Savings Plans costs for an account.
4069
4943
  #
4070
4944
  # @!attribute [rw] spend_covered_by_savings_plans
4071
- # The amount of your Amazon Web Services usage that is covered by a
4072
- # Savings Plans.
4945
+ # The amount of your AWS usage that is covered by a Savings Plans.
4073
4946
  # @return [String]
4074
4947
  #
4075
4948
  # @!attribute [rw] on_demand_cost
4076
- # The cost of your Amazon Web Services usage at the public On-Demand
4077
- # rate.
4949
+ # The cost of your AWS usage at the public On-Demand rate.
4078
4950
  # @return [String]
4079
4951
  #
4080
4952
  # @!attribute [rw] total_cost
4081
- # The total cost of your Amazon Web Services usage, regardless of your
4082
- # purchase option.
4953
+ # The total cost of your AWS usage, regardless of your purchase
4954
+ # option.
4083
4955
  # @return [String]
4084
4956
  #
4085
4957
  # @!attribute [rw] coverage_percentage
@@ -4129,9 +5001,9 @@ module Aws::CostExplorer
4129
5001
  #
4130
5002
  # @!attribute [rw] account_scope
4131
5003
  # The account scope that you want your recommendations for. Amazon Web
4132
- # Services calculates recommendations including the payer account and
4133
- # linked accounts if the value is set to `PAYER`. If the value is
4134
- # `LINKED`, recommendations are calculated for individual linked
5004
+ # Services calculates recommendations including the master account and
5005
+ # member accounts if the value is set to `PAYER`. If the value is
5006
+ # `LINKED`, recommendations are calculated for individual member
4135
5007
  # accounts only.
4136
5008
  # @return [String]
4137
5009
  #
@@ -4197,8 +5069,8 @@ module Aws::CostExplorer
4197
5069
  # @return [String]
4198
5070
  #
4199
5071
  # @!attribute [rw] currency_code
4200
- # The currency code Amazon Web Services used to generate the
4201
- # recommendations and present potential savings.
5072
+ # The currency code AWS used to generate the recommendations and
5073
+ # present potential savings.
4202
5074
  # @return [String]
4203
5075
  #
4204
5076
  # @!attribute [rw] estimated_sp_cost
@@ -4306,8 +5178,8 @@ module Aws::CostExplorer
4306
5178
  # @return [String]
4307
5179
  #
4308
5180
  # @!attribute [rw] currency_code
4309
- # The currency code Amazon Web Services used to generate the
4310
- # recommendations and present potential savings.
5181
+ # The currency code AWS used to generate the recommendations and
5182
+ # present potential savings.
4311
5183
  # @return [String]
4312
5184
  #
4313
5185
  # @!attribute [rw] estimated_total_cost
@@ -4495,7 +5367,7 @@ module Aws::CostExplorer
4495
5367
  end
4496
5368
 
4497
5369
  # A single daily or monthly Savings Plans utilization rate, and details
4498
- # for your account. Master accounts in an organization have access to
5370
+ # for your account. A master account in an organization have access to
4499
5371
  # member accounts. You can use `GetDimensionValues` to determine the
4500
5372
  # possible dimension values.
4501
5373
  #
@@ -4537,7 +5409,7 @@ module Aws::CostExplorer
4537
5409
  end
4538
5410
 
4539
5411
  # You've reached the limit on the number of resources you can create,
4540
- # or exceeded the size of an individual resources.
5412
+ # or exceeded the size of an individual resource.
4541
5413
  #
4542
5414
  # @!attribute [rw] message
4543
5415
  # @return [String]
@@ -4575,6 +5447,40 @@ module Aws::CostExplorer
4575
5447
  include Aws::Structure
4576
5448
  end
4577
5449
 
5450
+ # The recipient of `AnomalySubscription` notifications.
5451
+ #
5452
+ # @note When making an API call, you may pass Subscriber
5453
+ # data as a hash:
5454
+ #
5455
+ # {
5456
+ # address: "SubscriberAddress",
5457
+ # type: "EMAIL", # accepts EMAIL, SNS
5458
+ # status: "CONFIRMED", # accepts CONFIRMED, DECLINED
5459
+ # }
5460
+ #
5461
+ # @!attribute [rw] address
5462
+ # The email address or SNS Amazon Resource Name (ARN), depending on
5463
+ # the `Type`.
5464
+ # @return [String]
5465
+ #
5466
+ # @!attribute [rw] type
5467
+ # The notification delivery channel.
5468
+ # @return [String]
5469
+ #
5470
+ # @!attribute [rw] status
5471
+ # Indicates if the subscriber accepts the notifications.
5472
+ # @return [String]
5473
+ #
5474
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/Subscriber AWS API Documentation
5475
+ #
5476
+ class Subscriber < Struct.new(
5477
+ :address,
5478
+ :type,
5479
+ :status)
5480
+ SENSITIVE = []
5481
+ include Aws::Structure
5482
+ end
5483
+
4578
5484
  # The values that are available for a tag.
4579
5485
  #
4580
5486
  # @note When making an API call, you may pass TagValues
@@ -4596,9 +5502,9 @@ module Aws::CostExplorer
4596
5502
  #
4597
5503
  # @!attribute [rw] match_options
4598
5504
  # The match options that you can use to filter your results.
4599
- # `MatchOptions` is only applicable for only applicable for actions
4600
- # related to Cost Category. The default values for `MatchOptions` is
4601
- # `EQUALS` and `CASE_SENSITIVE`.
5505
+ # `MatchOptions` is only applicable for actions related to Cost
5506
+ # Category. The default values for `MatchOptions` are `EQUALS` and
5507
+ # `CASE_SENSITIVE`.
4602
5508
  # @return [Array<String>]
4603
5509
  #
4604
5510
  # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/TagValues AWS API Documentation
@@ -4622,13 +5528,13 @@ module Aws::CostExplorer
4622
5528
  # @return [String]
4623
5529
  #
4624
5530
  # @!attribute [rw] currency_code
4625
- # The currency code that Amazon Web Services used to calculate the
4626
- # costs for this instance.
5531
+ # The currency code that AWS used to calculate the costs for this
5532
+ # instance.
4627
5533
  # @return [String]
4628
5534
  #
4629
5535
  # @!attribute [rw] default_target_instance
4630
- # Indicates whether or not this recommendation is the defaulted Amazon
4631
- # Web Services recommendation.
5536
+ # Indicates whether this recommendation is the defaulted AWS
5537
+ # recommendation.
4632
5538
  # @return [Boolean]
4633
5539
  #
4634
5540
  # @!attribute [rw] resource_details
@@ -4659,8 +5565,8 @@ module Aws::CostExplorer
4659
5565
  # @return [String]
4660
5566
  #
4661
5567
  # @!attribute [rw] currency_code
4662
- # The currency code that Amazon Web Services used to calculate the
4663
- # costs for this instance.
5568
+ # The currency code that AWS used to calculate the costs for this
5569
+ # instance.
4664
5570
  # @return [String]
4665
5571
  #
4666
5572
  # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/TerminateRecommendationDetail AWS API Documentation
@@ -4672,6 +5578,65 @@ module Aws::CostExplorer
4672
5578
  include Aws::Structure
4673
5579
  end
4674
5580
 
5581
+ # Filters cost anomalies based on the total impact.
5582
+ #
5583
+ # @note When making an API call, you may pass TotalImpactFilter
5584
+ # data as a hash:
5585
+ #
5586
+ # {
5587
+ # numeric_operator: "EQUAL", # required, accepts EQUAL, GREATER_THAN_OR_EQUAL, LESS_THAN_OR_EQUAL, GREATER_THAN, LESS_THAN, BETWEEN
5588
+ # start_value: 1.0, # required
5589
+ # end_value: 1.0,
5590
+ # }
5591
+ #
5592
+ # @!attribute [rw] numeric_operator
5593
+ # The comparing value used in the filter.
5594
+ # @return [String]
5595
+ #
5596
+ # @!attribute [rw] start_value
5597
+ # The lower bound dollar value used in the filter.
5598
+ # @return [Float]
5599
+ #
5600
+ # @!attribute [rw] end_value
5601
+ # The upper bound dollar value used in the filter.
5602
+ # @return [Float]
5603
+ #
5604
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/TotalImpactFilter AWS API Documentation
5605
+ #
5606
+ class TotalImpactFilter < Struct.new(
5607
+ :numeric_operator,
5608
+ :start_value,
5609
+ :end_value)
5610
+ SENSITIVE = []
5611
+ include Aws::Structure
5612
+ end
5613
+
5614
+ # The cost anomaly monitor does not exist for the account.
5615
+ #
5616
+ # @!attribute [rw] message
5617
+ # @return [String]
5618
+ #
5619
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/UnknownMonitorException AWS API Documentation
5620
+ #
5621
+ class UnknownMonitorException < Struct.new(
5622
+ :message)
5623
+ SENSITIVE = []
5624
+ include Aws::Structure
5625
+ end
5626
+
5627
+ # The cost anomaly subscription does not exist for the account.
5628
+ #
5629
+ # @!attribute [rw] message
5630
+ # @return [String]
5631
+ #
5632
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/UnknownSubscriptionException AWS API Documentation
5633
+ #
5634
+ class UnknownSubscriptionException < Struct.new(
5635
+ :message)
5636
+ SENSITIVE = []
5637
+ include Aws::Structure
5638
+ end
5639
+
4675
5640
  # Cost Explorer was unable to identify the usage unit. Provide
4676
5641
  # `UsageType/UsageTypeGroup` filter selections that contain matching
4677
5642
  # units, for example: `hours`.
@@ -4687,6 +5652,111 @@ module Aws::CostExplorer
4687
5652
  include Aws::Structure
4688
5653
  end
4689
5654
 
5655
+ # @note When making an API call, you may pass UpdateAnomalyMonitorRequest
5656
+ # data as a hash:
5657
+ #
5658
+ # {
5659
+ # monitor_arn: "GenericString", # required
5660
+ # monitor_name: "GenericString",
5661
+ # }
5662
+ #
5663
+ # @!attribute [rw] monitor_arn
5664
+ # Cost anomaly monitor Amazon Resource Names (ARNs).
5665
+ # @return [String]
5666
+ #
5667
+ # @!attribute [rw] monitor_name
5668
+ # The new name for the cost anomaly monitor.
5669
+ # @return [String]
5670
+ #
5671
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/UpdateAnomalyMonitorRequest AWS API Documentation
5672
+ #
5673
+ class UpdateAnomalyMonitorRequest < Struct.new(
5674
+ :monitor_arn,
5675
+ :monitor_name)
5676
+ SENSITIVE = []
5677
+ include Aws::Structure
5678
+ end
5679
+
5680
+ # @!attribute [rw] monitor_arn
5681
+ # A cost anomaly monitor ARN.
5682
+ # @return [String]
5683
+ #
5684
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/UpdateAnomalyMonitorResponse AWS API Documentation
5685
+ #
5686
+ class UpdateAnomalyMonitorResponse < Struct.new(
5687
+ :monitor_arn)
5688
+ SENSITIVE = []
5689
+ include Aws::Structure
5690
+ end
5691
+
5692
+ # @note When making an API call, you may pass UpdateAnomalySubscriptionRequest
5693
+ # data as a hash:
5694
+ #
5695
+ # {
5696
+ # subscription_arn: "GenericString", # required
5697
+ # threshold: 1.0,
5698
+ # frequency: "DAILY", # accepts DAILY, IMMEDIATE, WEEKLY
5699
+ # monitor_arn_list: ["Value"],
5700
+ # subscribers: [
5701
+ # {
5702
+ # address: "SubscriberAddress",
5703
+ # type: "EMAIL", # accepts EMAIL, SNS
5704
+ # status: "CONFIRMED", # accepts CONFIRMED, DECLINED
5705
+ # },
5706
+ # ],
5707
+ # subscription_name: "GenericString",
5708
+ # }
5709
+ #
5710
+ # @!attribute [rw] subscription_arn
5711
+ # A cost anomaly subscription Amazon Resource Name (ARN).
5712
+ # @return [String]
5713
+ #
5714
+ # @!attribute [rw] threshold
5715
+ # The update to the threshold value for receiving notifications.
5716
+ # @return [Float]
5717
+ #
5718
+ # @!attribute [rw] frequency
5719
+ # The update to the frequency value at which subscribers will receive
5720
+ # notifications.
5721
+ # @return [String]
5722
+ #
5723
+ # @!attribute [rw] monitor_arn_list
5724
+ # A list of cost anomaly subscription ARNs.
5725
+ # @return [Array<String>]
5726
+ #
5727
+ # @!attribute [rw] subscribers
5728
+ # The update to the subscriber list.
5729
+ # @return [Array<Types::Subscriber>]
5730
+ #
5731
+ # @!attribute [rw] subscription_name
5732
+ # The subscription's new name.
5733
+ # @return [String]
5734
+ #
5735
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/UpdateAnomalySubscriptionRequest AWS API Documentation
5736
+ #
5737
+ class UpdateAnomalySubscriptionRequest < Struct.new(
5738
+ :subscription_arn,
5739
+ :threshold,
5740
+ :frequency,
5741
+ :monitor_arn_list,
5742
+ :subscribers,
5743
+ :subscription_name)
5744
+ SENSITIVE = []
5745
+ include Aws::Structure
5746
+ end
5747
+
5748
+ # @!attribute [rw] subscription_arn
5749
+ # A cost anomaly subscription ARN.
5750
+ # @return [String]
5751
+ #
5752
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/UpdateAnomalySubscriptionResponse AWS API Documentation
5753
+ #
5754
+ class UpdateAnomalySubscriptionResponse < Struct.new(
5755
+ :subscription_arn)
5756
+ SENSITIVE = []
5757
+ include Aws::Structure
5758
+ end
5759
+
4690
5760
  # @note When making an API call, you may pass UpdateCostCategoryDefinitionRequest
4691
5761
  # data as a hash:
4692
5762
  #
@@ -4723,6 +5793,7 @@ module Aws::CostExplorer
4723
5793
  # cost_categories: {
4724
5794
  # key: "CostCategoryName",
4725
5795
  # values: ["Value"],
5796
+ # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
4726
5797
  # },
4727
5798
  # },
4728
5799
  # },