/* * 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 ecs-2014-11-13.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.ECS.Model { /// /// The managed scaling settings for the Auto Scaling group capacity provider. /// /// /// /// When managed scaling is turned on, Amazon ECS manages the scale-in and scale-out actions /// of the Auto Scaling group. Amazon ECS manages a target tracking scaling policy using /// an Amazon ECS managed CloudWatch metric with the specified targetCapacity /// value as the target value for the metric. For more information, see Using /// managed scaling in the Amazon Elastic Container Service Developer Guide. /// /// /// /// If managed scaling is off, the user must manage the scaling of the Auto Scaling group. /// /// public partial class ManagedScaling { private int? _instanceWarmupPeriod; private int? _maximumScalingStepSize; private int? _minimumScalingStepSize; private ManagedScalingStatus _status; private int? _targetCapacity; /// /// Gets and sets the property InstanceWarmupPeriod. /// /// The period of time, in seconds, after a newly launched Amazon EC2 instance can contribute /// to CloudWatch metrics for Auto Scaling group. If this parameter is omitted, the default /// value of 300 seconds is used. /// /// [AWSProperty(Min=0, Max=10000)] public int InstanceWarmupPeriod { get { return this._instanceWarmupPeriod.GetValueOrDefault(); } set { this._instanceWarmupPeriod = value; } } // Check to see if InstanceWarmupPeriod property is set internal bool IsSetInstanceWarmupPeriod() { return this._instanceWarmupPeriod.HasValue; } /// /// Gets and sets the property MaximumScalingStepSize. /// /// The maximum number of Amazon EC2 instances that Amazon ECS will scale out at one time. /// The scale in process is not affected by this parameter. If this parameter is omitted, /// the default value of 1 is used. /// /// [AWSProperty(Min=1, Max=10000)] public int MaximumScalingStepSize { get { return this._maximumScalingStepSize.GetValueOrDefault(); } set { this._maximumScalingStepSize = value; } } // Check to see if MaximumScalingStepSize property is set internal bool IsSetMaximumScalingStepSize() { return this._maximumScalingStepSize.HasValue; } /// /// Gets and sets the property MinimumScalingStepSize. /// /// The minimum number of Amazon EC2 instances that Amazon ECS will scale out at one time. /// The scale in process is not affected by this parameter If this parameter is omitted, /// the default value of 1 is used. /// /// /// /// When additional capacity is required, Amazon ECS will scale up the minimum scaling /// step size even if the actual demand is less than the minimum scaling step size. /// /// /// /// If you use a capacity provider with an Auto Scaling group configured with more than /// one Amazon EC2 instance type or Availability Zone, Amazon ECS will scale up by the /// exact minimum scaling step size value and will ignore both the maximum scaling step /// size as well as the capacity demand. /// /// [AWSProperty(Min=1, Max=10000)] public int MinimumScalingStepSize { get { return this._minimumScalingStepSize.GetValueOrDefault(); } set { this._minimumScalingStepSize = value; } } // Check to see if MinimumScalingStepSize property is set internal bool IsSetMinimumScalingStepSize() { return this._minimumScalingStepSize.HasValue; } /// /// Gets and sets the property Status. /// /// Determines whether to use managed scaling for the capacity provider. /// /// public ManagedScalingStatus Status { get { return this._status; } set { this._status = value; } } // Check to see if Status property is set internal bool IsSetStatus() { return this._status != null; } /// /// Gets and sets the property TargetCapacity. /// /// The target capacity utilization as a percentage for the capacity provider. The specified /// value must be greater than 0 and less than or equal to 100. /// For example, if you want the capacity provider to maintain 10% spare capacity, then /// that means the utilization is 90%, so use a targetCapacity of 90. /// The default value of 100 percent results in the Amazon EC2 instances /// in your Auto Scaling group being completely used. /// /// [AWSProperty(Min=1, Max=100)] public int TargetCapacity { get { return this._targetCapacity.GetValueOrDefault(); } set { this._targetCapacity = value; } } // Check to see if TargetCapacity property is set internal bool IsSetTargetCapacity() { return this._targetCapacity.HasValue; } } }