/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include Rules are processed in order. If there are multiple rules that match the line
* item, then the first rule to match is used to determine that Cost Category
* value.See Also:
AWS
* API Reference
An Expression
* object used to categorize costs. This supports dimensions, tags, and nested
* expressions. Currently the only dimensions supported are
* LINKED_ACCOUNT
, SERVICE_CODE
,
* RECORD_TYPE
, LINKED_ACCOUNT_NAME
, REGION
,
* and USAGE_TYPE
.
RECORD_TYPE
is a dimension
* used for Cost Explorer APIs, and is also supported for Cost Category
* expressions. This dimension uses different terms, depending on whether you're
* using the console or API/JSON editor. For a detailed comparison, see Term
* Comparisons in the Billing and Cost Management User Guide.
An Expression
* object used to categorize costs. This supports dimensions, tags, and nested
* expressions. Currently the only dimensions supported are
* LINKED_ACCOUNT
, SERVICE_CODE
,
* RECORD_TYPE
, LINKED_ACCOUNT_NAME
, REGION
,
* and USAGE_TYPE
.
RECORD_TYPE
is a dimension
* used for Cost Explorer APIs, and is also supported for Cost Category
* expressions. This dimension uses different terms, depending on whether you're
* using the console or API/JSON editor. For a detailed comparison, see Term
* Comparisons in the Billing and Cost Management User Guide.
An Expression
* object used to categorize costs. This supports dimensions, tags, and nested
* expressions. Currently the only dimensions supported are
* LINKED_ACCOUNT
, SERVICE_CODE
,
* RECORD_TYPE
, LINKED_ACCOUNT_NAME
, REGION
,
* and USAGE_TYPE
.
RECORD_TYPE
is a dimension
* used for Cost Explorer APIs, and is also supported for Cost Category
* expressions. This dimension uses different terms, depending on whether you're
* using the console or API/JSON editor. For a detailed comparison, see Term
* Comparisons in the Billing and Cost Management User Guide.
An Expression
* object used to categorize costs. This supports dimensions, tags, and nested
* expressions. Currently the only dimensions supported are
* LINKED_ACCOUNT
, SERVICE_CODE
,
* RECORD_TYPE
, LINKED_ACCOUNT_NAME
, REGION
,
* and USAGE_TYPE
.
RECORD_TYPE
is a dimension
* used for Cost Explorer APIs, and is also supported for Cost Category
* expressions. This dimension uses different terms, depending on whether you're
* using the console or API/JSON editor. For a detailed comparison, see Term
* Comparisons in the Billing and Cost Management User Guide.
An Expression
* object used to categorize costs. This supports dimensions, tags, and nested
* expressions. Currently the only dimensions supported are
* LINKED_ACCOUNT
, SERVICE_CODE
,
* RECORD_TYPE
, LINKED_ACCOUNT_NAME
, REGION
,
* and USAGE_TYPE
.
RECORD_TYPE
is a dimension
* used for Cost Explorer APIs, and is also supported for Cost Category
* expressions. This dimension uses different terms, depending on whether you're
* using the console or API/JSON editor. For a detailed comparison, see Term
* Comparisons in the Billing and Cost Management User Guide.
An Expression
* object used to categorize costs. This supports dimensions, tags, and nested
* expressions. Currently the only dimensions supported are
* LINKED_ACCOUNT
, SERVICE_CODE
,
* RECORD_TYPE
, LINKED_ACCOUNT_NAME
, REGION
,
* and USAGE_TYPE
.
RECORD_TYPE
is a dimension
* used for Cost Explorer APIs, and is also supported for Cost Category
* expressions. This dimension uses different terms, depending on whether you're
* using the console or API/JSON editor. For a detailed comparison, see Term
* Comparisons in the Billing and Cost Management User Guide.
The value the line item is categorized as if the line item contains the * matched dimension.
*/ inline const CostCategoryInheritedValueDimension& GetInheritedValue() const{ return m_inheritedValue; } /** *The value the line item is categorized as if the line item contains the * matched dimension.
*/ inline bool InheritedValueHasBeenSet() const { return m_inheritedValueHasBeenSet; } /** *The value the line item is categorized as if the line item contains the * matched dimension.
*/ inline void SetInheritedValue(const CostCategoryInheritedValueDimension& value) { m_inheritedValueHasBeenSet = true; m_inheritedValue = value; } /** *The value the line item is categorized as if the line item contains the * matched dimension.
*/ inline void SetInheritedValue(CostCategoryInheritedValueDimension&& value) { m_inheritedValueHasBeenSet = true; m_inheritedValue = std::move(value); } /** *The value the line item is categorized as if the line item contains the * matched dimension.
*/ inline CostCategoryRule& WithInheritedValue(const CostCategoryInheritedValueDimension& value) { SetInheritedValue(value); return *this;} /** *The value the line item is categorized as if the line item contains the * matched dimension.
*/ inline CostCategoryRule& WithInheritedValue(CostCategoryInheritedValueDimension&& value) { SetInheritedValue(std::move(value)); return *this;} /** *You can define the CostCategoryRule
rule type as either
* REGULAR
or INHERITED_VALUE
. The
* INHERITED_VALUE
rule type adds the flexibility to define a rule
* that dynamically inherits the cost category value. This value is from the
* dimension value that's defined by
* CostCategoryInheritedValueDimension
. For example, suppose that you
* want to costs to be dynamically grouped based on the value of a specific tag
* key. First, choose an inherited value rule type, and then choose the tag
* dimension and specify the tag key to use.
You can define the CostCategoryRule
rule type as either
* REGULAR
or INHERITED_VALUE
. The
* INHERITED_VALUE
rule type adds the flexibility to define a rule
* that dynamically inherits the cost category value. This value is from the
* dimension value that's defined by
* CostCategoryInheritedValueDimension
. For example, suppose that you
* want to costs to be dynamically grouped based on the value of a specific tag
* key. First, choose an inherited value rule type, and then choose the tag
* dimension and specify the tag key to use.
You can define the CostCategoryRule
rule type as either
* REGULAR
or INHERITED_VALUE
. The
* INHERITED_VALUE
rule type adds the flexibility to define a rule
* that dynamically inherits the cost category value. This value is from the
* dimension value that's defined by
* CostCategoryInheritedValueDimension
. For example, suppose that you
* want to costs to be dynamically grouped based on the value of a specific tag
* key. First, choose an inherited value rule type, and then choose the tag
* dimension and specify the tag key to use.
You can define the CostCategoryRule
rule type as either
* REGULAR
or INHERITED_VALUE
. The
* INHERITED_VALUE
rule type adds the flexibility to define a rule
* that dynamically inherits the cost category value. This value is from the
* dimension value that's defined by
* CostCategoryInheritedValueDimension
. For example, suppose that you
* want to costs to be dynamically grouped based on the value of a specific tag
* key. First, choose an inherited value rule type, and then choose the tag
* dimension and specify the tag key to use.
You can define the CostCategoryRule
rule type as either
* REGULAR
or INHERITED_VALUE
. The
* INHERITED_VALUE
rule type adds the flexibility to define a rule
* that dynamically inherits the cost category value. This value is from the
* dimension value that's defined by
* CostCategoryInheritedValueDimension
. For example, suppose that you
* want to costs to be dynamically grouped based on the value of a specific tag
* key. First, choose an inherited value rule type, and then choose the tag
* dimension and specify the tag key to use.
You can define the CostCategoryRule
rule type as either
* REGULAR
or INHERITED_VALUE
. The
* INHERITED_VALUE
rule type adds the flexibility to define a rule
* that dynamically inherits the cost category value. This value is from the
* dimension value that's defined by
* CostCategoryInheritedValueDimension
. For example, suppose that you
* want to costs to be dynamically grouped based on the value of a specific tag
* key. First, choose an inherited value rule type, and then choose the tag
* dimension and specify the tag key to use.