aws-sdk-costexplorer 1.87.0 → 1.89.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +10 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-costexplorer/client.rb +104 -16
- data/lib/aws-sdk-costexplorer/client_api.rb +66 -0
- data/lib/aws-sdk-costexplorer/endpoint_parameters.rb +0 -3
- data/lib/aws-sdk-costexplorer/endpoint_provider.rb +19 -58
- data/lib/aws-sdk-costexplorer/endpoints.rb +14 -0
- data/lib/aws-sdk-costexplorer/plugins/endpoints.rb +2 -0
- data/lib/aws-sdk-costexplorer/types.rb +325 -34
- data/lib/aws-sdk-costexplorer.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: '094f8b338f6e5883fb40f498dbdb21fa505f2ff4e908556cebeb6538abc39f87'
|
|
4
|
+
data.tar.gz: c0e3205a80ccb3760d64cdd601b378912318144e4d79974f4ca795f5b5806de6
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 7db8c6acbf859d831e9a68425bfa1a14d90c3052cd0ba515ef5529fa4b68b9e4f05bec913990509cad9713cf62f70a85f4a11aab2bce9be5d0dc03f89db1ac2a
|
|
7
|
+
data.tar.gz: 9f395cc78bb1a510202dce526d1be1d5a159a2c59e0d8b87bc617b29efbeb40f138f3d77ca0479c57c029a832dcc7b2991e99ea1110937bcb677f1a62c59d29a
|
data/CHANGELOG.md
CHANGED
|
@@ -1,6 +1,16 @@
|
|
|
1
1
|
Unreleased Changes
|
|
2
2
|
------------------
|
|
3
3
|
|
|
4
|
+
1.89.0 (2023-07-24)
|
|
5
|
+
------------------
|
|
6
|
+
|
|
7
|
+
* Feature - This release introduces the new API 'GetSavingsPlanPurchaseRecommendationDetails', which retrieves the details for a Savings Plan recommendation. It also updates the existing API 'GetSavingsPlansPurchaseRecommendation' to include the recommendation detail ID.
|
|
8
|
+
|
|
9
|
+
1.88.0 (2023-07-11)
|
|
10
|
+
------------------
|
|
11
|
+
|
|
12
|
+
* Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
|
|
13
|
+
|
|
4
14
|
1.87.0 (2023-07-06)
|
|
5
15
|
------------------
|
|
6
16
|
|
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
1.
|
|
1
|
+
1.89.0
|
|
@@ -216,6 +216,10 @@ module Aws::CostExplorer
|
|
|
216
216
|
# @option options [Boolean] :endpoint_discovery (false)
|
|
217
217
|
# When set to `true`, endpoint discovery will be enabled for operations when available.
|
|
218
218
|
#
|
|
219
|
+
# @option options [Boolean] :ignore_configured_endpoint_urls
|
|
220
|
+
# Setting to true disables use of endpoint URLs provided via environment
|
|
221
|
+
# variables and the shared configuration file.
|
|
222
|
+
#
|
|
219
223
|
# @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
|
|
220
224
|
# The log formatter.
|
|
221
225
|
#
|
|
@@ -1556,7 +1560,7 @@ module Aws::CostExplorer
|
|
|
1556
1560
|
#
|
|
1557
1561
|
# * The corresponding `Expression` for this example is as follows:
|
|
1558
1562
|
# `\{ "Dimensions": \{ "Key": "REGION", "Values": [ "us-east-1",
|
|
1559
|
-
#
|
|
1563
|
+
# "us-west-1" ] \} \}`
|
|
1560
1564
|
#
|
|
1561
1565
|
# * As shown in the previous example, lists of dimension values are
|
|
1562
1566
|
# combined with `OR` when applying the filter.
|
|
@@ -1566,7 +1570,7 @@ module Aws::CostExplorer
|
|
|
1566
1570
|
# the documentation for each specific API to see what is supported.
|
|
1567
1571
|
#
|
|
1568
1572
|
# * For example, you can filter for linked account names that start
|
|
1569
|
-
# with
|
|
1573
|
+
# with "a".
|
|
1570
1574
|
#
|
|
1571
1575
|
# * The corresponding `Expression` for this example is as follows:
|
|
1572
1576
|
# `\{ "Dimensions": \{ "Key": "LINKED_ACCOUNT_NAME",
|
|
@@ -2101,7 +2105,7 @@ module Aws::CostExplorer
|
|
|
2101
2105
|
#
|
|
2102
2106
|
# * The corresponding `Expression` for this example is as follows:
|
|
2103
2107
|
# `\{ "Dimensions": \{ "Key": "REGION", "Values": [ "us-east-1",
|
|
2104
|
-
#
|
|
2108
|
+
# "us-west-1" ] \} \}`
|
|
2105
2109
|
#
|
|
2106
2110
|
# * As shown in the previous example, lists of dimension values are
|
|
2107
2111
|
# combined with `OR` when applying the filter.
|
|
@@ -2111,7 +2115,7 @@ module Aws::CostExplorer
|
|
|
2111
2115
|
# the documentation for each specific API to see what is supported.
|
|
2112
2116
|
#
|
|
2113
2117
|
# * For example, you can filter for linked account names that start
|
|
2114
|
-
# with
|
|
2118
|
+
# with "a".
|
|
2115
2119
|
#
|
|
2116
2120
|
# * The corresponding `Expression` for this example is as follows:
|
|
2117
2121
|
# `\{ "Dimensions": \{ "Key": "LINKED_ACCOUNT_NAME",
|
|
@@ -2611,7 +2615,7 @@ module Aws::CostExplorer
|
|
|
2611
2615
|
#
|
|
2612
2616
|
# * The corresponding `Expression` for this example is as follows:
|
|
2613
2617
|
# `\{ "Dimensions": \{ "Key": "REGION", "Values": [ "us-east-1",
|
|
2614
|
-
#
|
|
2618
|
+
# "us-west-1" ] \} \}`
|
|
2615
2619
|
#
|
|
2616
2620
|
# * As shown in the previous example, lists of dimension values are
|
|
2617
2621
|
# combined with `OR` when applying the filter.
|
|
@@ -2621,7 +2625,7 @@ module Aws::CostExplorer
|
|
|
2621
2625
|
# the documentation for each specific API to see what is supported.
|
|
2622
2626
|
#
|
|
2623
2627
|
# * For example, you can filter for linked account names that start
|
|
2624
|
-
# with
|
|
2628
|
+
# with "a".
|
|
2625
2629
|
#
|
|
2626
2630
|
# * The corresponding `Expression` for this example is as follows:
|
|
2627
2631
|
# `\{ "Dimensions": \{ "Key": "LINKED_ACCOUNT_NAME",
|
|
@@ -3120,7 +3124,7 @@ module Aws::CostExplorer
|
|
|
3120
3124
|
#
|
|
3121
3125
|
# * The corresponding `Expression` for this example is as follows:
|
|
3122
3126
|
# `\{ "Dimensions": \{ "Key": "REGION", "Values": [ "us-east-1",
|
|
3123
|
-
#
|
|
3127
|
+
# "us-west-1" ] \} \}`
|
|
3124
3128
|
#
|
|
3125
3129
|
# * As shown in the previous example, lists of dimension values are
|
|
3126
3130
|
# combined with `OR` when applying the filter.
|
|
@@ -3130,7 +3134,7 @@ module Aws::CostExplorer
|
|
|
3130
3134
|
# the documentation for each specific API to see what is supported.
|
|
3131
3135
|
#
|
|
3132
3136
|
# * For example, you can filter for linked account names that start
|
|
3133
|
-
# with
|
|
3137
|
+
# with "a".
|
|
3134
3138
|
#
|
|
3135
3139
|
# * The corresponding `Expression` for this example is as follows:
|
|
3136
3140
|
# `\{ "Dimensions": \{ "Key": "LINKED_ACCOUNT_NAME",
|
|
@@ -3350,6 +3354,71 @@ module Aws::CostExplorer
|
|
|
3350
3354
|
req.send_request(options)
|
|
3351
3355
|
end
|
|
3352
3356
|
|
|
3357
|
+
# Retrieves the details for a Savings Plan recommendation. These details
|
|
3358
|
+
# include the hourly data-points that construct the new cost, coverage,
|
|
3359
|
+
# and utilization charts.
|
|
3360
|
+
#
|
|
3361
|
+
# @option params [required, String] :recommendation_detail_id
|
|
3362
|
+
# The ID that is associated with the Savings Plan recommendation.
|
|
3363
|
+
#
|
|
3364
|
+
# @return [Types::GetSavingsPlanPurchaseRecommendationDetailsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
|
3365
|
+
#
|
|
3366
|
+
# * {Types::GetSavingsPlanPurchaseRecommendationDetailsResponse#recommendation_detail_id #recommendation_detail_id} => String
|
|
3367
|
+
# * {Types::GetSavingsPlanPurchaseRecommendationDetailsResponse#recommendation_detail_data #recommendation_detail_data} => Types::RecommendationDetailData
|
|
3368
|
+
#
|
|
3369
|
+
# @example Request syntax with placeholder values
|
|
3370
|
+
#
|
|
3371
|
+
# resp = client.get_savings_plan_purchase_recommendation_details({
|
|
3372
|
+
# recommendation_detail_id: "RecommendationDetailId", # required
|
|
3373
|
+
# })
|
|
3374
|
+
#
|
|
3375
|
+
# @example Response structure
|
|
3376
|
+
#
|
|
3377
|
+
# resp.recommendation_detail_id #=> String
|
|
3378
|
+
# resp.recommendation_detail_data.account_scope #=> String, one of "PAYER", "LINKED"
|
|
3379
|
+
# resp.recommendation_detail_data.lookback_period_in_days #=> String, one of "SEVEN_DAYS", "THIRTY_DAYS", "SIXTY_DAYS"
|
|
3380
|
+
# resp.recommendation_detail_data.savings_plans_type #=> String, one of "COMPUTE_SP", "EC2_INSTANCE_SP", "SAGEMAKER_SP"
|
|
3381
|
+
# resp.recommendation_detail_data.term_in_years #=> String, one of "ONE_YEAR", "THREE_YEARS"
|
|
3382
|
+
# resp.recommendation_detail_data.payment_option #=> String, one of "NO_UPFRONT", "PARTIAL_UPFRONT", "ALL_UPFRONT", "LIGHT_UTILIZATION", "MEDIUM_UTILIZATION", "HEAVY_UTILIZATION"
|
|
3383
|
+
# resp.recommendation_detail_data.account_id #=> String
|
|
3384
|
+
# resp.recommendation_detail_data.currency_code #=> String
|
|
3385
|
+
# resp.recommendation_detail_data.instance_family #=> String
|
|
3386
|
+
# resp.recommendation_detail_data.region #=> String
|
|
3387
|
+
# resp.recommendation_detail_data.offering_id #=> String
|
|
3388
|
+
# resp.recommendation_detail_data.generation_timestamp #=> String
|
|
3389
|
+
# resp.recommendation_detail_data.latest_usage_timestamp #=> String
|
|
3390
|
+
# resp.recommendation_detail_data.current_average_hourly_on_demand_spend #=> String
|
|
3391
|
+
# resp.recommendation_detail_data.current_maximum_hourly_on_demand_spend #=> String
|
|
3392
|
+
# resp.recommendation_detail_data.current_minimum_hourly_on_demand_spend #=> String
|
|
3393
|
+
# resp.recommendation_detail_data.estimated_average_utilization #=> String
|
|
3394
|
+
# resp.recommendation_detail_data.estimated_monthly_savings_amount #=> String
|
|
3395
|
+
# resp.recommendation_detail_data.estimated_on_demand_cost #=> String
|
|
3396
|
+
# resp.recommendation_detail_data.estimated_on_demand_cost_with_current_commitment #=> String
|
|
3397
|
+
# resp.recommendation_detail_data.estimated_roi #=> String
|
|
3398
|
+
# resp.recommendation_detail_data.estimated_sp_cost #=> String
|
|
3399
|
+
# resp.recommendation_detail_data.estimated_savings_amount #=> String
|
|
3400
|
+
# resp.recommendation_detail_data.estimated_savings_percentage #=> String
|
|
3401
|
+
# resp.recommendation_detail_data.existing_hourly_commitment #=> String
|
|
3402
|
+
# resp.recommendation_detail_data.hourly_commitment_to_purchase #=> String
|
|
3403
|
+
# resp.recommendation_detail_data.upfront_cost #=> String
|
|
3404
|
+
# resp.recommendation_detail_data.current_average_coverage #=> String
|
|
3405
|
+
# resp.recommendation_detail_data.estimated_average_coverage #=> String
|
|
3406
|
+
# resp.recommendation_detail_data.metrics_over_lookback_period #=> Array
|
|
3407
|
+
# resp.recommendation_detail_data.metrics_over_lookback_period[0].start_time #=> String
|
|
3408
|
+
# resp.recommendation_detail_data.metrics_over_lookback_period[0].estimated_on_demand_cost #=> String
|
|
3409
|
+
# resp.recommendation_detail_data.metrics_over_lookback_period[0].current_coverage #=> String
|
|
3410
|
+
# resp.recommendation_detail_data.metrics_over_lookback_period[0].estimated_coverage #=> String
|
|
3411
|
+
# resp.recommendation_detail_data.metrics_over_lookback_period[0].estimated_new_commitment_utilization #=> String
|
|
3412
|
+
#
|
|
3413
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetSavingsPlanPurchaseRecommendationDetails AWS API Documentation
|
|
3414
|
+
#
|
|
3415
|
+
# @overload get_savings_plan_purchase_recommendation_details(params = {})
|
|
3416
|
+
# @param [Hash] params ({})
|
|
3417
|
+
def get_savings_plan_purchase_recommendation_details(params = {}, options = {})
|
|
3418
|
+
req = build_request(:get_savings_plan_purchase_recommendation_details, params)
|
|
3419
|
+
req.send_request(options)
|
|
3420
|
+
end
|
|
3421
|
+
|
|
3353
3422
|
# Retrieves the Savings Plans covered for your account. This enables you
|
|
3354
3423
|
# to see how much of your cost is covered by a Savings Plan. An
|
|
3355
3424
|
# organization’s management account can see the coverage of the
|
|
@@ -3648,6 +3717,7 @@ module Aws::CostExplorer
|
|
|
3648
3717
|
# resp.savings_plans_purchase_recommendation.savings_plans_purchase_recommendation_details[0].current_minimum_hourly_on_demand_spend #=> String
|
|
3649
3718
|
# resp.savings_plans_purchase_recommendation.savings_plans_purchase_recommendation_details[0].current_maximum_hourly_on_demand_spend #=> String
|
|
3650
3719
|
# resp.savings_plans_purchase_recommendation.savings_plans_purchase_recommendation_details[0].current_average_hourly_on_demand_spend #=> String
|
|
3720
|
+
# resp.savings_plans_purchase_recommendation.savings_plans_purchase_recommendation_details[0].recommendation_detail_id #=> String
|
|
3651
3721
|
# resp.savings_plans_purchase_recommendation.savings_plans_purchase_recommendation_summary.estimated_roi #=> String
|
|
3652
3722
|
# resp.savings_plans_purchase_recommendation.savings_plans_purchase_recommendation_summary.currency_code #=> String
|
|
3653
3723
|
# resp.savings_plans_purchase_recommendation.savings_plans_purchase_recommendation_summary.estimated_total_cost #=> String
|
|
@@ -4032,7 +4102,7 @@ module Aws::CostExplorer
|
|
|
4032
4102
|
#
|
|
4033
4103
|
# * The corresponding `Expression` for this example is as follows:
|
|
4034
4104
|
# `\{ "Dimensions": \{ "Key": "REGION", "Values": [ "us-east-1",
|
|
4035
|
-
#
|
|
4105
|
+
# "us-west-1" ] \} \}`
|
|
4036
4106
|
#
|
|
4037
4107
|
# * As shown in the previous example, lists of dimension values are
|
|
4038
4108
|
# combined with `OR` when applying the filter.
|
|
@@ -4042,7 +4112,7 @@ module Aws::CostExplorer
|
|
|
4042
4112
|
# the documentation for each specific API to see what is supported.
|
|
4043
4113
|
#
|
|
4044
4114
|
# * For example, you can filter for linked account names that start
|
|
4045
|
-
# with
|
|
4115
|
+
# with "a".
|
|
4046
4116
|
#
|
|
4047
4117
|
# * The corresponding `Expression` for this example is as follows:
|
|
4048
4118
|
# `\{ "Dimensions": \{ "Key": "LINKED_ACCOUNT_NAME",
|
|
@@ -4767,7 +4837,18 @@ module Aws::CostExplorer
|
|
|
4767
4837
|
req.send_request(options)
|
|
4768
4838
|
end
|
|
4769
4839
|
|
|
4770
|
-
# Updates an existing cost anomaly
|
|
4840
|
+
# Updates an existing cost anomaly subscription. Specify the fields that
|
|
4841
|
+
# you want to update. Omitted fields are unchanged.
|
|
4842
|
+
#
|
|
4843
|
+
# <note markdown="1"> The JSON below describes the generic construct for each type. See
|
|
4844
|
+
# [Request Parameters][1] for possible values as they apply to
|
|
4845
|
+
# `AnomalySubscription`.
|
|
4846
|
+
#
|
|
4847
|
+
# </note>
|
|
4848
|
+
#
|
|
4849
|
+
#
|
|
4850
|
+
#
|
|
4851
|
+
# [1]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_UpdateAnomalySubscription.html#API_UpdateAnomalySubscription_RequestParameters
|
|
4771
4852
|
#
|
|
4772
4853
|
# @option params [required, String] :subscription_arn
|
|
4773
4854
|
# A cost anomaly subscription Amazon Resource Name (ARN).
|
|
@@ -4781,6 +4862,8 @@ module Aws::CostExplorer
|
|
|
4781
4862
|
# ThresholdExpression. Continued use of Threshold will be treated as
|
|
4782
4863
|
# shorthand syntax for a ThresholdExpression.
|
|
4783
4864
|
#
|
|
4865
|
+
# You can specify either Threshold or ThresholdExpression, but not both.
|
|
4866
|
+
#
|
|
4784
4867
|
# @option params [String] :frequency
|
|
4785
4868
|
# The update to the frequency value that subscribers receive
|
|
4786
4869
|
# notifications.
|
|
@@ -4798,10 +4881,14 @@ module Aws::CostExplorer
|
|
|
4798
4881
|
# The update to the [Expression][1] object used to specify the anomalies
|
|
4799
4882
|
# that you want to generate alerts for. This supports dimensions and
|
|
4800
4883
|
# nested expressions. The supported dimensions are
|
|
4801
|
-
# `ANOMALY_TOTAL_IMPACT_ABSOLUTE` and `ANOMALY_TOTAL_IMPACT_PERCENTAGE
|
|
4802
|
-
#
|
|
4803
|
-
#
|
|
4804
|
-
#
|
|
4884
|
+
# `ANOMALY_TOTAL_IMPACT_ABSOLUTE` and `ANOMALY_TOTAL_IMPACT_PERCENTAGE`,
|
|
4885
|
+
# corresponding to an anomaly’s TotalImpact and TotalImpactPercentage,
|
|
4886
|
+
# respectively (see [Impact][2] for more details). The supported nested
|
|
4887
|
+
# expression types are `AND` and `OR`. The match option
|
|
4888
|
+
# `GREATER_THAN_OR_EQUAL` is required. Values must be numbers between 0
|
|
4889
|
+
# and 10,000,000,000 in string format.
|
|
4890
|
+
#
|
|
4891
|
+
# You can specify either Threshold or ThresholdExpression, but not both.
|
|
4805
4892
|
#
|
|
4806
4893
|
# The following are examples of valid ThresholdExpressions:
|
|
4807
4894
|
#
|
|
@@ -4830,6 +4917,7 @@ module Aws::CostExplorer
|
|
|
4830
4917
|
#
|
|
4831
4918
|
#
|
|
4832
4919
|
# [1]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Expression.html
|
|
4920
|
+
# [2]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Impact.html
|
|
4833
4921
|
#
|
|
4834
4922
|
# @return [Types::UpdateAnomalySubscriptionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
|
4835
4923
|
#
|
|
@@ -5062,7 +5150,7 @@ module Aws::CostExplorer
|
|
|
5062
5150
|
params: params,
|
|
5063
5151
|
config: config)
|
|
5064
5152
|
context[:gem_name] = 'aws-sdk-costexplorer'
|
|
5065
|
-
context[:gem_version] = '1.
|
|
5153
|
+
context[:gem_version] = '1.89.0'
|
|
5066
5154
|
Seahorse::Client::Request.new(handlers, context)
|
|
5067
5155
|
end
|
|
5068
5156
|
|
|
@@ -144,6 +144,8 @@ module Aws::CostExplorer
|
|
|
144
144
|
GetReservationUtilizationResponse = Shapes::StructureShape.new(name: 'GetReservationUtilizationResponse')
|
|
145
145
|
GetRightsizingRecommendationRequest = Shapes::StructureShape.new(name: 'GetRightsizingRecommendationRequest')
|
|
146
146
|
GetRightsizingRecommendationResponse = Shapes::StructureShape.new(name: 'GetRightsizingRecommendationResponse')
|
|
147
|
+
GetSavingsPlanPurchaseRecommendationDetailsRequest = Shapes::StructureShape.new(name: 'GetSavingsPlanPurchaseRecommendationDetailsRequest')
|
|
148
|
+
GetSavingsPlanPurchaseRecommendationDetailsResponse = Shapes::StructureShape.new(name: 'GetSavingsPlanPurchaseRecommendationDetailsResponse')
|
|
147
149
|
GetSavingsPlansCoverageRequest = Shapes::StructureShape.new(name: 'GetSavingsPlansCoverageRequest')
|
|
148
150
|
GetSavingsPlansCoverageResponse = Shapes::StructureShape.new(name: 'GetSavingsPlansCoverageResponse')
|
|
149
151
|
GetSavingsPlansPurchaseRecommendationRequest = Shapes::StructureShape.new(name: 'GetSavingsPlansPurchaseRecommendationRequest')
|
|
@@ -188,6 +190,7 @@ module Aws::CostExplorer
|
|
|
188
190
|
MetricUnit = Shapes::StringShape.new(name: 'MetricUnit')
|
|
189
191
|
MetricValue = Shapes::StructureShape.new(name: 'MetricValue')
|
|
190
192
|
Metrics = Shapes::MapShape.new(name: 'Metrics')
|
|
193
|
+
MetricsOverLookbackPeriod = Shapes::ListShape.new(name: 'MetricsOverLookbackPeriod')
|
|
191
194
|
ModifyRecommendationDetail = Shapes::StructureShape.new(name: 'ModifyRecommendationDetail')
|
|
192
195
|
MonitorArnList = Shapes::ListShape.new(name: 'MonitorArnList')
|
|
193
196
|
MonitorDimension = Shapes::StringShape.new(name: 'MonitorDimension')
|
|
@@ -215,6 +218,9 @@ module Aws::CostExplorer
|
|
|
215
218
|
RDSInstanceDetails = Shapes::StructureShape.new(name: 'RDSInstanceDetails')
|
|
216
219
|
RICostForUnusedHours = Shapes::StringShape.new(name: 'RICostForUnusedHours')
|
|
217
220
|
RealizedSavings = Shapes::StringShape.new(name: 'RealizedSavings')
|
|
221
|
+
RecommendationDetailData = Shapes::StructureShape.new(name: 'RecommendationDetailData')
|
|
222
|
+
RecommendationDetailHourlyMetrics = Shapes::StructureShape.new(name: 'RecommendationDetailHourlyMetrics')
|
|
223
|
+
RecommendationDetailId = Shapes::StringShape.new(name: 'RecommendationDetailId')
|
|
218
224
|
RecommendationId = Shapes::StringShape.new(name: 'RecommendationId')
|
|
219
225
|
RecommendationIdList = Shapes::ListShape.new(name: 'RecommendationIdList')
|
|
220
226
|
RecommendationTarget = Shapes::StringShape.new(name: 'RecommendationTarget')
|
|
@@ -830,6 +836,13 @@ module Aws::CostExplorer
|
|
|
830
836
|
GetRightsizingRecommendationResponse.add_member(:configuration, Shapes::ShapeRef.new(shape: RightsizingRecommendationConfiguration, location_name: "Configuration"))
|
|
831
837
|
GetRightsizingRecommendationResponse.struct_class = Types::GetRightsizingRecommendationResponse
|
|
832
838
|
|
|
839
|
+
GetSavingsPlanPurchaseRecommendationDetailsRequest.add_member(:recommendation_detail_id, Shapes::ShapeRef.new(shape: RecommendationDetailId, required: true, location_name: "RecommendationDetailId"))
|
|
840
|
+
GetSavingsPlanPurchaseRecommendationDetailsRequest.struct_class = Types::GetSavingsPlanPurchaseRecommendationDetailsRequest
|
|
841
|
+
|
|
842
|
+
GetSavingsPlanPurchaseRecommendationDetailsResponse.add_member(:recommendation_detail_id, Shapes::ShapeRef.new(shape: RecommendationDetailId, location_name: "RecommendationDetailId"))
|
|
843
|
+
GetSavingsPlanPurchaseRecommendationDetailsResponse.add_member(:recommendation_detail_data, Shapes::ShapeRef.new(shape: RecommendationDetailData, location_name: "RecommendationDetailData"))
|
|
844
|
+
GetSavingsPlanPurchaseRecommendationDetailsResponse.struct_class = Types::GetSavingsPlanPurchaseRecommendationDetailsResponse
|
|
845
|
+
|
|
833
846
|
GetSavingsPlansCoverageRequest.add_member(:time_period, Shapes::ShapeRef.new(shape: DateInterval, required: true, location_name: "TimePeriod"))
|
|
834
847
|
GetSavingsPlansCoverageRequest.add_member(:group_by, Shapes::ShapeRef.new(shape: GroupDefinitions, location_name: "GroupBy"))
|
|
835
848
|
GetSavingsPlansCoverageRequest.add_member(:granularity, Shapes::ShapeRef.new(shape: Granularity, location_name: "Granularity"))
|
|
@@ -990,6 +1003,8 @@ module Aws::CostExplorer
|
|
|
990
1003
|
Metrics.key = Shapes::ShapeRef.new(shape: MetricName)
|
|
991
1004
|
Metrics.value = Shapes::ShapeRef.new(shape: MetricValue)
|
|
992
1005
|
|
|
1006
|
+
MetricsOverLookbackPeriod.member = Shapes::ShapeRef.new(shape: RecommendationDetailHourlyMetrics)
|
|
1007
|
+
|
|
993
1008
|
ModifyRecommendationDetail.add_member(:target_instances, Shapes::ShapeRef.new(shape: TargetInstancesList, location_name: "TargetInstances"))
|
|
994
1009
|
ModifyRecommendationDetail.struct_class = Types::ModifyRecommendationDetail
|
|
995
1010
|
|
|
@@ -1021,6 +1036,44 @@ module Aws::CostExplorer
|
|
|
1021
1036
|
RDSInstanceDetails.add_member(:size_flex_eligible, Shapes::ShapeRef.new(shape: GenericBoolean, location_name: "SizeFlexEligible"))
|
|
1022
1037
|
RDSInstanceDetails.struct_class = Types::RDSInstanceDetails
|
|
1023
1038
|
|
|
1039
|
+
RecommendationDetailData.add_member(:account_scope, Shapes::ShapeRef.new(shape: AccountScope, location_name: "AccountScope"))
|
|
1040
|
+
RecommendationDetailData.add_member(:lookback_period_in_days, Shapes::ShapeRef.new(shape: LookbackPeriodInDays, location_name: "LookbackPeriodInDays"))
|
|
1041
|
+
RecommendationDetailData.add_member(:savings_plans_type, Shapes::ShapeRef.new(shape: SupportedSavingsPlansType, location_name: "SavingsPlansType"))
|
|
1042
|
+
RecommendationDetailData.add_member(:term_in_years, Shapes::ShapeRef.new(shape: TermInYears, location_name: "TermInYears"))
|
|
1043
|
+
RecommendationDetailData.add_member(:payment_option, Shapes::ShapeRef.new(shape: PaymentOption, location_name: "PaymentOption"))
|
|
1044
|
+
RecommendationDetailData.add_member(:account_id, Shapes::ShapeRef.new(shape: GenericString, location_name: "AccountId"))
|
|
1045
|
+
RecommendationDetailData.add_member(:currency_code, Shapes::ShapeRef.new(shape: GenericString, location_name: "CurrencyCode"))
|
|
1046
|
+
RecommendationDetailData.add_member(:instance_family, Shapes::ShapeRef.new(shape: GenericString, location_name: "InstanceFamily"))
|
|
1047
|
+
RecommendationDetailData.add_member(:region, Shapes::ShapeRef.new(shape: GenericString, location_name: "Region"))
|
|
1048
|
+
RecommendationDetailData.add_member(:offering_id, Shapes::ShapeRef.new(shape: GenericString, location_name: "OfferingId"))
|
|
1049
|
+
RecommendationDetailData.add_member(:generation_timestamp, Shapes::ShapeRef.new(shape: ZonedDateTime, location_name: "GenerationTimestamp"))
|
|
1050
|
+
RecommendationDetailData.add_member(:latest_usage_timestamp, Shapes::ShapeRef.new(shape: ZonedDateTime, location_name: "LatestUsageTimestamp"))
|
|
1051
|
+
RecommendationDetailData.add_member(:current_average_hourly_on_demand_spend, Shapes::ShapeRef.new(shape: GenericString, location_name: "CurrentAverageHourlyOnDemandSpend"))
|
|
1052
|
+
RecommendationDetailData.add_member(:current_maximum_hourly_on_demand_spend, Shapes::ShapeRef.new(shape: GenericString, location_name: "CurrentMaximumHourlyOnDemandSpend"))
|
|
1053
|
+
RecommendationDetailData.add_member(:current_minimum_hourly_on_demand_spend, Shapes::ShapeRef.new(shape: GenericString, location_name: "CurrentMinimumHourlyOnDemandSpend"))
|
|
1054
|
+
RecommendationDetailData.add_member(:estimated_average_utilization, Shapes::ShapeRef.new(shape: GenericString, location_name: "EstimatedAverageUtilization"))
|
|
1055
|
+
RecommendationDetailData.add_member(:estimated_monthly_savings_amount, Shapes::ShapeRef.new(shape: GenericString, location_name: "EstimatedMonthlySavingsAmount"))
|
|
1056
|
+
RecommendationDetailData.add_member(:estimated_on_demand_cost, Shapes::ShapeRef.new(shape: GenericString, location_name: "EstimatedOnDemandCost"))
|
|
1057
|
+
RecommendationDetailData.add_member(:estimated_on_demand_cost_with_current_commitment, Shapes::ShapeRef.new(shape: GenericString, location_name: "EstimatedOnDemandCostWithCurrentCommitment"))
|
|
1058
|
+
RecommendationDetailData.add_member(:estimated_roi, Shapes::ShapeRef.new(shape: GenericString, location_name: "EstimatedROI"))
|
|
1059
|
+
RecommendationDetailData.add_member(:estimated_sp_cost, Shapes::ShapeRef.new(shape: GenericString, location_name: "EstimatedSPCost"))
|
|
1060
|
+
RecommendationDetailData.add_member(:estimated_savings_amount, Shapes::ShapeRef.new(shape: GenericString, location_name: "EstimatedSavingsAmount"))
|
|
1061
|
+
RecommendationDetailData.add_member(:estimated_savings_percentage, Shapes::ShapeRef.new(shape: GenericString, location_name: "EstimatedSavingsPercentage"))
|
|
1062
|
+
RecommendationDetailData.add_member(:existing_hourly_commitment, Shapes::ShapeRef.new(shape: GenericString, location_name: "ExistingHourlyCommitment"))
|
|
1063
|
+
RecommendationDetailData.add_member(:hourly_commitment_to_purchase, Shapes::ShapeRef.new(shape: GenericString, location_name: "HourlyCommitmentToPurchase"))
|
|
1064
|
+
RecommendationDetailData.add_member(:upfront_cost, Shapes::ShapeRef.new(shape: GenericString, location_name: "UpfrontCost"))
|
|
1065
|
+
RecommendationDetailData.add_member(:current_average_coverage, Shapes::ShapeRef.new(shape: GenericString, location_name: "CurrentAverageCoverage"))
|
|
1066
|
+
RecommendationDetailData.add_member(:estimated_average_coverage, Shapes::ShapeRef.new(shape: GenericString, location_name: "EstimatedAverageCoverage"))
|
|
1067
|
+
RecommendationDetailData.add_member(:metrics_over_lookback_period, Shapes::ShapeRef.new(shape: MetricsOverLookbackPeriod, location_name: "MetricsOverLookbackPeriod"))
|
|
1068
|
+
RecommendationDetailData.struct_class = Types::RecommendationDetailData
|
|
1069
|
+
|
|
1070
|
+
RecommendationDetailHourlyMetrics.add_member(:start_time, Shapes::ShapeRef.new(shape: ZonedDateTime, location_name: "StartTime"))
|
|
1071
|
+
RecommendationDetailHourlyMetrics.add_member(:estimated_on_demand_cost, Shapes::ShapeRef.new(shape: GenericString, location_name: "EstimatedOnDemandCost"))
|
|
1072
|
+
RecommendationDetailHourlyMetrics.add_member(:current_coverage, Shapes::ShapeRef.new(shape: GenericString, location_name: "CurrentCoverage"))
|
|
1073
|
+
RecommendationDetailHourlyMetrics.add_member(:estimated_coverage, Shapes::ShapeRef.new(shape: GenericString, location_name: "EstimatedCoverage"))
|
|
1074
|
+
RecommendationDetailHourlyMetrics.add_member(:estimated_new_commitment_utilization, Shapes::ShapeRef.new(shape: GenericString, location_name: "EstimatedNewCommitmentUtilization"))
|
|
1075
|
+
RecommendationDetailHourlyMetrics.struct_class = Types::RecommendationDetailHourlyMetrics
|
|
1076
|
+
|
|
1024
1077
|
RecommendationIdList.member = Shapes::ShapeRef.new(shape: RecommendationId)
|
|
1025
1078
|
|
|
1026
1079
|
RedshiftInstanceDetails.add_member(:family, Shapes::ShapeRef.new(shape: GenericString, location_name: "Family"))
|
|
@@ -1220,6 +1273,7 @@ module Aws::CostExplorer
|
|
|
1220
1273
|
SavingsPlansPurchaseRecommendationDetail.add_member(:current_minimum_hourly_on_demand_spend, Shapes::ShapeRef.new(shape: GenericString, location_name: "CurrentMinimumHourlyOnDemandSpend"))
|
|
1221
1274
|
SavingsPlansPurchaseRecommendationDetail.add_member(:current_maximum_hourly_on_demand_spend, Shapes::ShapeRef.new(shape: GenericString, location_name: "CurrentMaximumHourlyOnDemandSpend"))
|
|
1222
1275
|
SavingsPlansPurchaseRecommendationDetail.add_member(:current_average_hourly_on_demand_spend, Shapes::ShapeRef.new(shape: GenericString, location_name: "CurrentAverageHourlyOnDemandSpend"))
|
|
1276
|
+
SavingsPlansPurchaseRecommendationDetail.add_member(:recommendation_detail_id, Shapes::ShapeRef.new(shape: RecommendationDetailId, location_name: "RecommendationDetailId"))
|
|
1223
1277
|
SavingsPlansPurchaseRecommendationDetail.struct_class = Types::SavingsPlansPurchaseRecommendationDetail
|
|
1224
1278
|
|
|
1225
1279
|
SavingsPlansPurchaseRecommendationDetailList.member = Shapes::ShapeRef.new(shape: SavingsPlansPurchaseRecommendationDetail)
|
|
@@ -1633,6 +1687,16 @@ module Aws::CostExplorer
|
|
|
1633
1687
|
o.errors << Shapes::ShapeRef.new(shape: InvalidNextTokenException)
|
|
1634
1688
|
end)
|
|
1635
1689
|
|
|
1690
|
+
api.add_operation(:get_savings_plan_purchase_recommendation_details, Seahorse::Model::Operation.new.tap do |o|
|
|
1691
|
+
o.name = "GetSavingsPlanPurchaseRecommendationDetails"
|
|
1692
|
+
o.http_method = "POST"
|
|
1693
|
+
o.http_request_uri = "/"
|
|
1694
|
+
o.input = Shapes::ShapeRef.new(shape: GetSavingsPlanPurchaseRecommendationDetailsRequest)
|
|
1695
|
+
o.output = Shapes::ShapeRef.new(shape: GetSavingsPlanPurchaseRecommendationDetailsResponse)
|
|
1696
|
+
o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
|
|
1697
|
+
o.errors << Shapes::ShapeRef.new(shape: DataUnavailableException)
|
|
1698
|
+
end)
|
|
1699
|
+
|
|
1636
1700
|
api.add_operation(:get_savings_plans_coverage, Seahorse::Model::Operation.new.tap do |o|
|
|
1637
1701
|
o.name = "GetSavingsPlansCoverage"
|
|
1638
1702
|
o.http_method = "POST"
|
|
@@ -1750,6 +1814,7 @@ module Aws::CostExplorer
|
|
|
1750
1814
|
o.output = Shapes::ShapeRef.new(shape: ListSavingsPlansPurchaseRecommendationGenerationResponse)
|
|
1751
1815
|
o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
|
|
1752
1816
|
o.errors << Shapes::ShapeRef.new(shape: InvalidNextTokenException)
|
|
1817
|
+
o.errors << Shapes::ShapeRef.new(shape: DataUnavailableException)
|
|
1753
1818
|
end)
|
|
1754
1819
|
|
|
1755
1820
|
api.add_operation(:list_tags_for_resource, Seahorse::Model::Operation.new.tap do |o|
|
|
@@ -1780,6 +1845,7 @@ module Aws::CostExplorer
|
|
|
1780
1845
|
o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
|
|
1781
1846
|
o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException)
|
|
1782
1847
|
o.errors << Shapes::ShapeRef.new(shape: GenerationExistsException)
|
|
1848
|
+
o.errors << Shapes::ShapeRef.new(shape: DataUnavailableException)
|
|
1783
1849
|
end)
|
|
1784
1850
|
|
|
1785
1851
|
api.add_operation(:tag_resource, Seahorse::Model::Operation.new.tap do |o|
|
|
@@ -50,9 +50,6 @@ module Aws::CostExplorer
|
|
|
50
50
|
|
|
51
51
|
def initialize(options = {})
|
|
52
52
|
self[:region] = options[:region]
|
|
53
|
-
if self[:region].nil?
|
|
54
|
-
raise ArgumentError, "Missing required EndpointParameter: :region"
|
|
55
|
-
end
|
|
56
53
|
self[:use_dual_stack] = options[:use_dual_stack]
|
|
57
54
|
self[:use_dual_stack] = false if self[:use_dual_stack].nil?
|
|
58
55
|
if self[:use_dual_stack].nil?
|
|
@@ -14,84 +14,45 @@ module Aws::CostExplorer
|
|
|
14
14
|
use_dual_stack = parameters.use_dual_stack
|
|
15
15
|
use_fips = parameters.use_fips
|
|
16
16
|
endpoint = parameters.endpoint
|
|
17
|
-
if
|
|
18
|
-
if Aws::Endpoints::Matchers.
|
|
19
|
-
|
|
20
|
-
raise ArgumentError, "Invalid Configuration: FIPS and custom endpoint are not supported"
|
|
21
|
-
end
|
|
22
|
-
if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
|
|
23
|
-
raise ArgumentError, "Invalid Configuration: Dualstack and custom endpoint are not supported"
|
|
24
|
-
end
|
|
25
|
-
return Aws::Endpoints::Endpoint.new(url: endpoint, headers: {}, properties: {})
|
|
17
|
+
if Aws::Endpoints::Matchers.set?(endpoint)
|
|
18
|
+
if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
|
|
19
|
+
raise ArgumentError, "Invalid Configuration: FIPS and custom endpoint are not supported"
|
|
26
20
|
end
|
|
27
|
-
if Aws::Endpoints::Matchers.
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
if Aws::Endpoints::Matchers.boolean_equals?(use_fips,
|
|
35
|
-
|
|
36
|
-
return Aws::Endpoints::Endpoint.new(url: "https://cost-explorer-fips.#{region}.amazonaws.com", headers: {}, properties: {"authSchemes"=>[{"name"=>"sigv4", "signingRegion"=>"us-east-1", "signingName"=>"ce"}]})
|
|
37
|
-
end
|
|
38
|
-
raise ArgumentError, "FIPS is enabled but this partition does not support FIPS"
|
|
21
|
+
if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
|
|
22
|
+
raise ArgumentError, "Invalid Configuration: Dualstack and custom endpoint are not supported"
|
|
23
|
+
end
|
|
24
|
+
return Aws::Endpoints::Endpoint.new(url: endpoint, headers: {}, properties: {})
|
|
25
|
+
end
|
|
26
|
+
if Aws::Endpoints::Matchers.set?(region)
|
|
27
|
+
if (partition_result = Aws::Endpoints::Matchers.aws_partition(region))
|
|
28
|
+
if Aws::Endpoints::Matchers.string_equals?(Aws::Endpoints::Matchers.attr(partition_result, "name"), "aws") && Aws::Endpoints::Matchers.boolean_equals?(use_fips, false) && Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, false)
|
|
29
|
+
return Aws::Endpoints::Endpoint.new(url: "https://ce.us-east-1.amazonaws.com", headers: {}, properties: {"authSchemes"=>[{"name"=>"sigv4", "signingName"=>"ce", "signingRegion"=>"us-east-1"}]})
|
|
39
30
|
end
|
|
40
|
-
if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack,
|
|
41
|
-
|
|
42
|
-
return Aws::Endpoints::Endpoint.new(url: "https://cost-explorer.#{region}.api.aws", headers: {}, properties: {"authSchemes"=>[{"name"=>"sigv4", "signingRegion"=>"us-east-1", "signingName"=>"ce"}]})
|
|
43
|
-
end
|
|
44
|
-
raise ArgumentError, "DualStack is enabled but this partition does not support DualStack"
|
|
31
|
+
if Aws::Endpoints::Matchers.string_equals?(Aws::Endpoints::Matchers.attr(partition_result, "name"), "aws-cn") && Aws::Endpoints::Matchers.boolean_equals?(use_fips, false) && Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, false)
|
|
32
|
+
return Aws::Endpoints::Endpoint.new(url: "https://ce.cn-northwest-1.amazonaws.com.cn", headers: {}, properties: {"authSchemes"=>[{"name"=>"sigv4", "signingName"=>"ce", "signingRegion"=>"cn-northwest-1"}]})
|
|
45
33
|
end
|
|
46
|
-
return Aws::Endpoints::Endpoint.new(url: "https://ce.us-east-1.amazonaws.com", headers: {}, properties: {"authSchemes"=>[{"name"=>"sigv4", "signingRegion"=>"us-east-1", "signingName"=>"ce"}]})
|
|
47
|
-
end
|
|
48
|
-
if Aws::Endpoints::Matchers.string_equals?(Aws::Endpoints::Matchers.attr(partition_result, "name"), "aws-cn")
|
|
49
34
|
if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true) && Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
|
|
50
35
|
if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS")) && Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
|
|
51
|
-
return Aws::Endpoints::Endpoint.new(url: "https://
|
|
36
|
+
return Aws::Endpoints::Endpoint.new(url: "https://ce-fips.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
|
|
52
37
|
end
|
|
53
38
|
raise ArgumentError, "FIPS and DualStack are enabled, but this partition does not support one or both"
|
|
54
39
|
end
|
|
55
40
|
if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
|
|
56
41
|
if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"))
|
|
57
|
-
return Aws::Endpoints::Endpoint.new(url: "https://
|
|
42
|
+
return Aws::Endpoints::Endpoint.new(url: "https://ce-fips.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
|
|
58
43
|
end
|
|
59
44
|
raise ArgumentError, "FIPS is enabled but this partition does not support FIPS"
|
|
60
45
|
end
|
|
61
46
|
if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
|
|
62
47
|
if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
|
|
63
|
-
return Aws::Endpoints::Endpoint.new(url: "https://
|
|
48
|
+
return Aws::Endpoints::Endpoint.new(url: "https://ce.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
|
|
64
49
|
end
|
|
65
50
|
raise ArgumentError, "DualStack is enabled but this partition does not support DualStack"
|
|
66
51
|
end
|
|
67
|
-
return Aws::Endpoints::Endpoint.new(url: "https://ce
|
|
68
|
-
end
|
|
69
|
-
if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true) && Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
|
|
70
|
-
if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS")) && Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
|
|
71
|
-
return Aws::Endpoints::Endpoint.new(url: "https://ce-fips.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
|
|
72
|
-
end
|
|
73
|
-
raise ArgumentError, "FIPS and DualStack are enabled, but this partition does not support one or both"
|
|
74
|
-
end
|
|
75
|
-
if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
|
|
76
|
-
if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"))
|
|
77
|
-
return Aws::Endpoints::Endpoint.new(url: "https://ce-fips.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
|
|
78
|
-
end
|
|
79
|
-
raise ArgumentError, "FIPS is enabled but this partition does not support FIPS"
|
|
80
|
-
end
|
|
81
|
-
if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
|
|
82
|
-
if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
|
|
83
|
-
return Aws::Endpoints::Endpoint.new(url: "https://ce.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
|
|
84
|
-
end
|
|
85
|
-
raise ArgumentError, "DualStack is enabled but this partition does not support DualStack"
|
|
86
|
-
end
|
|
87
|
-
if Aws::Endpoints::Matchers.string_equals?(region, "aws-global")
|
|
88
|
-
return Aws::Endpoints::Endpoint.new(url: "https://ce.us-east-1.amazonaws.com", headers: {}, properties: {"authSchemes"=>[{"name"=>"sigv4", "signingRegion"=>"us-east-1", "signingName"=>"ce"}]})
|
|
89
|
-
end
|
|
90
|
-
if Aws::Endpoints::Matchers.string_equals?(region, "aws-cn-global")
|
|
91
|
-
return Aws::Endpoints::Endpoint.new(url: "https://ce.cn-northwest-1.amazonaws.com.cn", headers: {}, properties: {"authSchemes"=>[{"name"=>"sigv4", "signingRegion"=>"cn-northwest-1", "signingName"=>"ce"}]})
|
|
52
|
+
return Aws::Endpoints::Endpoint.new(url: "https://ce.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
|
|
92
53
|
end
|
|
93
|
-
return Aws::Endpoints::Endpoint.new(url: "https://ce.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
|
|
94
54
|
end
|
|
55
|
+
raise ArgumentError, "Invalid Configuration: Missing Region"
|
|
95
56
|
raise ArgumentError, 'No endpoint could be resolved'
|
|
96
57
|
|
|
97
58
|
end
|
|
@@ -278,6 +278,20 @@ module Aws::CostExplorer
|
|
|
278
278
|
end
|
|
279
279
|
end
|
|
280
280
|
|
|
281
|
+
class GetSavingsPlanPurchaseRecommendationDetails
|
|
282
|
+
def self.build(context)
|
|
283
|
+
unless context.config.regional_endpoint
|
|
284
|
+
endpoint = context.config.endpoint.to_s
|
|
285
|
+
end
|
|
286
|
+
Aws::CostExplorer::EndpointParameters.new(
|
|
287
|
+
region: context.config.region,
|
|
288
|
+
use_dual_stack: context.config.use_dualstack_endpoint,
|
|
289
|
+
use_fips: context.config.use_fips_endpoint,
|
|
290
|
+
endpoint: endpoint,
|
|
291
|
+
)
|
|
292
|
+
end
|
|
293
|
+
end
|
|
294
|
+
|
|
281
295
|
class GetSavingsPlansCoverage
|
|
282
296
|
def self.build(context)
|
|
283
297
|
unless context.config.regional_endpoint
|
|
@@ -94,6 +94,8 @@ module Aws::CostExplorer
|
|
|
94
94
|
Aws::CostExplorer::Endpoints::GetReservationUtilization.build(context)
|
|
95
95
|
when :get_rightsizing_recommendation
|
|
96
96
|
Aws::CostExplorer::Endpoints::GetRightsizingRecommendation.build(context)
|
|
97
|
+
when :get_savings_plan_purchase_recommendation_details
|
|
98
|
+
Aws::CostExplorer::Endpoints::GetSavingsPlanPurchaseRecommendationDetails.build(context)
|
|
97
99
|
when :get_savings_plans_coverage
|
|
98
100
|
Aws::CostExplorer::Endpoints::GetSavingsPlansCoverage.build(context)
|
|
99
101
|
when :get_savings_plans_purchase_recommendation
|
|
@@ -151,7 +151,7 @@ module Aws::CostExplorer
|
|
|
151
151
|
#
|
|
152
152
|
# * The corresponding `Expression` for this example is as follows:
|
|
153
153
|
# `\{ "Dimensions": \{ "Key": "REGION", "Values": [ "us-east-1",
|
|
154
|
-
#
|
|
154
|
+
# "us-west-1" ] \} \}`
|
|
155
155
|
#
|
|
156
156
|
# * As shown in the previous example, lists of dimension values
|
|
157
157
|
# are combined with `OR` when applying the filter.
|
|
@@ -162,7 +162,7 @@ module Aws::CostExplorer
|
|
|
162
162
|
# supported.
|
|
163
163
|
#
|
|
164
164
|
# * For example, you can filter for linked account names that
|
|
165
|
-
# start with
|
|
165
|
+
# start with "a".
|
|
166
166
|
#
|
|
167
167
|
# * The corresponding `Expression` for this example is as follows:
|
|
168
168
|
# `\{ "Dimensions": \{ "Key": "LINKED_ACCOUNT_NAME",
|
|
@@ -256,10 +256,27 @@ module Aws::CostExplorer
|
|
|
256
256
|
include Aws::Structure
|
|
257
257
|
end
|
|
258
258
|
|
|
259
|
-
#
|
|
260
|
-
#
|
|
261
|
-
#
|
|
262
|
-
#
|
|
259
|
+
# An `AnomalySubscription` resource (also referred to as an alert
|
|
260
|
+
# subscription) sends notifications about specific anomalies that meet
|
|
261
|
+
# an alerting criteria defined by you.
|
|
262
|
+
#
|
|
263
|
+
# You can specify the frequency of the alerts and the subscribers to
|
|
264
|
+
# notify.
|
|
265
|
+
#
|
|
266
|
+
# Anomaly subscriptions can be associated with one or more [
|
|
267
|
+
# `AnomalyMonitor` ][1] resources, and they only send notifications
|
|
268
|
+
# about anomalies detected by those associated monitors. You can also
|
|
269
|
+
# configure a threshold to further control which anomalies are included
|
|
270
|
+
# in the notifications.
|
|
271
|
+
#
|
|
272
|
+
# Anomalies that don’t exceed the chosen threshold and therefore don’t
|
|
273
|
+
# trigger notifications from an anomaly subscription will still be
|
|
274
|
+
# available on the console and from the [ `GetAnomalies` ][2] API.
|
|
275
|
+
#
|
|
276
|
+
#
|
|
277
|
+
#
|
|
278
|
+
# [1]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_AnomalyMonitor.html
|
|
279
|
+
# [2]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_GetAnomalies.html
|
|
263
280
|
#
|
|
264
281
|
# @!attribute [rw] subscription_arn
|
|
265
282
|
# The `AnomalySubscription` Amazon Resource Name (ARN).
|
|
@@ -280,19 +297,31 @@ module Aws::CostExplorer
|
|
|
280
297
|
# @!attribute [rw] threshold
|
|
281
298
|
# (deprecated)
|
|
282
299
|
#
|
|
283
|
-
#
|
|
284
|
-
#
|
|
300
|
+
# An absolute dollar value that must be exceeded by the anomaly's
|
|
301
|
+
# total impact (see [Impact][1] for more details) for an anomaly
|
|
302
|
+
# notification to be generated.
|
|
285
303
|
#
|
|
286
304
|
# This field has been deprecated. To specify a threshold, use
|
|
287
305
|
# ThresholdExpression. Continued use of Threshold will be treated as
|
|
288
306
|
# shorthand syntax for a ThresholdExpression.
|
|
289
307
|
#
|
|
290
308
|
# One of Threshold or ThresholdExpression is required for this
|
|
291
|
-
# resource.
|
|
309
|
+
# resource. You cannot specify both.
|
|
310
|
+
#
|
|
311
|
+
#
|
|
312
|
+
#
|
|
313
|
+
# [1]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Impact.html
|
|
292
314
|
# @return [Float]
|
|
293
315
|
#
|
|
294
316
|
# @!attribute [rw] frequency
|
|
295
|
-
# The frequency that anomaly
|
|
317
|
+
# The frequency that anomaly notifications are sent. Notifications are
|
|
318
|
+
# sent either over email (for DAILY and WEEKLY frequencies) or SNS
|
|
319
|
+
# (for IMMEDIATE frequency). For more information, see [Creating an
|
|
320
|
+
# Amazon SNS topic for anomaly notifications][1].
|
|
321
|
+
#
|
|
322
|
+
#
|
|
323
|
+
#
|
|
324
|
+
# [1]: https://docs.aws.amazon.com/cost-management/latest/userguide/ad-SNS.html
|
|
296
325
|
# @return [String]
|
|
297
326
|
#
|
|
298
327
|
# @!attribute [rw] subscription_name
|
|
@@ -304,12 +333,15 @@ module Aws::CostExplorer
|
|
|
304
333
|
# want to generate alerts for. This supports dimensions and nested
|
|
305
334
|
# expressions. The supported dimensions are
|
|
306
335
|
# `ANOMALY_TOTAL_IMPACT_ABSOLUTE` and
|
|
307
|
-
# `ANOMALY_TOTAL_IMPACT_PERCENTAGE
|
|
308
|
-
#
|
|
309
|
-
#
|
|
336
|
+
# `ANOMALY_TOTAL_IMPACT_PERCENTAGE`, corresponding to an anomaly’s
|
|
337
|
+
# TotalImpact and TotalImpactPercentage, respectively (see [Impact][2]
|
|
338
|
+
# for more details). The supported nested expression types are `AND`
|
|
339
|
+
# and `OR`. The match option `GREATER_THAN_OR_EQUAL` is required.
|
|
340
|
+
# Values must be numbers between 0 and 10,000,000,000 in string
|
|
341
|
+
# format.
|
|
310
342
|
#
|
|
311
343
|
# One of Threshold or ThresholdExpression is required for this
|
|
312
|
-
# resource.
|
|
344
|
+
# resource. You cannot specify both.
|
|
313
345
|
#
|
|
314
346
|
# The following are examples of valid ThresholdExpressions:
|
|
315
347
|
#
|
|
@@ -338,6 +370,7 @@ module Aws::CostExplorer
|
|
|
338
370
|
#
|
|
339
371
|
#
|
|
340
372
|
# [1]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Expression.html
|
|
373
|
+
# [2]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Impact.html
|
|
341
374
|
# @return [Types::Expression]
|
|
342
375
|
#
|
|
343
376
|
# @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/AnomalySubscription AWS API Documentation
|
|
@@ -593,10 +626,7 @@ module Aws::CostExplorer
|
|
|
593
626
|
# An [Expression][1] object used to categorize costs. This supports
|
|
594
627
|
# dimensions, tags, and nested expressions. Currently the only
|
|
595
628
|
# dimensions supported are `LINKED_ACCOUNT`, `SERVICE_CODE`,
|
|
596
|
-
# `RECORD_TYPE`, and `
|
|
597
|
-
#
|
|
598
|
-
# Root level `OR` isn't supported. We recommend that you create a
|
|
599
|
-
# separate rule instead.
|
|
629
|
+
# `RECORD_TYPE`, `LINKED_ACCOUNT_NAME`, `REGION`, and `USAGE_TYPE`.
|
|
600
630
|
#
|
|
601
631
|
# `RECORD_TYPE` is a dimension used for Cost Explorer APIs, and is
|
|
602
632
|
# also supported for Cost Category expressions. This dimension uses
|
|
@@ -1705,7 +1735,7 @@ module Aws::CostExplorer
|
|
|
1705
1735
|
#
|
|
1706
1736
|
# * The corresponding `Expression` for this example is as follows:
|
|
1707
1737
|
# `\{ "Dimensions": \{ "Key": "REGION", "Values": [ "us-east-1",
|
|
1708
|
-
#
|
|
1738
|
+
# "us-west-1" ] \} \}`
|
|
1709
1739
|
#
|
|
1710
1740
|
# * As shown in the previous example, lists of dimension values are
|
|
1711
1741
|
# combined with `OR` when applying the filter.
|
|
@@ -1715,7 +1745,7 @@ module Aws::CostExplorer
|
|
|
1715
1745
|
# the documentation for each specific API to see what is supported.
|
|
1716
1746
|
#
|
|
1717
1747
|
# * For example, you can filter for linked account names that start
|
|
1718
|
-
# with
|
|
1748
|
+
# with "a".
|
|
1719
1749
|
#
|
|
1720
1750
|
# * The corresponding `Expression` for this example is as follows:
|
|
1721
1751
|
# `\{ "Dimensions": \{ "Key": "LINKED_ACCOUNT_NAME",
|
|
@@ -2334,7 +2364,7 @@ module Aws::CostExplorer
|
|
|
2334
2364
|
#
|
|
2335
2365
|
# * The corresponding `Expression` for this example is as follows:
|
|
2336
2366
|
# `\{ "Dimensions": \{ "Key": "REGION", "Values": [ "us-east-1",
|
|
2337
|
-
#
|
|
2367
|
+
# "us-west-1" ] \} \}`
|
|
2338
2368
|
#
|
|
2339
2369
|
# * As shown in the previous example, lists of dimension values
|
|
2340
2370
|
# are combined with `OR` when applying the filter.
|
|
@@ -2345,7 +2375,7 @@ module Aws::CostExplorer
|
|
|
2345
2375
|
# supported.
|
|
2346
2376
|
#
|
|
2347
2377
|
# * For example, you can filter for linked account names that
|
|
2348
|
-
# start with
|
|
2378
|
+
# start with "a".
|
|
2349
2379
|
#
|
|
2350
2380
|
# * The corresponding `Expression` for this example is as follows:
|
|
2351
2381
|
# `\{ "Dimensions": \{ "Key": "LINKED_ACCOUNT_NAME",
|
|
@@ -2831,7 +2861,7 @@ module Aws::CostExplorer
|
|
|
2831
2861
|
#
|
|
2832
2862
|
# * The corresponding `Expression` for this example is as follows:
|
|
2833
2863
|
# `\{ "Dimensions": \{ "Key": "REGION", "Values": [ "us-east-1",
|
|
2834
|
-
#
|
|
2864
|
+
# "us-west-1" ] \} \}`
|
|
2835
2865
|
#
|
|
2836
2866
|
# * As shown in the previous example, lists of dimension values
|
|
2837
2867
|
# are combined with `OR` when applying the filter.
|
|
@@ -2842,7 +2872,7 @@ module Aws::CostExplorer
|
|
|
2842
2872
|
# supported.
|
|
2843
2873
|
#
|
|
2844
2874
|
# * For example, you can filter for linked account names that
|
|
2845
|
-
# start with
|
|
2875
|
+
# start with "a".
|
|
2846
2876
|
#
|
|
2847
2877
|
# * The corresponding `Expression` for this example is as follows:
|
|
2848
2878
|
# `\{ "Dimensions": \{ "Key": "LINKED_ACCOUNT_NAME",
|
|
@@ -3306,7 +3336,7 @@ module Aws::CostExplorer
|
|
|
3306
3336
|
#
|
|
3307
3337
|
# * The corresponding `Expression` for this example is as follows:
|
|
3308
3338
|
# `\{ "Dimensions": \{ "Key": "REGION", "Values": [ "us-east-1",
|
|
3309
|
-
#
|
|
3339
|
+
# "us-west-1" ] \} \}`
|
|
3310
3340
|
#
|
|
3311
3341
|
# * As shown in the previous example, lists of dimension values
|
|
3312
3342
|
# are combined with `OR` when applying the filter.
|
|
@@ -3317,7 +3347,7 @@ module Aws::CostExplorer
|
|
|
3317
3347
|
# supported.
|
|
3318
3348
|
#
|
|
3319
3349
|
# * For example, you can filter for linked account names that
|
|
3320
|
-
# start with
|
|
3350
|
+
# start with "a".
|
|
3321
3351
|
#
|
|
3322
3352
|
# * The corresponding `Expression` for this example is as follows:
|
|
3323
3353
|
# `\{ "Dimensions": \{ "Key": "LINKED_ACCOUNT_NAME",
|
|
@@ -3634,7 +3664,7 @@ module Aws::CostExplorer
|
|
|
3634
3664
|
#
|
|
3635
3665
|
# * The corresponding `Expression` for this example is as follows:
|
|
3636
3666
|
# `\{ "Dimensions": \{ "Key": "REGION", "Values": [ "us-east-1",
|
|
3637
|
-
#
|
|
3667
|
+
# "us-west-1" ] \} \}`
|
|
3638
3668
|
#
|
|
3639
3669
|
# * As shown in the previous example, lists of dimension values
|
|
3640
3670
|
# are combined with `OR` when applying the filter.
|
|
@@ -3645,7 +3675,7 @@ module Aws::CostExplorer
|
|
|
3645
3675
|
# supported.
|
|
3646
3676
|
#
|
|
3647
3677
|
# * For example, you can filter for linked account names that
|
|
3648
|
-
# start with
|
|
3678
|
+
# start with "a".
|
|
3649
3679
|
#
|
|
3650
3680
|
# * The corresponding `Expression` for this example is as follows:
|
|
3651
3681
|
# `\{ "Dimensions": \{ "Key": "LINKED_ACCOUNT_NAME",
|
|
@@ -3772,6 +3802,36 @@ module Aws::CostExplorer
|
|
|
3772
3802
|
include Aws::Structure
|
|
3773
3803
|
end
|
|
3774
3804
|
|
|
3805
|
+
# @!attribute [rw] recommendation_detail_id
|
|
3806
|
+
# The ID that is associated with the Savings Plan recommendation.
|
|
3807
|
+
# @return [String]
|
|
3808
|
+
#
|
|
3809
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetSavingsPlanPurchaseRecommendationDetailsRequest AWS API Documentation
|
|
3810
|
+
#
|
|
3811
|
+
class GetSavingsPlanPurchaseRecommendationDetailsRequest < Struct.new(
|
|
3812
|
+
:recommendation_detail_id)
|
|
3813
|
+
SENSITIVE = []
|
|
3814
|
+
include Aws::Structure
|
|
3815
|
+
end
|
|
3816
|
+
|
|
3817
|
+
# @!attribute [rw] recommendation_detail_id
|
|
3818
|
+
# The ID that is associated with the Savings Plan recommendation.
|
|
3819
|
+
# @return [String]
|
|
3820
|
+
#
|
|
3821
|
+
# @!attribute [rw] recommendation_detail_data
|
|
3822
|
+
# Contains detailed information about a specific Savings Plan
|
|
3823
|
+
# recommendation.
|
|
3824
|
+
# @return [Types::RecommendationDetailData]
|
|
3825
|
+
#
|
|
3826
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetSavingsPlanPurchaseRecommendationDetailsResponse AWS API Documentation
|
|
3827
|
+
#
|
|
3828
|
+
class GetSavingsPlanPurchaseRecommendationDetailsResponse < Struct.new(
|
|
3829
|
+
:recommendation_detail_id,
|
|
3830
|
+
:recommendation_detail_data)
|
|
3831
|
+
SENSITIVE = []
|
|
3832
|
+
include Aws::Structure
|
|
3833
|
+
end
|
|
3834
|
+
|
|
3775
3835
|
# @!attribute [rw] time_period
|
|
3776
3836
|
# The time period that you want the usage and costs for. The `Start`
|
|
3777
3837
|
# date must be within 13 months. The `End` date must be after the
|
|
@@ -4228,7 +4288,7 @@ module Aws::CostExplorer
|
|
|
4228
4288
|
#
|
|
4229
4289
|
# * The corresponding `Expression` for this example is as follows:
|
|
4230
4290
|
# `\{ "Dimensions": \{ "Key": "REGION", "Values": [ "us-east-1",
|
|
4231
|
-
#
|
|
4291
|
+
# "us-west-1" ] \} \}`
|
|
4232
4292
|
#
|
|
4233
4293
|
# * As shown in the previous example, lists of dimension values
|
|
4234
4294
|
# are combined with `OR` when applying the filter.
|
|
@@ -4239,7 +4299,7 @@ module Aws::CostExplorer
|
|
|
4239
4299
|
# supported.
|
|
4240
4300
|
#
|
|
4241
4301
|
# * For example, you can filter for linked account names that
|
|
4242
|
-
# start with
|
|
4302
|
+
# start with "a".
|
|
4243
4303
|
#
|
|
4244
4304
|
# * The corresponding `Expression` for this example is as follows:
|
|
4245
4305
|
# `\{ "Dimensions": \{ "Key": "LINKED_ACCOUNT_NAME",
|
|
@@ -4982,6 +5042,221 @@ module Aws::CostExplorer
|
|
|
4982
5042
|
include Aws::Structure
|
|
4983
5043
|
end
|
|
4984
5044
|
|
|
5045
|
+
# The details and metrics for the given recommendation.
|
|
5046
|
+
#
|
|
5047
|
+
# @!attribute [rw] account_scope
|
|
5048
|
+
# The account scope that you want your recommendations for. Amazon Web
|
|
5049
|
+
# Services calculates recommendations including the management account
|
|
5050
|
+
# and member accounts if the value is set to PAYER. If the value is
|
|
5051
|
+
# LINKED, recommendations are calculated for individual member
|
|
5052
|
+
# accounts only.
|
|
5053
|
+
# @return [String]
|
|
5054
|
+
#
|
|
5055
|
+
# @!attribute [rw] lookback_period_in_days
|
|
5056
|
+
# How many days of previous usage that Amazon Web Services considers
|
|
5057
|
+
# when making this recommendation.
|
|
5058
|
+
# @return [String]
|
|
5059
|
+
#
|
|
5060
|
+
# @!attribute [rw] savings_plans_type
|
|
5061
|
+
# The requested Savings Plan recommendation type.
|
|
5062
|
+
# @return [String]
|
|
5063
|
+
#
|
|
5064
|
+
# @!attribute [rw] term_in_years
|
|
5065
|
+
# The term of the commitment in years.
|
|
5066
|
+
# @return [String]
|
|
5067
|
+
#
|
|
5068
|
+
# @!attribute [rw] payment_option
|
|
5069
|
+
# The payment option for the commitment (for example, All Upfront or
|
|
5070
|
+
# No Upfront).
|
|
5071
|
+
# @return [String]
|
|
5072
|
+
#
|
|
5073
|
+
# @!attribute [rw] account_id
|
|
5074
|
+
# The AccountID that the recommendation is generated for.
|
|
5075
|
+
# @return [String]
|
|
5076
|
+
#
|
|
5077
|
+
# @!attribute [rw] currency_code
|
|
5078
|
+
# The currency code that Amazon Web Services used to generate the
|
|
5079
|
+
# recommendation and present potential savings.
|
|
5080
|
+
# @return [String]
|
|
5081
|
+
#
|
|
5082
|
+
# @!attribute [rw] instance_family
|
|
5083
|
+
# The instance family of the recommended Savings Plan.
|
|
5084
|
+
# @return [String]
|
|
5085
|
+
#
|
|
5086
|
+
# @!attribute [rw] region
|
|
5087
|
+
# The region the recommendation is generated for.
|
|
5088
|
+
# @return [String]
|
|
5089
|
+
#
|
|
5090
|
+
# @!attribute [rw] offering_id
|
|
5091
|
+
# The unique ID that's used to distinguish Savings Plans from one
|
|
5092
|
+
# another.
|
|
5093
|
+
# @return [String]
|
|
5094
|
+
#
|
|
5095
|
+
# @!attribute [rw] generation_timestamp
|
|
5096
|
+
# The period of time that you want the usage and costs for.
|
|
5097
|
+
# @return [String]
|
|
5098
|
+
#
|
|
5099
|
+
# @!attribute [rw] latest_usage_timestamp
|
|
5100
|
+
# The period of time that you want the usage and costs for.
|
|
5101
|
+
# @return [String]
|
|
5102
|
+
#
|
|
5103
|
+
# @!attribute [rw] current_average_hourly_on_demand_spend
|
|
5104
|
+
# The average value of hourly On-Demand spend over the lookback period
|
|
5105
|
+
# of the applicable usage type.
|
|
5106
|
+
# @return [String]
|
|
5107
|
+
#
|
|
5108
|
+
# @!attribute [rw] current_maximum_hourly_on_demand_spend
|
|
5109
|
+
# The highest value of hourly On-Demand spend over the lookback period
|
|
5110
|
+
# of the applicable usage type.
|
|
5111
|
+
# @return [String]
|
|
5112
|
+
#
|
|
5113
|
+
# @!attribute [rw] current_minimum_hourly_on_demand_spend
|
|
5114
|
+
# The lowest value of hourly On-Demand spend over the lookback period
|
|
5115
|
+
# of the applicable usage type.
|
|
5116
|
+
# @return [String]
|
|
5117
|
+
#
|
|
5118
|
+
# @!attribute [rw] estimated_average_utilization
|
|
5119
|
+
# The estimated utilization of the recommended Savings Plan.
|
|
5120
|
+
# @return [String]
|
|
5121
|
+
#
|
|
5122
|
+
# @!attribute [rw] estimated_monthly_savings_amount
|
|
5123
|
+
# The estimated monthly savings amount based on the recommended
|
|
5124
|
+
# Savings Plan.
|
|
5125
|
+
# @return [String]
|
|
5126
|
+
#
|
|
5127
|
+
# @!attribute [rw] estimated_on_demand_cost
|
|
5128
|
+
# The remaining On-Demand cost estimated to not be covered by the
|
|
5129
|
+
# recommended Savings Plan, over the length of the lookback period.
|
|
5130
|
+
# @return [String]
|
|
5131
|
+
#
|
|
5132
|
+
# @!attribute [rw] estimated_on_demand_cost_with_current_commitment
|
|
5133
|
+
# The estimated On-Demand costs you expect with no additional
|
|
5134
|
+
# commitment, based on your usage of the selected time period and the
|
|
5135
|
+
# Savings Plan you own.
|
|
5136
|
+
# @return [String]
|
|
5137
|
+
#
|
|
5138
|
+
# @!attribute [rw] estimated_roi
|
|
5139
|
+
# The estimated return on investment that's based on the recommended
|
|
5140
|
+
# Savings Plan that you purchased. This is calculated as
|
|
5141
|
+
# estimatedSavingsAmount/estimatedSPCost*100.
|
|
5142
|
+
# @return [String]
|
|
5143
|
+
#
|
|
5144
|
+
# @!attribute [rw] estimated_sp_cost
|
|
5145
|
+
# The cost of the recommended Savings Plan over the length of the
|
|
5146
|
+
# lookback period.
|
|
5147
|
+
# @return [String]
|
|
5148
|
+
#
|
|
5149
|
+
# @!attribute [rw] estimated_savings_amount
|
|
5150
|
+
# The estimated savings amount that's based on the recommended
|
|
5151
|
+
# Savings Plan over the length of the lookback period.
|
|
5152
|
+
# @return [String]
|
|
5153
|
+
#
|
|
5154
|
+
# @!attribute [rw] estimated_savings_percentage
|
|
5155
|
+
# The estimated savings percentage relative to the total cost of
|
|
5156
|
+
# applicable On-Demand usage over the lookback period.
|
|
5157
|
+
# @return [String]
|
|
5158
|
+
#
|
|
5159
|
+
# @!attribute [rw] existing_hourly_commitment
|
|
5160
|
+
# The existing hourly commitment for the Savings Plan type.
|
|
5161
|
+
# @return [String]
|
|
5162
|
+
#
|
|
5163
|
+
# @!attribute [rw] hourly_commitment_to_purchase
|
|
5164
|
+
# The recommended hourly commitment level for the Savings Plan type
|
|
5165
|
+
# and the configuration that's based on the usage during the lookback
|
|
5166
|
+
# period.
|
|
5167
|
+
# @return [String]
|
|
5168
|
+
#
|
|
5169
|
+
# @!attribute [rw] upfront_cost
|
|
5170
|
+
# The upfront cost of the recommended Savings Plan, based on the
|
|
5171
|
+
# selected payment option.
|
|
5172
|
+
# @return [String]
|
|
5173
|
+
#
|
|
5174
|
+
# @!attribute [rw] current_average_coverage
|
|
5175
|
+
# The average value of hourly coverage over the lookback period.
|
|
5176
|
+
# @return [String]
|
|
5177
|
+
#
|
|
5178
|
+
# @!attribute [rw] estimated_average_coverage
|
|
5179
|
+
# The estimated coverage of the recommended Savings Plan.
|
|
5180
|
+
# @return [String]
|
|
5181
|
+
#
|
|
5182
|
+
# @!attribute [rw] metrics_over_lookback_period
|
|
5183
|
+
# The related hourly cost, coverage, and utilization metrics over the
|
|
5184
|
+
# lookback period.
|
|
5185
|
+
# @return [Array<Types::RecommendationDetailHourlyMetrics>]
|
|
5186
|
+
#
|
|
5187
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/RecommendationDetailData AWS API Documentation
|
|
5188
|
+
#
|
|
5189
|
+
class RecommendationDetailData < Struct.new(
|
|
5190
|
+
:account_scope,
|
|
5191
|
+
:lookback_period_in_days,
|
|
5192
|
+
:savings_plans_type,
|
|
5193
|
+
:term_in_years,
|
|
5194
|
+
:payment_option,
|
|
5195
|
+
:account_id,
|
|
5196
|
+
:currency_code,
|
|
5197
|
+
:instance_family,
|
|
5198
|
+
:region,
|
|
5199
|
+
:offering_id,
|
|
5200
|
+
:generation_timestamp,
|
|
5201
|
+
:latest_usage_timestamp,
|
|
5202
|
+
:current_average_hourly_on_demand_spend,
|
|
5203
|
+
:current_maximum_hourly_on_demand_spend,
|
|
5204
|
+
:current_minimum_hourly_on_demand_spend,
|
|
5205
|
+
:estimated_average_utilization,
|
|
5206
|
+
:estimated_monthly_savings_amount,
|
|
5207
|
+
:estimated_on_demand_cost,
|
|
5208
|
+
:estimated_on_demand_cost_with_current_commitment,
|
|
5209
|
+
:estimated_roi,
|
|
5210
|
+
:estimated_sp_cost,
|
|
5211
|
+
:estimated_savings_amount,
|
|
5212
|
+
:estimated_savings_percentage,
|
|
5213
|
+
:existing_hourly_commitment,
|
|
5214
|
+
:hourly_commitment_to_purchase,
|
|
5215
|
+
:upfront_cost,
|
|
5216
|
+
:current_average_coverage,
|
|
5217
|
+
:estimated_average_coverage,
|
|
5218
|
+
:metrics_over_lookback_period)
|
|
5219
|
+
SENSITIVE = []
|
|
5220
|
+
include Aws::Structure
|
|
5221
|
+
end
|
|
5222
|
+
|
|
5223
|
+
# Contains the hourly metrics for the given recommendation over the
|
|
5224
|
+
# lookback period.
|
|
5225
|
+
#
|
|
5226
|
+
# @!attribute [rw] start_time
|
|
5227
|
+
# The period of time that you want the usage and costs for.
|
|
5228
|
+
# @return [String]
|
|
5229
|
+
#
|
|
5230
|
+
# @!attribute [rw] estimated_on_demand_cost
|
|
5231
|
+
# The remaining On-Demand cost estimated to not be covered by the
|
|
5232
|
+
# recommended Savings Plan, over the length of the lookback period.
|
|
5233
|
+
# @return [String]
|
|
5234
|
+
#
|
|
5235
|
+
# @!attribute [rw] current_coverage
|
|
5236
|
+
# The current amount of Savings Plans eligible usage that the Savings
|
|
5237
|
+
# Plan covered.
|
|
5238
|
+
# @return [String]
|
|
5239
|
+
#
|
|
5240
|
+
# @!attribute [rw] estimated_coverage
|
|
5241
|
+
# The estimated coverage amount based on the recommended Savings Plan.
|
|
5242
|
+
# @return [String]
|
|
5243
|
+
#
|
|
5244
|
+
# @!attribute [rw] estimated_new_commitment_utilization
|
|
5245
|
+
# The estimated utilization for the recommended Savings Plan.
|
|
5246
|
+
# @return [String]
|
|
5247
|
+
#
|
|
5248
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/RecommendationDetailHourlyMetrics AWS API Documentation
|
|
5249
|
+
#
|
|
5250
|
+
class RecommendationDetailHourlyMetrics < Struct.new(
|
|
5251
|
+
:start_time,
|
|
5252
|
+
:estimated_on_demand_cost,
|
|
5253
|
+
:current_coverage,
|
|
5254
|
+
:estimated_coverage,
|
|
5255
|
+
:estimated_new_commitment_utilization)
|
|
5256
|
+
SENSITIVE = []
|
|
5257
|
+
include Aws::Structure
|
|
5258
|
+
end
|
|
5259
|
+
|
|
4985
5260
|
# Details about the Amazon Redshift instances that Amazon Web Services
|
|
4986
5261
|
# recommends that you purchase.
|
|
4987
5262
|
#
|
|
@@ -5945,6 +6220,11 @@ module Aws::CostExplorer
|
|
|
5945
6220
|
# of the applicable usage type.
|
|
5946
6221
|
# @return [String]
|
|
5947
6222
|
#
|
|
6223
|
+
# @!attribute [rw] recommendation_detail_id
|
|
6224
|
+
# Contains detailed information about a specific Savings Plan
|
|
6225
|
+
# recommendation.
|
|
6226
|
+
# @return [String]
|
|
6227
|
+
#
|
|
5948
6228
|
# @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/SavingsPlansPurchaseRecommendationDetail AWS API Documentation
|
|
5949
6229
|
#
|
|
5950
6230
|
class SavingsPlansPurchaseRecommendationDetail < Struct.new(
|
|
@@ -5963,7 +6243,8 @@ module Aws::CostExplorer
|
|
|
5963
6243
|
:estimated_monthly_savings_amount,
|
|
5964
6244
|
:current_minimum_hourly_on_demand_spend,
|
|
5965
6245
|
:current_maximum_hourly_on_demand_spend,
|
|
5966
|
-
:current_average_hourly_on_demand_spend
|
|
6246
|
+
:current_average_hourly_on_demand_spend,
|
|
6247
|
+
:recommendation_detail_id)
|
|
5967
6248
|
SENSITIVE = []
|
|
5968
6249
|
include Aws::Structure
|
|
5969
6250
|
end
|
|
@@ -6640,6 +6921,9 @@ module Aws::CostExplorer
|
|
|
6640
6921
|
# This field has been deprecated. To update a threshold, use
|
|
6641
6922
|
# ThresholdExpression. Continued use of Threshold will be treated as
|
|
6642
6923
|
# shorthand syntax for a ThresholdExpression.
|
|
6924
|
+
#
|
|
6925
|
+
# You can specify either Threshold or ThresholdExpression, but not
|
|
6926
|
+
# both.
|
|
6643
6927
|
# @return [Float]
|
|
6644
6928
|
#
|
|
6645
6929
|
# @!attribute [rw] frequency
|
|
@@ -6664,9 +6948,15 @@ module Aws::CostExplorer
|
|
|
6664
6948
|
# anomalies that you want to generate alerts for. This supports
|
|
6665
6949
|
# dimensions and nested expressions. The supported dimensions are
|
|
6666
6950
|
# `ANOMALY_TOTAL_IMPACT_ABSOLUTE` and
|
|
6667
|
-
# `ANOMALY_TOTAL_IMPACT_PERCENTAGE
|
|
6668
|
-
#
|
|
6669
|
-
#
|
|
6951
|
+
# `ANOMALY_TOTAL_IMPACT_PERCENTAGE`, corresponding to an anomaly’s
|
|
6952
|
+
# TotalImpact and TotalImpactPercentage, respectively (see [Impact][2]
|
|
6953
|
+
# for more details). The supported nested expression types are `AND`
|
|
6954
|
+
# and `OR`. The match option `GREATER_THAN_OR_EQUAL` is required.
|
|
6955
|
+
# Values must be numbers between 0 and 10,000,000,000 in string
|
|
6956
|
+
# format.
|
|
6957
|
+
#
|
|
6958
|
+
# You can specify either Threshold or ThresholdExpression, but not
|
|
6959
|
+
# both.
|
|
6670
6960
|
#
|
|
6671
6961
|
# The following are examples of valid ThresholdExpressions:
|
|
6672
6962
|
#
|
|
@@ -6695,6 +6985,7 @@ module Aws::CostExplorer
|
|
|
6695
6985
|
#
|
|
6696
6986
|
#
|
|
6697
6987
|
# [1]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Expression.html
|
|
6988
|
+
# [2]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Impact.html
|
|
6698
6989
|
# @return [Types::Expression]
|
|
6699
6990
|
#
|
|
6700
6991
|
# @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/UpdateAnomalySubscriptionRequest AWS API Documentation
|
data/lib/aws-sdk-costexplorer.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: aws-sdk-costexplorer
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.89.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Amazon Web Services
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2023-07-
|
|
11
|
+
date: 2023-07-24 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: aws-sdk-core
|