aws-sdk-costexplorer 1.87.0 → 1.89.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|