/* * 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-2011-01-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.AutoScaling.Model { /// /// Describes an Auto Scaling group. /// public partial class AutoScalingGroup { private string _autoScalingGroupARN; private string _autoScalingGroupName; private List _availabilityZones = new List(); private bool? _capacityRebalance; private string _context; private DateTime? _createdTime; private int? _defaultCooldown; private int? _defaultInstanceWarmup; private int? _desiredCapacity; private string _desiredCapacityType; private List _enabledMetrics = new List(); private int? _healthCheckGracePeriod; private string _healthCheckType; private List _instances = new List(); private string _launchConfigurationName; private LaunchTemplateSpecification _launchTemplate; private List _loadBalancerNames = new List(); private int? _maxInstanceLifetime; private int? _maxSize; private int? _minSize; private MixedInstancesPolicy _mixedInstancesPolicy; private bool? _newInstancesProtectedFromScaleIn; private string _placementGroup; private int? _predictedCapacity; private string _serviceLinkedRoleARN; private string _status; private List _suspendedProcesses = new List(); private List _tags = new List(); private List _targetGroupARNs = new List(); private List _terminationPolicies = new List(); private List _trafficSources = new List(); private string _vpcZoneIdentifier; private WarmPoolConfiguration _warmPoolConfiguration; private int? _warmPoolSize; /// /// Gets and sets the property AutoScalingGroupARN. /// /// The Amazon Resource Name (ARN) of the Auto Scaling group. /// /// [AWSProperty(Min=1, Max=1600)] 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 AutoScalingGroupName. /// /// The name of the Auto Scaling group. /// /// [AWSProperty(Required=true, Min=1, Max=255)] public string AutoScalingGroupName { get { return this._autoScalingGroupName; } set { this._autoScalingGroupName = value; } } // Check to see if AutoScalingGroupName property is set internal bool IsSetAutoScalingGroupName() { return this._autoScalingGroupName != null; } /// /// Gets and sets the property AvailabilityZones. /// /// One or more Availability Zones for the group. /// /// [AWSProperty(Required=true)] public List AvailabilityZones { get { return this._availabilityZones; } set { this._availabilityZones = value; } } // Check to see if AvailabilityZones property is set internal bool IsSetAvailabilityZones() { return this._availabilityZones != null && this._availabilityZones.Count > 0; } /// /// Gets and sets the property CapacityRebalance. /// /// Indicates whether Capacity Rebalancing is enabled. /// /// public bool CapacityRebalance { get { return this._capacityRebalance.GetValueOrDefault(); } set { this._capacityRebalance = value; } } // Check to see if CapacityRebalance property is set internal bool IsSetCapacityRebalance() { return this._capacityRebalance.HasValue; } /// /// Gets and sets the property Context. /// /// Reserved. /// /// public string Context { get { return this._context; } set { this._context = value; } } // Check to see if Context property is set internal bool IsSetContext() { return this._context != null; } /// /// Gets and sets the property CreatedTime. /// /// The date and time the group was created. /// /// [AWSProperty(Required=true)] public DateTime CreatedTime { get { return this._createdTime.GetValueOrDefault(); } set { this._createdTime = value; } } // Check to see if CreatedTime property is set internal bool IsSetCreatedTime() { return this._createdTime.HasValue; } /// /// Gets and sets the property DefaultCooldown. /// /// The duration of the default cooldown period, in seconds. /// /// [AWSProperty(Required=true)] public int DefaultCooldown { get { return this._defaultCooldown.GetValueOrDefault(); } set { this._defaultCooldown = value; } } // Check to see if DefaultCooldown property is set internal bool IsSetDefaultCooldown() { return this._defaultCooldown.HasValue; } /// /// Gets and sets the property DefaultInstanceWarmup. /// /// The duration of the default instance warmup, in seconds. /// /// public int DefaultInstanceWarmup { get { return this._defaultInstanceWarmup.GetValueOrDefault(); } set { this._defaultInstanceWarmup = value; } } // Check to see if DefaultInstanceWarmup property is set internal bool IsSetDefaultInstanceWarmup() { return this._defaultInstanceWarmup.HasValue; } /// /// Gets and sets the property DesiredCapacity. /// /// The desired size of the group. /// /// [AWSProperty(Required=true)] public int DesiredCapacity { get { return this._desiredCapacity.GetValueOrDefault(); } set { this._desiredCapacity = value; } } // Check to see if DesiredCapacity property is set internal bool IsSetDesiredCapacity() { return this._desiredCapacity.HasValue; } /// /// Gets and sets the property DesiredCapacityType. /// /// The unit of measurement for the value specified for desired capacity. Amazon EC2 Auto /// Scaling supports DesiredCapacityType for attribute-based instance type /// selection only. /// /// [AWSProperty(Min=1, Max=255)] public string DesiredCapacityType { get { return this._desiredCapacityType; } set { this._desiredCapacityType = value; } } // Check to see if DesiredCapacityType property is set internal bool IsSetDesiredCapacityType() { return this._desiredCapacityType != null; } /// /// Gets and sets the property EnabledMetrics. /// /// The metrics enabled for the group. /// /// public List EnabledMetrics { get { return this._enabledMetrics; } set { this._enabledMetrics = value; } } // Check to see if EnabledMetrics property is set internal bool IsSetEnabledMetrics() { return this._enabledMetrics != null && this._enabledMetrics.Count > 0; } /// /// Gets and sets the property HealthCheckGracePeriod. /// /// The duration of the health check grace period, in seconds. /// /// public int HealthCheckGracePeriod { get { return this._healthCheckGracePeriod.GetValueOrDefault(); } set { this._healthCheckGracePeriod = value; } } // Check to see if HealthCheckGracePeriod property is set internal bool IsSetHealthCheckGracePeriod() { return this._healthCheckGracePeriod.HasValue; } /// /// Gets and sets the property HealthCheckType. /// /// A comma-separated value string of one or more health check types. /// /// [AWSProperty(Required=true, Min=1, Max=32)] public string HealthCheckType { get { return this._healthCheckType; } set { this._healthCheckType = value; } } // Check to see if HealthCheckType property is set internal bool IsSetHealthCheckType() { return this._healthCheckType != null; } /// /// Gets and sets the property Instances. /// /// The EC2 instances associated with the group. /// /// public List Instances { get { return this._instances; } set { this._instances = value; } } // Check to see if Instances property is set internal bool IsSetInstances() { return this._instances != null && this._instances.Count > 0; } /// /// Gets and sets the property LaunchConfigurationName. /// /// The name of the associated launch configuration. /// /// [AWSProperty(Min=1, Max=255)] public string LaunchConfigurationName { get { return this._launchConfigurationName; } set { this._launchConfigurationName = value; } } // Check to see if LaunchConfigurationName property is set internal bool IsSetLaunchConfigurationName() { return this._launchConfigurationName != null; } /// /// Gets and sets the property LaunchTemplate. /// /// The launch template for the group. /// /// public LaunchTemplateSpecification LaunchTemplate { get { return this._launchTemplate; } set { this._launchTemplate = value; } } // Check to see if LaunchTemplate property is set internal bool IsSetLaunchTemplate() { return this._launchTemplate != null; } /// /// Gets and sets the property LoadBalancerNames. /// /// One or more load balancers associated with the group. /// /// public List LoadBalancerNames { get { return this._loadBalancerNames; } set { this._loadBalancerNames = value; } } // Check to see if LoadBalancerNames property is set internal bool IsSetLoadBalancerNames() { return this._loadBalancerNames != null && this._loadBalancerNames.Count > 0; } /// /// Gets and sets the property MaxInstanceLifetime. /// /// The maximum amount of time, in seconds, that an instance can be in service. /// /// /// /// Valid Range: Minimum value of 0. /// /// public int MaxInstanceLifetime { get { return this._maxInstanceLifetime.GetValueOrDefault(); } set { this._maxInstanceLifetime = value; } } // Check to see if MaxInstanceLifetime property is set internal bool IsSetMaxInstanceLifetime() { return this._maxInstanceLifetime.HasValue; } /// /// Gets and sets the property MaxSize. /// /// The maximum size of the group. /// /// [AWSProperty(Required=true)] public int MaxSize { get { return this._maxSize.GetValueOrDefault(); } set { this._maxSize = value; } } // Check to see if MaxSize property is set internal bool IsSetMaxSize() { return this._maxSize.HasValue; } /// /// Gets and sets the property MinSize. /// /// The minimum size of the group. /// /// [AWSProperty(Required=true)] public int MinSize { get { return this._minSize.GetValueOrDefault(); } set { this._minSize = value; } } // Check to see if MinSize property is set internal bool IsSetMinSize() { return this._minSize.HasValue; } /// /// Gets and sets the property MixedInstancesPolicy. /// /// The mixed instances policy for the group. /// /// public MixedInstancesPolicy MixedInstancesPolicy { get { return this._mixedInstancesPolicy; } set { this._mixedInstancesPolicy = value; } } // Check to see if MixedInstancesPolicy property is set internal bool IsSetMixedInstancesPolicy() { return this._mixedInstancesPolicy != null; } /// /// Gets and sets the property NewInstancesProtectedFromScaleIn. /// /// Indicates whether newly launched instances are protected from termination by Amazon /// EC2 Auto Scaling when scaling in. /// /// public bool NewInstancesProtectedFromScaleIn { get { return this._newInstancesProtectedFromScaleIn.GetValueOrDefault(); } set { this._newInstancesProtectedFromScaleIn = value; } } // Check to see if NewInstancesProtectedFromScaleIn property is set internal bool IsSetNewInstancesProtectedFromScaleIn() { return this._newInstancesProtectedFromScaleIn.HasValue; } /// /// Gets and sets the property PlacementGroup. /// /// The name of the placement group into which to launch your instances, if any. /// /// [AWSProperty(Min=1, Max=255)] public string PlacementGroup { get { return this._placementGroup; } set { this._placementGroup = value; } } // Check to see if PlacementGroup property is set internal bool IsSetPlacementGroup() { return this._placementGroup != null; } /// /// Gets and sets the property PredictedCapacity. /// /// The predicted capacity of the group when it has a predictive scaling policy. /// /// public int PredictedCapacity { get { return this._predictedCapacity.GetValueOrDefault(); } set { this._predictedCapacity = value; } } // Check to see if PredictedCapacity property is set internal bool IsSetPredictedCapacity() { return this._predictedCapacity.HasValue; } /// /// Gets and sets the property ServiceLinkedRoleARN. /// /// The Amazon Resource Name (ARN) of the service-linked role that the Auto Scaling group /// uses to call other Amazon Web Services on your behalf. /// /// [AWSProperty(Min=1, Max=1600)] public string ServiceLinkedRoleARN { get { return this._serviceLinkedRoleARN; } set { this._serviceLinkedRoleARN = value; } } // Check to see if ServiceLinkedRoleARN property is set internal bool IsSetServiceLinkedRoleARN() { return this._serviceLinkedRoleARN != null; } /// /// Gets and sets the property Status. /// /// The current state of the group when the DeleteAutoScalingGroup operation is /// in progress. /// /// [AWSProperty(Min=1, Max=255)] public string 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 SuspendedProcesses. /// /// The suspended processes associated with the group. /// /// public List SuspendedProcesses { get { return this._suspendedProcesses; } set { this._suspendedProcesses = value; } } // Check to see if SuspendedProcesses property is set internal bool IsSetSuspendedProcesses() { return this._suspendedProcesses != null && this._suspendedProcesses.Count > 0; } /// /// Gets and sets the property Tags. /// /// The tags for the group. /// /// 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; } /// /// Gets and sets the property TargetGroupARNs. /// /// The Amazon Resource Names (ARN) of the target groups for your load balancer. /// /// public List TargetGroupARNs { get { return this._targetGroupARNs; } set { this._targetGroupARNs = value; } } // Check to see if TargetGroupARNs property is set internal bool IsSetTargetGroupARNs() { return this._targetGroupARNs != null && this._targetGroupARNs.Count > 0; } /// /// Gets and sets the property TerminationPolicies. /// /// The termination policies for the group. /// /// public List TerminationPolicies { get { return this._terminationPolicies; } set { this._terminationPolicies = value; } } // Check to see if TerminationPolicies property is set internal bool IsSetTerminationPolicies() { return this._terminationPolicies != null && this._terminationPolicies.Count > 0; } /// /// Gets and sets the property TrafficSources. /// /// The traffic sources associated with this Auto Scaling group. /// /// public List TrafficSources { get { return this._trafficSources; } set { this._trafficSources = value; } } // Check to see if TrafficSources property is set internal bool IsSetTrafficSources() { return this._trafficSources != null && this._trafficSources.Count > 0; } /// /// Gets and sets the property VPCZoneIdentifier. /// /// One or more subnet IDs, if applicable, separated by commas. /// /// [AWSProperty(Min=1, Max=2047)] public string VPCZoneIdentifier { get { return this._vpcZoneIdentifier; } set { this._vpcZoneIdentifier = value; } } // Check to see if VPCZoneIdentifier property is set internal bool IsSetVPCZoneIdentifier() { return this._vpcZoneIdentifier != null; } /// /// Gets and sets the property WarmPoolConfiguration. /// /// The warm pool for the group. /// /// public WarmPoolConfiguration WarmPoolConfiguration { get { return this._warmPoolConfiguration; } set { this._warmPoolConfiguration = value; } } // Check to see if WarmPoolConfiguration property is set internal bool IsSetWarmPoolConfiguration() { return this._warmPoolConfiguration != null; } /// /// Gets and sets the property WarmPoolSize. /// /// The current size of the warm pool. /// /// public int WarmPoolSize { get { return this._warmPoolSize.GetValueOrDefault(); } set { this._warmPoolSize = value; } } // Check to see if WarmPoolSize property is set internal bool IsSetWarmPoolSize() { return this._warmPoolSize.HasValue; } } }