/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Use Not all There are
* two patterns: Simple dimension values. There
* are three types of simple dimension values: Specify the
* Specify the Specify the
* For each filter
* type, you can set the dimension name and values for the filters that you plan to
* use. For example, you can filter for The corresponding As shown in
* the previous example, lists of dimension values are combined with
* You can
* also set different match options to further control how the filter behaves. Not
* all APIs support match options. Refer to the documentation for each specific API
* to see what is supported. For example, you can filter for
* linked account names that start with "a". The corresponding
* Compound
* You can
* use multiple For example, you can filter by The corresponding Because each The following is an example of
* the corresponding error message: For the
* For the
* Expression
to filter in various Cost Explorer APIs.Expression
types are supported in each API. Refer to the
* documentation for each specific API to see what is supported.
CostCategories
,
* Tags
, and Dimensions
.
CostCategories
field to define a filter that acts on Cost
* Categories.Tags
field to define a
* filter that acts on Cost Allocation Tags.Dimensions
field to define a filter that acts on the
* DimensionValues
.
REGION==us-east-1 OR
* REGION==us-west-1
. For GetRightsizingRecommendation
, the
* Region is a full name (for example, REGION==US East (N.
* Virginia)
.Expression
* for this example is as follows: { "Dimensions": { "Key": "REGION",
* "Values": [ "us-east-1", "us-west-1" ] } }
OR
when applying the filter.
Expression
for this example is as follows: { "Dimensions": {
* "Key": "LINKED_ACCOUNT_NAME", "MatchOptions": [ "STARTS_WITH" ], "Values": [ "a"
* ] } }
Expression
types with logical operations.
Expression
types and the logical operators
* AND/OR/NOT
to create a list of one or more Expression
* objects. By doing this, you can filter by more advanced options.((REGION == us-east-1 OR REGION ==
* us-west-1) OR (TAG.Type == Type1)) AND (USAGE_TYPE != DataTransfer)
.Expression
for this example is as
* follows: { "And": [ {"Or": [ {"Dimensions": { "Key": "REGION", "Values": [
* "us-east-1", "us-west-1" ] }}, {"Tags": { "Key": "TagName", "Values": ["Value1"]
* } } ]}, {"Not": {"Dimensions": { "Key": "USAGE_TYPE", "Values": ["DataTransfer"]
* }}} ] }
Expression
* can have only one operator, the service returns an error if more than one is
* specified. The following example shows an Expression
object that
* creates an error: { "And": [ ... ], "Dimensions": { "Key": "USAGE_TYPE",
* "Values": [ "DataTransfer" ] } }
"Expression has more than one roots. Only
* one root operator is allowed for each expression: And, Or, Not, Dimensions,
* Tags, CostCategories"
GetRightsizingRecommendation
action, a combination of OR and NOT
* isn't supported. OR isn't supported between different dimensions, or dimensions
* and tags. NOT operators aren't supported. Dimensions are also limited to
* LINKED_ACCOUNT
, REGION
, or
* RIGHTSIZING_TYPE
.GetReservationPurchaseRecommendation
action, only NOT is supported.
* AND and OR aren't supported. Dimensions are limited to
* LINKED_ACCOUNT
.See Also:
AWS API
* Reference
Return results that match either Dimension
object.
Return results that match either Dimension
object.
Return results that match either Dimension
object.
Return results that match either Dimension
object.
Return results that match either Dimension
object.
Return results that match either Dimension
object.
Return results that match either Dimension
object.
Return results that match either Dimension
object.
Return results that match both Dimension
objects.
Return results that match both Dimension
objects.
Return results that match both Dimension
objects.
Return results that match both Dimension
objects.
Return results that match both Dimension
objects.
Return results that match both Dimension
objects.
Return results that match both Dimension
objects.
Return results that match both Dimension
objects.
Return results that don't match a Dimension
object.
Return results that don't match a Dimension
object.
Return results that don't match a Dimension
object.
Return results that don't match a Dimension
object.
Return results that don't match a Dimension
object.
Return results that don't match a Dimension
object.
The specific Dimension
to use for Expression
.
The specific Dimension
to use for Expression
.
The specific Dimension
to use for Expression
.
The specific Dimension
to use for Expression
.
The specific Dimension
to use for Expression
.
The specific Dimension
to use for Expression
.
The specific Tag
to use for Expression
.
The specific Tag
to use for Expression
.
The specific Tag
to use for Expression
.
The specific Tag
to use for Expression
.
The specific Tag
to use for Expression
.
The specific Tag
to use for Expression
.
The filter that's based on CostCategory
values.
The filter that's based on CostCategory
values.
The filter that's based on CostCategory
values.
The filter that's based on CostCategory
values.
The filter that's based on CostCategory
values.
The filter that's based on CostCategory
values.