@aws-sdk/client-cost-explorer 3.370.0 → 3.376.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. package/README.md +8 -0
  2. package/dist-cjs/CostExplorer.js +2 -0
  3. package/dist-cjs/commands/GetSavingsPlanPurchaseRecommendationDetailsCommand.js +46 -0
  4. package/dist-cjs/commands/index.js +1 -0
  5. package/dist-cjs/endpoint/ruleset.js +3 -3
  6. package/dist-cjs/protocols/Aws_json1_1.js +51 -2
  7. package/dist-es/CostExplorer.js +2 -0
  8. package/dist-es/commands/GetSavingsPlanPurchaseRecommendationDetailsCommand.js +42 -0
  9. package/dist-es/commands/index.js +1 -0
  10. package/dist-es/endpoint/ruleset.js +3 -3
  11. package/dist-es/protocols/Aws_json1_1.js +47 -0
  12. package/dist-types/CostExplorer.d.ts +7 -0
  13. package/dist-types/CostExplorerClient.d.ts +3 -2
  14. package/dist-types/commands/GetSavingsPlanPurchaseRecommendationDetailsCommand.d.ts +119 -0
  15. package/dist-types/commands/GetSavingsPlansPurchaseRecommendationCommand.d.ts +1 -0
  16. package/dist-types/commands/ListSavingsPlansPurchaseRecommendationGenerationCommand.d.ts +3 -0
  17. package/dist-types/commands/StartSavingsPlansPurchaseRecommendationGenerationCommand.d.ts +3 -0
  18. package/dist-types/commands/UpdateAnomalySubscriptionCommand.d.ts +6 -1
  19. package/dist-types/commands/index.d.ts +1 -0
  20. package/dist-types/endpoint/EndpointParameters.d.ts +1 -1
  21. package/dist-types/models/models_0.d.ts +260 -47
  22. package/dist-types/protocols/Aws_json1_1.d.ts +9 -0
  23. package/dist-types/ts3.4/CostExplorer.d.ts +23 -0
  24. package/dist-types/ts3.4/CostExplorerClient.d.ts +6 -0
  25. package/dist-types/ts3.4/commands/GetSavingsPlanPurchaseRecommendationDetailsCommand.d.ts +42 -0
  26. package/dist-types/ts3.4/commands/index.d.ts +1 -0
  27. package/dist-types/ts3.4/endpoint/EndpointParameters.d.ts +1 -1
  28. package/dist-types/ts3.4/models/models_0.d.ts +53 -7
  29. package/dist-types/ts3.4/protocols/Aws_json1_1.d.ts +12 -0
  30. package/package.json +1 -1
@@ -55,6 +55,9 @@ export interface StartSavingsPlansPurchaseRecommendationGenerationCommandOutput
55
55
  * @see {@link StartSavingsPlansPurchaseRecommendationGenerationCommandOutput} for command's `response` shape.
56
56
  * @see {@link CostExplorerClientResolvedConfig | config} for CostExplorerClient's `config` shape.
57
57
  *
58
+ * @throws {@link DataUnavailableException} (client fault)
59
+ * <p>The requested data is unavailable.</p>
60
+ *
58
61
  * @throws {@link GenerationExistsException} (client fault)
59
62
  * <p>A request to generate a recommendation is already in progress.</p>
60
63
  *
@@ -23,7 +23,12 @@ export interface UpdateAnomalySubscriptionCommandOutput extends UpdateAnomalySub
23
23
  }
24
24
  /**
25
25
  * @public
26
- * <p>Updates an existing cost anomaly monitor subscription. </p>
26
+ * <p>Updates an existing cost anomaly subscription. Specify the fields that you want to update.
27
+ * Omitted fields are unchanged.</p>
28
+ * <note>
29
+ * <p>The JSON below describes the generic construct for each type. See <a href="https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_UpdateAnomalySubscription.html#API_UpdateAnomalySubscription_RequestParameters">Request Parameters</a> for possible values as they apply to
30
+ * <code>AnomalySubscription</code>.</p>
31
+ * </note>
27
32
  * @example
28
33
  * Use a bare-bones client and the command you need to make an API call.
29
34
  * ```javascript
@@ -17,6 +17,7 @@ export * from "./GetReservationCoverageCommand";
17
17
  export * from "./GetReservationPurchaseRecommendationCommand";
18
18
  export * from "./GetReservationUtilizationCommand";
19
19
  export * from "./GetRightsizingRecommendationCommand";
20
+ export * from "./GetSavingsPlanPurchaseRecommendationDetailsCommand";
20
21
  export * from "./GetSavingsPlansCoverageCommand";
21
22
  export * from "./GetSavingsPlansPurchaseRecommendationCommand";
22
23
  export * from "./GetSavingsPlansUtilizationCommand";
@@ -12,7 +12,7 @@ export declare const resolveClientEndpointParameters: <T>(options: T & ClientInp
12
12
  defaultSigningName: string;
13
13
  };
14
14
  export interface EndpointParameters extends __EndpointParameters {
15
- Region: string;
15
+ Region?: string;
16
16
  UseDualStack?: boolean;
17
17
  UseFIPS?: boolean;
18
18
  Endpoint?: string;
@@ -2588,6 +2588,209 @@ export interface GetRightsizingRecommendationResponse {
2588
2588
  */
2589
2589
  Configuration?: RightsizingRecommendationConfiguration;
2590
2590
  }
2591
+ /**
2592
+ * @public
2593
+ */
2594
+ export interface GetSavingsPlanPurchaseRecommendationDetailsRequest {
2595
+ /**
2596
+ * <p>The ID that is associated with the Savings Plan recommendation.</p>
2597
+ */
2598
+ RecommendationDetailId: string | undefined;
2599
+ }
2600
+ /**
2601
+ * @public
2602
+ * <p>Contains the hourly metrics for the given recommendation over the lookback period.
2603
+ * </p>
2604
+ */
2605
+ export interface RecommendationDetailHourlyMetrics {
2606
+ /**
2607
+ * <p>The period of time that you want the usage and costs for.</p>
2608
+ */
2609
+ StartTime?: string;
2610
+ /**
2611
+ * <p>The remaining On-Demand cost estimated to not be covered by the recommended Savings
2612
+ * Plan, over the length of the lookback period.</p>
2613
+ */
2614
+ EstimatedOnDemandCost?: string;
2615
+ /**
2616
+ * <p>The current amount of Savings Plans eligible usage that the Savings Plan
2617
+ * covered.</p>
2618
+ */
2619
+ CurrentCoverage?: string;
2620
+ /**
2621
+ * <p>The estimated coverage amount based on the recommended Savings Plan.</p>
2622
+ */
2623
+ EstimatedCoverage?: string;
2624
+ /**
2625
+ * <p>The estimated utilization for the recommended Savings Plan.</p>
2626
+ */
2627
+ EstimatedNewCommitmentUtilization?: string;
2628
+ }
2629
+ /**
2630
+ * @public
2631
+ * @enum
2632
+ */
2633
+ export declare const SupportedSavingsPlansType: {
2634
+ readonly COMPUTE_SP: "COMPUTE_SP";
2635
+ readonly EC2_INSTANCE_SP: "EC2_INSTANCE_SP";
2636
+ readonly SAGEMAKER_SP: "SAGEMAKER_SP";
2637
+ };
2638
+ /**
2639
+ * @public
2640
+ */
2641
+ export type SupportedSavingsPlansType = (typeof SupportedSavingsPlansType)[keyof typeof SupportedSavingsPlansType];
2642
+ /**
2643
+ * @public
2644
+ * <p>The details and metrics for the given recommendation.</p>
2645
+ */
2646
+ export interface RecommendationDetailData {
2647
+ /**
2648
+ * <p>The account scope that you want your recommendations for. Amazon Web Services
2649
+ * calculates recommendations including the management account and member accounts if the
2650
+ * value is set to PAYER. If the value is LINKED, recommendations are calculated for
2651
+ * individual member accounts only.</p>
2652
+ */
2653
+ AccountScope?: AccountScope | string;
2654
+ /**
2655
+ * <p>How many days of previous usage that Amazon Web Services considers when making this
2656
+ * recommendation.</p>
2657
+ */
2658
+ LookbackPeriodInDays?: LookbackPeriodInDays | string;
2659
+ /**
2660
+ * <p>The requested Savings Plan recommendation type.</p>
2661
+ */
2662
+ SavingsPlansType?: SupportedSavingsPlansType | string;
2663
+ /**
2664
+ * <p>The term of the commitment in years.</p>
2665
+ */
2666
+ TermInYears?: TermInYears | string;
2667
+ /**
2668
+ * <p>The payment option for the commitment (for example, All Upfront or No Upfront).</p>
2669
+ */
2670
+ PaymentOption?: PaymentOption | string;
2671
+ /**
2672
+ * <p>The AccountID that the recommendation is generated for.</p>
2673
+ */
2674
+ AccountId?: string;
2675
+ /**
2676
+ * <p>The currency code that Amazon Web Services used to generate the recommendation and
2677
+ * present potential savings.</p>
2678
+ */
2679
+ CurrencyCode?: string;
2680
+ /**
2681
+ * <p>The instance family of the recommended Savings Plan.</p>
2682
+ */
2683
+ InstanceFamily?: string;
2684
+ /**
2685
+ * <p>The region the recommendation is generated for.</p>
2686
+ */
2687
+ Region?: string;
2688
+ /**
2689
+ * <p>The unique ID that's used to distinguish Savings Plans from one another.</p>
2690
+ */
2691
+ OfferingId?: string;
2692
+ /**
2693
+ * <p>The period of time that you want the usage and costs for.</p>
2694
+ */
2695
+ GenerationTimestamp?: string;
2696
+ /**
2697
+ * <p>The period of time that you want the usage and costs for.</p>
2698
+ */
2699
+ LatestUsageTimestamp?: string;
2700
+ /**
2701
+ * <p>The average value of hourly On-Demand spend over the lookback period of the applicable
2702
+ * usage type.</p>
2703
+ */
2704
+ CurrentAverageHourlyOnDemandSpend?: string;
2705
+ /**
2706
+ * <p>The highest value of hourly On-Demand spend over the lookback period of the applicable
2707
+ * usage type.</p>
2708
+ */
2709
+ CurrentMaximumHourlyOnDemandSpend?: string;
2710
+ /**
2711
+ * <p>The lowest value of hourly On-Demand spend over the lookback period of the applicable
2712
+ * usage type.</p>
2713
+ */
2714
+ CurrentMinimumHourlyOnDemandSpend?: string;
2715
+ /**
2716
+ * <p>The estimated utilization of the recommended Savings Plan.</p>
2717
+ */
2718
+ EstimatedAverageUtilization?: string;
2719
+ /**
2720
+ * <p>The estimated monthly savings amount based on the recommended Savings Plan.</p>
2721
+ */
2722
+ EstimatedMonthlySavingsAmount?: string;
2723
+ /**
2724
+ * <p>The remaining On-Demand cost estimated to not be covered by the recommended Savings
2725
+ * Plan, over the length of the lookback period.</p>
2726
+ */
2727
+ EstimatedOnDemandCost?: string;
2728
+ /**
2729
+ * <p>The estimated On-Demand costs you expect with no additional commitment, based on your
2730
+ * usage of the selected time period and the Savings Plan you own.</p>
2731
+ */
2732
+ EstimatedOnDemandCostWithCurrentCommitment?: string;
2733
+ /**
2734
+ * <p>The estimated return on investment that's based on the recommended Savings Plan that
2735
+ * you purchased. This is calculated as estimatedSavingsAmount/estimatedSPCost*100.</p>
2736
+ */
2737
+ EstimatedROI?: string;
2738
+ /**
2739
+ * <p>The cost of the recommended Savings Plan over the length of the lookback
2740
+ * period.</p>
2741
+ */
2742
+ EstimatedSPCost?: string;
2743
+ /**
2744
+ * <p>The estimated savings amount that's based on the recommended Savings Plan over the
2745
+ * length of the lookback period.</p>
2746
+ */
2747
+ EstimatedSavingsAmount?: string;
2748
+ /**
2749
+ * <p>The estimated savings percentage relative to the total cost of applicable On-Demand
2750
+ * usage over the lookback period.</p>
2751
+ */
2752
+ EstimatedSavingsPercentage?: string;
2753
+ /**
2754
+ * <p>The existing hourly commitment for the Savings Plan type.</p>
2755
+ */
2756
+ ExistingHourlyCommitment?: string;
2757
+ /**
2758
+ * <p>The recommended hourly commitment level for the Savings Plan type and the
2759
+ * configuration that's based on the usage during the lookback period.</p>
2760
+ */
2761
+ HourlyCommitmentToPurchase?: string;
2762
+ /**
2763
+ * <p>The upfront cost of the recommended Savings Plan, based on the selected payment
2764
+ * option.</p>
2765
+ */
2766
+ UpfrontCost?: string;
2767
+ /**
2768
+ * <p>The average value of hourly coverage over the lookback period.</p>
2769
+ */
2770
+ CurrentAverageCoverage?: string;
2771
+ /**
2772
+ * <p>The estimated coverage of the recommended Savings Plan.</p>
2773
+ */
2774
+ EstimatedAverageCoverage?: string;
2775
+ /**
2776
+ * <p>The related hourly cost, coverage, and utilization metrics over the lookback
2777
+ * period.</p>
2778
+ */
2779
+ MetricsOverLookbackPeriod?: RecommendationDetailHourlyMetrics[];
2780
+ }
2781
+ /**
2782
+ * @public
2783
+ */
2784
+ export interface GetSavingsPlanPurchaseRecommendationDetailsResponse {
2785
+ /**
2786
+ * <p>The ID that is associated with the Savings Plan recommendation.</p>
2787
+ */
2788
+ RecommendationDetailId?: string;
2789
+ /**
2790
+ * <p>Contains detailed information about a specific Savings Plan recommendation.</p>
2791
+ */
2792
+ RecommendationDetailData?: RecommendationDetailData;
2793
+ }
2591
2794
  /**
2592
2795
  * @public
2593
2796
  * <p>Specific coverage percentage, On-Demand costs, and spend covered by Savings Plans, and
@@ -2646,19 +2849,6 @@ export interface GetSavingsPlansCoverageResponse {
2646
2849
  */
2647
2850
  NextToken?: string;
2648
2851
  }
2649
- /**
2650
- * @public
2651
- * @enum
2652
- */
2653
- export declare const SupportedSavingsPlansType: {
2654
- readonly COMPUTE_SP: "COMPUTE_SP";
2655
- readonly EC2_INSTANCE_SP: "EC2_INSTANCE_SP";
2656
- readonly SAGEMAKER_SP: "SAGEMAKER_SP";
2657
- };
2658
- /**
2659
- * @public
2660
- */
2661
- export type SupportedSavingsPlansType = (typeof SupportedSavingsPlansType)[keyof typeof SupportedSavingsPlansType];
2662
2852
  /**
2663
2853
  * @public
2664
2854
  * <p>Metadata about your Savings Plans Purchase Recommendations.</p>
@@ -2777,6 +2967,10 @@ export interface SavingsPlansPurchaseRecommendationDetail {
2777
2967
  * usage type.</p>
2778
2968
  */
2779
2969
  CurrentAverageHourlyOnDemandSpend?: string;
2970
+ /**
2971
+ * <p>Contains detailed information about a specific Savings Plan recommendation.</p>
2972
+ */
2973
+ RecommendationDetailId?: string;
2780
2974
  }
2781
2975
  /**
2782
2976
  * @public
@@ -3698,7 +3892,7 @@ export interface UpdateCostCategoryDefinitionResponse {
3698
3892
  * <li>
3699
3893
  * <p>The corresponding <code>Expression</code> for this example is
3700
3894
  * as follows: <code>\{ "Dimensions": \{ "Key": "REGION", "Values": [
3701
- * "us-east-1", us-west-1 ] \} \}</code>
3895
+ * "us-east-1", "us-west-1" ] \} \}</code>
3702
3896
  * </p>
3703
3897
  * </li>
3704
3898
  * <li>
@@ -3715,7 +3909,7 @@ export interface UpdateCostCategoryDefinitionResponse {
3715
3909
  * <ul>
3716
3910
  * <li>
3717
3911
  * <p>For example, you can filter for linked account names that
3718
- * start with a”.</p>
3912
+ * start with "a".</p>
3719
3913
  * </li>
3720
3914
  * <li>
3721
3915
  * <p>The corresponding <code>Expression</code> for this example is
@@ -3883,7 +4077,7 @@ export interface AnomalyMonitor {
3883
4077
  * <li>
3884
4078
  * <p>The corresponding <code>Expression</code> for this example is
3885
4079
  * as follows: <code>\{ "Dimensions": \{ "Key": "REGION", "Values": [
3886
- * "us-east-1", us-west-1 ] \} \}</code>
4080
+ * "us-east-1", "us-west-1" ] \} \}</code>
3887
4081
  * </p>
3888
4082
  * </li>
3889
4083
  * <li>
@@ -3900,7 +4094,7 @@ export interface AnomalyMonitor {
3900
4094
  * <ul>
3901
4095
  * <li>
3902
4096
  * <p>For example, you can filter for linked account names that
3903
- * start with a”.</p>
4097
+ * start with "a".</p>
3904
4098
  * </li>
3905
4099
  * <li>
3906
4100
  * <p>The corresponding <code>Expression</code> for this example is
@@ -3971,10 +4165,21 @@ export interface AnomalyMonitor {
3971
4165
  }
3972
4166
  /**
3973
4167
  * @public
3974
- * <p>The association between a monitor, threshold, and list of subscribers used to deliver
3975
- * notifications about anomalies detected by a monitor that exceeds a threshold. The
3976
- * content consists of the detailed metadata and the current status of the
3977
- * <code>AnomalySubscription</code> object. </p>
4168
+ * <p>An <code>AnomalySubscription</code> resource (also referred to as an alert
4169
+ * subscription) sends notifications about specific anomalies that meet an alerting
4170
+ * criteria defined by you.</p>
4171
+ * <p>You can specify the frequency of the alerts and the subscribers to notify.</p>
4172
+ * <p>Anomaly subscriptions can be associated with one or more <a href="https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_AnomalyMonitor.html">
4173
+ * <code>AnomalyMonitor</code>
4174
+ * </a> resources, and they only send
4175
+ * notifications about anomalies detected by those associated monitors. You can also
4176
+ * configure a threshold to further control which anomalies are included in the
4177
+ * notifications.</p>
4178
+ * <p>Anomalies that don’t exceed the chosen threshold and therefore don’t trigger
4179
+ * notifications from an anomaly subscription will still be available on the console and
4180
+ * from the <a href="https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_GetAnomalies.html">
4181
+ * <code>GetAnomalies</code>
4182
+ * </a> API.</p>
3978
4183
  */
3979
4184
  export interface AnomalySubscription {
3980
4185
  /**
@@ -3997,15 +4202,21 @@ export interface AnomalySubscription {
3997
4202
  * @deprecated
3998
4203
  *
3999
4204
  * <p>(deprecated)</p>
4000
- * <p>The dollar value that triggers a notification if the threshold is exceeded. </p>
4205
+ * <p>An absolute dollar value that must be exceeded by the anomaly's total impact (see
4206
+ * <a href="https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Impact.html">Impact</a> for
4207
+ * more details) for an anomaly notification to be generated.</p>
4001
4208
  * <p>This field has been deprecated. To specify a threshold, use ThresholdExpression.
4002
4209
  * Continued use of Threshold will be treated as shorthand syntax for a
4003
4210
  * ThresholdExpression.</p>
4004
- * <p>One of Threshold or ThresholdExpression is required for this resource.</p>
4211
+ * <p>One of Threshold or ThresholdExpression is required for this resource. You cannot
4212
+ * specify both.</p>
4005
4213
  */
4006
4214
  Threshold?: number;
4007
4215
  /**
4008
- * <p>The frequency that anomaly reports are sent over email. </p>
4216
+ * <p>The frequency that anomaly notifications are sent. Notifications are sent either over
4217
+ * email (for DAILY and WEEKLY frequencies) or SNS (for IMMEDIATE frequency). For more
4218
+ * information, see <a href="https://docs.aws.amazon.com/cost-management/latest/userguide/ad-SNS.html">Creating an Amazon SNS topic for
4219
+ * anomaly notifications</a>.</p>
4009
4220
  */
4010
4221
  Frequency: AnomalySubscriptionFrequency | string | undefined;
4011
4222
  /**
@@ -4017,11 +4228,13 @@ export interface AnomalySubscription {
4017
4228
  * object used to specify the anomalies that you want to generate alerts for. This supports
4018
4229
  * dimensions and nested expressions. The supported dimensions are
4019
4230
  * <code>ANOMALY_TOTAL_IMPACT_ABSOLUTE</code> and
4020
- * <code>ANOMALY_TOTAL_IMPACT_PERCENTAGE</code>. The supported nested expression types
4021
- * are <code>AND</code> and <code>OR</code>. The match option
4022
- * <code>GREATER_THAN_OR_EQUAL</code> is required. Values must be numbers between 0 and
4023
- * 10,000,000,000.</p>
4024
- * <p>One of Threshold or ThresholdExpression is required for this resource.</p>
4231
+ * <code>ANOMALY_TOTAL_IMPACT_PERCENTAGE</code>, corresponding to an anomaly’s
4232
+ * TotalImpact and TotalImpactPercentage, respectively (see <a href="https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Impact.html">Impact</a> for
4233
+ * more details). The supported nested expression types are <code>AND</code> and
4234
+ * <code>OR</code>. The match option <code>GREATER_THAN_OR_EQUAL</code> is required.
4235
+ * Values must be numbers between 0 and 10,000,000,000 in string format.</p>
4236
+ * <p>One of Threshold or ThresholdExpression is required for this resource. You cannot
4237
+ * specify both.</p>
4025
4238
  * <p>The following are examples of valid ThresholdExpressions:</p>
4026
4239
  * <ul>
4027
4240
  * <li>
@@ -4073,10 +4286,8 @@ export interface CostCategoryRule {
4073
4286
  * <p>An <a href="https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Expression.html">Expression</a>
4074
4287
  * object used to categorize costs. This supports dimensions, tags, and nested expressions.
4075
4288
  * Currently the only dimensions supported are <code>LINKED_ACCOUNT</code>,
4076
- * <code>SERVICE_CODE</code>, <code>RECORD_TYPE</code>, and
4077
- * <code>LINKED_ACCOUNT_NAME</code>.</p>
4078
- * <p>Root level <code>OR</code> isn't supported. We recommend that you create a separate
4079
- * rule instead.</p>
4289
+ *
4290
+ * <code>SERVICE_CODE</code>, <code>RECORD_TYPE</code>, <code>LINKED_ACCOUNT_NAME</code>, <code>REGION</code>, and <code>USAGE_TYPE</code>.</p>
4080
4291
  * <p>
4081
4292
  * <code>RECORD_TYPE</code> is a dimension used for Cost Explorer APIs, and is also
4082
4293
  * supported for Cost Category expressions. This dimension uses different terms, depending
@@ -4304,7 +4515,7 @@ export interface GetCostCategoriesRequest {
4304
4515
  * <li>
4305
4516
  * <p>The corresponding <code>Expression</code> for this example is
4306
4517
  * as follows: <code>\{ "Dimensions": \{ "Key": "REGION", "Values": [
4307
- * "us-east-1", us-west-1 ] \} \}</code>
4518
+ * "us-east-1", "us-west-1" ] \} \}</code>
4308
4519
  * </p>
4309
4520
  * </li>
4310
4521
  * <li>
@@ -4321,7 +4532,7 @@ export interface GetCostCategoriesRequest {
4321
4532
  * <ul>
4322
4533
  * <li>
4323
4534
  * <p>For example, you can filter for linked account names that
4324
- * start with a”.</p>
4535
+ * start with "a".</p>
4325
4536
  * </li>
4326
4537
  * <li>
4327
4538
  * <p>The corresponding <code>Expression</code> for this example is
@@ -4862,7 +5073,7 @@ export interface GetDimensionValuesRequest {
4862
5073
  * <li>
4863
5074
  * <p>The corresponding <code>Expression</code> for this example is
4864
5075
  * as follows: <code>\{ "Dimensions": \{ "Key": "REGION", "Values": [
4865
- * "us-east-1", us-west-1 ] \} \}</code>
5076
+ * "us-east-1", "us-west-1" ] \} \}</code>
4866
5077
  * </p>
4867
5078
  * </li>
4868
5079
  * <li>
@@ -4879,7 +5090,7 @@ export interface GetDimensionValuesRequest {
4879
5090
  * <ul>
4880
5091
  * <li>
4881
5092
  * <p>For example, you can filter for linked account names that
4882
- * start with a”.</p>
5093
+ * start with "a".</p>
4883
5094
  * </li>
4884
5095
  * <li>
4885
5096
  * <p>The corresponding <code>Expression</code> for this example is
@@ -5252,7 +5463,7 @@ export interface GetReservationPurchaseRecommendationRequest {
5252
5463
  * <li>
5253
5464
  * <p>The corresponding <code>Expression</code> for this example is
5254
5465
  * as follows: <code>\{ "Dimensions": \{ "Key": "REGION", "Values": [
5255
- * "us-east-1", us-west-1 ] \} \}</code>
5466
+ * "us-east-1", "us-west-1" ] \} \}</code>
5256
5467
  * </p>
5257
5468
  * </li>
5258
5469
  * <li>
@@ -5269,7 +5480,7 @@ export interface GetReservationPurchaseRecommendationRequest {
5269
5480
  * <ul>
5270
5481
  * <li>
5271
5482
  * <p>For example, you can filter for linked account names that
5272
- * start with a”.</p>
5483
+ * start with "a".</p>
5273
5484
  * </li>
5274
5485
  * <li>
5275
5486
  * <p>The corresponding <code>Expression</code> for this example is
@@ -5594,7 +5805,7 @@ export interface GetRightsizingRecommendationRequest {
5594
5805
  * <li>
5595
5806
  * <p>The corresponding <code>Expression</code> for this example is
5596
5807
  * as follows: <code>\{ "Dimensions": \{ "Key": "REGION", "Values": [
5597
- * "us-east-1", us-west-1 ] \} \}</code>
5808
+ * "us-east-1", "us-west-1" ] \} \}</code>
5598
5809
  * </p>
5599
5810
  * </li>
5600
5811
  * <li>
@@ -5611,7 +5822,7 @@ export interface GetRightsizingRecommendationRequest {
5611
5822
  * <ul>
5612
5823
  * <li>
5613
5824
  * <p>For example, you can filter for linked account names that
5614
- * start with a”.</p>
5825
+ * start with "a".</p>
5615
5826
  * </li>
5616
5827
  * <li>
5617
5828
  * <p>The corresponding <code>Expression</code> for this example is
@@ -6122,7 +6333,7 @@ export interface GetTagsRequest {
6122
6333
  * <li>
6123
6334
  * <p>The corresponding <code>Expression</code> for this example is
6124
6335
  * as follows: <code>\{ "Dimensions": \{ "Key": "REGION", "Values": [
6125
- * "us-east-1", us-west-1 ] \} \}</code>
6336
+ * "us-east-1", "us-west-1" ] \} \}</code>
6126
6337
  * </p>
6127
6338
  * </li>
6128
6339
  * <li>
@@ -6139,7 +6350,7 @@ export interface GetTagsRequest {
6139
6350
  * <ul>
6140
6351
  * <li>
6141
6352
  * <p>For example, you can filter for linked account names that
6142
- * start with a”.</p>
6353
+ * start with "a".</p>
6143
6354
  * </li>
6144
6355
  * <li>
6145
6356
  * <p>The corresponding <code>Expression</code> for this example is
@@ -6442,6 +6653,7 @@ export interface UpdateAnomalySubscriptionRequest {
6442
6653
  * <p>The update to the threshold value for receiving notifications. </p>
6443
6654
  * <p>This field has been deprecated. To update a threshold, use ThresholdExpression. Continued
6444
6655
  * use of Threshold will be treated as shorthand syntax for a ThresholdExpression.</p>
6656
+ * <p>You can specify either Threshold or ThresholdExpression, but not both.</p>
6445
6657
  */
6446
6658
  Threshold?: number;
6447
6659
  /**
@@ -6464,10 +6676,11 @@ export interface UpdateAnomalySubscriptionRequest {
6464
6676
  * <p>The update to the <a href="https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Expression.html">Expression</a> object
6465
6677
  * used to specify the anomalies that you want to generate alerts for. This supports dimensions
6466
6678
  * and nested expressions. The supported dimensions are
6467
- * <code>ANOMALY_TOTAL_IMPACT_ABSOLUTE</code> and <code>ANOMALY_TOTAL_IMPACT_PERCENTAGE</code>.
6468
- * The supported nested expression types are <code>AND</code> and <code>OR</code>. The match
6469
- * option <code>GREATER_THAN_OR_EQUAL</code> is required. Values must be numbers between 0 and
6470
- * 10,000,000,000.</p>
6679
+ * <code>ANOMALY_TOTAL_IMPACT_ABSOLUTE</code> and <code>ANOMALY_TOTAL_IMPACT_PERCENTAGE</code>,
6680
+ * corresponding to an anomaly’s TotalImpact and TotalImpactPercentage, respectively (see <a href="https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Impact.html">Impact</a> for more details). The supported nested expression types are
6681
+ * <code>AND</code> and <code>OR</code>. The match option <code>GREATER_THAN_OR_EQUAL</code> is
6682
+ * required. Values must be numbers between 0 and 10,000,000,000 in string format.</p>
6683
+ * <p>You can specify either Threshold or ThresholdExpression, but not both.</p>
6471
6684
  * <p>The following are examples of valid ThresholdExpressions:</p>
6472
6685
  * <ul>
6473
6686
  * <li>
@@ -19,6 +19,7 @@ import { GetReservationCoverageCommandInput, GetReservationCoverageCommandOutput
19
19
  import { GetReservationPurchaseRecommendationCommandInput, GetReservationPurchaseRecommendationCommandOutput } from "../commands/GetReservationPurchaseRecommendationCommand";
20
20
  import { GetReservationUtilizationCommandInput, GetReservationUtilizationCommandOutput } from "../commands/GetReservationUtilizationCommand";
21
21
  import { GetRightsizingRecommendationCommandInput, GetRightsizingRecommendationCommandOutput } from "../commands/GetRightsizingRecommendationCommand";
22
+ import { GetSavingsPlanPurchaseRecommendationDetailsCommandInput, GetSavingsPlanPurchaseRecommendationDetailsCommandOutput } from "../commands/GetSavingsPlanPurchaseRecommendationDetailsCommand";
22
23
  import { GetSavingsPlansCoverageCommandInput, GetSavingsPlansCoverageCommandOutput } from "../commands/GetSavingsPlansCoverageCommand";
23
24
  import { GetSavingsPlansPurchaseRecommendationCommandInput, GetSavingsPlansPurchaseRecommendationCommandOutput } from "../commands/GetSavingsPlansPurchaseRecommendationCommand";
24
25
  import { GetSavingsPlansUtilizationCommandInput, GetSavingsPlansUtilizationCommandOutput } from "../commands/GetSavingsPlansUtilizationCommand";
@@ -113,6 +114,10 @@ export declare const se_GetReservationUtilizationCommand: (input: GetReservation
113
114
  * serializeAws_json1_1GetRightsizingRecommendationCommand
114
115
  */
115
116
  export declare const se_GetRightsizingRecommendationCommand: (input: GetRightsizingRecommendationCommandInput, context: __SerdeContext) => Promise<__HttpRequest>;
117
+ /**
118
+ * serializeAws_json1_1GetSavingsPlanPurchaseRecommendationDetailsCommand
119
+ */
120
+ export declare const se_GetSavingsPlanPurchaseRecommendationDetailsCommand: (input: GetSavingsPlanPurchaseRecommendationDetailsCommandInput, context: __SerdeContext) => Promise<__HttpRequest>;
116
121
  /**
117
122
  * serializeAws_json1_1GetSavingsPlansCoverageCommand
118
123
  */
@@ -261,6 +266,10 @@ export declare const de_GetReservationUtilizationCommand: (output: __HttpRespons
261
266
  * deserializeAws_json1_1GetRightsizingRecommendationCommand
262
267
  */
263
268
  export declare const de_GetRightsizingRecommendationCommand: (output: __HttpResponse, context: __SerdeContext) => Promise<GetRightsizingRecommendationCommandOutput>;
269
+ /**
270
+ * deserializeAws_json1_1GetSavingsPlanPurchaseRecommendationDetailsCommand
271
+ */
272
+ export declare const de_GetSavingsPlanPurchaseRecommendationDetailsCommand: (output: __HttpResponse, context: __SerdeContext) => Promise<GetSavingsPlanPurchaseRecommendationDetailsCommandOutput>;
264
273
  /**
265
274
  * deserializeAws_json1_1GetSavingsPlansCoverageCommand
266
275
  */
@@ -75,6 +75,10 @@ import {
75
75
  GetRightsizingRecommendationCommandInput,
76
76
  GetRightsizingRecommendationCommandOutput,
77
77
  } from "./commands/GetRightsizingRecommendationCommand";
78
+ import {
79
+ GetSavingsPlanPurchaseRecommendationDetailsCommandInput,
80
+ GetSavingsPlanPurchaseRecommendationDetailsCommandOutput,
81
+ } from "./commands/GetSavingsPlanPurchaseRecommendationDetailsCommand";
78
82
  import {
79
83
  GetSavingsPlansCoverageCommandInput,
80
84
  GetSavingsPlansCoverageCommandOutput,
@@ -402,6 +406,25 @@ export interface CostExplorer {
402
406
  options: __HttpHandlerOptions,
403
407
  cb: (err: any, data?: GetRightsizingRecommendationCommandOutput) => void
404
408
  ): void;
409
+ getSavingsPlanPurchaseRecommendationDetails(
410
+ args: GetSavingsPlanPurchaseRecommendationDetailsCommandInput,
411
+ options?: __HttpHandlerOptions
412
+ ): Promise<GetSavingsPlanPurchaseRecommendationDetailsCommandOutput>;
413
+ getSavingsPlanPurchaseRecommendationDetails(
414
+ args: GetSavingsPlanPurchaseRecommendationDetailsCommandInput,
415
+ cb: (
416
+ err: any,
417
+ data?: GetSavingsPlanPurchaseRecommendationDetailsCommandOutput
418
+ ) => void
419
+ ): void;
420
+ getSavingsPlanPurchaseRecommendationDetails(
421
+ args: GetSavingsPlanPurchaseRecommendationDetailsCommandInput,
422
+ options: __HttpHandlerOptions,
423
+ cb: (
424
+ err: any,
425
+ data?: GetSavingsPlanPurchaseRecommendationDetailsCommandOutput
426
+ ) => void
427
+ ): void;
405
428
  getSavingsPlansCoverage(
406
429
  args: GetSavingsPlansCoverageCommandInput,
407
430
  options?: __HttpHandlerOptions
@@ -120,6 +120,10 @@ import {
120
120
  GetRightsizingRecommendationCommandInput,
121
121
  GetRightsizingRecommendationCommandOutput,
122
122
  } from "./commands/GetRightsizingRecommendationCommand";
123
+ import {
124
+ GetSavingsPlanPurchaseRecommendationDetailsCommandInput,
125
+ GetSavingsPlanPurchaseRecommendationDetailsCommandOutput,
126
+ } from "./commands/GetSavingsPlanPurchaseRecommendationDetailsCommand";
123
127
  import {
124
128
  GetSavingsPlansCoverageCommandInput,
125
129
  GetSavingsPlansCoverageCommandOutput,
@@ -218,6 +222,7 @@ export type ServiceInputTypes =
218
222
  | GetReservationPurchaseRecommendationCommandInput
219
223
  | GetReservationUtilizationCommandInput
220
224
  | GetRightsizingRecommendationCommandInput
225
+ | GetSavingsPlanPurchaseRecommendationDetailsCommandInput
221
226
  | GetSavingsPlansCoverageCommandInput
222
227
  | GetSavingsPlansPurchaseRecommendationCommandInput
223
228
  | GetSavingsPlansUtilizationCommandInput
@@ -256,6 +261,7 @@ export type ServiceOutputTypes =
256
261
  | GetReservationPurchaseRecommendationCommandOutput
257
262
  | GetReservationUtilizationCommandOutput
258
263
  | GetRightsizingRecommendationCommandOutput
264
+ | GetSavingsPlanPurchaseRecommendationDetailsCommandOutput
259
265
  | GetSavingsPlansCoverageCommandOutput
260
266
  | GetSavingsPlansPurchaseRecommendationCommandOutput
261
267
  | GetSavingsPlansUtilizationCommandOutput
@@ -0,0 +1,42 @@
1
+ import { EndpointParameterInstructions } from "@smithy/middleware-endpoint";
2
+ import { Command as $Command } from "@smithy/smithy-client";
3
+ import {
4
+ Handler,
5
+ HttpHandlerOptions as __HttpHandlerOptions,
6
+ MetadataBearer as __MetadataBearer,
7
+ MiddlewareStack,
8
+ } from "@smithy/types";
9
+ import {
10
+ CostExplorerClientResolvedConfig,
11
+ ServiceInputTypes,
12
+ ServiceOutputTypes,
13
+ } from "../CostExplorerClient";
14
+ import {
15
+ GetSavingsPlanPurchaseRecommendationDetailsRequest,
16
+ GetSavingsPlanPurchaseRecommendationDetailsResponse,
17
+ } from "../models/models_0";
18
+ export { __MetadataBearer, $Command };
19
+ export interface GetSavingsPlanPurchaseRecommendationDetailsCommandInput
20
+ extends GetSavingsPlanPurchaseRecommendationDetailsRequest {}
21
+ export interface GetSavingsPlanPurchaseRecommendationDetailsCommandOutput
22
+ extends GetSavingsPlanPurchaseRecommendationDetailsResponse,
23
+ __MetadataBearer {}
24
+ export declare class GetSavingsPlanPurchaseRecommendationDetailsCommand extends $Command<
25
+ GetSavingsPlanPurchaseRecommendationDetailsCommandInput,
26
+ GetSavingsPlanPurchaseRecommendationDetailsCommandOutput,
27
+ CostExplorerClientResolvedConfig
28
+ > {
29
+ readonly input: GetSavingsPlanPurchaseRecommendationDetailsCommandInput;
30
+ static getEndpointParameterInstructions(): EndpointParameterInstructions;
31
+ constructor(input: GetSavingsPlanPurchaseRecommendationDetailsCommandInput);
32
+ resolveMiddleware(
33
+ clientStack: MiddlewareStack<ServiceInputTypes, ServiceOutputTypes>,
34
+ configuration: CostExplorerClientResolvedConfig,
35
+ options?: __HttpHandlerOptions
36
+ ): Handler<
37
+ GetSavingsPlanPurchaseRecommendationDetailsCommandInput,
38
+ GetSavingsPlanPurchaseRecommendationDetailsCommandOutput
39
+ >;
40
+ private serialize;
41
+ private deserialize;
42
+ }