/* * 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 application-autoscaling-2016-02-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.ApplicationAutoScaling.Model { /// /// Represents a step scaling policy configuration to use with Application Auto Scaling. /// /// /// /// For more information, see Step /// scaling policies in the Application Auto Scaling User Guide. /// /// public partial class StepScalingPolicyConfiguration { private AdjustmentType _adjustmentType; private int? _cooldown; private MetricAggregationType _metricAggregationType; private int? _minAdjustmentMagnitude; private List _stepAdjustments = new List(); /// /// Gets and sets the property AdjustmentType. /// /// Specifies how the ScalingAdjustment value in a StepAdjustment /// is interpreted (for example, an absolute number or a percentage). The valid values /// are ChangeInCapacity, ExactCapacity, and PercentChangeInCapacity. /// /// /// /// /// AdjustmentType is required if you are adding a new step scaling policy /// configuration. /// /// public AdjustmentType AdjustmentType { get { return this._adjustmentType; } set { this._adjustmentType = value; } } // Check to see if AdjustmentType property is set internal bool IsSetAdjustmentType() { return this._adjustmentType != null; } /// /// Gets and sets the property Cooldown. /// /// The amount of time, in seconds, to wait for a previous scaling activity to take effect. /// If not specified, the default value is 300. For more information, see Cooldown /// period in the Application Auto Scaling User Guide. /// /// public int Cooldown { get { return this._cooldown.GetValueOrDefault(); } set { this._cooldown = value; } } // Check to see if Cooldown property is set internal bool IsSetCooldown() { return this._cooldown.HasValue; } /// /// Gets and sets the property MetricAggregationType. /// /// The aggregation type for the CloudWatch metrics. Valid values are Minimum, /// Maximum, and Average. If the aggregation type is null, the /// value is treated as Average. /// /// public MetricAggregationType MetricAggregationType { get { return this._metricAggregationType; } set { this._metricAggregationType = value; } } // Check to see if MetricAggregationType property is set internal bool IsSetMetricAggregationType() { return this._metricAggregationType != null; } /// /// Gets and sets the property MinAdjustmentMagnitude. /// /// The minimum value to scale by when the adjustment type is PercentChangeInCapacity. /// For example, suppose that you create a step scaling policy to scale out an Amazon /// ECS service by 25 percent and you specify a MinAdjustmentMagnitude of /// 2. If the service has 4 tasks and the scaling policy is performed, 25 percent of 4 /// is 1. However, because you specified a MinAdjustmentMagnitude of 2, Application /// Auto Scaling scales out the service by 2 tasks. /// /// public int MinAdjustmentMagnitude { get { return this._minAdjustmentMagnitude.GetValueOrDefault(); } set { this._minAdjustmentMagnitude = value; } } // Check to see if MinAdjustmentMagnitude property is set internal bool IsSetMinAdjustmentMagnitude() { return this._minAdjustmentMagnitude.HasValue; } /// /// Gets and sets the property StepAdjustments. /// /// A set of adjustments that enable you to scale based on the size of the alarm breach. /// /// /// /// At least one step adjustment is required if you are adding a new step scaling policy /// configuration. /// /// public List StepAdjustments { get { return this._stepAdjustments; } set { this._stepAdjustments = value; } } // Check to see if StepAdjustments property is set internal bool IsSetStepAdjustments() { return this._stepAdjustments != null && this._stepAdjustments.Count > 0; } } }