aws-sdk-costexplorer 1.114.0 → 1.116.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -10,6 +10,77 @@
10
10
  module Aws::CostExplorer
11
11
  module Types
12
12
 
13
+ # Details about the analysis.
14
+ #
15
+ # @!attribute [rw] savings_plans_purchase_analysis_details
16
+ # Details about the Savings Plans purchase analysis.
17
+ # @return [Types::SavingsPlansPurchaseAnalysisDetails]
18
+ #
19
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/AnalysisDetails AWS API Documentation
20
+ #
21
+ class AnalysisDetails < Struct.new(
22
+ :savings_plans_purchase_analysis_details)
23
+ SENSITIVE = []
24
+ include Aws::Structure
25
+ end
26
+
27
+ # The requested analysis can't be found.
28
+ #
29
+ # @!attribute [rw] message
30
+ # @return [String]
31
+ #
32
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/AnalysisNotFoundException AWS API Documentation
33
+ #
34
+ class AnalysisNotFoundException < Struct.new(
35
+ :message)
36
+ SENSITIVE = []
37
+ include Aws::Structure
38
+ end
39
+
40
+ # A summary of the analysis.
41
+ #
42
+ # @!attribute [rw] estimated_completion_time
43
+ # The estimated time for when the analysis will complete.
44
+ # @return [String]
45
+ #
46
+ # @!attribute [rw] analysis_completion_time
47
+ # The completion time of the analysis.
48
+ # @return [String]
49
+ #
50
+ # @!attribute [rw] analysis_started_time
51
+ # The start time of the analysis.
52
+ # @return [String]
53
+ #
54
+ # @!attribute [rw] analysis_status
55
+ # The status of the analysis.
56
+ # @return [String]
57
+ #
58
+ # @!attribute [rw] error_code
59
+ # The error code used for the analysis.
60
+ # @return [String]
61
+ #
62
+ # @!attribute [rw] analysis_id
63
+ # The analysis ID that's associated with the commitment purchase.
64
+ # @return [String]
65
+ #
66
+ # @!attribute [rw] commitment_purchase_analysis_configuration
67
+ # The analysis configuration for the commitment purchase analysis.
68
+ # @return [Types::CommitmentPurchaseAnalysisConfiguration]
69
+ #
70
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/AnalysisSummary AWS API Documentation
71
+ #
72
+ class AnalysisSummary < Struct.new(
73
+ :estimated_completion_time,
74
+ :analysis_completion_time,
75
+ :analysis_started_time,
76
+ :analysis_status,
77
+ :error_code,
78
+ :analysis_id,
79
+ :commitment_purchase_analysis_configuration)
80
+ SENSITIVE = []
81
+ include Aws::Structure
82
+ end
83
+
13
84
  # An unusual cost pattern. This consists of the detailed metadata and
14
85
  # the current status of the anomaly object.
15
86
  #
@@ -26,8 +97,8 @@ module Aws::CostExplorer
26
97
  # @return [String]
27
98
  #
28
99
  # @!attribute [rw] dimension_value
29
- # The dimension for the anomaly (for example, an Amazon Web
30
- # Servicesservice in a service monitor).
100
+ # The dimension for the anomaly (for example, an Amazon Web Services
101
+ # service in a service monitor).
31
102
  # @return [String]
32
103
  #
33
104
  # @!attribute [rw] root_causes
@@ -140,7 +211,6 @@ module Aws::CostExplorer
140
211
  #
141
212
  # * Specify the `Dimensions` field to define a filter that acts on
142
213
  # the [ `DimensionValues` ][1].
143
- #
144
214
  # * For each filter type, you can set the dimension name and values
145
215
  # for the filters that you plan to use.
146
216
  #
@@ -155,7 +225,6 @@ module Aws::CostExplorer
155
225
  #
156
226
  # * As shown in the previous example, lists of dimension values
157
227
  # are combined with `OR` when applying the filter.
158
- #
159
228
  # * You can also set different match options to further control how
160
229
  # the filter behaves. Not all APIs support match options. Refer to
161
230
  # the documentation for each specific API to see what is
@@ -167,7 +236,6 @@ module Aws::CostExplorer
167
236
  # * The corresponding `Expression` for this example is as follows:
168
237
  # `{ "Dimensions": { "Key": "LINKED_ACCOUNT_NAME",
169
238
  # "MatchOptions": [ "STARTS_WITH" ], "Values": [ "a" ] } }`
170
- #
171
239
  # * Compound `Expression` types with logical operations.
172
240
  #
173
241
  # * You can use multiple `Expression` types and the logical
@@ -184,7 +252,6 @@ module Aws::CostExplorer
184
252
  # [ "us-east-1", "us-west-1" ] }}, {"Tags": { "Key": "TagName",
185
253
  # "Values": ["Value1"] } } ]}, {"Not": {"Dimensions": { "Key":
186
254
  # "USAGE_TYPE", "Values": ["DataTransfer"] }}} ] } `
187
- #
188
255
  # <note markdown="1"> Because each `Expression` can have only one operator, the service
189
256
  # returns an error if more than one is specified. The following
190
257
  # example shows an `Expression` object that creates an error: ` {
@@ -414,6 +481,20 @@ module Aws::CostExplorer
414
481
  include Aws::Structure
415
482
  end
416
483
 
484
+ # The configuration for the commitment purchase analysis.
485
+ #
486
+ # @!attribute [rw] savings_plans_purchase_analysis_configuration
487
+ # The configuration for the Savings Plans purchase analysis.
488
+ # @return [Types::SavingsPlansPurchaseAnalysisConfiguration]
489
+ #
490
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/CommitmentPurchaseAnalysisConfiguration AWS API Documentation
491
+ #
492
+ class CommitmentPurchaseAnalysisConfiguration < Struct.new(
493
+ :savings_plans_purchase_analysis_configuration)
494
+ SENSITIVE = []
495
+ include Aws::Structure
496
+ end
497
+
417
498
  # The cost allocation tag structure. This includes detailed metadata for
418
499
  # the `CostAllocationTag` object.
419
500
  #
@@ -685,7 +766,8 @@ module Aws::CostExplorer
685
766
  # An [Expression][1] object used to categorize costs. This supports
686
767
  # dimensions, tags, and nested expressions. Currently the only
687
768
  # dimensions supported are `LINKED_ACCOUNT`, `SERVICE_CODE`,
688
- # `RECORD_TYPE`, `LINKED_ACCOUNT_NAME`, `REGION`, and `USAGE_TYPE`.
769
+ # `RECORD_TYPE`, `LINKED_ACCOUNT_NAME`, `REGION`, `USAGE_TYPE`, and
770
+ # `BILLING_ENTITY`.
689
771
  #
690
772
  # `RECORD_TYPE` is a dimension used for Cost Explorer APIs, and is
691
773
  # also supported for Cost Category expressions. This dimension uses
@@ -1803,7 +1885,6 @@ module Aws::CostExplorer
1803
1885
  #
1804
1886
  # * Specify the `Dimensions` field to define a filter that acts on
1805
1887
  # the [ `DimensionValues` ][1].
1806
- #
1807
1888
  # * For each filter type, you can set the dimension name and values
1808
1889
  # for the filters that you plan to use.
1809
1890
  #
@@ -1818,7 +1899,6 @@ module Aws::CostExplorer
1818
1899
  #
1819
1900
  # * As shown in the previous example, lists of dimension values are
1820
1901
  # combined with `OR` when applying the filter.
1821
- #
1822
1902
  # * You can also set different match options to further control how
1823
1903
  # the filter behaves. Not all APIs support match options. Refer to
1824
1904
  # the documentation for each specific API to see what is supported.
@@ -1829,7 +1909,6 @@ module Aws::CostExplorer
1829
1909
  # * The corresponding `Expression` for this example is as follows:
1830
1910
  # `{ "Dimensions": { "Key": "LINKED_ACCOUNT_NAME", "MatchOptions":
1831
1911
  # [ "STARTS_WITH" ], "Values": [ "a" ] } }`
1832
- #
1833
1912
  # * Compound `Expression` types with logical operations.
1834
1913
  #
1835
1914
  # * You can use multiple `Expression` types and the logical operators
@@ -1845,7 +1924,6 @@ module Aws::CostExplorer
1845
1924
  # "us-east-1", "us-west-1" ] }}, {"Tags": { "Key": "TagName",
1846
1925
  # "Values": ["Value1"] } } ]}, {"Not": {"Dimensions": { "Key":
1847
1926
  # "USAGE_TYPE", "Values": ["DataTransfer"] }}} ] } `
1848
- #
1849
1927
  # <note markdown="1"> Because each `Expression` can have only one operator, the service
1850
1928
  # returns an error if more than one is specified. The following
1851
1929
  # example shows an `Expression` object that creates an error: ` {
@@ -2196,6 +2274,67 @@ module Aws::CostExplorer
2196
2274
  include Aws::Structure
2197
2275
  end
2198
2276
 
2277
+ # @!attribute [rw] analysis_id
2278
+ # The analysis ID that's associated with the commitment purchase
2279
+ # analysis.
2280
+ # @return [String]
2281
+ #
2282
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetCommitmentPurchaseAnalysisRequest AWS API Documentation
2283
+ #
2284
+ class GetCommitmentPurchaseAnalysisRequest < Struct.new(
2285
+ :analysis_id)
2286
+ SENSITIVE = []
2287
+ include Aws::Structure
2288
+ end
2289
+
2290
+ # @!attribute [rw] estimated_completion_time
2291
+ # The estimated time for when the analysis will complete.
2292
+ # @return [String]
2293
+ #
2294
+ # @!attribute [rw] analysis_completion_time
2295
+ # The completion time of the analysis.
2296
+ # @return [String]
2297
+ #
2298
+ # @!attribute [rw] analysis_started_time
2299
+ # The start time of the analysis.
2300
+ # @return [String]
2301
+ #
2302
+ # @!attribute [rw] analysis_id
2303
+ # The analysis ID that's associated with the commitment purchase
2304
+ # analysis.
2305
+ # @return [String]
2306
+ #
2307
+ # @!attribute [rw] analysis_status
2308
+ # The status of the analysis.
2309
+ # @return [String]
2310
+ #
2311
+ # @!attribute [rw] error_code
2312
+ # The error code used for the analysis.
2313
+ # @return [String]
2314
+ #
2315
+ # @!attribute [rw] analysis_details
2316
+ # Details about the analysis.
2317
+ # @return [Types::AnalysisDetails]
2318
+ #
2319
+ # @!attribute [rw] commitment_purchase_analysis_configuration
2320
+ # The configuration for the commitment purchase analysis.
2321
+ # @return [Types::CommitmentPurchaseAnalysisConfiguration]
2322
+ #
2323
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetCommitmentPurchaseAnalysisResponse AWS API Documentation
2324
+ #
2325
+ class GetCommitmentPurchaseAnalysisResponse < Struct.new(
2326
+ :estimated_completion_time,
2327
+ :analysis_completion_time,
2328
+ :analysis_started_time,
2329
+ :analysis_id,
2330
+ :analysis_status,
2331
+ :error_code,
2332
+ :analysis_details,
2333
+ :commitment_purchase_analysis_configuration)
2334
+ SENSITIVE = []
2335
+ include Aws::Structure
2336
+ end
2337
+
2199
2338
  # @!attribute [rw] time_period
2200
2339
  # Sets the start date and end date for retrieving Amazon Web Services
2201
2340
  # costs. The start date is inclusive, but the end date is exclusive.
@@ -2481,7 +2620,6 @@ module Aws::CostExplorer
2481
2620
  #
2482
2621
  # * Specify the `Dimensions` field to define a filter that acts on
2483
2622
  # the [ `DimensionValues` ][1].
2484
- #
2485
2623
  # * For each filter type, you can set the dimension name and values
2486
2624
  # for the filters that you plan to use.
2487
2625
  #
@@ -2496,7 +2634,6 @@ module Aws::CostExplorer
2496
2634
  #
2497
2635
  # * As shown in the previous example, lists of dimension values
2498
2636
  # are combined with `OR` when applying the filter.
2499
- #
2500
2637
  # * You can also set different match options to further control how
2501
2638
  # the filter behaves. Not all APIs support match options. Refer to
2502
2639
  # the documentation for each specific API to see what is
@@ -2508,7 +2645,6 @@ module Aws::CostExplorer
2508
2645
  # * The corresponding `Expression` for this example is as follows:
2509
2646
  # `{ "Dimensions": { "Key": "LINKED_ACCOUNT_NAME",
2510
2647
  # "MatchOptions": [ "STARTS_WITH" ], "Values": [ "a" ] } }`
2511
- #
2512
2648
  # * Compound `Expression` types with logical operations.
2513
2649
  #
2514
2650
  # * You can use multiple `Expression` types and the logical
@@ -2525,7 +2661,6 @@ module Aws::CostExplorer
2525
2661
  # [ "us-east-1", "us-west-1" ] }}, {"Tags": { "Key": "TagName",
2526
2662
  # "Values": ["Value1"] } } ]}, {"Not": {"Dimensions": { "Key":
2527
2663
  # "USAGE_TYPE", "Values": ["DataTransfer"] }}} ] } `
2528
- #
2529
2664
  # <note markdown="1"> Because each `Expression` can have only one operator, the service
2530
2665
  # returns an error if more than one is specified. The following
2531
2666
  # example shows an `Expression` object that creates an error: ` {
@@ -2823,10 +2958,10 @@ module Aws::CostExplorer
2823
2958
  # is with. Possible values are the following:
2824
2959
  #
2825
2960
  # \- Amazon Web Services(Amazon Web Services): The entity that sells
2826
- # Amazon Web Servicesservices.
2961
+ # Amazon Web Services services.
2827
2962
  #
2828
2963
  # \- AISPL (Amazon Internet Services Pvt. Ltd.): The local Indian
2829
- # entity that's an acting reseller for Amazon Web Servicesservices
2964
+ # entity that's an acting reseller for Amazon Web Services services
2830
2965
  # in India.
2831
2966
  #
2832
2967
  # \- Amazon Web Services Marketplace: The entity that supports the
@@ -2977,7 +3112,6 @@ module Aws::CostExplorer
2977
3112
  #
2978
3113
  # * Specify the `Dimensions` field to define a filter that acts on
2979
3114
  # the [ `DimensionValues` ][1].
2980
- #
2981
3115
  # * For each filter type, you can set the dimension name and values
2982
3116
  # for the filters that you plan to use.
2983
3117
  #
@@ -2992,7 +3126,6 @@ module Aws::CostExplorer
2992
3126
  #
2993
3127
  # * As shown in the previous example, lists of dimension values
2994
3128
  # are combined with `OR` when applying the filter.
2995
- #
2996
3129
  # * You can also set different match options to further control how
2997
3130
  # the filter behaves. Not all APIs support match options. Refer to
2998
3131
  # the documentation for each specific API to see what is
@@ -3004,7 +3137,6 @@ module Aws::CostExplorer
3004
3137
  # * The corresponding `Expression` for this example is as follows:
3005
3138
  # `{ "Dimensions": { "Key": "LINKED_ACCOUNT_NAME",
3006
3139
  # "MatchOptions": [ "STARTS_WITH" ], "Values": [ "a" ] } }`
3007
- #
3008
3140
  # * Compound `Expression` types with logical operations.
3009
3141
  #
3010
3142
  # * You can use multiple `Expression` types and the logical
@@ -3021,7 +3153,6 @@ module Aws::CostExplorer
3021
3153
  # [ "us-east-1", "us-west-1" ] }}, {"Tags": { "Key": "TagName",
3022
3154
  # "Values": ["Value1"] } } ]}, {"Not": {"Dimensions": { "Key":
3023
3155
  # "USAGE_TYPE", "Values": ["DataTransfer"] }}} ] } `
3024
- #
3025
3156
  # <note markdown="1"> Because each `Expression` can have only one operator, the service
3026
3157
  # returns an error if more than one is specified. The following
3027
3158
  # example shows an `Expression` object that creates an error: ` {
@@ -3451,7 +3582,6 @@ module Aws::CostExplorer
3451
3582
  #
3452
3583
  # * Specify the `Dimensions` field to define a filter that acts on
3453
3584
  # the [ `DimensionValues` ][1].
3454
- #
3455
3585
  # * For each filter type, you can set the dimension name and values
3456
3586
  # for the filters that you plan to use.
3457
3587
  #
@@ -3466,7 +3596,6 @@ module Aws::CostExplorer
3466
3596
  #
3467
3597
  # * As shown in the previous example, lists of dimension values
3468
3598
  # are combined with `OR` when applying the filter.
3469
- #
3470
3599
  # * You can also set different match options to further control how
3471
3600
  # the filter behaves. Not all APIs support match options. Refer to
3472
3601
  # the documentation for each specific API to see what is
@@ -3478,7 +3607,6 @@ module Aws::CostExplorer
3478
3607
  # * The corresponding `Expression` for this example is as follows:
3479
3608
  # `{ "Dimensions": { "Key": "LINKED_ACCOUNT_NAME",
3480
3609
  # "MatchOptions": [ "STARTS_WITH" ], "Values": [ "a" ] } }`
3481
- #
3482
3610
  # * Compound `Expression` types with logical operations.
3483
3611
  #
3484
3612
  # * You can use multiple `Expression` types and the logical
@@ -3495,7 +3623,6 @@ module Aws::CostExplorer
3495
3623
  # [ "us-east-1", "us-west-1" ] }}, {"Tags": { "Key": "TagName",
3496
3624
  # "Values": ["Value1"] } } ]}, {"Not": {"Dimensions": { "Key":
3497
3625
  # "USAGE_TYPE", "Values": ["DataTransfer"] }}} ] } `
3498
- #
3499
3626
  # <note markdown="1"> Because each `Expression` can have only one operator, the service
3500
3627
  # returns an error if more than one is specified. The following
3501
3628
  # example shows an `Expression` object that creates an error: ` {
@@ -3648,6 +3775,15 @@ module Aws::CostExplorer
3648
3775
  #
3649
3776
  # * SERVICE
3650
3777
  #
3778
+ # <note markdown="1"> If not specified, the `SERVICE` filter defaults to Amazon Elastic
3779
+ # Compute Cloud - Compute. Supported values for `SERVICE` are Amazon
3780
+ # Elastic Compute Cloud - Compute, Amazon Relational Database
3781
+ # Service, Amazon ElastiCache, Amazon Redshift, and Amazon
3782
+ # Elasticsearch Service. The value for the `SERVICE` filter should
3783
+ # not exceed "1".
3784
+ #
3785
+ # </note>
3786
+ #
3651
3787
  # * SCOPE
3652
3788
  #
3653
3789
  # * TENANCY
@@ -3778,7 +3914,6 @@ module Aws::CostExplorer
3778
3914
  #
3779
3915
  # * Specify the `Dimensions` field to define a filter that acts on
3780
3916
  # the [ `DimensionValues` ][1].
3781
- #
3782
3917
  # * For each filter type, you can set the dimension name and values
3783
3918
  # for the filters that you plan to use.
3784
3919
  #
@@ -3793,7 +3928,6 @@ module Aws::CostExplorer
3793
3928
  #
3794
3929
  # * As shown in the previous example, lists of dimension values
3795
3930
  # are combined with `OR` when applying the filter.
3796
- #
3797
3931
  # * You can also set different match options to further control how
3798
3932
  # the filter behaves. Not all APIs support match options. Refer to
3799
3933
  # the documentation for each specific API to see what is
@@ -3805,7 +3939,6 @@ module Aws::CostExplorer
3805
3939
  # * The corresponding `Expression` for this example is as follows:
3806
3940
  # `{ "Dimensions": { "Key": "LINKED_ACCOUNT_NAME",
3807
3941
  # "MatchOptions": [ "STARTS_WITH" ], "Values": [ "a" ] } }`
3808
- #
3809
3942
  # * Compound `Expression` types with logical operations.
3810
3943
  #
3811
3944
  # * You can use multiple `Expression` types and the logical
@@ -3822,7 +3955,6 @@ module Aws::CostExplorer
3822
3955
  # [ "us-east-1", "us-west-1" ] }}, {"Tags": { "Key": "TagName",
3823
3956
  # "Values": ["Value1"] } } ]}, {"Not": {"Dimensions": { "Key":
3824
3957
  # "USAGE_TYPE", "Values": ["DataTransfer"] }}} ] } `
3825
- #
3826
3958
  # <note markdown="1"> Because each `Expression` can have only one operator, the service
3827
3959
  # returns an error if more than one is specified. The following
3828
3960
  # example shows an `Expression` object that creates an error: ` {
@@ -4401,7 +4533,6 @@ module Aws::CostExplorer
4401
4533
  #
4402
4534
  # * Specify the `Dimensions` field to define a filter that acts on
4403
4535
  # the [ `DimensionValues` ][1].
4404
- #
4405
4536
  # * For each filter type, you can set the dimension name and values
4406
4537
  # for the filters that you plan to use.
4407
4538
  #
@@ -4416,7 +4547,6 @@ module Aws::CostExplorer
4416
4547
  #
4417
4548
  # * As shown in the previous example, lists of dimension values
4418
4549
  # are combined with `OR` when applying the filter.
4419
- #
4420
4550
  # * You can also set different match options to further control how
4421
4551
  # the filter behaves. Not all APIs support match options. Refer to
4422
4552
  # the documentation for each specific API to see what is
@@ -4428,7 +4558,6 @@ module Aws::CostExplorer
4428
4558
  # * The corresponding `Expression` for this example is as follows:
4429
4559
  # `{ "Dimensions": { "Key": "LINKED_ACCOUNT_NAME",
4430
4560
  # "MatchOptions": [ "STARTS_WITH" ], "Values": [ "a" ] } }`
4431
- #
4432
4561
  # * Compound `Expression` types with logical operations.
4433
4562
  #
4434
4563
  # * You can use multiple `Expression` types and the logical
@@ -4445,7 +4574,6 @@ module Aws::CostExplorer
4445
4574
  # [ "us-east-1", "us-west-1" ] }}, {"Tags": { "Key": "TagName",
4446
4575
  # "Values": ["Value1"] } } ]}, {"Not": {"Dimensions": { "Key":
4447
4576
  # "USAGE_TYPE", "Values": ["DataTransfer"] }}} ] } `
4448
- #
4449
4577
  # <note markdown="1"> Because each `Expression` can have only one operator, the service
4450
4578
  # returns an error if more than one is specified. The following
4451
4579
  # example shows an `Expression` object that creates an error: ` {
@@ -4837,6 +4965,51 @@ module Aws::CostExplorer
4837
4965
  include Aws::Structure
4838
4966
  end
4839
4967
 
4968
+ # @!attribute [rw] analysis_status
4969
+ # The status of the analysis.
4970
+ # @return [String]
4971
+ #
4972
+ # @!attribute [rw] next_page_token
4973
+ # The token to retrieve the next set of results.
4974
+ # @return [String]
4975
+ #
4976
+ # @!attribute [rw] page_size
4977
+ # The number of analyses that you want returned in a single response
4978
+ # object.
4979
+ # @return [Integer]
4980
+ #
4981
+ # @!attribute [rw] analysis_ids
4982
+ # The analysis IDs associated with the commitment purchase analyses.
4983
+ # @return [Array<String>]
4984
+ #
4985
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/ListCommitmentPurchaseAnalysesRequest AWS API Documentation
4986
+ #
4987
+ class ListCommitmentPurchaseAnalysesRequest < Struct.new(
4988
+ :analysis_status,
4989
+ :next_page_token,
4990
+ :page_size,
4991
+ :analysis_ids)
4992
+ SENSITIVE = []
4993
+ include Aws::Structure
4994
+ end
4995
+
4996
+ # @!attribute [rw] analysis_summary_list
4997
+ # The list of analyses.
4998
+ # @return [Array<Types::AnalysisSummary>]
4999
+ #
5000
+ # @!attribute [rw] next_page_token
5001
+ # The token to retrieve the next set of results.
5002
+ # @return [String]
5003
+ #
5004
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/ListCommitmentPurchaseAnalysesResponse AWS API Documentation
5005
+ #
5006
+ class ListCommitmentPurchaseAnalysesResponse < Struct.new(
5007
+ :analysis_summary_list,
5008
+ :next_page_token)
5009
+ SENSITIVE = []
5010
+ include Aws::Structure
5011
+ end
5012
+
4840
5013
  # @!attribute [rw] next_token
4841
5014
  # The token to retrieve the next set of results. Amazon Web Services
4842
5015
  # provides the token when the response from a previous call has more
@@ -6187,14 +6360,14 @@ module Aws::CostExplorer
6187
6360
  include Aws::Structure
6188
6361
  end
6189
6362
 
6190
- # The combination of Amazon Web Servicesservice, linked account, linked
6363
+ # The combination of Amazon Web Services service, linked account, linked
6191
6364
  # account name, Region, and usage type where a cost anomaly is observed.
6192
6365
  # The linked account name will only be available when the account name
6193
6366
  # can be identified.
6194
6367
  #
6195
6368
  # @!attribute [rw] service
6196
- # The Amazon Web Servicesservice name that's associated with the cost
6197
- # anomaly.
6369
+ # The Amazon Web Services service name that's associated with the
6370
+ # cost anomaly.
6198
6371
  # @return [String]
6199
6372
  #
6200
6373
  # @!attribute [rw] region
@@ -6227,6 +6400,51 @@ module Aws::CostExplorer
6227
6400
  include Aws::Structure
6228
6401
  end
6229
6402
 
6403
+ # The Savings Plans commitment details.
6404
+ #
6405
+ # @!attribute [rw] payment_option
6406
+ # The payment option for the Savings Plans commitment.
6407
+ # @return [String]
6408
+ #
6409
+ # @!attribute [rw] savings_plans_type
6410
+ # The Savings Plans type.
6411
+ # @return [String]
6412
+ #
6413
+ # @!attribute [rw] region
6414
+ # The Region associated with the Savings Plans commitment.
6415
+ # @return [String]
6416
+ #
6417
+ # @!attribute [rw] instance_family
6418
+ # The instance family of the Savings Plans commitment.
6419
+ # @return [String]
6420
+ #
6421
+ # @!attribute [rw] term_in_years
6422
+ # The term that you want the Savings Plans commitment for.
6423
+ # @return [String]
6424
+ #
6425
+ # @!attribute [rw] savings_plans_commitment
6426
+ # The Savings Plans commitment.
6427
+ # @return [Float]
6428
+ #
6429
+ # @!attribute [rw] offering_id
6430
+ # The unique ID that's used to distinguish commitments from one
6431
+ # another.
6432
+ # @return [String]
6433
+ #
6434
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/SavingsPlans AWS API Documentation
6435
+ #
6436
+ class SavingsPlans < Struct.new(
6437
+ :payment_option,
6438
+ :savings_plans_type,
6439
+ :region,
6440
+ :instance_family,
6441
+ :term_in_years,
6442
+ :savings_plans_commitment,
6443
+ :offering_id)
6444
+ SENSITIVE = []
6445
+ include Aws::Structure
6446
+ end
6447
+
6230
6448
  # The amortized amount of Savings Plans purchased in a specific account
6231
6449
  # during a specific time interval.
6232
6450
  #
@@ -6344,6 +6562,176 @@ module Aws::CostExplorer
6344
6562
  include Aws::Structure
6345
6563
  end
6346
6564
 
6565
+ # The configuration for the Savings Plans purchase analysis.
6566
+ #
6567
+ # @!attribute [rw] account_scope
6568
+ # The account scope that you want your analysis for.
6569
+ # @return [String]
6570
+ #
6571
+ # @!attribute [rw] account_id
6572
+ # The account that the analysis is for.
6573
+ # @return [String]
6574
+ #
6575
+ # @!attribute [rw] analysis_type
6576
+ # The type of analysis.
6577
+ # @return [String]
6578
+ #
6579
+ # @!attribute [rw] savings_plans_to_add
6580
+ # Savings Plans to include in the analysis.
6581
+ # @return [Array<Types::SavingsPlans>]
6582
+ #
6583
+ # @!attribute [rw] savings_plans_to_exclude
6584
+ # Savings Plans to exclude from the analysis.
6585
+ # @return [Array<String>]
6586
+ #
6587
+ # @!attribute [rw] look_back_time_period
6588
+ # The time period associated with the analysis.
6589
+ # @return [Types::DateInterval]
6590
+ #
6591
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/SavingsPlansPurchaseAnalysisConfiguration AWS API Documentation
6592
+ #
6593
+ class SavingsPlansPurchaseAnalysisConfiguration < Struct.new(
6594
+ :account_scope,
6595
+ :account_id,
6596
+ :analysis_type,
6597
+ :savings_plans_to_add,
6598
+ :savings_plans_to_exclude,
6599
+ :look_back_time_period)
6600
+ SENSITIVE = []
6601
+ include Aws::Structure
6602
+ end
6603
+
6604
+ # Details about the Savings Plans purchase analysis.
6605
+ #
6606
+ # @!attribute [rw] currency_code
6607
+ # The currency code used for the analysis.
6608
+ # @return [String]
6609
+ #
6610
+ # @!attribute [rw] lookback_period_in_hours
6611
+ # The lookback period in hours that's used to generate the analysis.
6612
+ # @return [String]
6613
+ #
6614
+ # @!attribute [rw] current_average_coverage
6615
+ # The average value of hourly coverage over the lookback period.
6616
+ # @return [String]
6617
+ #
6618
+ # @!attribute [rw] current_average_hourly_on_demand_spend
6619
+ # The average value of hourly On-Demand spend over the lookback
6620
+ # period.
6621
+ # @return [String]
6622
+ #
6623
+ # @!attribute [rw] current_maximum_hourly_on_demand_spend
6624
+ # The highest value of hourly On-Demand spend over the lookback
6625
+ # period.
6626
+ # @return [String]
6627
+ #
6628
+ # @!attribute [rw] current_minimum_hourly_on_demand_spend
6629
+ # The lowest value of hourly On-Demand spend over the lookback period.
6630
+ # @return [String]
6631
+ #
6632
+ # @!attribute [rw] current_on_demand_spend
6633
+ # The current total On-Demand spend over the lookback period.
6634
+ # @return [String]
6635
+ #
6636
+ # @!attribute [rw] existing_hourly_commitment
6637
+ # The existing hourly commitment for the Savings Plan type.
6638
+ # @return [String]
6639
+ #
6640
+ # @!attribute [rw] hourly_commitment_to_purchase
6641
+ # The recommended or custom hourly commitment.
6642
+ # @return [String]
6643
+ #
6644
+ # @!attribute [rw] estimated_average_coverage
6645
+ # The estimated coverage of the Savings Plan.
6646
+ # @return [String]
6647
+ #
6648
+ # @!attribute [rw] estimated_average_utilization
6649
+ # The estimated utilization of the Savings Plan.
6650
+ # @return [String]
6651
+ #
6652
+ # @!attribute [rw] estimated_monthly_savings_amount
6653
+ # The estimated monthly savings amount based on the Savings Plan.
6654
+ # @return [String]
6655
+ #
6656
+ # @!attribute [rw] estimated_on_demand_cost
6657
+ # The remaining On-Demand cost estimated to not be covered by the
6658
+ # commitment, over the length of the lookback period.
6659
+ # @return [String]
6660
+ #
6661
+ # @!attribute [rw] estimated_on_demand_cost_with_current_commitment
6662
+ # The estimated On-Demand cost you expect with no additional
6663
+ # commitment, based on your usage of the selected time period and the
6664
+ # Savings Plan you own.
6665
+ # @return [String]
6666
+ #
6667
+ # @!attribute [rw] estimated_roi
6668
+ # The estimated return on investment that's based on the purchase
6669
+ # commitment and estimated savings. This is calculated as
6670
+ # estimatedSavingsAmount/estimatedSPCost*100.
6671
+ # @return [String]
6672
+ #
6673
+ # @!attribute [rw] estimated_savings_amount
6674
+ # The estimated savings amount that's based on the purchase
6675
+ # commitment over the length of the lookback period.
6676
+ # @return [String]
6677
+ #
6678
+ # @!attribute [rw] estimated_savings_percentage
6679
+ # The estimated savings percentage relative to the total cost over the
6680
+ # cost calculation lookback period.
6681
+ # @return [String]
6682
+ #
6683
+ # @!attribute [rw] estimated_commitment_cost
6684
+ # The estimated cost of the purchase commitment over the length of the
6685
+ # lookback period.
6686
+ # @return [String]
6687
+ #
6688
+ # @!attribute [rw] latest_usage_timestamp
6689
+ # The date and time of the last hour that went into the analysis.
6690
+ # @return [String]
6691
+ #
6692
+ # @!attribute [rw] upfront_cost
6693
+ # The upfront cost of the Savings Plan, based on the selected payment
6694
+ # option.
6695
+ # @return [String]
6696
+ #
6697
+ # @!attribute [rw] additional_metadata
6698
+ # Additional metadata that might be applicable to the commitment.
6699
+ # @return [String]
6700
+ #
6701
+ # @!attribute [rw] metrics_over_lookback_period
6702
+ # The related hourly cost, coverage, and utilization metrics over the
6703
+ # lookback period.
6704
+ # @return [Array<Types::RecommendationDetailHourlyMetrics>]
6705
+ #
6706
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/SavingsPlansPurchaseAnalysisDetails AWS API Documentation
6707
+ #
6708
+ class SavingsPlansPurchaseAnalysisDetails < Struct.new(
6709
+ :currency_code,
6710
+ :lookback_period_in_hours,
6711
+ :current_average_coverage,
6712
+ :current_average_hourly_on_demand_spend,
6713
+ :current_maximum_hourly_on_demand_spend,
6714
+ :current_minimum_hourly_on_demand_spend,
6715
+ :current_on_demand_spend,
6716
+ :existing_hourly_commitment,
6717
+ :hourly_commitment_to_purchase,
6718
+ :estimated_average_coverage,
6719
+ :estimated_average_utilization,
6720
+ :estimated_monthly_savings_amount,
6721
+ :estimated_on_demand_cost,
6722
+ :estimated_on_demand_cost_with_current_commitment,
6723
+ :estimated_roi,
6724
+ :estimated_savings_amount,
6725
+ :estimated_savings_percentage,
6726
+ :estimated_commitment_cost,
6727
+ :latest_usage_timestamp,
6728
+ :upfront_cost,
6729
+ :additional_metadata,
6730
+ :metrics_over_lookback_period)
6731
+ SENSITIVE = []
6732
+ include Aws::Structure
6733
+ end
6734
+
6347
6735
  # Contains your request parameters, Savings Plan Recommendations
6348
6736
  # Summary, and Details.
6349
6737
  #
@@ -6818,6 +7206,41 @@ module Aws::CostExplorer
6818
7206
  include Aws::Structure
6819
7207
  end
6820
7208
 
7209
+ # @!attribute [rw] commitment_purchase_analysis_configuration
7210
+ # The configuration for the commitment purchase analysis.
7211
+ # @return [Types::CommitmentPurchaseAnalysisConfiguration]
7212
+ #
7213
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/StartCommitmentPurchaseAnalysisRequest AWS API Documentation
7214
+ #
7215
+ class StartCommitmentPurchaseAnalysisRequest < Struct.new(
7216
+ :commitment_purchase_analysis_configuration)
7217
+ SENSITIVE = []
7218
+ include Aws::Structure
7219
+ end
7220
+
7221
+ # @!attribute [rw] analysis_id
7222
+ # The analysis ID that's associated with the commitment purchase
7223
+ # analysis.
7224
+ # @return [String]
7225
+ #
7226
+ # @!attribute [rw] analysis_started_time
7227
+ # The start time of the analysis.
7228
+ # @return [String]
7229
+ #
7230
+ # @!attribute [rw] estimated_completion_time
7231
+ # The estimated time for when the analysis will complete.
7232
+ # @return [String]
7233
+ #
7234
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/StartCommitmentPurchaseAnalysisResponse AWS API Documentation
7235
+ #
7236
+ class StartCommitmentPurchaseAnalysisResponse < Struct.new(
7237
+ :analysis_id,
7238
+ :analysis_started_time,
7239
+ :estimated_completion_time)
7240
+ SENSITIVE = []
7241
+ include Aws::Structure
7242
+ end
7243
+
6821
7244
  # @!attribute [rw] backfill_from
6822
7245
  # The date you want the backfill to start from. The date can only be a
6823
7246
  # first day of the month (a billing start date). Dates can't precede