/* * 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 details of the Auto Scaling group for the capacity provider. /// public partial class AutoScalingGroupProvider { private string _autoScalingGroupArn; private ManagedScaling _managedScaling; private ManagedTerminationProtection _managedTerminationProtection; /// /// Gets and sets the property AutoScalingGroupArn. /// /// The Amazon Resource Name (ARN) that identifies the Auto Scaling group. /// /// [AWSProperty(Required=true)] public string AutoScalingGroupArn { get { return this._autoScalingGroupArn; } set { this._autoScalingGroupArn = value; } } // Check to see if AutoScalingGroupArn property is set internal bool IsSetAutoScalingGroupArn() { return this._autoScalingGroupArn != null; } /// /// Gets and sets the property ManagedScaling. /// /// The managed scaling settings for the Auto Scaling group capacity provider. /// /// public ManagedScaling ManagedScaling { get { return this._managedScaling; } set { this._managedScaling = value; } } // Check to see if ManagedScaling property is set internal bool IsSetManagedScaling() { return this._managedScaling != null; } /// /// Gets and sets the property ManagedTerminationProtection. /// /// The managed termination protection setting to use for the Auto Scaling group capacity /// provider. This determines whether the Auto Scaling group has managed termination protection. /// The default is off. /// /// /// /// When using managed termination protection, managed scaling must also be used otherwise /// managed termination protection doesn't work. /// /// /// /// When managed termination protection is on, Amazon ECS prevents the Amazon EC2 instances /// in an Auto Scaling group that contain tasks from being terminated during a scale-in /// action. The Auto Scaling group and each instance in the Auto Scaling group must have /// instance protection from scale-in actions on as well. For more information, see Instance /// Protection in the Auto Scaling User Guide. /// /// /// /// When managed termination protection is off, your Amazon EC2 instances aren't protected /// from termination when the Auto Scaling group scales in. /// /// public ManagedTerminationProtection ManagedTerminationProtection { get { return this._managedTerminationProtection; } set { this._managedTerminationProtection = value; } } // Check to see if ManagedTerminationProtection property is set internal bool IsSetManagedTerminationProtection() { return this._managedTerminationProtection != null; } } }