/* * 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 { /// /// Container for the parameters to the CreateCostCategoryDefinition operation. /// Creates a new Cost Category with the requested name and rules. /// public partial class CreateCostCategoryDefinitionRequest : AmazonCostExplorerRequest { private string _defaultValue; private string _effectiveStart; private string _name; private List _resourceTags = new List(); private List _rules = new List(); private CostCategoryRuleVersion _ruleVersion; private List _splitChargeRules = new List(); /// /// Gets and sets the property DefaultValue. /// [AWSProperty(Min=1, Max=50)] public string DefaultValue { get { return this._defaultValue; } set { this._defaultValue = value; } } // Check to see if DefaultValue property is set internal bool IsSetDefaultValue() { return this._defaultValue != null; } /// /// Gets and sets the property EffectiveStart. /// /// The Cost Category's effective start date. It can only be a billing start date (first /// day of the month). If the date isn't provided, it's the first day of the current month. /// Dates can't be before the previous twelve months, or in the future. /// /// [AWSProperty(Min=20, Max=25)] public string EffectiveStart { get { return this._effectiveStart; } set { this._effectiveStart = value; } } // Check to see if EffectiveStart property is set internal bool IsSetEffectiveStart() { return this._effectiveStart != null; } /// /// Gets and sets the property Name. /// [AWSProperty(Required=true, Min=1, Max=50)] public string Name { get { return this._name; } set { this._name = value; } } // Check to see if Name property is set internal bool IsSetName() { return this._name != null; } /// /// Gets and sets the property ResourceTags. /// /// An optional list of tags to associate with the specified /// CostCategory . You can use resource tags to control access to your /// cost category using IAM policies. /// /// /// /// Each tag consists of a key and a value, and each key must be unique for the resource. /// The following restrictions apply to resource tags: /// ///
  • /// /// Although the maximum number of array members is 200, you can assign a maximum of 50 /// user-tags to one resource. The remaining are reserved for Amazon Web Services use /// ///
  • /// /// The maximum length of a key is 128 characters /// ///
  • /// /// The maximum length of a value is 256 characters /// ///
  • /// /// Keys and values can only contain alphanumeric characters, spaces, and any of the following: /// _.:/=+@- /// ///
  • /// /// Keys and values are case sensitive /// ///
  • /// /// Keys and values are trimmed for any leading or trailing whitespaces /// ///
  • /// /// Don’t use aws: as a prefix for your keys. This prefix is reserved for /// Amazon Web Services use /// ///
///
[AWSProperty(Min=0, Max=200)] public List ResourceTags { get { return this._resourceTags; } set { this._resourceTags = value; } } // Check to see if ResourceTags property is set internal bool IsSetResourceTags() { return this._resourceTags != null && this._resourceTags.Count > 0; } /// /// Gets and sets the property Rules. /// /// The Cost Category rules used to categorize costs. For more information, see CostCategoryRule. /// /// [AWSProperty(Required=true, Min=1, Max=500)] public List Rules { get { return this._rules; } set { this._rules = value; } } // Check to see if Rules property is set internal bool IsSetRules() { return this._rules != null && this._rules.Count > 0; } /// /// Gets and sets the property RuleVersion. /// [AWSProperty(Required=true)] public CostCategoryRuleVersion RuleVersion { get { return this._ruleVersion; } set { this._ruleVersion = value; } } // Check to see if RuleVersion property is set internal bool IsSetRuleVersion() { return this._ruleVersion != null; } /// /// Gets and sets the property SplitChargeRules. /// /// The split charge rules used to allocate your charges between your Cost Category values. /// /// /// [AWSProperty(Min=1, Max=10)] public List SplitChargeRules { get { return this._splitChargeRules; } set { this._splitChargeRules = value; } } // Check to see if SplitChargeRules property is set internal bool IsSetSplitChargeRules() { return this._splitChargeRules != null && this._splitChargeRules.Count > 0; } } }