@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.
- package/README.md +16 -0
- package/dist-cjs/index.js +148 -0
- package/dist-es/CostExplorer.js +4 -0
- package/dist-es/commands/GetCostAndUsageComparisonsCommand.js +22 -0
- package/dist-es/commands/GetCostComparisonDriversCommand.js +22 -0
- package/dist-es/commands/index.js +2 -0
- package/dist-es/pagination/GetCostAndUsageComparisonsPaginator.js +4 -0
- package/dist-es/pagination/GetCostComparisonDriversPaginator.js +4 -0
- package/dist-es/pagination/index.js +2 -0
- package/dist-es/protocols/Aws_json1_1.js +104 -0
- package/dist-types/CostExplorer.d.ts +14 -0
- package/dist-types/CostExplorerClient.d.ts +4 -2
- package/dist-types/commands/GetCostAndUsageComparisonsCommand.d.ts +257 -0
- package/dist-types/commands/GetCostComparisonDriversCommand.d.ts +263 -0
- package/dist-types/commands/index.d.ts +2 -0
- package/dist-types/models/models_0.d.ts +830 -93
- package/dist-types/pagination/GetCostAndUsageComparisonsPaginator.d.ts +7 -0
- package/dist-types/pagination/GetCostComparisonDriversPaginator.d.ts +7 -0
- package/dist-types/pagination/index.d.ts +2 -0
- package/dist-types/protocols/Aws_json1_1.d.ts +18 -0
- package/dist-types/ts3.4/CostExplorer.d.ts +34 -0
- package/dist-types/ts3.4/CostExplorerClient.d.ts +12 -0
- package/dist-types/ts3.4/commands/GetCostAndUsageComparisonsCommand.d.ts +51 -0
- package/dist-types/ts3.4/commands/GetCostComparisonDriversCommand.d.ts +51 -0
- package/dist-types/ts3.4/commands/index.d.ts +2 -0
- package/dist-types/ts3.4/models/models_0.d.ts +49 -0
- package/dist-types/ts3.4/pagination/GetCostAndUsageComparisonsPaginator.d.ts +11 -0
- package/dist-types/ts3.4/pagination/GetCostComparisonDriversPaginator.d.ts +11 -0
- package/dist-types/ts3.4/pagination/index.d.ts +2 -0
- package/dist-types/ts3.4/protocols/Aws_json1_1.d.ts +24 -0
- 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
|
|
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>
|
|
5694
|
-
*
|
|
5695
|
-
*
|
|
5696
|
-
*
|
|
5697
|
-
*
|
|
5698
|
-
*
|
|
5699
|
-
*
|
|
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
|
*/
|