aws-sdk-costexplorer 1.44.0 → 1.49.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,322 @@
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
+ # },
141
+ # },
142
+ # dimensional_value_count: 1,
143
+ # }
144
+ #
145
+ # @!attribute [rw] monitor_arn
146
+ # The Amazon Resource Name (ARN) value.
147
+ # @return [String]
148
+ #
149
+ # @!attribute [rw] monitor_name
150
+ # The name of the monitor.
151
+ # @return [String]
152
+ #
153
+ # @!attribute [rw] creation_date
154
+ # The date when the monitor was created.
155
+ # @return [String]
156
+ #
157
+ # @!attribute [rw] last_updated_date
158
+ # The date when the monitor was last updated.
159
+ # @return [String]
160
+ #
161
+ # @!attribute [rw] last_evaluated_date
162
+ # The date when the monitor last evaluated for anomalies.
163
+ # @return [String]
164
+ #
165
+ # @!attribute [rw] monitor_type
166
+ # The possible type values.
167
+ # @return [String]
168
+ #
169
+ # @!attribute [rw] monitor_dimension
170
+ # The dimensions to evaluate.
171
+ # @return [String]
172
+ #
173
+ # @!attribute [rw] monitor_specification
174
+ # Use `Expression` to filter by cost or by usage. There are two
175
+ # patterns:
176
+ #
177
+ # * Simple dimension values - You can set the dimension name and
178
+ # values for the filters that you plan to use. For example, you can
179
+ # filter for `REGION==us-east-1 OR REGION==us-west-1`. The
180
+ # `Expression` for that looks like this:
181
+ #
182
+ # `\{ "Dimensions": \{ "Key": "REGION", "Values": [ "us-east-1",
183
+ # “us-west-1” ] \} \}`
184
+ #
185
+ # The list of dimension values are OR'd together to retrieve cost
186
+ # or usage data. You can create `Expression` and `DimensionValues`
187
+ # objects using either `with*` methods or `set*` methods in multiple
188
+ # lines.
189
+ #
190
+ # * Compound dimension values with logical operations - You can use
191
+ # multiple `Expression` types and the logical operators `AND/OR/NOT`
192
+ # to create a list of one or more `Expression` objects. This allows
193
+ # you to filter on more advanced options. For example, you can
194
+ # filter on `((REGION == us-east-1 OR REGION == us-west-1) OR
195
+ # (TAG.Type == Type1)) AND (USAGE_TYPE != DataTransfer)`. The
196
+ # `Expression` for that looks like this:
197
+ #
198
+ # `\{ "And": [ \{"Or": [ \{"Dimensions": \{ "Key": "REGION",
199
+ # "Values": [ "us-east-1", "us-west-1" ] \}\}, \{"Tags": \{ "Key":
200
+ # "TagName", "Values": ["Value1"] \} \} ]\}, \{"Not":
201
+ # \{"Dimensions": \{ "Key": "USAGE_TYPE", "Values": ["DataTransfer"]
202
+ # \}\}\} ] \} `
203
+ #
204
+ # <note markdown="1"> Because each `Expression` can have only one operator, the service
205
+ # returns an error if more than one is specified. The following
206
+ # example shows an `Expression` object that creates an error.
207
+ #
208
+ # </note>
209
+ #
210
+ # ` \{ "And": [ ... ], "DimensionValues": \{ "Dimension":
211
+ # "USAGE_TYPE", "Values": [ "DataTransfer" ] \} \} `
212
+ #
213
+ # <note markdown="1"> For `GetRightsizingRecommendation` action, a combination of OR and
214
+ # NOT is not supported. OR is not supported between different
215
+ # dimensions, or dimensions and tags. NOT operators aren't supported.
216
+ # Dimensions are also limited to `LINKED_ACCOUNT`, `REGION`, or
217
+ # `RIGHTSIZING_TYPE`.
218
+ #
219
+ # </note>
220
+ # @return [Types::Expression]
221
+ #
222
+ # @!attribute [rw] dimensional_value_count
223
+ # The value for evaluated dimensions.
224
+ # @return [Integer]
225
+ #
226
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/AnomalyMonitor AWS API Documentation
227
+ #
228
+ class AnomalyMonitor < Struct.new(
229
+ :monitor_arn,
230
+ :monitor_name,
231
+ :creation_date,
232
+ :last_updated_date,
233
+ :last_evaluated_date,
234
+ :monitor_type,
235
+ :monitor_dimension,
236
+ :monitor_specification,
237
+ :dimensional_value_count)
238
+ SENSITIVE = []
239
+ include Aws::Structure
240
+ end
241
+
242
+ # Quantifies the anomaly. The higher score means that it is more
243
+ # anomalous.
244
+ #
245
+ # @!attribute [rw] max_score
246
+ # The maximum score observed during the `AnomalyDateInterval`.
247
+ # @return [Float]
248
+ #
249
+ # @!attribute [rw] current_score
250
+ # The last observed score.
251
+ # @return [Float]
252
+ #
253
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/AnomalyScore AWS API Documentation
254
+ #
255
+ class AnomalyScore < Struct.new(
256
+ :max_score,
257
+ :current_score)
258
+ SENSITIVE = []
259
+ include Aws::Structure
260
+ end
261
+
262
+ # The association between a monitor, threshold, and list of subscribers
263
+ # used to deliver notifications about anomalies detected by a monitor
264
+ # that exceeds a threshold. The content consists of the detailed
265
+ # metadata and the current status of the `AnomalySubscription` object.
266
+ #
267
+ # @note When making an API call, you may pass AnomalySubscription
268
+ # data as a hash:
269
+ #
270
+ # {
271
+ # subscription_arn: "GenericString",
272
+ # account_id: "GenericString",
273
+ # monitor_arn_list: ["Value"], # required
274
+ # subscribers: [ # required
275
+ # {
276
+ # address: "SubscriberAddress",
277
+ # type: "EMAIL", # accepts EMAIL, SNS
278
+ # status: "CONFIRMED", # accepts CONFIRMED, DECLINED
279
+ # },
280
+ # ],
281
+ # threshold: 1.0, # required
282
+ # frequency: "DAILY", # required, accepts DAILY, IMMEDIATE, WEEKLY
283
+ # subscription_name: "GenericString", # required
284
+ # }
285
+ #
286
+ # @!attribute [rw] subscription_arn
287
+ # The `AnomalySubscription` Amazon Resource Name (ARN).
288
+ # @return [String]
289
+ #
290
+ # @!attribute [rw] account_id
291
+ # Your unique account identifier.
292
+ # @return [String]
293
+ #
294
+ # @!attribute [rw] monitor_arn_list
295
+ # A list of cost anomaly monitors.
296
+ # @return [Array<String>]
297
+ #
298
+ # @!attribute [rw] subscribers
299
+ # A list of subscribers to notify.
300
+ # @return [Array<Types::Subscriber>]
301
+ #
302
+ # @!attribute [rw] threshold
303
+ # The dollar value that triggers a notification if the threshold is
304
+ # exceeded.
305
+ # @return [Float]
306
+ #
307
+ # @!attribute [rw] frequency
308
+ # The frequency at which anomaly reports are sent over email.
309
+ # @return [String]
310
+ #
311
+ # @!attribute [rw] subscription_name
312
+ # The name for the subscription.
313
+ # @return [String]
314
+ #
315
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/AnomalySubscription AWS API Documentation
316
+ #
317
+ class AnomalySubscription < Struct.new(
318
+ :subscription_arn,
319
+ :account_id,
320
+ :monitor_arn_list,
321
+ :subscribers,
322
+ :threshold,
323
+ :frequency,
324
+ :subscription_name)
325
+ SENSITIVE = []
326
+ include Aws::Structure
327
+ end
328
+
13
329
  # The requested report expired. Update the date interval and try again.
14
330
  #
15
331
  # @!attribute [rw] message
@@ -150,7 +466,7 @@ module Aws::CostExplorer
150
466
  #
151
467
  # @!attribute [rw] rule
152
468
  # An [Expression][1] object used to categorize costs. This supports
153
- # dimensions, Tags, and nested expressions. Currently the only
469
+ # dimensions, tags, and nested expressions. Currently the only
154
470
  # dimensions supported are `LINKED_ACCOUNT`, `SERVICE_CODE`,
155
471
  # `RECORD_TYPE`, and `LINKED_ACCOUNT_NAME`.
156
472
  #
@@ -345,6 +661,122 @@ module Aws::CostExplorer
345
661
  include Aws::Structure
346
662
  end
347
663
 
664
+ # @note When making an API call, you may pass CreateAnomalyMonitorRequest
665
+ # data as a hash:
666
+ #
667
+ # {
668
+ # anomaly_monitor: { # required
669
+ # monitor_arn: "GenericString",
670
+ # monitor_name: "GenericString", # required
671
+ # creation_date: "YearMonthDay",
672
+ # last_updated_date: "YearMonthDay",
673
+ # last_evaluated_date: "YearMonthDay",
674
+ # monitor_type: "DIMENSIONAL", # required, accepts DIMENSIONAL, CUSTOM
675
+ # monitor_dimension: "SERVICE", # accepts SERVICE
676
+ # monitor_specification: {
677
+ # or: [
678
+ # {
679
+ # # recursive Expression
680
+ # },
681
+ # ],
682
+ # and: [
683
+ # {
684
+ # # recursive Expression
685
+ # },
686
+ # ],
687
+ # not: {
688
+ # # recursive Expression
689
+ # },
690
+ # dimensions: {
691
+ # 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
692
+ # values: ["Value"],
693
+ # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
694
+ # },
695
+ # tags: {
696
+ # key: "TagKey",
697
+ # values: ["Value"],
698
+ # match_options: ["EQUALS"], # accepts EQUALS, STARTS_WITH, ENDS_WITH, CONTAINS, CASE_SENSITIVE, CASE_INSENSITIVE
699
+ # },
700
+ # cost_categories: {
701
+ # key: "CostCategoryName",
702
+ # values: ["Value"],
703
+ # },
704
+ # },
705
+ # dimensional_value_count: 1,
706
+ # },
707
+ # }
708
+ #
709
+ # @!attribute [rw] anomaly_monitor
710
+ # The cost anomaly detection monitor object that you want to create.
711
+ # @return [Types::AnomalyMonitor]
712
+ #
713
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/CreateAnomalyMonitorRequest AWS API Documentation
714
+ #
715
+ class CreateAnomalyMonitorRequest < Struct.new(
716
+ :anomaly_monitor)
717
+ SENSITIVE = []
718
+ include Aws::Structure
719
+ end
720
+
721
+ # @!attribute [rw] monitor_arn
722
+ # The unique identifier of your newly created cost anomaly detection
723
+ # monitor.
724
+ # @return [String]
725
+ #
726
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/CreateAnomalyMonitorResponse AWS API Documentation
727
+ #
728
+ class CreateAnomalyMonitorResponse < Struct.new(
729
+ :monitor_arn)
730
+ SENSITIVE = []
731
+ include Aws::Structure
732
+ end
733
+
734
+ # @note When making an API call, you may pass CreateAnomalySubscriptionRequest
735
+ # data as a hash:
736
+ #
737
+ # {
738
+ # anomaly_subscription: { # required
739
+ # subscription_arn: "GenericString",
740
+ # account_id: "GenericString",
741
+ # monitor_arn_list: ["Value"], # required
742
+ # subscribers: [ # required
743
+ # {
744
+ # address: "SubscriberAddress",
745
+ # type: "EMAIL", # accepts EMAIL, SNS
746
+ # status: "CONFIRMED", # accepts CONFIRMED, DECLINED
747
+ # },
748
+ # ],
749
+ # threshold: 1.0, # required
750
+ # frequency: "DAILY", # required, accepts DAILY, IMMEDIATE, WEEKLY
751
+ # subscription_name: "GenericString", # required
752
+ # },
753
+ # }
754
+ #
755
+ # @!attribute [rw] anomaly_subscription
756
+ # The cost anomaly subscription object that you want to create.
757
+ # @return [Types::AnomalySubscription]
758
+ #
759
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/CreateAnomalySubscriptionRequest AWS API Documentation
760
+ #
761
+ class CreateAnomalySubscriptionRequest < Struct.new(
762
+ :anomaly_subscription)
763
+ SENSITIVE = []
764
+ include Aws::Structure
765
+ end
766
+
767
+ # @!attribute [rw] subscription_arn
768
+ # The unique identifier of your newly created cost anomaly
769
+ # subscription.
770
+ # @return [String]
771
+ #
772
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/CreateAnomalySubscriptionResponse AWS API Documentation
773
+ #
774
+ class CreateAnomalySubscriptionResponse < Struct.new(
775
+ :subscription_arn)
776
+ SENSITIVE = []
777
+ include Aws::Structure
778
+ end
779
+
348
780
  # @note When making an API call, you may pass CreateCostCategoryDefinitionRequest
349
781
  # data as a hash:
350
782
  #
@@ -437,6 +869,11 @@ module Aws::CostExplorer
437
869
  # Resource ID of the current instance.
438
870
  # @return [String]
439
871
  #
872
+ # @!attribute [rw] instance_name
873
+ # The name you've given an instance. This field will show as blank if
874
+ # you haven't given the instance a name.
875
+ # @return [String]
876
+ #
440
877
  # @!attribute [rw] tags
441
878
  # Cost allocation resource tags applied to the instance.
442
879
  # @return [Array<Types::TagValues>]
@@ -459,7 +896,7 @@ module Aws::CostExplorer
459
896
  # @return [String]
460
897
  #
461
898
  # @!attribute [rw] on_demand_hours_in_lookback_period
462
- # Number of hours during the lookback period billed at On Demand
899
+ # Number of hours during the lookback period billed at On-Demand
463
900
  # rates.
464
901
  # @return [String]
465
902
  #
@@ -469,19 +906,20 @@ module Aws::CostExplorer
469
906
  # @return [String]
470
907
  #
471
908
  # @!attribute [rw] monthly_cost
472
- # Current On Demand cost of operating this instance on a monthly
909
+ # Current On-Demand cost of operating this instance on a monthly
473
910
  # basis.
474
911
  # @return [String]
475
912
  #
476
913
  # @!attribute [rw] currency_code
477
- # The currency code that Amazon Web Services used to calculate the
478
- # costs for this instance.
914
+ # The currency code that AWS used to calculate the costs for this
915
+ # instance.
479
916
  # @return [String]
480
917
  #
481
918
  # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/CurrentInstance AWS API Documentation
482
919
  #
483
920
  class CurrentInstance < Struct.new(
484
921
  :resource_id,
922
+ :instance_name,
485
923
  :tags,
486
924
  :resource_details,
487
925
  :resource_utilization,
@@ -541,6 +979,54 @@ module Aws::CostExplorer
541
979
  include Aws::Structure
542
980
  end
543
981
 
982
+ # @note When making an API call, you may pass DeleteAnomalyMonitorRequest
983
+ # data as a hash:
984
+ #
985
+ # {
986
+ # monitor_arn: "GenericString", # required
987
+ # }
988
+ #
989
+ # @!attribute [rw] monitor_arn
990
+ # The unique identifier of the cost anomaly monitor that you want to
991
+ # delete.
992
+ # @return [String]
993
+ #
994
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/DeleteAnomalyMonitorRequest AWS API Documentation
995
+ #
996
+ class DeleteAnomalyMonitorRequest < Struct.new(
997
+ :monitor_arn)
998
+ SENSITIVE = []
999
+ include Aws::Structure
1000
+ end
1001
+
1002
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/DeleteAnomalyMonitorResponse AWS API Documentation
1003
+ #
1004
+ class DeleteAnomalyMonitorResponse < Aws::EmptyStructure; end
1005
+
1006
+ # @note When making an API call, you may pass DeleteAnomalySubscriptionRequest
1007
+ # data as a hash:
1008
+ #
1009
+ # {
1010
+ # subscription_arn: "GenericString", # required
1011
+ # }
1012
+ #
1013
+ # @!attribute [rw] subscription_arn
1014
+ # The unique identifier of the cost anomaly subscription that you want
1015
+ # to delete.
1016
+ # @return [String]
1017
+ #
1018
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/DeleteAnomalySubscriptionRequest AWS API Documentation
1019
+ #
1020
+ class DeleteAnomalySubscriptionRequest < Struct.new(
1021
+ :subscription_arn)
1022
+ SENSITIVE = []
1023
+ include Aws::Structure
1024
+ end
1025
+
1026
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/DeleteAnomalySubscriptionResponse AWS API Documentation
1027
+ #
1028
+ class DeleteAnomalySubscriptionResponse < Aws::EmptyStructure; end
1029
+
544
1030
  # @note When making an API call, you may pass DeleteCostCategoryDefinitionRequest
545
1031
  # data as a hash:
546
1032
  #
@@ -643,7 +1129,7 @@ module Aws::CostExplorer
643
1129
  # @!attribute [rw] match_options
644
1130
  # The match options that you can use to filter your results.
645
1131
  # `MatchOptions` is only applicable for actions related to Cost
646
- # Category. The default values for `MatchOptions` is `EQUALS` and
1132
+ # Category. The default values for `MatchOptions` are `EQUALS` and
647
1133
  # `CASE_SENSITIVE`.
648
1134
  # @return [Array<String>]
649
1135
  #
@@ -733,21 +1219,21 @@ module Aws::CostExplorer
733
1219
  # Details on the Amazon EC2 Resource.
734
1220
  #
735
1221
  # @!attribute [rw] hourly_on_demand_rate
736
- # Hourly public On Demand rate for the instance type.
1222
+ # Hourly public On-Demand rate for the instance type.
737
1223
  # @return [String]
738
1224
  #
739
1225
  # @!attribute [rw] instance_type
740
- # The type of Amazon Web Services instance.
1226
+ # The type of AWS instance.
741
1227
  # @return [String]
742
1228
  #
743
1229
  # @!attribute [rw] platform
744
- # The platform of the Amazon Web Services instance. The platform is
745
- # the specific combination of operating system, license model, and
746
- # software on an instance.
1230
+ # The platform of the AWS instance. The platform is the specific
1231
+ # combination of operating system, license model, and software on an
1232
+ # instance.
747
1233
  # @return [String]
748
1234
  #
749
1235
  # @!attribute [rw] region
750
- # The Amazon Web Services Region of the instance.
1236
+ # The AWS Region of the instance.
751
1237
  # @return [String]
752
1238
  #
753
1239
  # @!attribute [rw] sku
@@ -755,20 +1241,19 @@ module Aws::CostExplorer
755
1241
  # @return [String]
756
1242
  #
757
1243
  # @!attribute [rw] memory
758
- # Memory capacity of Amazon Web Services instance.
1244
+ # Memory capacity of the AWS instance.
759
1245
  # @return [String]
760
1246
  #
761
1247
  # @!attribute [rw] network_performance
762
- # Network performance capacity of the Amazon Web Services instance.
1248
+ # Network performance capacity of the AWS instance.
763
1249
  # @return [String]
764
1250
  #
765
1251
  # @!attribute [rw] storage
766
- # The disk storage of the Amazon Web Services instance (Not EBS
767
- # storage).
1252
+ # The disk storage of the AWS instance (not EBS storage).
768
1253
  # @return [String]
769
1254
  #
770
1255
  # @!attribute [rw] vcpu
771
- # Number of VCPU cores in the Amazon Web Services instance type.
1256
+ # Number of VCPU cores in the AWS instance type.
772
1257
  # @return [String]
773
1258
  #
774
1259
  # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/EC2ResourceDetails AWS API Documentation
@@ -1066,60 +1551,255 @@ module Aws::CostExplorer
1066
1551
  # Return results that match both `Dimension` objects.
1067
1552
  # @return [Array<Types::Expression>]
1068
1553
  #
1069
- # @!attribute [rw] not
1070
- # Return results that don't match a `Dimension` object.
1071
- # @return [Types::Expression]
1554
+ # @!attribute [rw] not
1555
+ # Return results that don't match a `Dimension` object.
1556
+ # @return [Types::Expression]
1557
+ #
1558
+ # @!attribute [rw] dimensions
1559
+ # The specific `Dimension` to use for `Expression`.
1560
+ # @return [Types::DimensionValues]
1561
+ #
1562
+ # @!attribute [rw] tags
1563
+ # The specific `Tag` to use for `Expression`.
1564
+ # @return [Types::TagValues]
1565
+ #
1566
+ # @!attribute [rw] cost_categories
1567
+ # The filter based on `CostCategory` values.
1568
+ # @return [Types::CostCategoryValues]
1569
+ #
1570
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/Expression AWS API Documentation
1571
+ #
1572
+ class Expression < Struct.new(
1573
+ :or,
1574
+ :and,
1575
+ :not,
1576
+ :dimensions,
1577
+ :tags,
1578
+ :cost_categories)
1579
+ SENSITIVE = []
1580
+ include Aws::Structure
1581
+ end
1582
+
1583
+ # The forecast created for your query.
1584
+ #
1585
+ # @!attribute [rw] time_period
1586
+ # The period of time that the forecast covers.
1587
+ # @return [Types::DateInterval]
1588
+ #
1589
+ # @!attribute [rw] mean_value
1590
+ # The mean value of the forecast.
1591
+ # @return [String]
1592
+ #
1593
+ # @!attribute [rw] prediction_interval_lower_bound
1594
+ # The lower limit for the prediction interval.
1595
+ # @return [String]
1596
+ #
1597
+ # @!attribute [rw] prediction_interval_upper_bound
1598
+ # The upper limit for the prediction interval.
1599
+ # @return [String]
1600
+ #
1601
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/ForecastResult AWS API Documentation
1602
+ #
1603
+ class ForecastResult < Struct.new(
1604
+ :time_period,
1605
+ :mean_value,
1606
+ :prediction_interval_lower_bound,
1607
+ :prediction_interval_upper_bound)
1608
+ SENSITIVE = []
1609
+ include Aws::Structure
1610
+ end
1611
+
1612
+ # @note When making an API call, you may pass GetAnomaliesRequest
1613
+ # data as a hash:
1614
+ #
1615
+ # {
1616
+ # monitor_arn: "GenericString",
1617
+ # date_interval: { # required
1618
+ # start_date: "YearMonthDay", # required
1619
+ # end_date: "YearMonthDay",
1620
+ # },
1621
+ # feedback: "YES", # accepts YES, NO, PLANNED_ACTIVITY
1622
+ # total_impact: {
1623
+ # numeric_operator: "EQUAL", # required, accepts EQUAL, GREATER_THAN_OR_EQUAL, LESS_THAN_OR_EQUAL, GREATER_THAN, LESS_THAN, BETWEEN
1624
+ # start_value: 1.0, # required
1625
+ # end_value: 1.0,
1626
+ # },
1627
+ # next_page_token: "NextPageToken",
1628
+ # max_results: 1,
1629
+ # }
1630
+ #
1631
+ # @!attribute [rw] monitor_arn
1632
+ # Retrieves all of the cost anomalies detected for a specific cost
1633
+ # anomaly monitor Amazon Resource Name (ARN).
1634
+ # @return [String]
1635
+ #
1636
+ # @!attribute [rw] date_interval
1637
+ # Assigns the start and end dates for retrieving cost anomalies. The
1638
+ # returned anomaly object will have an `AnomalyEndDate` in the
1639
+ # specified time range.
1640
+ # @return [Types::AnomalyDateInterval]
1641
+ #
1642
+ # @!attribute [rw] feedback
1643
+ # Filters anomaly results by the feedback field on the anomaly object.
1644
+ # @return [String]
1645
+ #
1646
+ # @!attribute [rw] total_impact
1647
+ # Filters anomaly results by the total impact field on the anomaly
1648
+ # object. For example, you can filter anomalies `GREATER_THAN 200.00`
1649
+ # to retrieve anomalies, with an estimated dollar impact greater than
1650
+ # 200.
1651
+ # @return [Types::TotalImpactFilter]
1652
+ #
1653
+ # @!attribute [rw] next_page_token
1654
+ # The token to retrieve the next set of results. AWS provides the
1655
+ # token when the response from a previous call has more results than
1656
+ # the maximum page size.
1657
+ # @return [String]
1658
+ #
1659
+ # @!attribute [rw] max_results
1660
+ # The number of entries a paginated response contains.
1661
+ # @return [Integer]
1662
+ #
1663
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetAnomaliesRequest AWS API Documentation
1664
+ #
1665
+ class GetAnomaliesRequest < Struct.new(
1666
+ :monitor_arn,
1667
+ :date_interval,
1668
+ :feedback,
1669
+ :total_impact,
1670
+ :next_page_token,
1671
+ :max_results)
1672
+ SENSITIVE = []
1673
+ include Aws::Structure
1674
+ end
1675
+
1676
+ # @!attribute [rw] anomalies
1677
+ # A list of cost anomalies.
1678
+ # @return [Array<Types::Anomaly>]
1679
+ #
1680
+ # @!attribute [rw] next_page_token
1681
+ # The token to retrieve the next set of results. AWS provides the
1682
+ # token when the response from a previous call has more results than
1683
+ # the maximum page size.
1684
+ # @return [String]
1685
+ #
1686
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetAnomaliesResponse AWS API Documentation
1687
+ #
1688
+ class GetAnomaliesResponse < Struct.new(
1689
+ :anomalies,
1690
+ :next_page_token)
1691
+ SENSITIVE = []
1692
+ include Aws::Structure
1693
+ end
1694
+
1695
+ # @note When making an API call, you may pass GetAnomalyMonitorsRequest
1696
+ # data as a hash:
1697
+ #
1698
+ # {
1699
+ # monitor_arn_list: ["Value"],
1700
+ # next_page_token: "NextPageToken",
1701
+ # max_results: 1,
1702
+ # }
1703
+ #
1704
+ # @!attribute [rw] monitor_arn_list
1705
+ # A list of cost anomaly monitor ARNs.
1706
+ # @return [Array<String>]
1707
+ #
1708
+ # @!attribute [rw] next_page_token
1709
+ # The token to retrieve the next set of results. AWS provides the
1710
+ # token when the response from a previous call has more results than
1711
+ # the maximum page size.
1712
+ # @return [String]
1713
+ #
1714
+ # @!attribute [rw] max_results
1715
+ # The number of entries a paginated response contains.
1716
+ # @return [Integer]
1072
1717
  #
1073
- # @!attribute [rw] dimensions
1074
- # The specific `Dimension` to use for `Expression`.
1075
- # @return [Types::DimensionValues]
1718
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetAnomalyMonitorsRequest AWS API Documentation
1076
1719
  #
1077
- # @!attribute [rw] tags
1078
- # The specific `Tag` to use for `Expression`.
1079
- # @return [Types::TagValues]
1720
+ class GetAnomalyMonitorsRequest < Struct.new(
1721
+ :monitor_arn_list,
1722
+ :next_page_token,
1723
+ :max_results)
1724
+ SENSITIVE = []
1725
+ include Aws::Structure
1726
+ end
1727
+
1728
+ # @!attribute [rw] anomaly_monitors
1729
+ # A list of cost anomaly monitors that includes the detailed metadata
1730
+ # for each monitor.
1731
+ # @return [Array<Types::AnomalyMonitor>]
1080
1732
  #
1081
- # @!attribute [rw] cost_categories
1082
- # The filter based on `CostCategory` values.
1083
- # @return [Types::CostCategoryValues]
1733
+ # @!attribute [rw] next_page_token
1734
+ # The token to retrieve the next set of results. AWS provides the
1735
+ # token when the response from a previous call has more results than
1736
+ # the maximum page size.
1737
+ # @return [String]
1084
1738
  #
1085
- # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/Expression AWS API Documentation
1739
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetAnomalyMonitorsResponse AWS API Documentation
1086
1740
  #
1087
- class Expression < Struct.new(
1088
- :or,
1089
- :and,
1090
- :not,
1091
- :dimensions,
1092
- :tags,
1093
- :cost_categories)
1741
+ class GetAnomalyMonitorsResponse < Struct.new(
1742
+ :anomaly_monitors,
1743
+ :next_page_token)
1094
1744
  SENSITIVE = []
1095
1745
  include Aws::Structure
1096
1746
  end
1097
1747
 
1098
- # The forecast created for your query.
1748
+ # @note When making an API call, you may pass GetAnomalySubscriptionsRequest
1749
+ # data as a hash:
1099
1750
  #
1100
- # @!attribute [rw] time_period
1101
- # The period of time that the forecast covers.
1102
- # @return [Types::DateInterval]
1751
+ # {
1752
+ # subscription_arn_list: ["Value"],
1753
+ # monitor_arn: "GenericString",
1754
+ # next_page_token: "NextPageToken",
1755
+ # max_results: 1,
1756
+ # }
1103
1757
  #
1104
- # @!attribute [rw] mean_value
1105
- # The mean value of the forecast.
1758
+ # @!attribute [rw] subscription_arn_list
1759
+ # A list of cost anomaly subscription ARNs.
1760
+ # @return [Array<String>]
1761
+ #
1762
+ # @!attribute [rw] monitor_arn
1763
+ # Cost anomaly monitor ARNs.
1106
1764
  # @return [String]
1107
1765
  #
1108
- # @!attribute [rw] prediction_interval_lower_bound
1109
- # The lower limit for the prediction interval.
1766
+ # @!attribute [rw] next_page_token
1767
+ # The token to retrieve the next set of results. AWS provides the
1768
+ # token when the response from a previous call has more results than
1769
+ # the maximum page size.
1110
1770
  # @return [String]
1111
1771
  #
1112
- # @!attribute [rw] prediction_interval_upper_bound
1113
- # The upper limit for the prediction interval.
1772
+ # @!attribute [rw] max_results
1773
+ # The number of entries a paginated response contains.
1774
+ # @return [Integer]
1775
+ #
1776
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetAnomalySubscriptionsRequest AWS API Documentation
1777
+ #
1778
+ class GetAnomalySubscriptionsRequest < Struct.new(
1779
+ :subscription_arn_list,
1780
+ :monitor_arn,
1781
+ :next_page_token,
1782
+ :max_results)
1783
+ SENSITIVE = []
1784
+ include Aws::Structure
1785
+ end
1786
+
1787
+ # @!attribute [rw] anomaly_subscriptions
1788
+ # A list of cost anomaly subscriptions that includes the detailed
1789
+ # metadata for each one.
1790
+ # @return [Array<Types::AnomalySubscription>]
1791
+ #
1792
+ # @!attribute [rw] next_page_token
1793
+ # The token to retrieve the next set of results. AWS provides the
1794
+ # token when the response from a previous call has more results than
1795
+ # the maximum page size.
1114
1796
  # @return [String]
1115
1797
  #
1116
- # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/ForecastResult AWS API Documentation
1798
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetAnomalySubscriptionsResponse AWS API Documentation
1117
1799
  #
1118
- class ForecastResult < Struct.new(
1119
- :time_period,
1120
- :mean_value,
1121
- :prediction_interval_lower_bound,
1122
- :prediction_interval_upper_bound)
1800
+ class GetAnomalySubscriptionsResponse < Struct.new(
1801
+ :anomaly_subscriptions,
1802
+ :next_page_token)
1123
1803
  SENSITIVE = []
1124
1804
  include Aws::Structure
1125
1805
  end
@@ -1162,7 +1842,7 @@ module Aws::CostExplorer
1162
1842
  # values: ["Value"],
1163
1843
  # },
1164
1844
  # },
1165
- # metrics: ["MetricName"],
1845
+ # metrics: ["MetricName"], # required
1166
1846
  # group_by: [
1167
1847
  # {
1168
1848
  # type: "DIMENSION", # accepts DIMENSION, TAG, COST_CATEGORY
@@ -1226,7 +1906,7 @@ module Aws::CostExplorer
1226
1906
  #
1227
1907
  # @!attribute [rw] group_by
1228
1908
  # You can group AWS costs using up to two different groups, either
1229
- # dimensions, tag keys, or both.
1909
+ # dimensions, tag keys, cost categories, or any two group by types.
1230
1910
  #
1231
1911
  # When you group by tag key, you get all tag values, including empty
1232
1912
  # strings.
@@ -1289,7 +1969,7 @@ module Aws::CostExplorer
1289
1969
  # end: "YearMonthDay", # required
1290
1970
  # },
1291
1971
  # granularity: "DAILY", # accepts DAILY, MONTHLY, HOURLY
1292
- # filter: {
1972
+ # filter: { # required
1293
1973
  # or: [
1294
1974
  # {
1295
1975
  # # recursive Expression
@@ -1352,7 +2032,9 @@ module Aws::CostExplorer
1352
2032
  # of dimension filters. For more information, see [Expression][1].
1353
2033
  #
1354
2034
  # The `GetCostAndUsageWithResources` operation requires that you
1355
- # either group by or filter by a `ResourceId`.
2035
+ # either group by or filter by a `ResourceId`. It requires the
2036
+ # [Expression][1] `"SERVICE = Amazon Elastic Compute Cloud - Compute"`
2037
+ # in the filter.
1356
2038
  #
1357
2039
  #
1358
2040
  #
@@ -1477,7 +2159,9 @@ module Aws::CostExplorer
1477
2159
  # }
1478
2160
  #
1479
2161
  # @!attribute [rw] time_period
1480
- # The period of time that you want the forecast to cover.
2162
+ # The period of time that you want the forecast to cover. The start
2163
+ # date must be equal to or no later than the current date to avoid a
2164
+ # validation error.
1481
2165
  # @return [Types::DateInterval]
1482
2166
  #
1483
2167
  # @!attribute [rw] metric
@@ -1637,6 +2321,8 @@ module Aws::CostExplorer
1637
2321
  # example is Amazon EC2: CloudWatch – Alarms. The response for this
1638
2322
  # operation includes a unit attribute.
1639
2323
  #
2324
+ # * REGION - The AWS Region.
2325
+ #
1640
2326
  # * RECORD\_TYPE - The different types of charges such as RI fees,
1641
2327
  # usage costs, tax refunds, and credits.
1642
2328
  #
@@ -2382,7 +3068,7 @@ module Aws::CostExplorer
2382
3068
  # instance families or across different instance families. You can
2383
3069
  # also choose to view your estimated savings associated with
2384
3070
  # recommendations with consideration of existing Savings Plans or RI
2385
- # benefits, or niether.
3071
+ # benefits, or neither.
2386
3072
  # @return [Types::RightsizingRecommendationConfiguration]
2387
3073
  #
2388
3074
  # @!attribute [rw] service
@@ -2434,7 +3120,7 @@ module Aws::CostExplorer
2434
3120
  # instance families or across different instance families. You can
2435
3121
  # also choose to view your estimated savings associated with
2436
3122
  # recommendations with consideration of existing Savings Plans or RI
2437
- # benefits, or niether.
3123
+ # benefits, or neither.
2438
3124
  # @return [Types::RightsizingRecommendationConfiguration]
2439
3125
  #
2440
3126
  # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetRightsizingRecommendationResponse AWS API Documentation
@@ -2638,7 +3324,7 @@ module Aws::CostExplorer
2638
3324
  # @return [String]
2639
3325
  #
2640
3326
  # @!attribute [rw] term_in_years
2641
- # The savings plan recommendation term used to generated these
3327
+ # The savings plan recommendation term used to generate these
2642
3328
  # recommendations.
2643
3329
  # @return [String]
2644
3330
  #
@@ -3079,7 +3765,8 @@ module Aws::CostExplorer
3079
3765
  # exclusive. For example, if `start` is `2017-01-01` and `end` is
3080
3766
  # `2017-05-01`, then the cost and usage data is retrieved from
3081
3767
  # `2017-01-01` up to and including `2017-04-30` but not including
3082
- # `2017-05-01`.
3768
+ # `2017-05-01`. The start date must be equal to or later than the
3769
+ # current date to avoid a validation error.
3083
3770
  # @return [Types::DateInterval]
3084
3771
  #
3085
3772
  # @!attribute [rw] metric
@@ -3192,6 +3879,25 @@ module Aws::CostExplorer
3192
3879
  include Aws::Structure
3193
3880
  end
3194
3881
 
3882
+ # The anomaly's dollar value.
3883
+ #
3884
+ # @!attribute [rw] max_impact
3885
+ # The maximum dollar value observed for an anomaly.
3886
+ # @return [Float]
3887
+ #
3888
+ # @!attribute [rw] total_impact
3889
+ # The cumulative dollar value observed for an anomaly.
3890
+ # @return [Float]
3891
+ #
3892
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/Impact AWS API Documentation
3893
+ #
3894
+ class Impact < Struct.new(
3895
+ :max_impact,
3896
+ :total_impact)
3897
+ SENSITIVE = []
3898
+ include Aws::Structure
3899
+ end
3900
+
3195
3901
  # Details about the instances that AWS recommends that you purchase.
3196
3902
  #
3197
3903
  # @!attribute [rw] ec2_instance_details
@@ -3327,8 +4033,8 @@ module Aws::CostExplorer
3327
4033
  # Details on the modification recommendation.
3328
4034
  #
3329
4035
  # @!attribute [rw] target_instances
3330
- # Identifies whether this instance type is the Amazon Web Services
3331
- # default recommendation.
4036
+ # Identifies whether this instance type is the AWS default
4037
+ # recommendation.
3332
4038
  # @return [Array<Types::TargetInstance>]
3333
4039
  #
3334
4040
  # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/ModifyRecommendationDetail AWS API Documentation
@@ -3339,6 +4045,44 @@ module Aws::CostExplorer
3339
4045
  include Aws::Structure
3340
4046
  end
3341
4047
 
4048
+ # @note When making an API call, you may pass ProvideAnomalyFeedbackRequest
4049
+ # data as a hash:
4050
+ #
4051
+ # {
4052
+ # anomaly_id: "GenericString", # required
4053
+ # feedback: "YES", # required, accepts YES, NO, PLANNED_ACTIVITY
4054
+ # }
4055
+ #
4056
+ # @!attribute [rw] anomaly_id
4057
+ # A cost anomaly ID.
4058
+ # @return [String]
4059
+ #
4060
+ # @!attribute [rw] feedback
4061
+ # Describes whether the cost anomaly was a planned activity or you
4062
+ # considered it an anomaly.
4063
+ # @return [String]
4064
+ #
4065
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/ProvideAnomalyFeedbackRequest AWS API Documentation
4066
+ #
4067
+ class ProvideAnomalyFeedbackRequest < Struct.new(
4068
+ :anomaly_id,
4069
+ :feedback)
4070
+ SENSITIVE = []
4071
+ include Aws::Structure
4072
+ end
4073
+
4074
+ # @!attribute [rw] anomaly_id
4075
+ # The ID of the modified cost anomaly.
4076
+ # @return [String]
4077
+ #
4078
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/ProvideAnomalyFeedbackResponse AWS API Documentation
4079
+ #
4080
+ class ProvideAnomalyFeedbackResponse < Struct.new(
4081
+ :anomaly_id)
4082
+ SENSITIVE = []
4083
+ include Aws::Structure
4084
+ end
4085
+
3342
4086
  # Details about the Amazon RDS instances that AWS recommends that you
3343
4087
  # purchase.
3344
4088
  #
@@ -3837,7 +4581,7 @@ module Aws::CostExplorer
3837
4581
  # Resource utilization of current resource.
3838
4582
  #
3839
4583
  # @!attribute [rw] ec2_resource_utilization
3840
- # Utilization of current Amazon EC2 Instance
4584
+ # Utilization of current Amazon EC2 instance.
3841
4585
  # @return [Types::EC2ResourceUtilization]
3842
4586
  #
3843
4587
  # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/ResourceUtilization AWS API Documentation
@@ -3916,7 +4660,7 @@ module Aws::CostExplorer
3916
4660
  # instance families or across different instance families. You can also
3917
4661
  # choose to view your estimated savings associated with recommendations
3918
4662
  # with consideration of existing Savings Plans or RI benefits, or
3919
- # niether.
4663
+ # neither.
3920
4664
  #
3921
4665
  # @note When making an API call, you may pass RightsizingRecommendationConfiguration
3922
4666
  # data as a hash:
@@ -3953,13 +4697,12 @@ module Aws::CostExplorer
3953
4697
  # @return [String]
3954
4698
  #
3955
4699
  # @!attribute [rw] generation_timestamp
3956
- # The time stamp for when Amazon Web Services made this
3957
- # recommendation.
4700
+ # The timestamp for when AWS made this recommendation.
3958
4701
  # @return [String]
3959
4702
  #
3960
4703
  # @!attribute [rw] lookback_period_in_days
3961
- # How many days of previous usage that Amazon Web Services considers
3962
- # when making this recommendation.
4704
+ # How many days of previous usage that AWS considers when making this
4705
+ # recommendation.
3963
4706
  # @return [String]
3964
4707
  #
3965
4708
  # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/RightsizingRecommendationMetadata AWS API Documentation
@@ -3984,13 +4727,12 @@ module Aws::CostExplorer
3984
4727
  # @return [String]
3985
4728
  #
3986
4729
  # @!attribute [rw] savings_currency_code
3987
- # The currency code that Amazon Web Services used to calculate the
3988
- # savings.
4730
+ # The currency code that AWS used to calculate the savings.
3989
4731
  # @return [String]
3990
4732
  #
3991
4733
  # @!attribute [rw] savings_percentage
3992
4734
  # Savings percentage based on the recommended modifications, relative
3993
- # to the total On Demand costs associated with these instances.
4735
+ # to the total On-Demand costs associated with these instances.
3994
4736
  # @return [String]
3995
4737
  #
3996
4738
  # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/RightsizingRecommendationSummary AWS API Documentation
@@ -4004,6 +4746,36 @@ module Aws::CostExplorer
4004
4746
  include Aws::Structure
4005
4747
  end
4006
4748
 
4749
+ # The combination of AWS service, linked account, Region, and usage type
4750
+ # where a cost anomaly is observed.
4751
+ #
4752
+ # @!attribute [rw] service
4753
+ # The AWS service name associated with the cost anomaly.
4754
+ # @return [String]
4755
+ #
4756
+ # @!attribute [rw] region
4757
+ # The AWS Region associated with the cost anomaly.
4758
+ # @return [String]
4759
+ #
4760
+ # @!attribute [rw] linked_account
4761
+ # The linked account value associated with the cost anomaly.
4762
+ # @return [String]
4763
+ #
4764
+ # @!attribute [rw] usage_type
4765
+ # The `UsageType` value associated with the cost anomaly.
4766
+ # @return [String]
4767
+ #
4768
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/RootCause AWS API Documentation
4769
+ #
4770
+ class RootCause < Struct.new(
4771
+ :service,
4772
+ :region,
4773
+ :linked_account,
4774
+ :usage_type)
4775
+ SENSITIVE = []
4776
+ include Aws::Structure
4777
+ end
4778
+
4007
4779
  # The amortized amount of Savings Plans purchased in a specific account
4008
4780
  # during a specific time interval.
4009
4781
  #
@@ -4063,18 +4835,16 @@ module Aws::CostExplorer
4063
4835
  # Savings Plans, and total Savings Plans costs for an account.
4064
4836
  #
4065
4837
  # @!attribute [rw] spend_covered_by_savings_plans
4066
- # The amount of your Amazon Web Services usage that is covered by a
4067
- # Savings Plans.
4838
+ # The amount of your AWS usage that is covered by a Savings Plans.
4068
4839
  # @return [String]
4069
4840
  #
4070
4841
  # @!attribute [rw] on_demand_cost
4071
- # The cost of your Amazon Web Services usage at the public On-Demand
4072
- # rate.
4842
+ # The cost of your AWS usage at the public On-Demand rate.
4073
4843
  # @return [String]
4074
4844
  #
4075
4845
  # @!attribute [rw] total_cost
4076
- # The total cost of your Amazon Web Services usage, regardless of your
4077
- # purchase option.
4846
+ # The total cost of your AWS usage, regardless of your purchase
4847
+ # option.
4078
4848
  # @return [String]
4079
4849
  #
4080
4850
  # @!attribute [rw] coverage_percentage
@@ -4123,11 +4893,10 @@ module Aws::CostExplorer
4123
4893
  # Summary, and Details.
4124
4894
  #
4125
4895
  # @!attribute [rw] account_scope
4126
- # The account scope that you want your recommendations for. Amazon Web
4127
- # Services calculates recommendations including the payer account and
4128
- # linked accounts if the value is set to `PAYER`. If the value is
4129
- # `LINKED`, recommendations are calculated for individual linked
4130
- # accounts only.
4896
+ # The account scope that you want your recommendations for. AWS
4897
+ # calculates recommendations including the payer account and linked
4898
+ # accounts if the value is set to `PAYER`. If the value is `LINKED`,
4899
+ # recommendations are calculated for individual linked accounts only.
4131
4900
  # @return [String]
4132
4901
  #
4133
4902
  # @!attribute [rw] savings_plans_type
@@ -4192,8 +4961,8 @@ module Aws::CostExplorer
4192
4961
  # @return [String]
4193
4962
  #
4194
4963
  # @!attribute [rw] currency_code
4195
- # The currency code Amazon Web Services used to generate the
4196
- # recommendations and present potential savings.
4964
+ # The currency code AWS used to generate the recommendations and
4965
+ # present potential savings.
4197
4966
  # @return [String]
4198
4967
  #
4199
4968
  # @!attribute [rw] estimated_sp_cost
@@ -4301,8 +5070,8 @@ module Aws::CostExplorer
4301
5070
  # @return [String]
4302
5071
  #
4303
5072
  # @!attribute [rw] currency_code
4304
- # The currency code Amazon Web Services used to generate the
4305
- # recommendations and present potential savings.
5073
+ # The currency code AWS used to generate the recommendations and
5074
+ # present potential savings.
4306
5075
  # @return [String]
4307
5076
  #
4308
5077
  # @!attribute [rw] estimated_total_cost
@@ -4532,7 +5301,7 @@ module Aws::CostExplorer
4532
5301
  end
4533
5302
 
4534
5303
  # You've reached the limit on the number of resources you can create,
4535
- # or exceeded the size of an individual resources.
5304
+ # or exceeded the size of an individual resource.
4536
5305
  #
4537
5306
  # @!attribute [rw] message
4538
5307
  # @return [String]
@@ -4570,6 +5339,40 @@ module Aws::CostExplorer
4570
5339
  include Aws::Structure
4571
5340
  end
4572
5341
 
5342
+ # The recipient of `AnomalySubscription` notifications.
5343
+ #
5344
+ # @note When making an API call, you may pass Subscriber
5345
+ # data as a hash:
5346
+ #
5347
+ # {
5348
+ # address: "SubscriberAddress",
5349
+ # type: "EMAIL", # accepts EMAIL, SNS
5350
+ # status: "CONFIRMED", # accepts CONFIRMED, DECLINED
5351
+ # }
5352
+ #
5353
+ # @!attribute [rw] address
5354
+ # The email address or SNS Amazon Resource Name (ARN), depending on
5355
+ # the `Type`.
5356
+ # @return [String]
5357
+ #
5358
+ # @!attribute [rw] type
5359
+ # The notification delivery channel.
5360
+ # @return [String]
5361
+ #
5362
+ # @!attribute [rw] status
5363
+ # Indicates if the subscriber accepts the notifications.
5364
+ # @return [String]
5365
+ #
5366
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/Subscriber AWS API Documentation
5367
+ #
5368
+ class Subscriber < Struct.new(
5369
+ :address,
5370
+ :type,
5371
+ :status)
5372
+ SENSITIVE = []
5373
+ include Aws::Structure
5374
+ end
5375
+
4573
5376
  # The values that are available for a tag.
4574
5377
  #
4575
5378
  # @note When making an API call, you may pass TagValues
@@ -4591,9 +5394,9 @@ module Aws::CostExplorer
4591
5394
  #
4592
5395
  # @!attribute [rw] match_options
4593
5396
  # The match options that you can use to filter your results.
4594
- # `MatchOptions` is only applicable for only applicable for actions
4595
- # related to Cost Category. The default values for `MatchOptions` is
4596
- # `EQUALS` and `CASE_SENSITIVE`.
5397
+ # `MatchOptions` is only applicable for actions related to Cost
5398
+ # Category. The default values for `MatchOptions` are `EQUALS` and
5399
+ # `CASE_SENSITIVE`.
4597
5400
  # @return [Array<String>]
4598
5401
  #
4599
5402
  # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/TagValues AWS API Documentation
@@ -4617,13 +5420,13 @@ module Aws::CostExplorer
4617
5420
  # @return [String]
4618
5421
  #
4619
5422
  # @!attribute [rw] currency_code
4620
- # The currency code that Amazon Web Services used to calculate the
4621
- # costs for this instance.
5423
+ # The currency code that AWS used to calculate the costs for this
5424
+ # instance.
4622
5425
  # @return [String]
4623
5426
  #
4624
5427
  # @!attribute [rw] default_target_instance
4625
- # Indicates whether or not this recommendation is the defaulted Amazon
4626
- # Web Services recommendation.
5428
+ # Indicates whether this recommendation is the defaulted AWS
5429
+ # recommendation.
4627
5430
  # @return [Boolean]
4628
5431
  #
4629
5432
  # @!attribute [rw] resource_details
@@ -4654,8 +5457,8 @@ module Aws::CostExplorer
4654
5457
  # @return [String]
4655
5458
  #
4656
5459
  # @!attribute [rw] currency_code
4657
- # The currency code that Amazon Web Services used to calculate the
4658
- # costs for this instance.
5460
+ # The currency code that AWS used to calculate the costs for this
5461
+ # instance.
4659
5462
  # @return [String]
4660
5463
  #
4661
5464
  # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/TerminateRecommendationDetail AWS API Documentation
@@ -4667,6 +5470,65 @@ module Aws::CostExplorer
4667
5470
  include Aws::Structure
4668
5471
  end
4669
5472
 
5473
+ # Filters cost anomalies based on the total impact.
5474
+ #
5475
+ # @note When making an API call, you may pass TotalImpactFilter
5476
+ # data as a hash:
5477
+ #
5478
+ # {
5479
+ # numeric_operator: "EQUAL", # required, accepts EQUAL, GREATER_THAN_OR_EQUAL, LESS_THAN_OR_EQUAL, GREATER_THAN, LESS_THAN, BETWEEN
5480
+ # start_value: 1.0, # required
5481
+ # end_value: 1.0,
5482
+ # }
5483
+ #
5484
+ # @!attribute [rw] numeric_operator
5485
+ # The comparing value used in the filter.
5486
+ # @return [String]
5487
+ #
5488
+ # @!attribute [rw] start_value
5489
+ # The lower bound dollar value used in the filter.
5490
+ # @return [Float]
5491
+ #
5492
+ # @!attribute [rw] end_value
5493
+ # The upper bound dollar value used in the filter.
5494
+ # @return [Float]
5495
+ #
5496
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/TotalImpactFilter AWS API Documentation
5497
+ #
5498
+ class TotalImpactFilter < Struct.new(
5499
+ :numeric_operator,
5500
+ :start_value,
5501
+ :end_value)
5502
+ SENSITIVE = []
5503
+ include Aws::Structure
5504
+ end
5505
+
5506
+ # The cost anomaly monitor does not exist for the account.
5507
+ #
5508
+ # @!attribute [rw] message
5509
+ # @return [String]
5510
+ #
5511
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/UnknownMonitorException AWS API Documentation
5512
+ #
5513
+ class UnknownMonitorException < Struct.new(
5514
+ :message)
5515
+ SENSITIVE = []
5516
+ include Aws::Structure
5517
+ end
5518
+
5519
+ # The cost anomaly subscription does not exist for the account.
5520
+ #
5521
+ # @!attribute [rw] message
5522
+ # @return [String]
5523
+ #
5524
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/UnknownSubscriptionException AWS API Documentation
5525
+ #
5526
+ class UnknownSubscriptionException < Struct.new(
5527
+ :message)
5528
+ SENSITIVE = []
5529
+ include Aws::Structure
5530
+ end
5531
+
4670
5532
  # Cost Explorer was unable to identify the usage unit. Provide
4671
5533
  # `UsageType/UsageTypeGroup` filter selections that contain matching
4672
5534
  # units, for example: `hours`.
@@ -4682,6 +5544,111 @@ module Aws::CostExplorer
4682
5544
  include Aws::Structure
4683
5545
  end
4684
5546
 
5547
+ # @note When making an API call, you may pass UpdateAnomalyMonitorRequest
5548
+ # data as a hash:
5549
+ #
5550
+ # {
5551
+ # monitor_arn: "GenericString", # required
5552
+ # monitor_name: "GenericString",
5553
+ # }
5554
+ #
5555
+ # @!attribute [rw] monitor_arn
5556
+ # Cost anomaly monitor Amazon Resource Names (ARNs).
5557
+ # @return [String]
5558
+ #
5559
+ # @!attribute [rw] monitor_name
5560
+ # The new name for the cost anomaly monitor.
5561
+ # @return [String]
5562
+ #
5563
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/UpdateAnomalyMonitorRequest AWS API Documentation
5564
+ #
5565
+ class UpdateAnomalyMonitorRequest < Struct.new(
5566
+ :monitor_arn,
5567
+ :monitor_name)
5568
+ SENSITIVE = []
5569
+ include Aws::Structure
5570
+ end
5571
+
5572
+ # @!attribute [rw] monitor_arn
5573
+ # A cost anomaly monitor ARN.
5574
+ # @return [String]
5575
+ #
5576
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/UpdateAnomalyMonitorResponse AWS API Documentation
5577
+ #
5578
+ class UpdateAnomalyMonitorResponse < Struct.new(
5579
+ :monitor_arn)
5580
+ SENSITIVE = []
5581
+ include Aws::Structure
5582
+ end
5583
+
5584
+ # @note When making an API call, you may pass UpdateAnomalySubscriptionRequest
5585
+ # data as a hash:
5586
+ #
5587
+ # {
5588
+ # subscription_arn: "GenericString", # required
5589
+ # threshold: 1.0,
5590
+ # frequency: "DAILY", # accepts DAILY, IMMEDIATE, WEEKLY
5591
+ # monitor_arn_list: ["Value"],
5592
+ # subscribers: [
5593
+ # {
5594
+ # address: "SubscriberAddress",
5595
+ # type: "EMAIL", # accepts EMAIL, SNS
5596
+ # status: "CONFIRMED", # accepts CONFIRMED, DECLINED
5597
+ # },
5598
+ # ],
5599
+ # subscription_name: "GenericString",
5600
+ # }
5601
+ #
5602
+ # @!attribute [rw] subscription_arn
5603
+ # A cost anomaly subscription Amazon Resource Name (ARN).
5604
+ # @return [String]
5605
+ #
5606
+ # @!attribute [rw] threshold
5607
+ # The update to the threshold value for receiving notifications.
5608
+ # @return [Float]
5609
+ #
5610
+ # @!attribute [rw] frequency
5611
+ # The update to the frequency value at which subscribers will receive
5612
+ # notifications.
5613
+ # @return [String]
5614
+ #
5615
+ # @!attribute [rw] monitor_arn_list
5616
+ # A list of cost anomaly subscription ARNs.
5617
+ # @return [Array<String>]
5618
+ #
5619
+ # @!attribute [rw] subscribers
5620
+ # The update to the subscriber list.
5621
+ # @return [Array<Types::Subscriber>]
5622
+ #
5623
+ # @!attribute [rw] subscription_name
5624
+ # The subscription's new name.
5625
+ # @return [String]
5626
+ #
5627
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/UpdateAnomalySubscriptionRequest AWS API Documentation
5628
+ #
5629
+ class UpdateAnomalySubscriptionRequest < Struct.new(
5630
+ :subscription_arn,
5631
+ :threshold,
5632
+ :frequency,
5633
+ :monitor_arn_list,
5634
+ :subscribers,
5635
+ :subscription_name)
5636
+ SENSITIVE = []
5637
+ include Aws::Structure
5638
+ end
5639
+
5640
+ # @!attribute [rw] subscription_arn
5641
+ # A cost anomaly subscription ARN.
5642
+ # @return [String]
5643
+ #
5644
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/UpdateAnomalySubscriptionResponse AWS API Documentation
5645
+ #
5646
+ class UpdateAnomalySubscriptionResponse < Struct.new(
5647
+ :subscription_arn)
5648
+ SENSITIVE = []
5649
+ include Aws::Structure
5650
+ end
5651
+
4685
5652
  # @note When making an API call, you may pass UpdateCostCategoryDefinitionRequest
4686
5653
  # data as a hash:
4687
5654
  #