/*
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
/*
* Do not modify this file. This file is generated from the ce-2017-10-25.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.CostExplorer.Model
{
///
/// 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.
///
public partial class CostCategoryRule
{
private CostCategoryInheritedValueDimension _inheritedValue;
private Expression _rule;
private CostCategoryRuleType _type;
private string _value;
///
/// Gets and sets the property InheritedValue.
///
/// The value the line item is categorized as if the line item contains the matched dimension.
///
///
public CostCategoryInheritedValueDimension InheritedValue
{
get { return this._inheritedValue; }
set { this._inheritedValue = value; }
}
// Check to see if InheritedValue property is set
internal bool IsSetInheritedValue()
{
return this._inheritedValue != null;
}
///
/// Gets and sets the property Rule.
///
/// 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.
///
///
public Expression Rule
{
get { return this._rule; }
set { this._rule = value; }
}
// Check to see if Rule property is set
internal bool IsSetRule()
{
return this._rule != null;
}
///
/// Gets and sets the property Type.
///
/// 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.
///
///
public CostCategoryRuleType Type
{
get { return this._type; }
set { this._type = value; }
}
// Check to see if Type property is set
internal bool IsSetType()
{
return this._type != null;
}
///
/// Gets and sets the property Value.
///
[AWSProperty(Min=1, Max=50)]
public string Value
{
get { return this._value; }
set { this._value = value; }
}
// Check to see if Value property is set
internal bool IsSetValue()
{
return this._value != null;
}
}
}