aws-sdk-costexplorer 1.88.0 → 1.90.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 +102 -16
- data/lib/aws-sdk-costexplorer/client_api.rb +68 -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 +337 -35
- 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: 3b8e8cb02fa7b31cf2b1445ca56a6da49f579d8880d7ef7c6b510b62fc783a58
|
4
|
+
data.tar.gz: b4f316ed2a7941088c37c65971ca9962f51e937bf510f9645d127445b1519b36
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 67b71613f08bc464003b8f10983d248ab899afe73c336a02964f2be55df652af7fc254cfd6191fc080be1c093f8a7d9462619fd7324f10308e9a3a669be04acc
|
7
|
+
data.tar.gz: bcb1e455acb54110267bfc9a849427dee9d245f0b962da5ec1ba86da456d544989f7c55b167322483e173ea3084a83e55b9e505004d936eb0cecf065fe8de894
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,16 @@
|
|
1
1
|
Unreleased Changes
|
2
2
|
------------------
|
3
3
|
|
4
|
+
1.90.0 (2023-08-22)
|
5
|
+
------------------
|
6
|
+
|
7
|
+
* Feature - This release adds the LastUpdatedDate and LastUsedDate timestamps to help you manage your cost allocation tags.
|
8
|
+
|
9
|
+
1.89.0 (2023-07-24)
|
10
|
+
------------------
|
11
|
+
|
12
|
+
* 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.
|
13
|
+
|
4
14
|
1.88.0 (2023-07-11)
|
5
15
|
------------------
|
6
16
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.
|
1
|
+
1.90.0
|
@@ -1560,7 +1560,7 @@ module Aws::CostExplorer
|
|
1560
1560
|
#
|
1561
1561
|
# * The corresponding `Expression` for this example is as follows:
|
1562
1562
|
# `\{ "Dimensions": \{ "Key": "REGION", "Values": [ "us-east-1",
|
1563
|
-
#
|
1563
|
+
# "us-west-1" ] \} \}`
|
1564
1564
|
#
|
1565
1565
|
# * As shown in the previous example, lists of dimension values are
|
1566
1566
|
# combined with `OR` when applying the filter.
|
@@ -1570,7 +1570,7 @@ module Aws::CostExplorer
|
|
1570
1570
|
# the documentation for each specific API to see what is supported.
|
1571
1571
|
#
|
1572
1572
|
# * For example, you can filter for linked account names that start
|
1573
|
-
# with
|
1573
|
+
# with "a".
|
1574
1574
|
#
|
1575
1575
|
# * The corresponding `Expression` for this example is as follows:
|
1576
1576
|
# `\{ "Dimensions": \{ "Key": "LINKED_ACCOUNT_NAME",
|
@@ -2105,7 +2105,7 @@ module Aws::CostExplorer
|
|
2105
2105
|
#
|
2106
2106
|
# * The corresponding `Expression` for this example is as follows:
|
2107
2107
|
# `\{ "Dimensions": \{ "Key": "REGION", "Values": [ "us-east-1",
|
2108
|
-
#
|
2108
|
+
# "us-west-1" ] \} \}`
|
2109
2109
|
#
|
2110
2110
|
# * As shown in the previous example, lists of dimension values are
|
2111
2111
|
# combined with `OR` when applying the filter.
|
@@ -2115,7 +2115,7 @@ module Aws::CostExplorer
|
|
2115
2115
|
# the documentation for each specific API to see what is supported.
|
2116
2116
|
#
|
2117
2117
|
# * For example, you can filter for linked account names that start
|
2118
|
-
# with
|
2118
|
+
# with "a".
|
2119
2119
|
#
|
2120
2120
|
# * The corresponding `Expression` for this example is as follows:
|
2121
2121
|
# `\{ "Dimensions": \{ "Key": "LINKED_ACCOUNT_NAME",
|
@@ -2615,7 +2615,7 @@ module Aws::CostExplorer
|
|
2615
2615
|
#
|
2616
2616
|
# * The corresponding `Expression` for this example is as follows:
|
2617
2617
|
# `\{ "Dimensions": \{ "Key": "REGION", "Values": [ "us-east-1",
|
2618
|
-
#
|
2618
|
+
# "us-west-1" ] \} \}`
|
2619
2619
|
#
|
2620
2620
|
# * As shown in the previous example, lists of dimension values are
|
2621
2621
|
# combined with `OR` when applying the filter.
|
@@ -2625,7 +2625,7 @@ module Aws::CostExplorer
|
|
2625
2625
|
# the documentation for each specific API to see what is supported.
|
2626
2626
|
#
|
2627
2627
|
# * For example, you can filter for linked account names that start
|
2628
|
-
# with
|
2628
|
+
# with "a".
|
2629
2629
|
#
|
2630
2630
|
# * The corresponding `Expression` for this example is as follows:
|
2631
2631
|
# `\{ "Dimensions": \{ "Key": "LINKED_ACCOUNT_NAME",
|
@@ -3124,7 +3124,7 @@ module Aws::CostExplorer
|
|
3124
3124
|
#
|
3125
3125
|
# * The corresponding `Expression` for this example is as follows:
|
3126
3126
|
# `\{ "Dimensions": \{ "Key": "REGION", "Values": [ "us-east-1",
|
3127
|
-
#
|
3127
|
+
# "us-west-1" ] \} \}`
|
3128
3128
|
#
|
3129
3129
|
# * As shown in the previous example, lists of dimension values are
|
3130
3130
|
# combined with `OR` when applying the filter.
|
@@ -3134,7 +3134,7 @@ module Aws::CostExplorer
|
|
3134
3134
|
# the documentation for each specific API to see what is supported.
|
3135
3135
|
#
|
3136
3136
|
# * For example, you can filter for linked account names that start
|
3137
|
-
# with
|
3137
|
+
# with "a".
|
3138
3138
|
#
|
3139
3139
|
# * The corresponding `Expression` for this example is as follows:
|
3140
3140
|
# `\{ "Dimensions": \{ "Key": "LINKED_ACCOUNT_NAME",
|
@@ -3354,6 +3354,71 @@ module Aws::CostExplorer
|
|
3354
3354
|
req.send_request(options)
|
3355
3355
|
end
|
3356
3356
|
|
3357
|
+
# Retrieves the details for a Savings Plan recommendation. These details
|
3358
|
+
# include the hourly data-points that construct the cost, coverage, and
|
3359
|
+
# 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
|
+
|
3357
3422
|
# Retrieves the Savings Plans covered for your account. This enables you
|
3358
3423
|
# to see how much of your cost is covered by a Savings Plan. An
|
3359
3424
|
# organization’s management account can see the coverage of the
|
@@ -3652,6 +3717,7 @@ module Aws::CostExplorer
|
|
3652
3717
|
# resp.savings_plans_purchase_recommendation.savings_plans_purchase_recommendation_details[0].current_minimum_hourly_on_demand_spend #=> String
|
3653
3718
|
# resp.savings_plans_purchase_recommendation.savings_plans_purchase_recommendation_details[0].current_maximum_hourly_on_demand_spend #=> String
|
3654
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
|
3655
3721
|
# resp.savings_plans_purchase_recommendation.savings_plans_purchase_recommendation_summary.estimated_roi #=> String
|
3656
3722
|
# resp.savings_plans_purchase_recommendation.savings_plans_purchase_recommendation_summary.currency_code #=> String
|
3657
3723
|
# resp.savings_plans_purchase_recommendation.savings_plans_purchase_recommendation_summary.estimated_total_cost #=> String
|
@@ -4036,7 +4102,7 @@ module Aws::CostExplorer
|
|
4036
4102
|
#
|
4037
4103
|
# * The corresponding `Expression` for this example is as follows:
|
4038
4104
|
# `\{ "Dimensions": \{ "Key": "REGION", "Values": [ "us-east-1",
|
4039
|
-
#
|
4105
|
+
# "us-west-1" ] \} \}`
|
4040
4106
|
#
|
4041
4107
|
# * As shown in the previous example, lists of dimension values are
|
4042
4108
|
# combined with `OR` when applying the filter.
|
@@ -4046,7 +4112,7 @@ module Aws::CostExplorer
|
|
4046
4112
|
# the documentation for each specific API to see what is supported.
|
4047
4113
|
#
|
4048
4114
|
# * For example, you can filter for linked account names that start
|
4049
|
-
# with
|
4115
|
+
# with "a".
|
4050
4116
|
#
|
4051
4117
|
# * The corresponding `Expression` for this example is as follows:
|
4052
4118
|
# `\{ "Dimensions": \{ "Key": "LINKED_ACCOUNT_NAME",
|
@@ -4413,6 +4479,8 @@ module Aws::CostExplorer
|
|
4413
4479
|
# resp.cost_allocation_tags[0].tag_key #=> String
|
4414
4480
|
# resp.cost_allocation_tags[0].type #=> String, one of "AWSGenerated", "UserDefined"
|
4415
4481
|
# resp.cost_allocation_tags[0].status #=> String, one of "Active", "Inactive"
|
4482
|
+
# resp.cost_allocation_tags[0].last_updated_date #=> String
|
4483
|
+
# resp.cost_allocation_tags[0].last_used_date #=> String
|
4416
4484
|
# resp.next_token #=> String
|
4417
4485
|
#
|
4418
4486
|
# @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/ListCostAllocationTags AWS API Documentation
|
@@ -4771,7 +4839,18 @@ module Aws::CostExplorer
|
|
4771
4839
|
req.send_request(options)
|
4772
4840
|
end
|
4773
4841
|
|
4774
|
-
# Updates an existing cost anomaly
|
4842
|
+
# Updates an existing cost anomaly subscription. Specify the fields that
|
4843
|
+
# you want to update. Omitted fields are unchanged.
|
4844
|
+
#
|
4845
|
+
# <note markdown="1"> The JSON below describes the generic construct for each type. See
|
4846
|
+
# [Request Parameters][1] for possible values as they apply to
|
4847
|
+
# `AnomalySubscription`.
|
4848
|
+
#
|
4849
|
+
# </note>
|
4850
|
+
#
|
4851
|
+
#
|
4852
|
+
#
|
4853
|
+
# [1]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_UpdateAnomalySubscription.html#API_UpdateAnomalySubscription_RequestParameters
|
4775
4854
|
#
|
4776
4855
|
# @option params [required, String] :subscription_arn
|
4777
4856
|
# A cost anomaly subscription Amazon Resource Name (ARN).
|
@@ -4785,6 +4864,8 @@ module Aws::CostExplorer
|
|
4785
4864
|
# ThresholdExpression. Continued use of Threshold will be treated as
|
4786
4865
|
# shorthand syntax for a ThresholdExpression.
|
4787
4866
|
#
|
4867
|
+
# You can specify either Threshold or ThresholdExpression, but not both.
|
4868
|
+
#
|
4788
4869
|
# @option params [String] :frequency
|
4789
4870
|
# The update to the frequency value that subscribers receive
|
4790
4871
|
# notifications.
|
@@ -4802,10 +4883,14 @@ module Aws::CostExplorer
|
|
4802
4883
|
# The update to the [Expression][1] object used to specify the anomalies
|
4803
4884
|
# that you want to generate alerts for. This supports dimensions and
|
4804
4885
|
# nested expressions. The supported dimensions are
|
4805
|
-
# `ANOMALY_TOTAL_IMPACT_ABSOLUTE` and `ANOMALY_TOTAL_IMPACT_PERCENTAGE
|
4806
|
-
#
|
4807
|
-
#
|
4808
|
-
#
|
4886
|
+
# `ANOMALY_TOTAL_IMPACT_ABSOLUTE` and `ANOMALY_TOTAL_IMPACT_PERCENTAGE`,
|
4887
|
+
# corresponding to an anomaly’s TotalImpact and TotalImpactPercentage,
|
4888
|
+
# respectively (see [Impact][2] for more details). The supported nested
|
4889
|
+
# expression types are `AND` and `OR`. The match option
|
4890
|
+
# `GREATER_THAN_OR_EQUAL` is required. Values must be numbers between 0
|
4891
|
+
# and 10,000,000,000 in string format.
|
4892
|
+
#
|
4893
|
+
# You can specify either Threshold or ThresholdExpression, but not both.
|
4809
4894
|
#
|
4810
4895
|
# The following are examples of valid ThresholdExpressions:
|
4811
4896
|
#
|
@@ -4834,6 +4919,7 @@ module Aws::CostExplorer
|
|
4834
4919
|
#
|
4835
4920
|
#
|
4836
4921
|
# [1]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Expression.html
|
4922
|
+
# [2]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Impact.html
|
4837
4923
|
#
|
4838
4924
|
# @return [Types::UpdateAnomalySubscriptionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
|
4839
4925
|
#
|
@@ -5066,7 +5152,7 @@ module Aws::CostExplorer
|
|
5066
5152
|
params: params,
|
5067
5153
|
config: config)
|
5068
5154
|
context[:gem_name] = 'aws-sdk-costexplorer'
|
5069
|
-
context[:gem_version] = '1.
|
5155
|
+
context[:gem_version] = '1.90.0'
|
5070
5156
|
Seahorse::Client::Request.new(handlers, context)
|
5071
5157
|
end
|
5072
5158
|
|
@@ -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')
|
@@ -388,6 +394,8 @@ module Aws::CostExplorer
|
|
388
394
|
CostAllocationTag.add_member(:tag_key, Shapes::ShapeRef.new(shape: TagKey, required: true, location_name: "TagKey"))
|
389
395
|
CostAllocationTag.add_member(:type, Shapes::ShapeRef.new(shape: CostAllocationTagType, required: true, location_name: "Type"))
|
390
396
|
CostAllocationTag.add_member(:status, Shapes::ShapeRef.new(shape: CostAllocationTagStatus, required: true, location_name: "Status"))
|
397
|
+
CostAllocationTag.add_member(:last_updated_date, Shapes::ShapeRef.new(shape: ZonedDateTime, location_name: "LastUpdatedDate"))
|
398
|
+
CostAllocationTag.add_member(:last_used_date, Shapes::ShapeRef.new(shape: ZonedDateTime, location_name: "LastUsedDate"))
|
391
399
|
CostAllocationTag.struct_class = Types::CostAllocationTag
|
392
400
|
|
393
401
|
CostAllocationTagKeyList.member = Shapes::ShapeRef.new(shape: TagKey)
|
@@ -830,6 +838,13 @@ module Aws::CostExplorer
|
|
830
838
|
GetRightsizingRecommendationResponse.add_member(:configuration, Shapes::ShapeRef.new(shape: RightsizingRecommendationConfiguration, location_name: "Configuration"))
|
831
839
|
GetRightsizingRecommendationResponse.struct_class = Types::GetRightsizingRecommendationResponse
|
832
840
|
|
841
|
+
GetSavingsPlanPurchaseRecommendationDetailsRequest.add_member(:recommendation_detail_id, Shapes::ShapeRef.new(shape: RecommendationDetailId, required: true, location_name: "RecommendationDetailId"))
|
842
|
+
GetSavingsPlanPurchaseRecommendationDetailsRequest.struct_class = Types::GetSavingsPlanPurchaseRecommendationDetailsRequest
|
843
|
+
|
844
|
+
GetSavingsPlanPurchaseRecommendationDetailsResponse.add_member(:recommendation_detail_id, Shapes::ShapeRef.new(shape: RecommendationDetailId, location_name: "RecommendationDetailId"))
|
845
|
+
GetSavingsPlanPurchaseRecommendationDetailsResponse.add_member(:recommendation_detail_data, Shapes::ShapeRef.new(shape: RecommendationDetailData, location_name: "RecommendationDetailData"))
|
846
|
+
GetSavingsPlanPurchaseRecommendationDetailsResponse.struct_class = Types::GetSavingsPlanPurchaseRecommendationDetailsResponse
|
847
|
+
|
833
848
|
GetSavingsPlansCoverageRequest.add_member(:time_period, Shapes::ShapeRef.new(shape: DateInterval, required: true, location_name: "TimePeriod"))
|
834
849
|
GetSavingsPlansCoverageRequest.add_member(:group_by, Shapes::ShapeRef.new(shape: GroupDefinitions, location_name: "GroupBy"))
|
835
850
|
GetSavingsPlansCoverageRequest.add_member(:granularity, Shapes::ShapeRef.new(shape: Granularity, location_name: "Granularity"))
|
@@ -990,6 +1005,8 @@ module Aws::CostExplorer
|
|
990
1005
|
Metrics.key = Shapes::ShapeRef.new(shape: MetricName)
|
991
1006
|
Metrics.value = Shapes::ShapeRef.new(shape: MetricValue)
|
992
1007
|
|
1008
|
+
MetricsOverLookbackPeriod.member = Shapes::ShapeRef.new(shape: RecommendationDetailHourlyMetrics)
|
1009
|
+
|
993
1010
|
ModifyRecommendationDetail.add_member(:target_instances, Shapes::ShapeRef.new(shape: TargetInstancesList, location_name: "TargetInstances"))
|
994
1011
|
ModifyRecommendationDetail.struct_class = Types::ModifyRecommendationDetail
|
995
1012
|
|
@@ -1021,6 +1038,44 @@ module Aws::CostExplorer
|
|
1021
1038
|
RDSInstanceDetails.add_member(:size_flex_eligible, Shapes::ShapeRef.new(shape: GenericBoolean, location_name: "SizeFlexEligible"))
|
1022
1039
|
RDSInstanceDetails.struct_class = Types::RDSInstanceDetails
|
1023
1040
|
|
1041
|
+
RecommendationDetailData.add_member(:account_scope, Shapes::ShapeRef.new(shape: AccountScope, location_name: "AccountScope"))
|
1042
|
+
RecommendationDetailData.add_member(:lookback_period_in_days, Shapes::ShapeRef.new(shape: LookbackPeriodInDays, location_name: "LookbackPeriodInDays"))
|
1043
|
+
RecommendationDetailData.add_member(:savings_plans_type, Shapes::ShapeRef.new(shape: SupportedSavingsPlansType, location_name: "SavingsPlansType"))
|
1044
|
+
RecommendationDetailData.add_member(:term_in_years, Shapes::ShapeRef.new(shape: TermInYears, location_name: "TermInYears"))
|
1045
|
+
RecommendationDetailData.add_member(:payment_option, Shapes::ShapeRef.new(shape: PaymentOption, location_name: "PaymentOption"))
|
1046
|
+
RecommendationDetailData.add_member(:account_id, Shapes::ShapeRef.new(shape: GenericString, location_name: "AccountId"))
|
1047
|
+
RecommendationDetailData.add_member(:currency_code, Shapes::ShapeRef.new(shape: GenericString, location_name: "CurrencyCode"))
|
1048
|
+
RecommendationDetailData.add_member(:instance_family, Shapes::ShapeRef.new(shape: GenericString, location_name: "InstanceFamily"))
|
1049
|
+
RecommendationDetailData.add_member(:region, Shapes::ShapeRef.new(shape: GenericString, location_name: "Region"))
|
1050
|
+
RecommendationDetailData.add_member(:offering_id, Shapes::ShapeRef.new(shape: GenericString, location_name: "OfferingId"))
|
1051
|
+
RecommendationDetailData.add_member(:generation_timestamp, Shapes::ShapeRef.new(shape: ZonedDateTime, location_name: "GenerationTimestamp"))
|
1052
|
+
RecommendationDetailData.add_member(:latest_usage_timestamp, Shapes::ShapeRef.new(shape: ZonedDateTime, location_name: "LatestUsageTimestamp"))
|
1053
|
+
RecommendationDetailData.add_member(:current_average_hourly_on_demand_spend, Shapes::ShapeRef.new(shape: GenericString, location_name: "CurrentAverageHourlyOnDemandSpend"))
|
1054
|
+
RecommendationDetailData.add_member(:current_maximum_hourly_on_demand_spend, Shapes::ShapeRef.new(shape: GenericString, location_name: "CurrentMaximumHourlyOnDemandSpend"))
|
1055
|
+
RecommendationDetailData.add_member(:current_minimum_hourly_on_demand_spend, Shapes::ShapeRef.new(shape: GenericString, location_name: "CurrentMinimumHourlyOnDemandSpend"))
|
1056
|
+
RecommendationDetailData.add_member(:estimated_average_utilization, Shapes::ShapeRef.new(shape: GenericString, location_name: "EstimatedAverageUtilization"))
|
1057
|
+
RecommendationDetailData.add_member(:estimated_monthly_savings_amount, Shapes::ShapeRef.new(shape: GenericString, location_name: "EstimatedMonthlySavingsAmount"))
|
1058
|
+
RecommendationDetailData.add_member(:estimated_on_demand_cost, Shapes::ShapeRef.new(shape: GenericString, location_name: "EstimatedOnDemandCost"))
|
1059
|
+
RecommendationDetailData.add_member(:estimated_on_demand_cost_with_current_commitment, Shapes::ShapeRef.new(shape: GenericString, location_name: "EstimatedOnDemandCostWithCurrentCommitment"))
|
1060
|
+
RecommendationDetailData.add_member(:estimated_roi, Shapes::ShapeRef.new(shape: GenericString, location_name: "EstimatedROI"))
|
1061
|
+
RecommendationDetailData.add_member(:estimated_sp_cost, Shapes::ShapeRef.new(shape: GenericString, location_name: "EstimatedSPCost"))
|
1062
|
+
RecommendationDetailData.add_member(:estimated_savings_amount, Shapes::ShapeRef.new(shape: GenericString, location_name: "EstimatedSavingsAmount"))
|
1063
|
+
RecommendationDetailData.add_member(:estimated_savings_percentage, Shapes::ShapeRef.new(shape: GenericString, location_name: "EstimatedSavingsPercentage"))
|
1064
|
+
RecommendationDetailData.add_member(:existing_hourly_commitment, Shapes::ShapeRef.new(shape: GenericString, location_name: "ExistingHourlyCommitment"))
|
1065
|
+
RecommendationDetailData.add_member(:hourly_commitment_to_purchase, Shapes::ShapeRef.new(shape: GenericString, location_name: "HourlyCommitmentToPurchase"))
|
1066
|
+
RecommendationDetailData.add_member(:upfront_cost, Shapes::ShapeRef.new(shape: GenericString, location_name: "UpfrontCost"))
|
1067
|
+
RecommendationDetailData.add_member(:current_average_coverage, Shapes::ShapeRef.new(shape: GenericString, location_name: "CurrentAverageCoverage"))
|
1068
|
+
RecommendationDetailData.add_member(:estimated_average_coverage, Shapes::ShapeRef.new(shape: GenericString, location_name: "EstimatedAverageCoverage"))
|
1069
|
+
RecommendationDetailData.add_member(:metrics_over_lookback_period, Shapes::ShapeRef.new(shape: MetricsOverLookbackPeriod, location_name: "MetricsOverLookbackPeriod"))
|
1070
|
+
RecommendationDetailData.struct_class = Types::RecommendationDetailData
|
1071
|
+
|
1072
|
+
RecommendationDetailHourlyMetrics.add_member(:start_time, Shapes::ShapeRef.new(shape: ZonedDateTime, location_name: "StartTime"))
|
1073
|
+
RecommendationDetailHourlyMetrics.add_member(:estimated_on_demand_cost, Shapes::ShapeRef.new(shape: GenericString, location_name: "EstimatedOnDemandCost"))
|
1074
|
+
RecommendationDetailHourlyMetrics.add_member(:current_coverage, Shapes::ShapeRef.new(shape: GenericString, location_name: "CurrentCoverage"))
|
1075
|
+
RecommendationDetailHourlyMetrics.add_member(:estimated_coverage, Shapes::ShapeRef.new(shape: GenericString, location_name: "EstimatedCoverage"))
|
1076
|
+
RecommendationDetailHourlyMetrics.add_member(:estimated_new_commitment_utilization, Shapes::ShapeRef.new(shape: GenericString, location_name: "EstimatedNewCommitmentUtilization"))
|
1077
|
+
RecommendationDetailHourlyMetrics.struct_class = Types::RecommendationDetailHourlyMetrics
|
1078
|
+
|
1024
1079
|
RecommendationIdList.member = Shapes::ShapeRef.new(shape: RecommendationId)
|
1025
1080
|
|
1026
1081
|
RedshiftInstanceDetails.add_member(:family, Shapes::ShapeRef.new(shape: GenericString, location_name: "Family"))
|
@@ -1220,6 +1275,7 @@ module Aws::CostExplorer
|
|
1220
1275
|
SavingsPlansPurchaseRecommendationDetail.add_member(:current_minimum_hourly_on_demand_spend, Shapes::ShapeRef.new(shape: GenericString, location_name: "CurrentMinimumHourlyOnDemandSpend"))
|
1221
1276
|
SavingsPlansPurchaseRecommendationDetail.add_member(:current_maximum_hourly_on_demand_spend, Shapes::ShapeRef.new(shape: GenericString, location_name: "CurrentMaximumHourlyOnDemandSpend"))
|
1222
1277
|
SavingsPlansPurchaseRecommendationDetail.add_member(:current_average_hourly_on_demand_spend, Shapes::ShapeRef.new(shape: GenericString, location_name: "CurrentAverageHourlyOnDemandSpend"))
|
1278
|
+
SavingsPlansPurchaseRecommendationDetail.add_member(:recommendation_detail_id, Shapes::ShapeRef.new(shape: RecommendationDetailId, location_name: "RecommendationDetailId"))
|
1223
1279
|
SavingsPlansPurchaseRecommendationDetail.struct_class = Types::SavingsPlansPurchaseRecommendationDetail
|
1224
1280
|
|
1225
1281
|
SavingsPlansPurchaseRecommendationDetailList.member = Shapes::ShapeRef.new(shape: SavingsPlansPurchaseRecommendationDetail)
|
@@ -1633,6 +1689,16 @@ module Aws::CostExplorer
|
|
1633
1689
|
o.errors << Shapes::ShapeRef.new(shape: InvalidNextTokenException)
|
1634
1690
|
end)
|
1635
1691
|
|
1692
|
+
api.add_operation(:get_savings_plan_purchase_recommendation_details, Seahorse::Model::Operation.new.tap do |o|
|
1693
|
+
o.name = "GetSavingsPlanPurchaseRecommendationDetails"
|
1694
|
+
o.http_method = "POST"
|
1695
|
+
o.http_request_uri = "/"
|
1696
|
+
o.input = Shapes::ShapeRef.new(shape: GetSavingsPlanPurchaseRecommendationDetailsRequest)
|
1697
|
+
o.output = Shapes::ShapeRef.new(shape: GetSavingsPlanPurchaseRecommendationDetailsResponse)
|
1698
|
+
o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
|
1699
|
+
o.errors << Shapes::ShapeRef.new(shape: DataUnavailableException)
|
1700
|
+
end)
|
1701
|
+
|
1636
1702
|
api.add_operation(:get_savings_plans_coverage, Seahorse::Model::Operation.new.tap do |o|
|
1637
1703
|
o.name = "GetSavingsPlansCoverage"
|
1638
1704
|
o.http_method = "POST"
|
@@ -1750,6 +1816,7 @@ module Aws::CostExplorer
|
|
1750
1816
|
o.output = Shapes::ShapeRef.new(shape: ListSavingsPlansPurchaseRecommendationGenerationResponse)
|
1751
1817
|
o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
|
1752
1818
|
o.errors << Shapes::ShapeRef.new(shape: InvalidNextTokenException)
|
1819
|
+
o.errors << Shapes::ShapeRef.new(shape: DataUnavailableException)
|
1753
1820
|
end)
|
1754
1821
|
|
1755
1822
|
api.add_operation(:list_tags_for_resource, Seahorse::Model::Operation.new.tap do |o|
|
@@ -1780,6 +1847,7 @@ module Aws::CostExplorer
|
|
1780
1847
|
o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
|
1781
1848
|
o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException)
|
1782
1849
|
o.errors << Shapes::ShapeRef.new(shape: GenerationExistsException)
|
1850
|
+
o.errors << Shapes::ShapeRef.new(shape: DataUnavailableException)
|
1783
1851
|
end)
|
1784
1852
|
|
1785
1853
|
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
|
@@ -387,12 +420,23 @@ module Aws::CostExplorer
|
|
387
420
|
# The status of a cost allocation tag.
|
388
421
|
# @return [String]
|
389
422
|
#
|
423
|
+
# @!attribute [rw] last_updated_date
|
424
|
+
# The last date that the tag was either activated or deactivated.
|
425
|
+
# @return [String]
|
426
|
+
#
|
427
|
+
# @!attribute [rw] last_used_date
|
428
|
+
# The last month that the tag was used on an Amazon Web Services
|
429
|
+
# resource.
|
430
|
+
# @return [String]
|
431
|
+
#
|
390
432
|
# @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/CostAllocationTag AWS API Documentation
|
391
433
|
#
|
392
434
|
class CostAllocationTag < Struct.new(
|
393
435
|
:tag_key,
|
394
436
|
:type,
|
395
|
-
:status
|
437
|
+
:status,
|
438
|
+
:last_updated_date,
|
439
|
+
:last_used_date)
|
396
440
|
SENSITIVE = []
|
397
441
|
include Aws::Structure
|
398
442
|
end
|
@@ -593,10 +637,7 @@ module Aws::CostExplorer
|
|
593
637
|
# An [Expression][1] object used to categorize costs. This supports
|
594
638
|
# dimensions, tags, and nested expressions. Currently the only
|
595
639
|
# 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.
|
640
|
+
# `RECORD_TYPE`, `LINKED_ACCOUNT_NAME`, `REGION`, and `USAGE_TYPE`.
|
600
641
|
#
|
601
642
|
# `RECORD_TYPE` is a dimension used for Cost Explorer APIs, and is
|
602
643
|
# also supported for Cost Category expressions. This dimension uses
|
@@ -1705,7 +1746,7 @@ module Aws::CostExplorer
|
|
1705
1746
|
#
|
1706
1747
|
# * The corresponding `Expression` for this example is as follows:
|
1707
1748
|
# `\{ "Dimensions": \{ "Key": "REGION", "Values": [ "us-east-1",
|
1708
|
-
#
|
1749
|
+
# "us-west-1" ] \} \}`
|
1709
1750
|
#
|
1710
1751
|
# * As shown in the previous example, lists of dimension values are
|
1711
1752
|
# combined with `OR` when applying the filter.
|
@@ -1715,7 +1756,7 @@ module Aws::CostExplorer
|
|
1715
1756
|
# the documentation for each specific API to see what is supported.
|
1716
1757
|
#
|
1717
1758
|
# * For example, you can filter for linked account names that start
|
1718
|
-
# with
|
1759
|
+
# with "a".
|
1719
1760
|
#
|
1720
1761
|
# * The corresponding `Expression` for this example is as follows:
|
1721
1762
|
# `\{ "Dimensions": \{ "Key": "LINKED_ACCOUNT_NAME",
|
@@ -2334,7 +2375,7 @@ module Aws::CostExplorer
|
|
2334
2375
|
#
|
2335
2376
|
# * The corresponding `Expression` for this example is as follows:
|
2336
2377
|
# `\{ "Dimensions": \{ "Key": "REGION", "Values": [ "us-east-1",
|
2337
|
-
#
|
2378
|
+
# "us-west-1" ] \} \}`
|
2338
2379
|
#
|
2339
2380
|
# * As shown in the previous example, lists of dimension values
|
2340
2381
|
# are combined with `OR` when applying the filter.
|
@@ -2345,7 +2386,7 @@ module Aws::CostExplorer
|
|
2345
2386
|
# supported.
|
2346
2387
|
#
|
2347
2388
|
# * For example, you can filter for linked account names that
|
2348
|
-
# start with
|
2389
|
+
# start with "a".
|
2349
2390
|
#
|
2350
2391
|
# * The corresponding `Expression` for this example is as follows:
|
2351
2392
|
# `\{ "Dimensions": \{ "Key": "LINKED_ACCOUNT_NAME",
|
@@ -2831,7 +2872,7 @@ module Aws::CostExplorer
|
|
2831
2872
|
#
|
2832
2873
|
# * The corresponding `Expression` for this example is as follows:
|
2833
2874
|
# `\{ "Dimensions": \{ "Key": "REGION", "Values": [ "us-east-1",
|
2834
|
-
#
|
2875
|
+
# "us-west-1" ] \} \}`
|
2835
2876
|
#
|
2836
2877
|
# * As shown in the previous example, lists of dimension values
|
2837
2878
|
# are combined with `OR` when applying the filter.
|
@@ -2842,7 +2883,7 @@ module Aws::CostExplorer
|
|
2842
2883
|
# supported.
|
2843
2884
|
#
|
2844
2885
|
# * For example, you can filter for linked account names that
|
2845
|
-
# start with
|
2886
|
+
# start with "a".
|
2846
2887
|
#
|
2847
2888
|
# * The corresponding `Expression` for this example is as follows:
|
2848
2889
|
# `\{ "Dimensions": \{ "Key": "LINKED_ACCOUNT_NAME",
|
@@ -3306,7 +3347,7 @@ module Aws::CostExplorer
|
|
3306
3347
|
#
|
3307
3348
|
# * The corresponding `Expression` for this example is as follows:
|
3308
3349
|
# `\{ "Dimensions": \{ "Key": "REGION", "Values": [ "us-east-1",
|
3309
|
-
#
|
3350
|
+
# "us-west-1" ] \} \}`
|
3310
3351
|
#
|
3311
3352
|
# * As shown in the previous example, lists of dimension values
|
3312
3353
|
# are combined with `OR` when applying the filter.
|
@@ -3317,7 +3358,7 @@ module Aws::CostExplorer
|
|
3317
3358
|
# supported.
|
3318
3359
|
#
|
3319
3360
|
# * For example, you can filter for linked account names that
|
3320
|
-
# start with
|
3361
|
+
# start with "a".
|
3321
3362
|
#
|
3322
3363
|
# * The corresponding `Expression` for this example is as follows:
|
3323
3364
|
# `\{ "Dimensions": \{ "Key": "LINKED_ACCOUNT_NAME",
|
@@ -3634,7 +3675,7 @@ module Aws::CostExplorer
|
|
3634
3675
|
#
|
3635
3676
|
# * The corresponding `Expression` for this example is as follows:
|
3636
3677
|
# `\{ "Dimensions": \{ "Key": "REGION", "Values": [ "us-east-1",
|
3637
|
-
#
|
3678
|
+
# "us-west-1" ] \} \}`
|
3638
3679
|
#
|
3639
3680
|
# * As shown in the previous example, lists of dimension values
|
3640
3681
|
# are combined with `OR` when applying the filter.
|
@@ -3645,7 +3686,7 @@ module Aws::CostExplorer
|
|
3645
3686
|
# supported.
|
3646
3687
|
#
|
3647
3688
|
# * For example, you can filter for linked account names that
|
3648
|
-
# start with
|
3689
|
+
# start with "a".
|
3649
3690
|
#
|
3650
3691
|
# * The corresponding `Expression` for this example is as follows:
|
3651
3692
|
# `\{ "Dimensions": \{ "Key": "LINKED_ACCOUNT_NAME",
|
@@ -3772,6 +3813,36 @@ module Aws::CostExplorer
|
|
3772
3813
|
include Aws::Structure
|
3773
3814
|
end
|
3774
3815
|
|
3816
|
+
# @!attribute [rw] recommendation_detail_id
|
3817
|
+
# The ID that is associated with the Savings Plan recommendation.
|
3818
|
+
# @return [String]
|
3819
|
+
#
|
3820
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetSavingsPlanPurchaseRecommendationDetailsRequest AWS API Documentation
|
3821
|
+
#
|
3822
|
+
class GetSavingsPlanPurchaseRecommendationDetailsRequest < Struct.new(
|
3823
|
+
:recommendation_detail_id)
|
3824
|
+
SENSITIVE = []
|
3825
|
+
include Aws::Structure
|
3826
|
+
end
|
3827
|
+
|
3828
|
+
# @!attribute [rw] recommendation_detail_id
|
3829
|
+
# The ID that is associated with the Savings Plan recommendation.
|
3830
|
+
# @return [String]
|
3831
|
+
#
|
3832
|
+
# @!attribute [rw] recommendation_detail_data
|
3833
|
+
# Contains detailed information about a specific Savings Plan
|
3834
|
+
# recommendation.
|
3835
|
+
# @return [Types::RecommendationDetailData]
|
3836
|
+
#
|
3837
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/GetSavingsPlanPurchaseRecommendationDetailsResponse AWS API Documentation
|
3838
|
+
#
|
3839
|
+
class GetSavingsPlanPurchaseRecommendationDetailsResponse < Struct.new(
|
3840
|
+
:recommendation_detail_id,
|
3841
|
+
:recommendation_detail_data)
|
3842
|
+
SENSITIVE = []
|
3843
|
+
include Aws::Structure
|
3844
|
+
end
|
3845
|
+
|
3775
3846
|
# @!attribute [rw] time_period
|
3776
3847
|
# The time period that you want the usage and costs for. The `Start`
|
3777
3848
|
# date must be within 13 months. The `End` date must be after the
|
@@ -4228,7 +4299,7 @@ module Aws::CostExplorer
|
|
4228
4299
|
#
|
4229
4300
|
# * The corresponding `Expression` for this example is as follows:
|
4230
4301
|
# `\{ "Dimensions": \{ "Key": "REGION", "Values": [ "us-east-1",
|
4231
|
-
#
|
4302
|
+
# "us-west-1" ] \} \}`
|
4232
4303
|
#
|
4233
4304
|
# * As shown in the previous example, lists of dimension values
|
4234
4305
|
# are combined with `OR` when applying the filter.
|
@@ -4239,7 +4310,7 @@ module Aws::CostExplorer
|
|
4239
4310
|
# supported.
|
4240
4311
|
#
|
4241
4312
|
# * For example, you can filter for linked account names that
|
4242
|
-
# start with
|
4313
|
+
# start with "a".
|
4243
4314
|
#
|
4244
4315
|
# * The corresponding `Expression` for this example is as follows:
|
4245
4316
|
# `\{ "Dimensions": \{ "Key": "LINKED_ACCOUNT_NAME",
|
@@ -4982,6 +5053,221 @@ module Aws::CostExplorer
|
|
4982
5053
|
include Aws::Structure
|
4983
5054
|
end
|
4984
5055
|
|
5056
|
+
# The details and metrics for the given recommendation.
|
5057
|
+
#
|
5058
|
+
# @!attribute [rw] account_scope
|
5059
|
+
# The account scope that you want your recommendations for. Amazon Web
|
5060
|
+
# Services calculates recommendations including the management account
|
5061
|
+
# and member accounts if the value is set to PAYER. If the value is
|
5062
|
+
# LINKED, recommendations are calculated for individual member
|
5063
|
+
# accounts only.
|
5064
|
+
# @return [String]
|
5065
|
+
#
|
5066
|
+
# @!attribute [rw] lookback_period_in_days
|
5067
|
+
# How many days of previous usage that Amazon Web Services considers
|
5068
|
+
# when making this recommendation.
|
5069
|
+
# @return [String]
|
5070
|
+
#
|
5071
|
+
# @!attribute [rw] savings_plans_type
|
5072
|
+
# The requested Savings Plan recommendation type.
|
5073
|
+
# @return [String]
|
5074
|
+
#
|
5075
|
+
# @!attribute [rw] term_in_years
|
5076
|
+
# The term of the commitment in years.
|
5077
|
+
# @return [String]
|
5078
|
+
#
|
5079
|
+
# @!attribute [rw] payment_option
|
5080
|
+
# The payment option for the commitment (for example, All Upfront or
|
5081
|
+
# No Upfront).
|
5082
|
+
# @return [String]
|
5083
|
+
#
|
5084
|
+
# @!attribute [rw] account_id
|
5085
|
+
# The AccountID that the recommendation is generated for.
|
5086
|
+
# @return [String]
|
5087
|
+
#
|
5088
|
+
# @!attribute [rw] currency_code
|
5089
|
+
# The currency code that Amazon Web Services used to generate the
|
5090
|
+
# recommendation and present potential savings.
|
5091
|
+
# @return [String]
|
5092
|
+
#
|
5093
|
+
# @!attribute [rw] instance_family
|
5094
|
+
# The instance family of the recommended Savings Plan.
|
5095
|
+
# @return [String]
|
5096
|
+
#
|
5097
|
+
# @!attribute [rw] region
|
5098
|
+
# The region the recommendation is generated for.
|
5099
|
+
# @return [String]
|
5100
|
+
#
|
5101
|
+
# @!attribute [rw] offering_id
|
5102
|
+
# The unique ID that's used to distinguish Savings Plans from one
|
5103
|
+
# another.
|
5104
|
+
# @return [String]
|
5105
|
+
#
|
5106
|
+
# @!attribute [rw] generation_timestamp
|
5107
|
+
# The period of time that you want the usage and costs for.
|
5108
|
+
# @return [String]
|
5109
|
+
#
|
5110
|
+
# @!attribute [rw] latest_usage_timestamp
|
5111
|
+
# The period of time that you want the usage and costs for.
|
5112
|
+
# @return [String]
|
5113
|
+
#
|
5114
|
+
# @!attribute [rw] current_average_hourly_on_demand_spend
|
5115
|
+
# The average value of hourly On-Demand spend over the lookback period
|
5116
|
+
# of the applicable usage type.
|
5117
|
+
# @return [String]
|
5118
|
+
#
|
5119
|
+
# @!attribute [rw] current_maximum_hourly_on_demand_spend
|
5120
|
+
# The highest value of hourly On-Demand spend over the lookback period
|
5121
|
+
# of the applicable usage type.
|
5122
|
+
# @return [String]
|
5123
|
+
#
|
5124
|
+
# @!attribute [rw] current_minimum_hourly_on_demand_spend
|
5125
|
+
# The lowest value of hourly On-Demand spend over the lookback period
|
5126
|
+
# of the applicable usage type.
|
5127
|
+
# @return [String]
|
5128
|
+
#
|
5129
|
+
# @!attribute [rw] estimated_average_utilization
|
5130
|
+
# The estimated utilization of the recommended Savings Plan.
|
5131
|
+
# @return [String]
|
5132
|
+
#
|
5133
|
+
# @!attribute [rw] estimated_monthly_savings_amount
|
5134
|
+
# The estimated monthly savings amount based on the recommended
|
5135
|
+
# Savings Plan.
|
5136
|
+
# @return [String]
|
5137
|
+
#
|
5138
|
+
# @!attribute [rw] estimated_on_demand_cost
|
5139
|
+
# The remaining On-Demand cost estimated to not be covered by the
|
5140
|
+
# recommended Savings Plan, over the length of the lookback period.
|
5141
|
+
# @return [String]
|
5142
|
+
#
|
5143
|
+
# @!attribute [rw] estimated_on_demand_cost_with_current_commitment
|
5144
|
+
# The estimated On-Demand costs you expect with no additional
|
5145
|
+
# commitment, based on your usage of the selected time period and the
|
5146
|
+
# Savings Plan you own.
|
5147
|
+
# @return [String]
|
5148
|
+
#
|
5149
|
+
# @!attribute [rw] estimated_roi
|
5150
|
+
# The estimated return on investment that's based on the recommended
|
5151
|
+
# Savings Plan that you purchased. This is calculated as
|
5152
|
+
# estimatedSavingsAmount/estimatedSPCost*100.
|
5153
|
+
# @return [String]
|
5154
|
+
#
|
5155
|
+
# @!attribute [rw] estimated_sp_cost
|
5156
|
+
# The cost of the recommended Savings Plan over the length of the
|
5157
|
+
# lookback period.
|
5158
|
+
# @return [String]
|
5159
|
+
#
|
5160
|
+
# @!attribute [rw] estimated_savings_amount
|
5161
|
+
# The estimated savings amount that's based on the recommended
|
5162
|
+
# Savings Plan over the length of the lookback period.
|
5163
|
+
# @return [String]
|
5164
|
+
#
|
5165
|
+
# @!attribute [rw] estimated_savings_percentage
|
5166
|
+
# The estimated savings percentage relative to the total cost of
|
5167
|
+
# applicable On-Demand usage over the lookback period.
|
5168
|
+
# @return [String]
|
5169
|
+
#
|
5170
|
+
# @!attribute [rw] existing_hourly_commitment
|
5171
|
+
# The existing hourly commitment for the Savings Plan type.
|
5172
|
+
# @return [String]
|
5173
|
+
#
|
5174
|
+
# @!attribute [rw] hourly_commitment_to_purchase
|
5175
|
+
# The recommended hourly commitment level for the Savings Plan type
|
5176
|
+
# and the configuration that's based on the usage during the lookback
|
5177
|
+
# period.
|
5178
|
+
# @return [String]
|
5179
|
+
#
|
5180
|
+
# @!attribute [rw] upfront_cost
|
5181
|
+
# The upfront cost of the recommended Savings Plan, based on the
|
5182
|
+
# selected payment option.
|
5183
|
+
# @return [String]
|
5184
|
+
#
|
5185
|
+
# @!attribute [rw] current_average_coverage
|
5186
|
+
# The average value of hourly coverage over the lookback period.
|
5187
|
+
# @return [String]
|
5188
|
+
#
|
5189
|
+
# @!attribute [rw] estimated_average_coverage
|
5190
|
+
# The estimated coverage of the recommended Savings Plan.
|
5191
|
+
# @return [String]
|
5192
|
+
#
|
5193
|
+
# @!attribute [rw] metrics_over_lookback_period
|
5194
|
+
# The related hourly cost, coverage, and utilization metrics over the
|
5195
|
+
# lookback period.
|
5196
|
+
# @return [Array<Types::RecommendationDetailHourlyMetrics>]
|
5197
|
+
#
|
5198
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/RecommendationDetailData AWS API Documentation
|
5199
|
+
#
|
5200
|
+
class RecommendationDetailData < Struct.new(
|
5201
|
+
:account_scope,
|
5202
|
+
:lookback_period_in_days,
|
5203
|
+
:savings_plans_type,
|
5204
|
+
:term_in_years,
|
5205
|
+
:payment_option,
|
5206
|
+
:account_id,
|
5207
|
+
:currency_code,
|
5208
|
+
:instance_family,
|
5209
|
+
:region,
|
5210
|
+
:offering_id,
|
5211
|
+
:generation_timestamp,
|
5212
|
+
:latest_usage_timestamp,
|
5213
|
+
:current_average_hourly_on_demand_spend,
|
5214
|
+
:current_maximum_hourly_on_demand_spend,
|
5215
|
+
:current_minimum_hourly_on_demand_spend,
|
5216
|
+
:estimated_average_utilization,
|
5217
|
+
:estimated_monthly_savings_amount,
|
5218
|
+
:estimated_on_demand_cost,
|
5219
|
+
:estimated_on_demand_cost_with_current_commitment,
|
5220
|
+
:estimated_roi,
|
5221
|
+
:estimated_sp_cost,
|
5222
|
+
:estimated_savings_amount,
|
5223
|
+
:estimated_savings_percentage,
|
5224
|
+
:existing_hourly_commitment,
|
5225
|
+
:hourly_commitment_to_purchase,
|
5226
|
+
:upfront_cost,
|
5227
|
+
:current_average_coverage,
|
5228
|
+
:estimated_average_coverage,
|
5229
|
+
:metrics_over_lookback_period)
|
5230
|
+
SENSITIVE = []
|
5231
|
+
include Aws::Structure
|
5232
|
+
end
|
5233
|
+
|
5234
|
+
# Contains the hourly metrics for the given recommendation over the
|
5235
|
+
# lookback period.
|
5236
|
+
#
|
5237
|
+
# @!attribute [rw] start_time
|
5238
|
+
# The period of time that you want the usage and costs for.
|
5239
|
+
# @return [String]
|
5240
|
+
#
|
5241
|
+
# @!attribute [rw] estimated_on_demand_cost
|
5242
|
+
# The remaining On-Demand cost estimated to not be covered by the
|
5243
|
+
# recommended Savings Plan, over the length of the lookback period.
|
5244
|
+
# @return [String]
|
5245
|
+
#
|
5246
|
+
# @!attribute [rw] current_coverage
|
5247
|
+
# The current amount of Savings Plans eligible usage that the Savings
|
5248
|
+
# Plan covered.
|
5249
|
+
# @return [String]
|
5250
|
+
#
|
5251
|
+
# @!attribute [rw] estimated_coverage
|
5252
|
+
# The estimated coverage amount based on the recommended Savings Plan.
|
5253
|
+
# @return [String]
|
5254
|
+
#
|
5255
|
+
# @!attribute [rw] estimated_new_commitment_utilization
|
5256
|
+
# The estimated utilization for the recommended Savings Plan.
|
5257
|
+
# @return [String]
|
5258
|
+
#
|
5259
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/RecommendationDetailHourlyMetrics AWS API Documentation
|
5260
|
+
#
|
5261
|
+
class RecommendationDetailHourlyMetrics < Struct.new(
|
5262
|
+
:start_time,
|
5263
|
+
:estimated_on_demand_cost,
|
5264
|
+
:current_coverage,
|
5265
|
+
:estimated_coverage,
|
5266
|
+
:estimated_new_commitment_utilization)
|
5267
|
+
SENSITIVE = []
|
5268
|
+
include Aws::Structure
|
5269
|
+
end
|
5270
|
+
|
4985
5271
|
# Details about the Amazon Redshift instances that Amazon Web Services
|
4986
5272
|
# recommends that you purchase.
|
4987
5273
|
#
|
@@ -5945,6 +6231,11 @@ module Aws::CostExplorer
|
|
5945
6231
|
# of the applicable usage type.
|
5946
6232
|
# @return [String]
|
5947
6233
|
#
|
6234
|
+
# @!attribute [rw] recommendation_detail_id
|
6235
|
+
# Contains detailed information about a specific Savings Plan
|
6236
|
+
# recommendation.
|
6237
|
+
# @return [String]
|
6238
|
+
#
|
5948
6239
|
# @see http://docs.aws.amazon.com/goto/WebAPI/ce-2017-10-25/SavingsPlansPurchaseRecommendationDetail AWS API Documentation
|
5949
6240
|
#
|
5950
6241
|
class SavingsPlansPurchaseRecommendationDetail < Struct.new(
|
@@ -5963,7 +6254,8 @@ module Aws::CostExplorer
|
|
5963
6254
|
:estimated_monthly_savings_amount,
|
5964
6255
|
:current_minimum_hourly_on_demand_spend,
|
5965
6256
|
:current_maximum_hourly_on_demand_spend,
|
5966
|
-
:current_average_hourly_on_demand_spend
|
6257
|
+
:current_average_hourly_on_demand_spend,
|
6258
|
+
:recommendation_detail_id)
|
5967
6259
|
SENSITIVE = []
|
5968
6260
|
include Aws::Structure
|
5969
6261
|
end
|
@@ -6640,6 +6932,9 @@ module Aws::CostExplorer
|
|
6640
6932
|
# This field has been deprecated. To update a threshold, use
|
6641
6933
|
# ThresholdExpression. Continued use of Threshold will be treated as
|
6642
6934
|
# shorthand syntax for a ThresholdExpression.
|
6935
|
+
#
|
6936
|
+
# You can specify either Threshold or ThresholdExpression, but not
|
6937
|
+
# both.
|
6643
6938
|
# @return [Float]
|
6644
6939
|
#
|
6645
6940
|
# @!attribute [rw] frequency
|
@@ -6664,9 +6959,15 @@ module Aws::CostExplorer
|
|
6664
6959
|
# anomalies that you want to generate alerts for. This supports
|
6665
6960
|
# dimensions and nested expressions. The supported dimensions are
|
6666
6961
|
# `ANOMALY_TOTAL_IMPACT_ABSOLUTE` and
|
6667
|
-
# `ANOMALY_TOTAL_IMPACT_PERCENTAGE
|
6668
|
-
#
|
6669
|
-
#
|
6962
|
+
# `ANOMALY_TOTAL_IMPACT_PERCENTAGE`, corresponding to an anomaly’s
|
6963
|
+
# TotalImpact and TotalImpactPercentage, respectively (see [Impact][2]
|
6964
|
+
# for more details). The supported nested expression types are `AND`
|
6965
|
+
# and `OR`. The match option `GREATER_THAN_OR_EQUAL` is required.
|
6966
|
+
# Values must be numbers between 0 and 10,000,000,000 in string
|
6967
|
+
# format.
|
6968
|
+
#
|
6969
|
+
# You can specify either Threshold or ThresholdExpression, but not
|
6970
|
+
# both.
|
6670
6971
|
#
|
6671
6972
|
# The following are examples of valid ThresholdExpressions:
|
6672
6973
|
#
|
@@ -6695,6 +6996,7 @@ module Aws::CostExplorer
|
|
6695
6996
|
#
|
6696
6997
|
#
|
6697
6998
|
# [1]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Expression.html
|
6999
|
+
# [2]: https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Impact.html
|
6698
7000
|
# @return [Types::Expression]
|
6699
7001
|
#
|
6700
7002
|
# @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.90.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-
|
11
|
+
date: 2023-08-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: aws-sdk-core
|