@aws-sdk/client-cost-explorer 3.817.0 → 3.821.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 (31) hide show
  1. package/README.md +16 -0
  2. package/dist-cjs/index.js +148 -0
  3. package/dist-es/CostExplorer.js +4 -0
  4. package/dist-es/commands/GetCostAndUsageComparisonsCommand.js +22 -0
  5. package/dist-es/commands/GetCostComparisonDriversCommand.js +22 -0
  6. package/dist-es/commands/index.js +2 -0
  7. package/dist-es/pagination/GetCostAndUsageComparisonsPaginator.js +4 -0
  8. package/dist-es/pagination/GetCostComparisonDriversPaginator.js +4 -0
  9. package/dist-es/pagination/index.js +2 -0
  10. package/dist-es/protocols/Aws_json1_1.js +104 -0
  11. package/dist-types/CostExplorer.d.ts +14 -0
  12. package/dist-types/CostExplorerClient.d.ts +4 -2
  13. package/dist-types/commands/GetCostAndUsageComparisonsCommand.d.ts +257 -0
  14. package/dist-types/commands/GetCostComparisonDriversCommand.d.ts +263 -0
  15. package/dist-types/commands/index.d.ts +2 -0
  16. package/dist-types/models/models_0.d.ts +830 -93
  17. package/dist-types/pagination/GetCostAndUsageComparisonsPaginator.d.ts +7 -0
  18. package/dist-types/pagination/GetCostComparisonDriversPaginator.d.ts +7 -0
  19. package/dist-types/pagination/index.d.ts +2 -0
  20. package/dist-types/protocols/Aws_json1_1.d.ts +18 -0
  21. package/dist-types/ts3.4/CostExplorer.d.ts +34 -0
  22. package/dist-types/ts3.4/CostExplorerClient.d.ts +12 -0
  23. package/dist-types/ts3.4/commands/GetCostAndUsageComparisonsCommand.d.ts +51 -0
  24. package/dist-types/ts3.4/commands/GetCostComparisonDriversCommand.d.ts +51 -0
  25. package/dist-types/ts3.4/commands/index.d.ts +2 -0
  26. package/dist-types/ts3.4/models/models_0.d.ts +49 -0
  27. package/dist-types/ts3.4/pagination/GetCostAndUsageComparisonsPaginator.d.ts +11 -0
  28. package/dist-types/ts3.4/pagination/GetCostComparisonDriversPaginator.d.ts +11 -0
  29. package/dist-types/ts3.4/pagination/index.d.ts +2 -0
  30. package/dist-types/ts3.4/protocols/Aws_json1_1.d.ts +24 -0
  31. package/package.json +33 -33
@@ -1682,6 +1682,35 @@ export declare class RequestChangedException extends __BaseException {
1682
1682
  */
1683
1683
  constructor(opts: __ExceptionOptionType<RequestChangedException, __BaseException>);
1684
1684
  }
1685
+ /**
1686
+ * <p>Contains cost or usage metric values for comparing two time periods. Each value
1687
+ * includes amounts for the baseline and comparison time periods, their difference, and the
1688
+ * unit of measurement.</p>
1689
+ * @public
1690
+ */
1691
+ export interface ComparisonMetricValue {
1692
+ /**
1693
+ * <p>The numeric value for the baseline time period measurement.</p>
1694
+ * @public
1695
+ */
1696
+ BaselineTimePeriodAmount?: string | undefined;
1697
+ /**
1698
+ * <p>The numeric value for the comparison time period measurement.</p>
1699
+ * @public
1700
+ */
1701
+ ComparisonTimePeriodAmount?: string | undefined;
1702
+ /**
1703
+ * <p>The calculated difference between <code>ComparisonTimePeriodAmount</code> and
1704
+ * <code>BaselineTimePeriodAmount</code>.</p>
1705
+ * @public
1706
+ */
1707
+ Difference?: string | undefined;
1708
+ /**
1709
+ * <p>The unit of measurement applicable to all numeric values in this comparison.</p>
1710
+ * @public
1711
+ */
1712
+ Unit?: string | undefined;
1713
+ }
1685
1714
  /**
1686
1715
  * @public
1687
1716
  */
@@ -1771,6 +1800,34 @@ export interface GetCostCategoriesResponse {
1771
1800
  */
1772
1801
  TotalSize: number | undefined;
1773
1802
  }
1803
+ /**
1804
+ * <p>Represents factors that contribute to cost variations between the baseline and
1805
+ * comparison time periods, including the type of driver, an identifier of the driver, and
1806
+ * associated metrics.</p>
1807
+ * @public
1808
+ */
1809
+ export interface CostDriver {
1810
+ /**
1811
+ * <p>The category or classification of the cost driver.</p>
1812
+ * <p>Values include: BUNDLED_DISCOUNT, CREDIT, OUT_OF_CYCLE_CHARGE, REFUND,
1813
+ * RECURRING_RESERVATION_FEE, RESERVATION_USAGE, RI_VOLUME_DISCOUNT, SAVINGS_PLAN_USAGE,
1814
+ * SAVINGS_PLAN_NEGATION, SAVINGS_PLAN_RECURRING_FEE, SUPPORT_FEE, TAX,
1815
+ * UPFRONT_RESERVATION_FEE, USAGE_CHANGE, COMMITMENT</p>
1816
+ * @public
1817
+ */
1818
+ Type?: string | undefined;
1819
+ /**
1820
+ * <p>The specific identifier of the cost driver.</p>
1821
+ * @public
1822
+ */
1823
+ Name?: string | undefined;
1824
+ /**
1825
+ * <p>A mapping of metric names to their comparison values, measuring the impact of this
1826
+ * cost driver.</p>
1827
+ * @public
1828
+ */
1829
+ Metrics?: Record<string, ComparisonMetricValue> | undefined;
1830
+ }
1774
1831
  /**
1775
1832
  * @public
1776
1833
  * @enum
@@ -5554,6 +5611,143 @@ export interface AnomalySubscription {
5554
5611
  */
5555
5612
  ThresholdExpression?: Expression | undefined;
5556
5613
  }
5614
+ /**
5615
+ * <p>Represents a comparison of cost and usage metrics between two time periods.</p>
5616
+ * @public
5617
+ */
5618
+ export interface CostAndUsageComparison {
5619
+ /**
5620
+ * <p>Use <code>Expression</code> to filter in various Cost Explorer APIs.</p>
5621
+ * <p>Not all <code>Expression</code> types are supported in each API. Refer to the
5622
+ * documentation for each specific API to see what is supported.</p>
5623
+ * <p>There are two patterns:</p>
5624
+ * <ul>
5625
+ * <li>
5626
+ * <p>Simple dimension values.</p>
5627
+ * <ul>
5628
+ * <li>
5629
+ * <p>There are three types of simple dimension values:
5630
+ * <code>CostCategories</code>, <code>Tags</code>, and
5631
+ * <code>Dimensions</code>.</p>
5632
+ * <ul>
5633
+ * <li>
5634
+ * <p>Specify the <code>CostCategories</code> field to define a
5635
+ * filter that acts on Cost Categories.</p>
5636
+ * </li>
5637
+ * <li>
5638
+ * <p>Specify the <code>Tags</code> field to define a filter that
5639
+ * acts on Cost Allocation Tags.</p>
5640
+ * </li>
5641
+ * <li>
5642
+ * <p>Specify the <code>Dimensions</code> field to define a filter
5643
+ * that acts on the <a href="https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_DimensionValues.html">
5644
+ * <code>DimensionValues</code>
5645
+ * </a>.</p>
5646
+ * </li>
5647
+ * </ul>
5648
+ * </li>
5649
+ * <li>
5650
+ * <p>For each filter type, you can set the dimension name and values for
5651
+ * the filters that you plan to use.</p>
5652
+ * <ul>
5653
+ * <li>
5654
+ * <p>For example, you can filter for <code>REGION==us-east-1 OR
5655
+ * REGION==us-west-1</code>. For
5656
+ * <code>GetRightsizingRecommendation</code>, the Region is a
5657
+ * full name (for example, <code>REGION==US East (N.
5658
+ * Virginia)</code>.</p>
5659
+ * </li>
5660
+ * <li>
5661
+ * <p>The corresponding <code>Expression</code> for this example is
5662
+ * as follows: <code>\{ "Dimensions": \{ "Key": "REGION", "Values": [
5663
+ * "us-east-1", "us-west-1" ] \} \}</code>
5664
+ * </p>
5665
+ * </li>
5666
+ * <li>
5667
+ * <p>As shown in the previous example, lists of dimension values
5668
+ * are combined with <code>OR</code> when applying the
5669
+ * filter.</p>
5670
+ * </li>
5671
+ * </ul>
5672
+ * </li>
5673
+ * <li>
5674
+ * <p>You can also set different match options to further control how the
5675
+ * filter behaves. Not all APIs support match options. Refer to the
5676
+ * documentation for each specific API to see what is supported.</p>
5677
+ * <ul>
5678
+ * <li>
5679
+ * <p>For example, you can filter for linked account names that
5680
+ * start with "a".</p>
5681
+ * </li>
5682
+ * <li>
5683
+ * <p>The corresponding <code>Expression</code> for this example is
5684
+ * as follows: <code>\{ "Dimensions": \{ "Key":
5685
+ * "LINKED_ACCOUNT_NAME", "MatchOptions": [ "STARTS_WITH" ],
5686
+ * "Values": [ "a" ] \} \}</code>
5687
+ * </p>
5688
+ * </li>
5689
+ * </ul>
5690
+ * </li>
5691
+ * </ul>
5692
+ * </li>
5693
+ * <li>
5694
+ * <p>Compound <code>Expression</code> types with logical operations.</p>
5695
+ * <ul>
5696
+ * <li>
5697
+ * <p>You can use multiple <code>Expression</code> types and the logical
5698
+ * operators <code>AND/OR/NOT</code> to create a list of one or more
5699
+ * <code>Expression</code> objects. By doing this, you can filter by
5700
+ * more advanced options.</p>
5701
+ * </li>
5702
+ * <li>
5703
+ * <p>For example, you can filter by <code>((REGION == us-east-1 OR REGION
5704
+ * == us-west-1) OR (TAG.Type == Type1)) AND (USAGE_TYPE !=
5705
+ * DataTransfer)</code>.</p>
5706
+ * </li>
5707
+ * <li>
5708
+ * <p>The corresponding <code>Expression</code> for this example is as
5709
+ * follows: <code>\{ "And": [ \{"Or": [ \{"Dimensions": \{ "Key": "REGION",
5710
+ * "Values": [ "us-east-1", "us-west-1" ] \}\}, \{"Tags": \{ "Key":
5711
+ * "TagName", "Values": ["Value1"] \} \} ]\}, \{"Not": \{"Dimensions": \{
5712
+ * "Key": "USAGE_TYPE", "Values": ["DataTransfer"] \}\}\} ] \}
5713
+ * </code>
5714
+ * </p>
5715
+ * </li>
5716
+ * </ul>
5717
+ * <note>
5718
+ * <p>Because each <code>Expression</code> can have only one operator, the
5719
+ * service returns an error if more than one is specified. The following
5720
+ * example shows an <code>Expression</code> object that creates an error:
5721
+ * <code> \{ "And": [ ... ], "Dimensions": \{ "Key": "USAGE_TYPE", "Values":
5722
+ * [ "DataTransfer" ] \} \} </code>
5723
+ * </p>
5724
+ * <p>The following is an example of the corresponding error message:
5725
+ * <code>"Expression has more than one roots. Only one root operator is
5726
+ * allowed for each expression: And, Or, Not, Dimensions, Tags,
5727
+ * CostCategories"</code>
5728
+ * </p>
5729
+ * </note>
5730
+ * </li>
5731
+ * </ul>
5732
+ * <note>
5733
+ * <p>For the <code>GetRightsizingRecommendation</code> action, a combination of OR and
5734
+ * NOT isn't supported. OR isn't supported between different dimensions, or dimensions
5735
+ * and tags. NOT operators aren't supported. Dimensions are also limited to
5736
+ * <code>LINKED_ACCOUNT</code>, <code>REGION</code>, or
5737
+ * <code>RIGHTSIZING_TYPE</code>.</p>
5738
+ * <p>For the <code>GetReservationPurchaseRecommendation</code> action, only NOT is
5739
+ * supported. AND and OR aren't supported. Dimensions are limited to
5740
+ * <code>LINKED_ACCOUNT</code>.</p>
5741
+ * </note>
5742
+ * @public
5743
+ */
5744
+ CostAndUsageSelector?: Expression | undefined;
5745
+ /**
5746
+ * <p>A mapping of metric names to their comparison values.</p>
5747
+ * @public
5748
+ */
5749
+ Metrics?: Record<string, ComparisonMetricValue> | undefined;
5750
+ }
5557
5751
  /**
5558
5752
  * <p>Rules are processed in order. If there are multiple rules that match the line item,
5559
5753
  * then the first rule to match is used to determine that Cost Category value.</p>
@@ -5601,102 +5795,426 @@ export interface CostCategoryRule {
5601
5795
  Type?: CostCategoryRuleType | undefined;
5602
5796
  }
5603
5797
  /**
5798
+ * <p>Represents a collection of cost drivers and their associated metrics for cost
5799
+ * comparison analysis.</p>
5604
5800
  * @public
5605
5801
  */
5606
- export interface GetCostAndUsageRequest {
5607
- /**
5608
- * <p>Sets the start date and end date for retrieving Amazon Web Services costs. The start
5609
- * date is inclusive, but the end date is exclusive. For example, if <code>start</code> is
5610
- * <code>2017-01-01</code> and <code>end</code> is <code>2017-05-01</code>, then the cost and
5611
- * usage data is retrieved from <code>2017-01-01</code> up to and including
5612
- * <code>2017-04-30</code> but not including <code>2017-05-01</code>.</p>
5613
- * @public
5614
- */
5615
- TimePeriod: DateInterval | undefined;
5616
- /**
5617
- * <p>Sets the Amazon Web Services cost granularity to <code>MONTHLY</code> or
5618
- * <code>DAILY</code>, or <code>HOURLY</code>. If <code>Granularity</code> isn't set, the
5619
- * response object doesn't include the <code>Granularity</code>, either <code>MONTHLY</code> or
5620
- * <code>DAILY</code>, or <code>HOURLY</code>. </p>
5621
- * @public
5622
- */
5623
- Granularity: Granularity | undefined;
5624
- /**
5625
- * <p>Filters Amazon Web Services costs by different dimensions. For example, you can specify
5626
- * <code>SERVICE</code> and <code>LINKED_ACCOUNT</code> and get the costs that are associated
5627
- * with that account's usage of that service. You can nest <code>Expression</code> objects to
5628
- * define any combination of dimension filters. For more information, see <a href="https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Expression.html">Expression</a>. </p>
5629
- * <p>Valid values for <code>MatchOptions</code> for <code>Dimensions</code> are
5630
- * <code>EQUALS</code> and <code>CASE_SENSITIVE</code>.</p>
5631
- * <p>Valid values for <code>MatchOptions</code> for <code>CostCategories</code> and
5632
- * <code>Tags</code> are <code>EQUALS</code>, <code>ABSENT</code>, and
5633
- * <code>CASE_SENSITIVE</code>. Default values are <code>EQUALS</code> and
5634
- * <code>CASE_SENSITIVE</code>.</p>
5635
- * @public
5636
- */
5637
- Filter?: Expression | undefined;
5638
- /**
5639
- * <p>Which metrics are returned in the query. For more information about blended and
5640
- * unblended rates, see <a href="http://aws.amazon.com/premiumsupport/knowledge-center/blended-rates-intro/">Why does the "blended" annotation
5641
- * appear on some line items in my bill?</a>. </p>
5642
- * <p>Valid values are <code>AmortizedCost</code>, <code>BlendedCost</code>,
5643
- * <code>NetAmortizedCost</code>, <code>NetUnblendedCost</code>,
5644
- * <code>NormalizedUsageAmount</code>, <code>UnblendedCost</code>, and
5645
- * <code>UsageQuantity</code>. </p>
5646
- * <note>
5647
- * <p>If you return the <code>UsageQuantity</code> metric, the service aggregates all usage
5648
- * numbers without taking into account the units. For example, if you aggregate
5649
- * <code>usageQuantity</code> across all of Amazon EC2, the results aren't meaningful because
5650
- * Amazon EC2 compute hours and data transfer are measured in different units (for example,
5651
- * hours and GB). To get more meaningful <code>UsageQuantity</code> metrics, filter by
5652
- * <code>UsageType</code> or <code>UsageTypeGroups</code>. </p>
5653
- * </note>
5654
- * <p>
5655
- * <code>Metrics</code> is required for <code>GetCostAndUsage</code> requests.</p>
5656
- * @public
5657
- */
5658
- Metrics: string[] | undefined;
5659
- /**
5660
- * <p>You can group Amazon Web Services costs using up to two different groups, either
5661
- * dimensions, tag keys, cost categories, or any two group by types.</p>
5662
- * <p>Valid values for the <code>DIMENSION</code> type are <code>AZ</code>,
5663
- * <code>INSTANCE_TYPE</code>, <code>LEGAL_ENTITY_NAME</code>, <code>INVOICING_ENTITY</code>,
5664
- * <code>LINKED_ACCOUNT</code>, <code>OPERATION</code>, <code>PLATFORM</code>,
5665
- * <code>PURCHASE_TYPE</code>, <code>SERVICE</code>, <code>TENANCY</code>,
5666
- * <code>RECORD_TYPE</code>, and <code>USAGE_TYPE</code>.</p>
5667
- * <p>When you group by the <code>TAG</code> type and include a valid tag key, you get all
5668
- * tag values, including empty strings.</p>
5669
- * @public
5670
- */
5671
- GroupBy?: GroupDefinition[] | undefined;
5672
- /**
5673
- * <p>The Amazon Resource Name (ARN) that uniquely identifies a specific billing view. The ARN
5674
- * is used to specify which particular billing view you want to interact with or retrieve
5675
- * information from when making API calls related to Amazon Web Services Billing and Cost
5676
- * Management features. The BillingViewArn can be retrieved by calling the ListBillingViews
5677
- * API.</p>
5678
- * @public
5679
- */
5680
- BillingViewArn?: string | undefined;
5681
- /**
5682
- * <p>The token to retrieve the next set of results. Amazon Web Services provides the token
5683
- * when the response from a previous call has more results than the maximum page size.</p>
5684
- * @public
5685
- */
5686
- NextPageToken?: string | undefined;
5687
- }
5688
- /**
5689
- * @public
5690
- */
5691
- export interface GetCostAndUsageWithResourcesRequest {
5802
+ export interface CostComparisonDriver {
5692
5803
  /**
5693
- * <p>Sets the start and end dates for retrieving Amazon Web Services costs. The range must
5694
- * be within the last 14 days (the start date cannot be earlier than 14 days ago). The start date
5695
- * is inclusive, but the end date is exclusive. For example, if <code>start</code> is
5696
- * <code>2017-01-01</code> and <code>end</code> is <code>2017-05-01</code>, then the cost and
5697
- * usage data is retrieved from <code>2017-01-01</code> up to and including
5698
- * <code>2017-04-30</code> but not including <code>2017-05-01</code>.</p>
5699
- * @public
5804
+ * <p>Use <code>Expression</code> to filter in various Cost Explorer APIs.</p>
5805
+ * <p>Not all <code>Expression</code> types are supported in each API. Refer to the
5806
+ * documentation for each specific API to see what is supported.</p>
5807
+ * <p>There are two patterns:</p>
5808
+ * <ul>
5809
+ * <li>
5810
+ * <p>Simple dimension values.</p>
5811
+ * <ul>
5812
+ * <li>
5813
+ * <p>There are three types of simple dimension values:
5814
+ * <code>CostCategories</code>, <code>Tags</code>, and
5815
+ * <code>Dimensions</code>.</p>
5816
+ * <ul>
5817
+ * <li>
5818
+ * <p>Specify the <code>CostCategories</code> field to define a
5819
+ * filter that acts on Cost Categories.</p>
5820
+ * </li>
5821
+ * <li>
5822
+ * <p>Specify the <code>Tags</code> field to define a filter that
5823
+ * acts on Cost Allocation Tags.</p>
5824
+ * </li>
5825
+ * <li>
5826
+ * <p>Specify the <code>Dimensions</code> field to define a filter
5827
+ * that acts on the <a href="https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_DimensionValues.html">
5828
+ * <code>DimensionValues</code>
5829
+ * </a>.</p>
5830
+ * </li>
5831
+ * </ul>
5832
+ * </li>
5833
+ * <li>
5834
+ * <p>For each filter type, you can set the dimension name and values for
5835
+ * the filters that you plan to use.</p>
5836
+ * <ul>
5837
+ * <li>
5838
+ * <p>For example, you can filter for <code>REGION==us-east-1 OR
5839
+ * REGION==us-west-1</code>. For
5840
+ * <code>GetRightsizingRecommendation</code>, the Region is a
5841
+ * full name (for example, <code>REGION==US East (N.
5842
+ * Virginia)</code>.</p>
5843
+ * </li>
5844
+ * <li>
5845
+ * <p>The corresponding <code>Expression</code> for this example is
5846
+ * as follows: <code>\{ "Dimensions": \{ "Key": "REGION", "Values": [
5847
+ * "us-east-1", "us-west-1" ] \} \}</code>
5848
+ * </p>
5849
+ * </li>
5850
+ * <li>
5851
+ * <p>As shown in the previous example, lists of dimension values
5852
+ * are combined with <code>OR</code> when applying the
5853
+ * filter.</p>
5854
+ * </li>
5855
+ * </ul>
5856
+ * </li>
5857
+ * <li>
5858
+ * <p>You can also set different match options to further control how the
5859
+ * filter behaves. Not all APIs support match options. Refer to the
5860
+ * documentation for each specific API to see what is supported.</p>
5861
+ * <ul>
5862
+ * <li>
5863
+ * <p>For example, you can filter for linked account names that
5864
+ * start with "a".</p>
5865
+ * </li>
5866
+ * <li>
5867
+ * <p>The corresponding <code>Expression</code> for this example is
5868
+ * as follows: <code>\{ "Dimensions": \{ "Key":
5869
+ * "LINKED_ACCOUNT_NAME", "MatchOptions": [ "STARTS_WITH" ],
5870
+ * "Values": [ "a" ] \} \}</code>
5871
+ * </p>
5872
+ * </li>
5873
+ * </ul>
5874
+ * </li>
5875
+ * </ul>
5876
+ * </li>
5877
+ * <li>
5878
+ * <p>Compound <code>Expression</code> types with logical operations.</p>
5879
+ * <ul>
5880
+ * <li>
5881
+ * <p>You can use multiple <code>Expression</code> types and the logical
5882
+ * operators <code>AND/OR/NOT</code> to create a list of one or more
5883
+ * <code>Expression</code> objects. By doing this, you can filter by
5884
+ * more advanced options.</p>
5885
+ * </li>
5886
+ * <li>
5887
+ * <p>For example, you can filter by <code>((REGION == us-east-1 OR REGION
5888
+ * == us-west-1) OR (TAG.Type == Type1)) AND (USAGE_TYPE !=
5889
+ * DataTransfer)</code>.</p>
5890
+ * </li>
5891
+ * <li>
5892
+ * <p>The corresponding <code>Expression</code> for this example is as
5893
+ * follows: <code>\{ "And": [ \{"Or": [ \{"Dimensions": \{ "Key": "REGION",
5894
+ * "Values": [ "us-east-1", "us-west-1" ] \}\}, \{"Tags": \{ "Key":
5895
+ * "TagName", "Values": ["Value1"] \} \} ]\}, \{"Not": \{"Dimensions": \{
5896
+ * "Key": "USAGE_TYPE", "Values": ["DataTransfer"] \}\}\} ] \}
5897
+ * </code>
5898
+ * </p>
5899
+ * </li>
5900
+ * </ul>
5901
+ * <note>
5902
+ * <p>Because each <code>Expression</code> can have only one operator, the
5903
+ * service returns an error if more than one is specified. The following
5904
+ * example shows an <code>Expression</code> object that creates an error:
5905
+ * <code> \{ "And": [ ... ], "Dimensions": \{ "Key": "USAGE_TYPE", "Values":
5906
+ * [ "DataTransfer" ] \} \} </code>
5907
+ * </p>
5908
+ * <p>The following is an example of the corresponding error message:
5909
+ * <code>"Expression has more than one roots. Only one root operator is
5910
+ * allowed for each expression: And, Or, Not, Dimensions, Tags,
5911
+ * CostCategories"</code>
5912
+ * </p>
5913
+ * </note>
5914
+ * </li>
5915
+ * </ul>
5916
+ * <note>
5917
+ * <p>For the <code>GetRightsizingRecommendation</code> action, a combination of OR and
5918
+ * NOT isn't supported. OR isn't supported between different dimensions, or dimensions
5919
+ * and tags. NOT operators aren't supported. Dimensions are also limited to
5920
+ * <code>LINKED_ACCOUNT</code>, <code>REGION</code>, or
5921
+ * <code>RIGHTSIZING_TYPE</code>.</p>
5922
+ * <p>For the <code>GetReservationPurchaseRecommendation</code> action, only NOT is
5923
+ * supported. AND and OR aren't supported. Dimensions are limited to
5924
+ * <code>LINKED_ACCOUNT</code>.</p>
5925
+ * </note>
5926
+ * @public
5927
+ */
5928
+ CostSelector?: Expression | undefined;
5929
+ /**
5930
+ * <p>A mapping of metric names to their comparison values.</p>
5931
+ * @public
5932
+ */
5933
+ Metrics?: Record<string, ComparisonMetricValue> | undefined;
5934
+ /**
5935
+ * <p>An array of cost drivers, each representing a cost difference between the baseline and
5936
+ * comparison time periods. Each entry also includes a metric delta (for example, usage
5937
+ * change) that contributed to the cost variance, along with the identifier and type of
5938
+ * change.</p>
5939
+ * @public
5940
+ */
5941
+ CostDrivers?: CostDriver[] | undefined;
5942
+ }
5943
+ /**
5944
+ * @public
5945
+ */
5946
+ export interface GetCostAndUsageComparisonsRequest {
5947
+ /**
5948
+ * <p>The Amazon Resource Name (ARN) that uniquely identifies a specific billing view. The ARN
5949
+ * is used to specify which particular billing view you want to interact with or retrieve
5950
+ * information from when making API calls related to Amazon Web Services Billing and Cost
5951
+ * Management features. The BillingViewArn can be retrieved by calling the ListBillingViews
5952
+ * API.</p>
5953
+ * @public
5954
+ */
5955
+ BillingViewArn?: string | undefined;
5956
+ /**
5957
+ * <p>The reference time period for comparison. This time period serves as the baseline against
5958
+ * which other cost and usage data will be compared. The interval must start and end on the first
5959
+ * day of a month, with a duration of exactly one month.</p>
5960
+ * @public
5961
+ */
5962
+ BaselineTimePeriod: DateInterval | undefined;
5963
+ /**
5964
+ * <p>The comparison time period for analysis. This time period's cost and usage data will be
5965
+ * compared against the baseline time period. The interval must start and end on the first day of
5966
+ * a month, with a duration of exactly one month.</p>
5967
+ * @public
5968
+ */
5969
+ ComparisonTimePeriod: DateInterval | undefined;
5970
+ /**
5971
+ * <p>The cost and usage metric to compare. Valid values are <code>AmortizedCost</code>,
5972
+ * <code>BlendedCost</code>, <code>NetAmortizedCost</code>, <code>NetUnblendedCost</code>,
5973
+ * <code>NormalizedUsageAmount</code>, <code>UnblendedCost</code>, and
5974
+ * <code>UsageQuantity</code>.</p>
5975
+ * @public
5976
+ */
5977
+ MetricForComparison: string | undefined;
5978
+ /**
5979
+ * <p>Use <code>Expression</code> to filter in various Cost Explorer APIs.</p>
5980
+ * <p>Not all <code>Expression</code> types are supported in each API. Refer to the
5981
+ * documentation for each specific API to see what is supported.</p>
5982
+ * <p>There are two patterns:</p>
5983
+ * <ul>
5984
+ * <li>
5985
+ * <p>Simple dimension values.</p>
5986
+ * <ul>
5987
+ * <li>
5988
+ * <p>There are three types of simple dimension values:
5989
+ * <code>CostCategories</code>, <code>Tags</code>, and
5990
+ * <code>Dimensions</code>.</p>
5991
+ * <ul>
5992
+ * <li>
5993
+ * <p>Specify the <code>CostCategories</code> field to define a
5994
+ * filter that acts on Cost Categories.</p>
5995
+ * </li>
5996
+ * <li>
5997
+ * <p>Specify the <code>Tags</code> field to define a filter that
5998
+ * acts on Cost Allocation Tags.</p>
5999
+ * </li>
6000
+ * <li>
6001
+ * <p>Specify the <code>Dimensions</code> field to define a filter
6002
+ * that acts on the <a href="https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_DimensionValues.html">
6003
+ * <code>DimensionValues</code>
6004
+ * </a>.</p>
6005
+ * </li>
6006
+ * </ul>
6007
+ * </li>
6008
+ * <li>
6009
+ * <p>For each filter type, you can set the dimension name and values for
6010
+ * the filters that you plan to use.</p>
6011
+ * <ul>
6012
+ * <li>
6013
+ * <p>For example, you can filter for <code>REGION==us-east-1 OR
6014
+ * REGION==us-west-1</code>. For
6015
+ * <code>GetRightsizingRecommendation</code>, the Region is a
6016
+ * full name (for example, <code>REGION==US East (N.
6017
+ * Virginia)</code>.</p>
6018
+ * </li>
6019
+ * <li>
6020
+ * <p>The corresponding <code>Expression</code> for this example is
6021
+ * as follows: <code>\{ "Dimensions": \{ "Key": "REGION", "Values": [
6022
+ * "us-east-1", "us-west-1" ] \} \}</code>
6023
+ * </p>
6024
+ * </li>
6025
+ * <li>
6026
+ * <p>As shown in the previous example, lists of dimension values
6027
+ * are combined with <code>OR</code> when applying the
6028
+ * filter.</p>
6029
+ * </li>
6030
+ * </ul>
6031
+ * </li>
6032
+ * <li>
6033
+ * <p>You can also set different match options to further control how the
6034
+ * filter behaves. Not all APIs support match options. Refer to the
6035
+ * documentation for each specific API to see what is supported.</p>
6036
+ * <ul>
6037
+ * <li>
6038
+ * <p>For example, you can filter for linked account names that
6039
+ * start with "a".</p>
6040
+ * </li>
6041
+ * <li>
6042
+ * <p>The corresponding <code>Expression</code> for this example is
6043
+ * as follows: <code>\{ "Dimensions": \{ "Key":
6044
+ * "LINKED_ACCOUNT_NAME", "MatchOptions": [ "STARTS_WITH" ],
6045
+ * "Values": [ "a" ] \} \}</code>
6046
+ * </p>
6047
+ * </li>
6048
+ * </ul>
6049
+ * </li>
6050
+ * </ul>
6051
+ * </li>
6052
+ * <li>
6053
+ * <p>Compound <code>Expression</code> types with logical operations.</p>
6054
+ * <ul>
6055
+ * <li>
6056
+ * <p>You can use multiple <code>Expression</code> types and the logical
6057
+ * operators <code>AND/OR/NOT</code> to create a list of one or more
6058
+ * <code>Expression</code> objects. By doing this, you can filter by
6059
+ * more advanced options.</p>
6060
+ * </li>
6061
+ * <li>
6062
+ * <p>For example, you can filter by <code>((REGION == us-east-1 OR REGION
6063
+ * == us-west-1) OR (TAG.Type == Type1)) AND (USAGE_TYPE !=
6064
+ * DataTransfer)</code>.</p>
6065
+ * </li>
6066
+ * <li>
6067
+ * <p>The corresponding <code>Expression</code> for this example is as
6068
+ * follows: <code>\{ "And": [ \{"Or": [ \{"Dimensions": \{ "Key": "REGION",
6069
+ * "Values": [ "us-east-1", "us-west-1" ] \}\}, \{"Tags": \{ "Key":
6070
+ * "TagName", "Values": ["Value1"] \} \} ]\}, \{"Not": \{"Dimensions": \{
6071
+ * "Key": "USAGE_TYPE", "Values": ["DataTransfer"] \}\}\} ] \}
6072
+ * </code>
6073
+ * </p>
6074
+ * </li>
6075
+ * </ul>
6076
+ * <note>
6077
+ * <p>Because each <code>Expression</code> can have only one operator, the
6078
+ * service returns an error if more than one is specified. The following
6079
+ * example shows an <code>Expression</code> object that creates an error:
6080
+ * <code> \{ "And": [ ... ], "Dimensions": \{ "Key": "USAGE_TYPE", "Values":
6081
+ * [ "DataTransfer" ] \} \} </code>
6082
+ * </p>
6083
+ * <p>The following is an example of the corresponding error message:
6084
+ * <code>"Expression has more than one roots. Only one root operator is
6085
+ * allowed for each expression: And, Or, Not, Dimensions, Tags,
6086
+ * CostCategories"</code>
6087
+ * </p>
6088
+ * </note>
6089
+ * </li>
6090
+ * </ul>
6091
+ * <note>
6092
+ * <p>For the <code>GetRightsizingRecommendation</code> action, a combination of OR and
6093
+ * NOT isn't supported. OR isn't supported between different dimensions, or dimensions
6094
+ * and tags. NOT operators aren't supported. Dimensions are also limited to
6095
+ * <code>LINKED_ACCOUNT</code>, <code>REGION</code>, or
6096
+ * <code>RIGHTSIZING_TYPE</code>.</p>
6097
+ * <p>For the <code>GetReservationPurchaseRecommendation</code> action, only NOT is
6098
+ * supported. AND and OR aren't supported. Dimensions are limited to
6099
+ * <code>LINKED_ACCOUNT</code>.</p>
6100
+ * </note>
6101
+ * @public
6102
+ */
6103
+ Filter?: Expression | undefined;
6104
+ /**
6105
+ * <p>You can group results using the attributes <code>DIMENSION</code>, <code>TAG</code>, and
6106
+ * <code>COST_CATEGORY</code>. </p>
6107
+ * @public
6108
+ */
6109
+ GroupBy?: GroupDefinition[] | undefined;
6110
+ /**
6111
+ * <p>The maximum number of results that are returned for the request.</p>
6112
+ * @public
6113
+ */
6114
+ MaxResults?: number | undefined;
6115
+ /**
6116
+ * <p>The token to retrieve the next set of paginated results.</p>
6117
+ * @public
6118
+ */
6119
+ NextPageToken?: string | undefined;
6120
+ }
6121
+ /**
6122
+ * @public
6123
+ */
6124
+ export interface GetCostAndUsageRequest {
6125
+ /**
6126
+ * <p>Sets the start date and end date for retrieving Amazon Web Services costs. The start
6127
+ * date is inclusive, but the end date is exclusive. For example, if <code>start</code> is
6128
+ * <code>2017-01-01</code> and <code>end</code> is <code>2017-05-01</code>, then the cost and
6129
+ * usage data is retrieved from <code>2017-01-01</code> up to and including
6130
+ * <code>2017-04-30</code> but not including <code>2017-05-01</code>.</p>
6131
+ * @public
6132
+ */
6133
+ TimePeriod: DateInterval | undefined;
6134
+ /**
6135
+ * <p>Sets the Amazon Web Services cost granularity to <code>MONTHLY</code> or
6136
+ * <code>DAILY</code>, or <code>HOURLY</code>. If <code>Granularity</code> isn't set, the
6137
+ * response object doesn't include the <code>Granularity</code>, either <code>MONTHLY</code> or
6138
+ * <code>DAILY</code>, or <code>HOURLY</code>. </p>
6139
+ * @public
6140
+ */
6141
+ Granularity: Granularity | undefined;
6142
+ /**
6143
+ * <p>Filters Amazon Web Services costs by different dimensions. For example, you can specify
6144
+ * <code>SERVICE</code> and <code>LINKED_ACCOUNT</code> and get the costs that are associated
6145
+ * with that account's usage of that service. You can nest <code>Expression</code> objects to
6146
+ * define any combination of dimension filters. For more information, see <a href="https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Expression.html">Expression</a>. </p>
6147
+ * <p>Valid values for <code>MatchOptions</code> for <code>Dimensions</code> are
6148
+ * <code>EQUALS</code> and <code>CASE_SENSITIVE</code>.</p>
6149
+ * <p>Valid values for <code>MatchOptions</code> for <code>CostCategories</code> and
6150
+ * <code>Tags</code> are <code>EQUALS</code>, <code>ABSENT</code>, and
6151
+ * <code>CASE_SENSITIVE</code>. Default values are <code>EQUALS</code> and
6152
+ * <code>CASE_SENSITIVE</code>.</p>
6153
+ * @public
6154
+ */
6155
+ Filter?: Expression | undefined;
6156
+ /**
6157
+ * <p>Which metrics are returned in the query. For more information about blended and
6158
+ * unblended rates, see <a href="http://aws.amazon.com/premiumsupport/knowledge-center/blended-rates-intro/">Why does the "blended" annotation
6159
+ * appear on some line items in my bill?</a>. </p>
6160
+ * <p>Valid values are <code>AmortizedCost</code>, <code>BlendedCost</code>,
6161
+ * <code>NetAmortizedCost</code>, <code>NetUnblendedCost</code>,
6162
+ * <code>NormalizedUsageAmount</code>, <code>UnblendedCost</code>, and
6163
+ * <code>UsageQuantity</code>. </p>
6164
+ * <note>
6165
+ * <p>If you return the <code>UsageQuantity</code> metric, the service aggregates all usage
6166
+ * numbers without taking into account the units. For example, if you aggregate
6167
+ * <code>usageQuantity</code> across all of Amazon EC2, the results aren't meaningful because
6168
+ * Amazon EC2 compute hours and data transfer are measured in different units (for example,
6169
+ * hours and GB). To get more meaningful <code>UsageQuantity</code> metrics, filter by
6170
+ * <code>UsageType</code> or <code>UsageTypeGroups</code>. </p>
6171
+ * </note>
6172
+ * <p>
6173
+ * <code>Metrics</code> is required for <code>GetCostAndUsage</code> requests.</p>
6174
+ * @public
6175
+ */
6176
+ Metrics: string[] | undefined;
6177
+ /**
6178
+ * <p>You can group Amazon Web Services costs using up to two different groups, either
6179
+ * dimensions, tag keys, cost categories, or any two group by types.</p>
6180
+ * <p>Valid values for the <code>DIMENSION</code> type are <code>AZ</code>,
6181
+ * <code>INSTANCE_TYPE</code>, <code>LEGAL_ENTITY_NAME</code>, <code>INVOICING_ENTITY</code>,
6182
+ * <code>LINKED_ACCOUNT</code>, <code>OPERATION</code>, <code>PLATFORM</code>,
6183
+ * <code>PURCHASE_TYPE</code>, <code>SERVICE</code>, <code>TENANCY</code>,
6184
+ * <code>RECORD_TYPE</code>, and <code>USAGE_TYPE</code>.</p>
6185
+ * <p>When you group by the <code>TAG</code> type and include a valid tag key, you get all
6186
+ * tag values, including empty strings.</p>
6187
+ * @public
6188
+ */
6189
+ GroupBy?: GroupDefinition[] | undefined;
6190
+ /**
6191
+ * <p>The Amazon Resource Name (ARN) that uniquely identifies a specific billing view. The ARN
6192
+ * is used to specify which particular billing view you want to interact with or retrieve
6193
+ * information from when making API calls related to Amazon Web Services Billing and Cost
6194
+ * Management features. The BillingViewArn can be retrieved by calling the ListBillingViews
6195
+ * API.</p>
6196
+ * @public
6197
+ */
6198
+ BillingViewArn?: string | undefined;
6199
+ /**
6200
+ * <p>The token to retrieve the next set of results. Amazon Web Services provides the token
6201
+ * when the response from a previous call has more results than the maximum page size.</p>
6202
+ * @public
6203
+ */
6204
+ NextPageToken?: string | undefined;
6205
+ }
6206
+ /**
6207
+ * @public
6208
+ */
6209
+ export interface GetCostAndUsageWithResourcesRequest {
6210
+ /**
6211
+ * <p>Sets the start and end dates for retrieving Amazon Web Services costs. The range must
6212
+ * be within the last 14 days (the start date cannot be earlier than 14 days ago). The start date
6213
+ * is inclusive, but the end date is exclusive. For example, if <code>start</code> is
6214
+ * <code>2017-01-01</code> and <code>end</code> is <code>2017-05-01</code>, then the cost and
6215
+ * usage data is retrieved from <code>2017-01-01</code> up to and including
6216
+ * <code>2017-04-30</code> but not including <code>2017-05-01</code>.</p>
6217
+ * @public
5700
6218
  */
5701
6219
  TimePeriod: DateInterval | undefined;
5702
6220
  /**
@@ -5987,6 +6505,185 @@ export interface GetCostCategoriesRequest {
5987
6505
  */
5988
6506
  NextPageToken?: string | undefined;
5989
6507
  }
6508
+ /**
6509
+ * @public
6510
+ */
6511
+ export interface GetCostComparisonDriversRequest {
6512
+ /**
6513
+ * <p>The Amazon Resource Name (ARN) that uniquely identifies a specific billing view. The ARN
6514
+ * is used to specify which particular billing view you want to interact with or retrieve
6515
+ * information from when making API calls related to Amazon Web Services Billing and Cost
6516
+ * Management features. The BillingViewArn can be retrieved by calling the ListBillingViews
6517
+ * API.</p>
6518
+ * @public
6519
+ */
6520
+ BillingViewArn?: string | undefined;
6521
+ /**
6522
+ * <p>The reference time period for comparison. This time period serves as the baseline against
6523
+ * which other cost and usage data will be compared. The interval must start and end on the first
6524
+ * day of a month, with a duration of exactly one month.</p>
6525
+ * @public
6526
+ */
6527
+ BaselineTimePeriod: DateInterval | undefined;
6528
+ /**
6529
+ * <p>The comparison time period for analysis. This time period's cost and usage data will be
6530
+ * compared against the baseline time period. The interval must start and end on the first day of
6531
+ * a month, with a duration of exactly one month.</p>
6532
+ * @public
6533
+ */
6534
+ ComparisonTimePeriod: DateInterval | undefined;
6535
+ /**
6536
+ * <p>The cost and usage metric to compare. Valid values are <code>AmortizedCost</code>,
6537
+ * <code>BlendedCost</code>, <code>NetAmortizedCost</code>, <code>NetUnblendedCost</code>,
6538
+ * <code>NormalizedUsageAmount</code>, <code>UnblendedCost</code>, and
6539
+ * <code>UsageQuantity</code>.</p>
6540
+ * @public
6541
+ */
6542
+ MetricForComparison: string | undefined;
6543
+ /**
6544
+ * <p>Use <code>Expression</code> to filter in various Cost Explorer APIs.</p>
6545
+ * <p>Not all <code>Expression</code> types are supported in each API. Refer to the
6546
+ * documentation for each specific API to see what is supported.</p>
6547
+ * <p>There are two patterns:</p>
6548
+ * <ul>
6549
+ * <li>
6550
+ * <p>Simple dimension values.</p>
6551
+ * <ul>
6552
+ * <li>
6553
+ * <p>There are three types of simple dimension values:
6554
+ * <code>CostCategories</code>, <code>Tags</code>, and
6555
+ * <code>Dimensions</code>.</p>
6556
+ * <ul>
6557
+ * <li>
6558
+ * <p>Specify the <code>CostCategories</code> field to define a
6559
+ * filter that acts on Cost Categories.</p>
6560
+ * </li>
6561
+ * <li>
6562
+ * <p>Specify the <code>Tags</code> field to define a filter that
6563
+ * acts on Cost Allocation Tags.</p>
6564
+ * </li>
6565
+ * <li>
6566
+ * <p>Specify the <code>Dimensions</code> field to define a filter
6567
+ * that acts on the <a href="https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_DimensionValues.html">
6568
+ * <code>DimensionValues</code>
6569
+ * </a>.</p>
6570
+ * </li>
6571
+ * </ul>
6572
+ * </li>
6573
+ * <li>
6574
+ * <p>For each filter type, you can set the dimension name and values for
6575
+ * the filters that you plan to use.</p>
6576
+ * <ul>
6577
+ * <li>
6578
+ * <p>For example, you can filter for <code>REGION==us-east-1 OR
6579
+ * REGION==us-west-1</code>. For
6580
+ * <code>GetRightsizingRecommendation</code>, the Region is a
6581
+ * full name (for example, <code>REGION==US East (N.
6582
+ * Virginia)</code>.</p>
6583
+ * </li>
6584
+ * <li>
6585
+ * <p>The corresponding <code>Expression</code> for this example is
6586
+ * as follows: <code>\{ "Dimensions": \{ "Key": "REGION", "Values": [
6587
+ * "us-east-1", "us-west-1" ] \} \}</code>
6588
+ * </p>
6589
+ * </li>
6590
+ * <li>
6591
+ * <p>As shown in the previous example, lists of dimension values
6592
+ * are combined with <code>OR</code> when applying the
6593
+ * filter.</p>
6594
+ * </li>
6595
+ * </ul>
6596
+ * </li>
6597
+ * <li>
6598
+ * <p>You can also set different match options to further control how the
6599
+ * filter behaves. Not all APIs support match options. Refer to the
6600
+ * documentation for each specific API to see what is supported.</p>
6601
+ * <ul>
6602
+ * <li>
6603
+ * <p>For example, you can filter for linked account names that
6604
+ * start with "a".</p>
6605
+ * </li>
6606
+ * <li>
6607
+ * <p>The corresponding <code>Expression</code> for this example is
6608
+ * as follows: <code>\{ "Dimensions": \{ "Key":
6609
+ * "LINKED_ACCOUNT_NAME", "MatchOptions": [ "STARTS_WITH" ],
6610
+ * "Values": [ "a" ] \} \}</code>
6611
+ * </p>
6612
+ * </li>
6613
+ * </ul>
6614
+ * </li>
6615
+ * </ul>
6616
+ * </li>
6617
+ * <li>
6618
+ * <p>Compound <code>Expression</code> types with logical operations.</p>
6619
+ * <ul>
6620
+ * <li>
6621
+ * <p>You can use multiple <code>Expression</code> types and the logical
6622
+ * operators <code>AND/OR/NOT</code> to create a list of one or more
6623
+ * <code>Expression</code> objects. By doing this, you can filter by
6624
+ * more advanced options.</p>
6625
+ * </li>
6626
+ * <li>
6627
+ * <p>For example, you can filter by <code>((REGION == us-east-1 OR REGION
6628
+ * == us-west-1) OR (TAG.Type == Type1)) AND (USAGE_TYPE !=
6629
+ * DataTransfer)</code>.</p>
6630
+ * </li>
6631
+ * <li>
6632
+ * <p>The corresponding <code>Expression</code> for this example is as
6633
+ * follows: <code>\{ "And": [ \{"Or": [ \{"Dimensions": \{ "Key": "REGION",
6634
+ * "Values": [ "us-east-1", "us-west-1" ] \}\}, \{"Tags": \{ "Key":
6635
+ * "TagName", "Values": ["Value1"] \} \} ]\}, \{"Not": \{"Dimensions": \{
6636
+ * "Key": "USAGE_TYPE", "Values": ["DataTransfer"] \}\}\} ] \}
6637
+ * </code>
6638
+ * </p>
6639
+ * </li>
6640
+ * </ul>
6641
+ * <note>
6642
+ * <p>Because each <code>Expression</code> can have only one operator, the
6643
+ * service returns an error if more than one is specified. The following
6644
+ * example shows an <code>Expression</code> object that creates an error:
6645
+ * <code> \{ "And": [ ... ], "Dimensions": \{ "Key": "USAGE_TYPE", "Values":
6646
+ * [ "DataTransfer" ] \} \} </code>
6647
+ * </p>
6648
+ * <p>The following is an example of the corresponding error message:
6649
+ * <code>"Expression has more than one roots. Only one root operator is
6650
+ * allowed for each expression: And, Or, Not, Dimensions, Tags,
6651
+ * CostCategories"</code>
6652
+ * </p>
6653
+ * </note>
6654
+ * </li>
6655
+ * </ul>
6656
+ * <note>
6657
+ * <p>For the <code>GetRightsizingRecommendation</code> action, a combination of OR and
6658
+ * NOT isn't supported. OR isn't supported between different dimensions, or dimensions
6659
+ * and tags. NOT operators aren't supported. Dimensions are also limited to
6660
+ * <code>LINKED_ACCOUNT</code>, <code>REGION</code>, or
6661
+ * <code>RIGHTSIZING_TYPE</code>.</p>
6662
+ * <p>For the <code>GetReservationPurchaseRecommendation</code> action, only NOT is
6663
+ * supported. AND and OR aren't supported. Dimensions are limited to
6664
+ * <code>LINKED_ACCOUNT</code>.</p>
6665
+ * </note>
6666
+ * @public
6667
+ */
6668
+ Filter?: Expression | undefined;
6669
+ /**
6670
+ * <p>You can group results using the attributes <code>DIMENSION</code>, <code>TAG</code>, and
6671
+ * <code>COST_CATEGORY</code>. Note that <code>SERVICE</code> and <code>USAGE_TYPE</code>
6672
+ * dimensions are automatically included in the cost comparison drivers analysis.</p>
6673
+ * @public
6674
+ */
6675
+ GroupBy?: GroupDefinition[] | undefined;
6676
+ /**
6677
+ * <p>The maximum number of results that are returned for the request.</p>
6678
+ * @public
6679
+ */
6680
+ MaxResults?: number | undefined;
6681
+ /**
6682
+ * <p>The token to retrieve the next set of paginated results.</p>
6683
+ * @public
6684
+ */
6685
+ NextPageToken?: string | undefined;
6686
+ }
5990
6687
  /**
5991
6688
  * @public
5992
6689
  */
@@ -8429,6 +9126,46 @@ export interface GetAnomalySubscriptionsResponse {
8429
9126
  */
8430
9127
  NextPageToken?: string | undefined;
8431
9128
  }
9129
+ /**
9130
+ * @public
9131
+ */
9132
+ export interface GetCostAndUsageComparisonsResponse {
9133
+ /**
9134
+ * <p>An array of comparison results showing cost and usage metrics between
9135
+ * <code>BaselineTimePeriod</code> and <code>ComparisonTimePeriod</code>.</p>
9136
+ * @public
9137
+ */
9138
+ CostAndUsageComparisons?: CostAndUsageComparison[] | undefined;
9139
+ /**
9140
+ * <p>A summary of the total cost and usage, comparing amounts between
9141
+ * <code>BaselineTimePeriod</code> and <code>ComparisonTimePeriod</code> and their differences.
9142
+ * This total represents the aggregate total across all paginated results, if the response spans
9143
+ * multiple pages.</p>
9144
+ * @public
9145
+ */
9146
+ TotalCostAndUsage?: Record<string, ComparisonMetricValue> | undefined;
9147
+ /**
9148
+ * <p>The token to retrieve the next set of paginated results.</p>
9149
+ * @public
9150
+ */
9151
+ NextPageToken?: string | undefined;
9152
+ }
9153
+ /**
9154
+ * @public
9155
+ */
9156
+ export interface GetCostComparisonDriversResponse {
9157
+ /**
9158
+ * <p>An array of comparison results showing factors that drive significant cost differences
9159
+ * between <code>BaselineTimePeriod</code> and <code>ComparisonTimePeriod</code>.</p>
9160
+ * @public
9161
+ */
9162
+ CostComparisonDrivers?: CostComparisonDriver[] | undefined;
9163
+ /**
9164
+ * <p>The token to retrieve the next set of paginated results.</p>
9165
+ * @public
9166
+ */
9167
+ NextPageToken?: string | undefined;
9168
+ }
8432
9169
  /**
8433
9170
  * @public
8434
9171
  */