/**
* 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.