/* * 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 autoscaling-plans-2018-01-06.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.AutoScalingPlans.Model { /// /// Represents a scaling plan. /// public partial class ScalingPlan { private ApplicationSource _applicationSource; private DateTime? _creationTime; private List _scalingInstructions = new List(); private string _scalingPlanName; private long? _scalingPlanVersion; private ScalingPlanStatusCode _statusCode; private string _statusMessage; private DateTime? _statusStartTime; /// /// Gets and sets the property ApplicationSource. /// /// A CloudFormation stack or a set of tags. You can create one scaling plan per application /// source. /// /// [AWSProperty(Required=true)] public ApplicationSource ApplicationSource { get { return this._applicationSource; } set { this._applicationSource = value; } } // Check to see if ApplicationSource property is set internal bool IsSetApplicationSource() { return this._applicationSource != null; } /// /// Gets and sets the property CreationTime. /// /// The Unix time stamp when the scaling plan was created. /// /// public DateTime CreationTime { get { return this._creationTime.GetValueOrDefault(); } set { this._creationTime = value; } } // Check to see if CreationTime property is set internal bool IsSetCreationTime() { return this._creationTime.HasValue; } /// /// Gets and sets the property ScalingInstructions. /// /// The scaling instructions. /// /// [AWSProperty(Required=true)] public List ScalingInstructions { get { return this._scalingInstructions; } set { this._scalingInstructions = value; } } // Check to see if ScalingInstructions property is set internal bool IsSetScalingInstructions() { return this._scalingInstructions != null && this._scalingInstructions.Count > 0; } /// /// Gets and sets the property ScalingPlanName. /// /// The name of the scaling plan. /// /// [AWSProperty(Required=true, Min=1, Max=128)] public string ScalingPlanName { get { return this._scalingPlanName; } set { this._scalingPlanName = value; } } // Check to see if ScalingPlanName property is set internal bool IsSetScalingPlanName() { return this._scalingPlanName != null; } /// /// Gets and sets the property ScalingPlanVersion. /// /// The version number of the scaling plan. /// /// [AWSProperty(Required=true)] public long ScalingPlanVersion { get { return this._scalingPlanVersion.GetValueOrDefault(); } set { this._scalingPlanVersion = value; } } // Check to see if ScalingPlanVersion property is set internal bool IsSetScalingPlanVersion() { return this._scalingPlanVersion.HasValue; } /// /// Gets and sets the property StatusCode. /// /// The status of the scaling plan. /// ///
  • /// /// Active - The scaling plan is active. /// ///
  • /// /// ActiveWithProblems - The scaling plan is active, but the scaling configuration /// for one or more resources could not be applied. /// ///
  • /// /// CreationInProgress - The scaling plan is being created. /// ///
  • /// /// CreationFailed - The scaling plan could not be created. /// ///
  • /// /// DeletionInProgress - The scaling plan is being deleted. /// ///
  • /// /// DeletionFailed - The scaling plan could not be deleted. /// ///
  • /// /// UpdateInProgress - The scaling plan is being updated. /// ///
  • /// /// UpdateFailed - The scaling plan could not be updated. /// ///
///
[AWSProperty(Required=true)] public ScalingPlanStatusCode StatusCode { get { return this._statusCode; } set { this._statusCode = value; } } // Check to see if StatusCode property is set internal bool IsSetStatusCode() { return this._statusCode != null; } /// /// Gets and sets the property StatusMessage. /// /// A simple message about the current status of the scaling plan. /// /// public string StatusMessage { get { return this._statusMessage; } set { this._statusMessage = value; } } // Check to see if StatusMessage property is set internal bool IsSetStatusMessage() { return this._statusMessage != null; } /// /// Gets and sets the property StatusStartTime. /// /// The Unix time stamp when the scaling plan entered the current status. /// /// public DateTime StatusStartTime { get { return this._statusStartTime.GetValueOrDefault(); } set { this._statusStartTime = value; } } // Check to see if StatusStartTime property is set internal bool IsSetStatusStartTime() { return this._statusStartTime.HasValue; } } }