aws-sdk-costexplorer 1.44.0 → 1.49.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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
  #