/* * 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 { /// /// Use Expression to filter in various Cost Explorer APIs. /// /// /// /// Not all Expression types are supported in each API. Refer to the documentation /// for each specific API to see what is supported. /// /// /// /// There are two patterns: /// /// /// /// For the 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. /// /// /// /// For the GetReservationPurchaseRecommendation action, only NOT is supported. /// AND and OR aren't supported. Dimensions are limited to LINKED_ACCOUNT. /// /// /// public partial class Expression { private List _and = new List(); private CostCategoryValues _costCategories; private DimensionValues _dimensions; private Expression _not; private List _or = new List(); private TagValues _tags; /// /// Gets and sets the property And. /// /// Return results that match both Dimension objects. /// /// public List And { get { return this._and; } set { this._and = value; } } // Check to see if And property is set internal bool IsSetAnd() { return this._and != null && this._and.Count > 0; } /// /// Gets and sets the property CostCategories. /// /// The filter that's based on CostCategory values. /// /// public CostCategoryValues CostCategories { get { return this._costCategories; } set { this._costCategories = value; } } // Check to see if CostCategories property is set internal bool IsSetCostCategories() { return this._costCategories != null; } /// /// Gets and sets the property Dimensions. /// /// The specific Dimension to use for Expression. /// /// public DimensionValues Dimensions { get { return this._dimensions; } set { this._dimensions = value; } } // Check to see if Dimensions property is set internal bool IsSetDimensions() { return this._dimensions != null; } /// /// Gets and sets the property Not. /// /// Return results that don't match a Dimension object. /// /// public Expression Not { get { return this._not; } set { this._not = value; } } // Check to see if Not property is set internal bool IsSetNot() { return this._not != null; } /// /// Gets and sets the property Or. /// /// Return results that match either Dimension object. /// /// public List Or { get { return this._or; } set { this._or = value; } } // Check to see if Or property is set internal bool IsSetOr() { return this._or != null && this._or.Count > 0; } /// /// Gets and sets the property Tags. /// /// The specific Tag to use for Expression. /// /// public TagValues Tags { get { return this._tags; } set { this._tags = value; } } // Check to see if Tags property is set internal bool IsSetTags() { return this._tags != null; } } }