/* * 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 redshift-2012-12-01.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.Redshift.Model { /// /// Container for the parameters to the CreateUsageLimit operation. /// Creates a usage limit for a specified Amazon Redshift feature on a cluster. The usage /// limit is identified by the returned usage limit identifier. /// public partial class CreateUsageLimitRequest : AmazonRedshiftRequest { private long? _amount; private UsageLimitBreachAction _breachAction; private string _clusterIdentifier; private UsageLimitFeatureType _featureType; private UsageLimitLimitType _limitType; private UsageLimitPeriod _period; private List _tags = new List(); /// /// Gets and sets the property Amount. /// /// The limit amount. If time-based, this amount is in minutes. If data-based, this amount /// is in terabytes (TB). The value must be a positive number. /// /// [AWSProperty(Required=true)] public long Amount { get { return this._amount.GetValueOrDefault(); } set { this._amount = value; } } // Check to see if Amount property is set internal bool IsSetAmount() { return this._amount.HasValue; } /// /// Gets and sets the property BreachAction. /// /// The action that Amazon Redshift takes when the limit is reached. The default is log. /// For more information about this parameter, see UsageLimit. /// /// public UsageLimitBreachAction BreachAction { get { return this._breachAction; } set { this._breachAction = value; } } // Check to see if BreachAction property is set internal bool IsSetBreachAction() { return this._breachAction != null; } /// /// Gets and sets the property ClusterIdentifier. /// /// The identifier of the cluster that you want to limit usage. /// /// [AWSProperty(Required=true, Max=2147483647)] public string ClusterIdentifier { get { return this._clusterIdentifier; } set { this._clusterIdentifier = value; } } // Check to see if ClusterIdentifier property is set internal bool IsSetClusterIdentifier() { return this._clusterIdentifier != null; } /// /// Gets and sets the property FeatureType. /// /// The Amazon Redshift feature that you want to limit. /// /// [AWSProperty(Required=true)] public UsageLimitFeatureType FeatureType { get { return this._featureType; } set { this._featureType = value; } } // Check to see if FeatureType property is set internal bool IsSetFeatureType() { return this._featureType != null; } /// /// Gets and sets the property LimitType. /// /// The type of limit. Depending on the feature type, this can be based on a time duration /// or data size. If FeatureType is spectrum, then LimitType /// must be data-scanned. If FeatureType is concurrency-scaling, /// then LimitType must be time. If FeatureType /// is cross-region-datasharing, then LimitType must be data-scanned. /// /// /// [AWSProperty(Required=true)] public UsageLimitLimitType LimitType { get { return this._limitType; } set { this._limitType = value; } } // Check to see if LimitType property is set internal bool IsSetLimitType() { return this._limitType != null; } /// /// Gets and sets the property Period. /// /// The time period that the amount applies to. A weekly period begins on /// Sunday. The default is monthly. /// /// public UsageLimitPeriod Period { get { return this._period; } set { this._period = value; } } // Check to see if Period property is set internal bool IsSetPeriod() { return this._period != null; } /// /// Gets and sets the property Tags. /// /// A list of tag instances. /// /// public List Tags { get { return this._tags; } set { this._tags = value; } } // Check to see if Tags property is set internal bool IsSetTags() { return this._tags != null && this._tags.Count > 0; } } }