Show / Hide Table of Contents

Class CfnAutoScalingGroupPropsMixin

The AWS::AutoScaling::AutoScalingGroup resource defines an Amazon EC2 Auto Scaling group, which is a collection of Amazon EC2 instances that are treated as a logical grouping for the purposes of automatic scaling and management.

Inheritance
object
Mixin
CfnAutoScalingGroupPropsMixin
Implements
IMixin
Inherited Members
Mixin.IsMixin(object)
Namespace: Amazon.CDK.Mixins.Preview.AWS.AutoScaling.Mixins
Assembly: Amazon.CDK.Mixins.Preview.dll
Syntax (csharp)
public class CfnAutoScalingGroupPropsMixin : Mixin, IMixin
Syntax (vb)
Public Class CfnAutoScalingGroupPropsMixin Inherits Mixin Implements IMixin
Remarks

For more information about Amazon EC2 Auto Scaling, see the Amazon EC2 Auto Scaling User Guide .

Amazon EC2 Auto Scaling configures instances launched as part of an Auto Scaling group using either a <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html">launch template</a> or a launch configuration. We strongly recommend that you do not use launch configurations. For more information, see <a href="https://docs.aws.amazon.com/autoscaling/ec2/userguide/launch-configurations.html">Launch configurations</a> in the <em>Amazon EC2 Auto Scaling User Guide</em> .

For help migrating from launch configurations to launch templates, see Migrate AWS CloudFormation stacks from launch configurations to launch templates in the Amazon EC2 Auto Scaling User Guide .

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html

CloudformationResource: AWS::AutoScaling::AutoScalingGroup

Mixin: true

ExampleMetadata: fixture=_generated

Examples
// The code below shows an example of how to instantiate this type.
             // The values are placeholders you should change.
             using Amazon.CDK.Mixins.Preview.Mixins;
             using Amazon.CDK.Mixins.Preview.AWS.AutoScaling.Mixins;

             var cfnAutoScalingGroupPropsMixin = new CfnAutoScalingGroupPropsMixin(new CfnAutoScalingGroupMixinProps {
                 AutoScalingGroupName = "autoScalingGroupName",
                 AvailabilityZoneDistribution = new AvailabilityZoneDistributionProperty {
                     CapacityDistributionStrategy = "capacityDistributionStrategy"
                 },
                 AvailabilityZoneImpairmentPolicy = new AvailabilityZoneImpairmentPolicyProperty {
                     ImpairedZoneHealthCheckBehavior = "impairedZoneHealthCheckBehavior",
                     ZonalShiftEnabled = false
                 },
                 AvailabilityZones = new [] { "availabilityZones" },
                 CapacityRebalance = false,
                 CapacityReservationSpecification = new CapacityReservationSpecificationProperty {
                     CapacityReservationPreference = "capacityReservationPreference",
                     CapacityReservationTarget = new CapacityReservationTargetProperty {
                         CapacityReservationIds = new [] { "capacityReservationIds" },
                         CapacityReservationResourceGroupArns = new [] { "capacityReservationResourceGroupArns" }
                     }
                 },
                 Context = "context",
                 Cooldown = "cooldown",
                 DefaultInstanceWarmup = 123,
                 DesiredCapacity = "desiredCapacity",
                 DesiredCapacityType = "desiredCapacityType",
                 HealthCheckGracePeriod = 123,
                 HealthCheckType = "healthCheckType",
                 InstanceId = "instanceId",
                 InstanceLifecyclePolicy = new InstanceLifecyclePolicyProperty {
                     RetentionTriggers = new RetentionTriggersProperty {
                         TerminateHookAbandon = "terminateHookAbandon"
                     }
                 },
                 InstanceMaintenancePolicy = new InstanceMaintenancePolicyProperty {
                     MaxHealthyPercentage = 123,
                     MinHealthyPercentage = 123
                 },
                 LaunchConfigurationName = "launchConfigurationName",
                 LaunchTemplate = new LaunchTemplateSpecificationProperty {
                     LaunchTemplateId = "launchTemplateId",
                     LaunchTemplateName = "launchTemplateName",
                     Version = "version"
                 },
                 LifecycleHookSpecificationList = new [] { new LifecycleHookSpecificationProperty {
                     DefaultResult = "defaultResult",
                     HeartbeatTimeout = 123,
                     LifecycleHookName = "lifecycleHookName",
                     LifecycleTransition = "lifecycleTransition",
                     NotificationMetadata = "notificationMetadata",
                     NotificationTargetArn = "notificationTargetArn",
                     RoleArn = "roleArn"
                 } },
                 LoadBalancerNames = new [] { "loadBalancerNames" },
                 MaxInstanceLifetime = 123,
                 MaxSize = "maxSize",
                 MetricsCollection = new [] { new MetricsCollectionProperty {
                     Granularity = "granularity",
                     Metrics = new [] { "metrics" }
                 } },
                 MinSize = "minSize",
                 MixedInstancesPolicy = new MixedInstancesPolicyProperty {
                     InstancesDistribution = new InstancesDistributionProperty {
                         OnDemandAllocationStrategy = "onDemandAllocationStrategy",
                         OnDemandBaseCapacity = 123,
                         OnDemandPercentageAboveBaseCapacity = 123,
                         SpotAllocationStrategy = "spotAllocationStrategy",
                         SpotInstancePools = 123,
                         SpotMaxPrice = "spotMaxPrice"
                     },
                     LaunchTemplate = new LaunchTemplateProperty {
                         LaunchTemplateSpecification = new LaunchTemplateSpecificationProperty {
                             LaunchTemplateId = "launchTemplateId",
                             LaunchTemplateName = "launchTemplateName",
                             Version = "version"
                         },
                         Overrides = new [] { new LaunchTemplateOverridesProperty {
                             ImageId = "imageId",
                             InstanceRequirements = new InstanceRequirementsProperty {
                                 AcceleratorCount = new AcceleratorCountRequestProperty {
                                     Max = 123,
                                     Min = 123
                                 },
                                 AcceleratorManufacturers = new [] { "acceleratorManufacturers" },
                                 AcceleratorNames = new [] { "acceleratorNames" },
                                 AcceleratorTotalMemoryMiB = new AcceleratorTotalMemoryMiBRequestProperty {
                                     Max = 123,
                                     Min = 123
                                 },
                                 AcceleratorTypes = new [] { "acceleratorTypes" },
                                 AllowedInstanceTypes = new [] { "allowedInstanceTypes" },
                                 BareMetal = "bareMetal",
                                 BaselineEbsBandwidthMbps = new BaselineEbsBandwidthMbpsRequestProperty {
                                     Max = 123,
                                     Min = 123
                                 },
                                 BaselinePerformanceFactors = new BaselinePerformanceFactorsRequestProperty {
                                     Cpu = new CpuPerformanceFactorRequestProperty {
                                         References = new [] { new PerformanceFactorReferenceRequestProperty {
                                             InstanceFamily = "instanceFamily"
                                         } }
                                     }
                                 },
                                 BurstablePerformance = "burstablePerformance",
                                 CpuManufacturers = new [] { "cpuManufacturers" },
                                 ExcludedInstanceTypes = new [] { "excludedInstanceTypes" },
                                 InstanceGenerations = new [] { "instanceGenerations" },
                                 LocalStorage = "localStorage",
                                 LocalStorageTypes = new [] { "localStorageTypes" },
                                 MaxSpotPriceAsPercentageOfOptimalOnDemandPrice = 123,
                                 MemoryGiBPerVCpu = new MemoryGiBPerVCpuRequestProperty {
                                     Max = 123,
                                     Min = 123
                                 },
                                 MemoryMiB = new MemoryMiBRequestProperty {
                                     Max = 123,
                                     Min = 123
                                 },
                                 NetworkBandwidthGbps = new NetworkBandwidthGbpsRequestProperty {
                                     Max = 123,
                                     Min = 123
                                 },
                                 NetworkInterfaceCount = new NetworkInterfaceCountRequestProperty {
                                     Max = 123,
                                     Min = 123
                                 },
                                 OnDemandMaxPricePercentageOverLowestPrice = 123,
                                 RequireHibernateSupport = false,
                                 SpotMaxPricePercentageOverLowestPrice = 123,
                                 TotalLocalStorageGb = new TotalLocalStorageGBRequestProperty {
                                     Max = 123,
                                     Min = 123
                                 },
                                 VCpuCount = new VCpuCountRequestProperty {
                                     Max = 123,
                                     Min = 123
                                 }
                             },
                             InstanceType = "instanceType",
                             LaunchTemplateSpecification = new LaunchTemplateSpecificationProperty {
                                 LaunchTemplateId = "launchTemplateId",
                                 LaunchTemplateName = "launchTemplateName",
                                 Version = "version"
                             },
                             WeightedCapacity = "weightedCapacity"
                         } }
                     }
                 },
                 NewInstancesProtectedFromScaleIn = false,
                 NotificationConfiguration = new NotificationConfigurationProperty {
                     NotificationTypes = new [] { "notificationTypes" },
                     TopicArn = "topicArn"
                 },
                 NotificationConfigurations = new [] { new NotificationConfigurationProperty {
                     NotificationTypes = new [] { "notificationTypes" },
                     TopicArn = "topicArn"
                 } },
                 PlacementGroup = "placementGroup",
                 ServiceLinkedRoleArn = "serviceLinkedRoleArn",
                 SkipZonalShiftValidation = false,
                 Tags = new [] { new TagPropertyProperty {
                     Key = "key",
                     PropagateAtLaunch = false,
                     Value = "value"
                 } },
                 TargetGroupArns = new [] { "targetGroupArns" },
                 TerminationPolicies = new [] { "terminationPolicies" },
                 TrafficSources = new [] { new TrafficSourceIdentifierProperty {
                     Identifier = "identifier",
                     Type = "type"
                 } },
                 VpcZoneIdentifier = new [] { "vpcZoneIdentifier" }
             }, new CfnPropertyMixinOptions {
                 Strategy = PropertyMergeStrategy.OVERRIDE
             });

Synopsis

Constructors

CfnAutoScalingGroupPropsMixin(ICfnAutoScalingGroupMixinProps, ICfnPropertyMixinOptions?)

Create a mixin to apply properties to AWS::AutoScaling::AutoScalingGroup.

Properties

CFN_PROPERTY_KEYS

The AWS::AutoScaling::AutoScalingGroup resource defines an Amazon EC2 Auto Scaling group, which is a collection of Amazon EC2 instances that are treated as a logical grouping for the purposes of automatic scaling and management.

Props

The AWS::AutoScaling::AutoScalingGroup resource defines an Amazon EC2 Auto Scaling group, which is a collection of Amazon EC2 instances that are treated as a logical grouping for the purposes of automatic scaling and management.

Strategy

The AWS::AutoScaling::AutoScalingGroup resource defines an Amazon EC2 Auto Scaling group, which is a collection of Amazon EC2 instances that are treated as a logical grouping for the purposes of automatic scaling and management.

Methods

ApplyTo(IConstruct)

Apply the mixin properties to the construct.

Supports(IConstruct)

Check if this mixin supports the given construct.

Constructors

CfnAutoScalingGroupPropsMixin(ICfnAutoScalingGroupMixinProps, ICfnPropertyMixinOptions?)

Create a mixin to apply properties to AWS::AutoScaling::AutoScalingGroup.

public CfnAutoScalingGroupPropsMixin(ICfnAutoScalingGroupMixinProps props, ICfnPropertyMixinOptions? options = null)
Parameters
props ICfnAutoScalingGroupMixinProps

L1 properties to apply.

options ICfnPropertyMixinOptions

Mixin options.

Remarks

For more information about Amazon EC2 Auto Scaling, see the Amazon EC2 Auto Scaling User Guide .

Amazon EC2 Auto Scaling configures instances launched as part of an Auto Scaling group using either a <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html">launch template</a> or a launch configuration. We strongly recommend that you do not use launch configurations. For more information, see <a href="https://docs.aws.amazon.com/autoscaling/ec2/userguide/launch-configurations.html">Launch configurations</a> in the <em>Amazon EC2 Auto Scaling User Guide</em> .

For help migrating from launch configurations to launch templates, see Migrate AWS CloudFormation stacks from launch configurations to launch templates in the Amazon EC2 Auto Scaling User Guide .

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html

CloudformationResource: AWS::AutoScaling::AutoScalingGroup

Mixin: true

ExampleMetadata: fixture=_generated

Properties

CFN_PROPERTY_KEYS

The AWS::AutoScaling::AutoScalingGroup resource defines an Amazon EC2 Auto Scaling group, which is a collection of Amazon EC2 instances that are treated as a logical grouping for the purposes of automatic scaling and management.

protected static string[] CFN_PROPERTY_KEYS { get; }
Property Value

string[]

Remarks

For more information about Amazon EC2 Auto Scaling, see the Amazon EC2 Auto Scaling User Guide .

Amazon EC2 Auto Scaling configures instances launched as part of an Auto Scaling group using either a <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html">launch template</a> or a launch configuration. We strongly recommend that you do not use launch configurations. For more information, see <a href="https://docs.aws.amazon.com/autoscaling/ec2/userguide/launch-configurations.html">Launch configurations</a> in the <em>Amazon EC2 Auto Scaling User Guide</em> .

For help migrating from launch configurations to launch templates, see Migrate AWS CloudFormation stacks from launch configurations to launch templates in the Amazon EC2 Auto Scaling User Guide .

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html

CloudformationResource: AWS::AutoScaling::AutoScalingGroup

Mixin: true

ExampleMetadata: fixture=_generated

Examples
// The code below shows an example of how to instantiate this type.
             // The values are placeholders you should change.
             using Amazon.CDK.Mixins.Preview.Mixins;
             using Amazon.CDK.Mixins.Preview.AWS.AutoScaling.Mixins;

             var cfnAutoScalingGroupPropsMixin = new CfnAutoScalingGroupPropsMixin(new CfnAutoScalingGroupMixinProps {
                 AutoScalingGroupName = "autoScalingGroupName",
                 AvailabilityZoneDistribution = new AvailabilityZoneDistributionProperty {
                     CapacityDistributionStrategy = "capacityDistributionStrategy"
                 },
                 AvailabilityZoneImpairmentPolicy = new AvailabilityZoneImpairmentPolicyProperty {
                     ImpairedZoneHealthCheckBehavior = "impairedZoneHealthCheckBehavior",
                     ZonalShiftEnabled = false
                 },
                 AvailabilityZones = new [] { "availabilityZones" },
                 CapacityRebalance = false,
                 CapacityReservationSpecification = new CapacityReservationSpecificationProperty {
                     CapacityReservationPreference = "capacityReservationPreference",
                     CapacityReservationTarget = new CapacityReservationTargetProperty {
                         CapacityReservationIds = new [] { "capacityReservationIds" },
                         CapacityReservationResourceGroupArns = new [] { "capacityReservationResourceGroupArns" }
                     }
                 },
                 Context = "context",
                 Cooldown = "cooldown",
                 DefaultInstanceWarmup = 123,
                 DesiredCapacity = "desiredCapacity",
                 DesiredCapacityType = "desiredCapacityType",
                 HealthCheckGracePeriod = 123,
                 HealthCheckType = "healthCheckType",
                 InstanceId = "instanceId",
                 InstanceLifecyclePolicy = new InstanceLifecyclePolicyProperty {
                     RetentionTriggers = new RetentionTriggersProperty {
                         TerminateHookAbandon = "terminateHookAbandon"
                     }
                 },
                 InstanceMaintenancePolicy = new InstanceMaintenancePolicyProperty {
                     MaxHealthyPercentage = 123,
                     MinHealthyPercentage = 123
                 },
                 LaunchConfigurationName = "launchConfigurationName",
                 LaunchTemplate = new LaunchTemplateSpecificationProperty {
                     LaunchTemplateId = "launchTemplateId",
                     LaunchTemplateName = "launchTemplateName",
                     Version = "version"
                 },
                 LifecycleHookSpecificationList = new [] { new LifecycleHookSpecificationProperty {
                     DefaultResult = "defaultResult",
                     HeartbeatTimeout = 123,
                     LifecycleHookName = "lifecycleHookName",
                     LifecycleTransition = "lifecycleTransition",
                     NotificationMetadata = "notificationMetadata",
                     NotificationTargetArn = "notificationTargetArn",
                     RoleArn = "roleArn"
                 } },
                 LoadBalancerNames = new [] { "loadBalancerNames" },
                 MaxInstanceLifetime = 123,
                 MaxSize = "maxSize",
                 MetricsCollection = new [] { new MetricsCollectionProperty {
                     Granularity = "granularity",
                     Metrics = new [] { "metrics" }
                 } },
                 MinSize = "minSize",
                 MixedInstancesPolicy = new MixedInstancesPolicyProperty {
                     InstancesDistribution = new InstancesDistributionProperty {
                         OnDemandAllocationStrategy = "onDemandAllocationStrategy",
                         OnDemandBaseCapacity = 123,
                         OnDemandPercentageAboveBaseCapacity = 123,
                         SpotAllocationStrategy = "spotAllocationStrategy",
                         SpotInstancePools = 123,
                         SpotMaxPrice = "spotMaxPrice"
                     },
                     LaunchTemplate = new LaunchTemplateProperty {
                         LaunchTemplateSpecification = new LaunchTemplateSpecificationProperty {
                             LaunchTemplateId = "launchTemplateId",
                             LaunchTemplateName = "launchTemplateName",
                             Version = "version"
                         },
                         Overrides = new [] { new LaunchTemplateOverridesProperty {
                             ImageId = "imageId",
                             InstanceRequirements = new InstanceRequirementsProperty {
                                 AcceleratorCount = new AcceleratorCountRequestProperty {
                                     Max = 123,
                                     Min = 123
                                 },
                                 AcceleratorManufacturers = new [] { "acceleratorManufacturers" },
                                 AcceleratorNames = new [] { "acceleratorNames" },
                                 AcceleratorTotalMemoryMiB = new AcceleratorTotalMemoryMiBRequestProperty {
                                     Max = 123,
                                     Min = 123
                                 },
                                 AcceleratorTypes = new [] { "acceleratorTypes" },
                                 AllowedInstanceTypes = new [] { "allowedInstanceTypes" },
                                 BareMetal = "bareMetal",
                                 BaselineEbsBandwidthMbps = new BaselineEbsBandwidthMbpsRequestProperty {
                                     Max = 123,
                                     Min = 123
                                 },
                                 BaselinePerformanceFactors = new BaselinePerformanceFactorsRequestProperty {
                                     Cpu = new CpuPerformanceFactorRequestProperty {
                                         References = new [] { new PerformanceFactorReferenceRequestProperty {
                                             InstanceFamily = "instanceFamily"
                                         } }
                                     }
                                 },
                                 BurstablePerformance = "burstablePerformance",
                                 CpuManufacturers = new [] { "cpuManufacturers" },
                                 ExcludedInstanceTypes = new [] { "excludedInstanceTypes" },
                                 InstanceGenerations = new [] { "instanceGenerations" },
                                 LocalStorage = "localStorage",
                                 LocalStorageTypes = new [] { "localStorageTypes" },
                                 MaxSpotPriceAsPercentageOfOptimalOnDemandPrice = 123,
                                 MemoryGiBPerVCpu = new MemoryGiBPerVCpuRequestProperty {
                                     Max = 123,
                                     Min = 123
                                 },
                                 MemoryMiB = new MemoryMiBRequestProperty {
                                     Max = 123,
                                     Min = 123
                                 },
                                 NetworkBandwidthGbps = new NetworkBandwidthGbpsRequestProperty {
                                     Max = 123,
                                     Min = 123
                                 },
                                 NetworkInterfaceCount = new NetworkInterfaceCountRequestProperty {
                                     Max = 123,
                                     Min = 123
                                 },
                                 OnDemandMaxPricePercentageOverLowestPrice = 123,
                                 RequireHibernateSupport = false,
                                 SpotMaxPricePercentageOverLowestPrice = 123,
                                 TotalLocalStorageGb = new TotalLocalStorageGBRequestProperty {
                                     Max = 123,
                                     Min = 123
                                 },
                                 VCpuCount = new VCpuCountRequestProperty {
                                     Max = 123,
                                     Min = 123
                                 }
                             },
                             InstanceType = "instanceType",
                             LaunchTemplateSpecification = new LaunchTemplateSpecificationProperty {
                                 LaunchTemplateId = "launchTemplateId",
                                 LaunchTemplateName = "launchTemplateName",
                                 Version = "version"
                             },
                             WeightedCapacity = "weightedCapacity"
                         } }
                     }
                 },
                 NewInstancesProtectedFromScaleIn = false,
                 NotificationConfiguration = new NotificationConfigurationProperty {
                     NotificationTypes = new [] { "notificationTypes" },
                     TopicArn = "topicArn"
                 },
                 NotificationConfigurations = new [] { new NotificationConfigurationProperty {
                     NotificationTypes = new [] { "notificationTypes" },
                     TopicArn = "topicArn"
                 } },
                 PlacementGroup = "placementGroup",
                 ServiceLinkedRoleArn = "serviceLinkedRoleArn",
                 SkipZonalShiftValidation = false,
                 Tags = new [] { new TagPropertyProperty {
                     Key = "key",
                     PropagateAtLaunch = false,
                     Value = "value"
                 } },
                 TargetGroupArns = new [] { "targetGroupArns" },
                 TerminationPolicies = new [] { "terminationPolicies" },
                 TrafficSources = new [] { new TrafficSourceIdentifierProperty {
                     Identifier = "identifier",
                     Type = "type"
                 } },
                 VpcZoneIdentifier = new [] { "vpcZoneIdentifier" }
             }, new CfnPropertyMixinOptions {
                 Strategy = PropertyMergeStrategy.OVERRIDE
             });

Props

The AWS::AutoScaling::AutoScalingGroup resource defines an Amazon EC2 Auto Scaling group, which is a collection of Amazon EC2 instances that are treated as a logical grouping for the purposes of automatic scaling and management.

protected virtual ICfnAutoScalingGroupMixinProps Props { get; }
Property Value

ICfnAutoScalingGroupMixinProps

Remarks

For more information about Amazon EC2 Auto Scaling, see the Amazon EC2 Auto Scaling User Guide .

Amazon EC2 Auto Scaling configures instances launched as part of an Auto Scaling group using either a <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html">launch template</a> or a launch configuration. We strongly recommend that you do not use launch configurations. For more information, see <a href="https://docs.aws.amazon.com/autoscaling/ec2/userguide/launch-configurations.html">Launch configurations</a> in the <em>Amazon EC2 Auto Scaling User Guide</em> .

For help migrating from launch configurations to launch templates, see Migrate AWS CloudFormation stacks from launch configurations to launch templates in the Amazon EC2 Auto Scaling User Guide .

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html

CloudformationResource: AWS::AutoScaling::AutoScalingGroup

Mixin: true

ExampleMetadata: fixture=_generated

Examples
// The code below shows an example of how to instantiate this type.
             // The values are placeholders you should change.
             using Amazon.CDK.Mixins.Preview.Mixins;
             using Amazon.CDK.Mixins.Preview.AWS.AutoScaling.Mixins;

             var cfnAutoScalingGroupPropsMixin = new CfnAutoScalingGroupPropsMixin(new CfnAutoScalingGroupMixinProps {
                 AutoScalingGroupName = "autoScalingGroupName",
                 AvailabilityZoneDistribution = new AvailabilityZoneDistributionProperty {
                     CapacityDistributionStrategy = "capacityDistributionStrategy"
                 },
                 AvailabilityZoneImpairmentPolicy = new AvailabilityZoneImpairmentPolicyProperty {
                     ImpairedZoneHealthCheckBehavior = "impairedZoneHealthCheckBehavior",
                     ZonalShiftEnabled = false
                 },
                 AvailabilityZones = new [] { "availabilityZones" },
                 CapacityRebalance = false,
                 CapacityReservationSpecification = new CapacityReservationSpecificationProperty {
                     CapacityReservationPreference = "capacityReservationPreference",
                     CapacityReservationTarget = new CapacityReservationTargetProperty {
                         CapacityReservationIds = new [] { "capacityReservationIds" },
                         CapacityReservationResourceGroupArns = new [] { "capacityReservationResourceGroupArns" }
                     }
                 },
                 Context = "context",
                 Cooldown = "cooldown",
                 DefaultInstanceWarmup = 123,
                 DesiredCapacity = "desiredCapacity",
                 DesiredCapacityType = "desiredCapacityType",
                 HealthCheckGracePeriod = 123,
                 HealthCheckType = "healthCheckType",
                 InstanceId = "instanceId",
                 InstanceLifecyclePolicy = new InstanceLifecyclePolicyProperty {
                     RetentionTriggers = new RetentionTriggersProperty {
                         TerminateHookAbandon = "terminateHookAbandon"
                     }
                 },
                 InstanceMaintenancePolicy = new InstanceMaintenancePolicyProperty {
                     MaxHealthyPercentage = 123,
                     MinHealthyPercentage = 123
                 },
                 LaunchConfigurationName = "launchConfigurationName",
                 LaunchTemplate = new LaunchTemplateSpecificationProperty {
                     LaunchTemplateId = "launchTemplateId",
                     LaunchTemplateName = "launchTemplateName",
                     Version = "version"
                 },
                 LifecycleHookSpecificationList = new [] { new LifecycleHookSpecificationProperty {
                     DefaultResult = "defaultResult",
                     HeartbeatTimeout = 123,
                     LifecycleHookName = "lifecycleHookName",
                     LifecycleTransition = "lifecycleTransition",
                     NotificationMetadata = "notificationMetadata",
                     NotificationTargetArn = "notificationTargetArn",
                     RoleArn = "roleArn"
                 } },
                 LoadBalancerNames = new [] { "loadBalancerNames" },
                 MaxInstanceLifetime = 123,
                 MaxSize = "maxSize",
                 MetricsCollection = new [] { new MetricsCollectionProperty {
                     Granularity = "granularity",
                     Metrics = new [] { "metrics" }
                 } },
                 MinSize = "minSize",
                 MixedInstancesPolicy = new MixedInstancesPolicyProperty {
                     InstancesDistribution = new InstancesDistributionProperty {
                         OnDemandAllocationStrategy = "onDemandAllocationStrategy",
                         OnDemandBaseCapacity = 123,
                         OnDemandPercentageAboveBaseCapacity = 123,
                         SpotAllocationStrategy = "spotAllocationStrategy",
                         SpotInstancePools = 123,
                         SpotMaxPrice = "spotMaxPrice"
                     },
                     LaunchTemplate = new LaunchTemplateProperty {
                         LaunchTemplateSpecification = new LaunchTemplateSpecificationProperty {
                             LaunchTemplateId = "launchTemplateId",
                             LaunchTemplateName = "launchTemplateName",
                             Version = "version"
                         },
                         Overrides = new [] { new LaunchTemplateOverridesProperty {
                             ImageId = "imageId",
                             InstanceRequirements = new InstanceRequirementsProperty {
                                 AcceleratorCount = new AcceleratorCountRequestProperty {
                                     Max = 123,
                                     Min = 123
                                 },
                                 AcceleratorManufacturers = new [] { "acceleratorManufacturers" },
                                 AcceleratorNames = new [] { "acceleratorNames" },
                                 AcceleratorTotalMemoryMiB = new AcceleratorTotalMemoryMiBRequestProperty {
                                     Max = 123,
                                     Min = 123
                                 },
                                 AcceleratorTypes = new [] { "acceleratorTypes" },
                                 AllowedInstanceTypes = new [] { "allowedInstanceTypes" },
                                 BareMetal = "bareMetal",
                                 BaselineEbsBandwidthMbps = new BaselineEbsBandwidthMbpsRequestProperty {
                                     Max = 123,
                                     Min = 123
                                 },
                                 BaselinePerformanceFactors = new BaselinePerformanceFactorsRequestProperty {
                                     Cpu = new CpuPerformanceFactorRequestProperty {
                                         References = new [] { new PerformanceFactorReferenceRequestProperty {
                                             InstanceFamily = "instanceFamily"
                                         } }
                                     }
                                 },
                                 BurstablePerformance = "burstablePerformance",
                                 CpuManufacturers = new [] { "cpuManufacturers" },
                                 ExcludedInstanceTypes = new [] { "excludedInstanceTypes" },
                                 InstanceGenerations = new [] { "instanceGenerations" },
                                 LocalStorage = "localStorage",
                                 LocalStorageTypes = new [] { "localStorageTypes" },
                                 MaxSpotPriceAsPercentageOfOptimalOnDemandPrice = 123,
                                 MemoryGiBPerVCpu = new MemoryGiBPerVCpuRequestProperty {
                                     Max = 123,
                                     Min = 123
                                 },
                                 MemoryMiB = new MemoryMiBRequestProperty {
                                     Max = 123,
                                     Min = 123
                                 },
                                 NetworkBandwidthGbps = new NetworkBandwidthGbpsRequestProperty {
                                     Max = 123,
                                     Min = 123
                                 },
                                 NetworkInterfaceCount = new NetworkInterfaceCountRequestProperty {
                                     Max = 123,
                                     Min = 123
                                 },
                                 OnDemandMaxPricePercentageOverLowestPrice = 123,
                                 RequireHibernateSupport = false,
                                 SpotMaxPricePercentageOverLowestPrice = 123,
                                 TotalLocalStorageGb = new TotalLocalStorageGBRequestProperty {
                                     Max = 123,
                                     Min = 123
                                 },
                                 VCpuCount = new VCpuCountRequestProperty {
                                     Max = 123,
                                     Min = 123
                                 }
                             },
                             InstanceType = "instanceType",
                             LaunchTemplateSpecification = new LaunchTemplateSpecificationProperty {
                                 LaunchTemplateId = "launchTemplateId",
                                 LaunchTemplateName = "launchTemplateName",
                                 Version = "version"
                             },
                             WeightedCapacity = "weightedCapacity"
                         } }
                     }
                 },
                 NewInstancesProtectedFromScaleIn = false,
                 NotificationConfiguration = new NotificationConfigurationProperty {
                     NotificationTypes = new [] { "notificationTypes" },
                     TopicArn = "topicArn"
                 },
                 NotificationConfigurations = new [] { new NotificationConfigurationProperty {
                     NotificationTypes = new [] { "notificationTypes" },
                     TopicArn = "topicArn"
                 } },
                 PlacementGroup = "placementGroup",
                 ServiceLinkedRoleArn = "serviceLinkedRoleArn",
                 SkipZonalShiftValidation = false,
                 Tags = new [] { new TagPropertyProperty {
                     Key = "key",
                     PropagateAtLaunch = false,
                     Value = "value"
                 } },
                 TargetGroupArns = new [] { "targetGroupArns" },
                 TerminationPolicies = new [] { "terminationPolicies" },
                 TrafficSources = new [] { new TrafficSourceIdentifierProperty {
                     Identifier = "identifier",
                     Type = "type"
                 } },
                 VpcZoneIdentifier = new [] { "vpcZoneIdentifier" }
             }, new CfnPropertyMixinOptions {
                 Strategy = PropertyMergeStrategy.OVERRIDE
             });

Strategy

The AWS::AutoScaling::AutoScalingGroup resource defines an Amazon EC2 Auto Scaling group, which is a collection of Amazon EC2 instances that are treated as a logical grouping for the purposes of automatic scaling and management.

protected virtual PropertyMergeStrategy Strategy { get; }
Property Value

PropertyMergeStrategy

Remarks

For more information about Amazon EC2 Auto Scaling, see the Amazon EC2 Auto Scaling User Guide .

Amazon EC2 Auto Scaling configures instances launched as part of an Auto Scaling group using either a <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html">launch template</a> or a launch configuration. We strongly recommend that you do not use launch configurations. For more information, see <a href="https://docs.aws.amazon.com/autoscaling/ec2/userguide/launch-configurations.html">Launch configurations</a> in the <em>Amazon EC2 Auto Scaling User Guide</em> .

For help migrating from launch configurations to launch templates, see Migrate AWS CloudFormation stacks from launch configurations to launch templates in the Amazon EC2 Auto Scaling User Guide .

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html

CloudformationResource: AWS::AutoScaling::AutoScalingGroup

Mixin: true

ExampleMetadata: fixture=_generated

Examples
// The code below shows an example of how to instantiate this type.
             // The values are placeholders you should change.
             using Amazon.CDK.Mixins.Preview.Mixins;
             using Amazon.CDK.Mixins.Preview.AWS.AutoScaling.Mixins;

             var cfnAutoScalingGroupPropsMixin = new CfnAutoScalingGroupPropsMixin(new CfnAutoScalingGroupMixinProps {
                 AutoScalingGroupName = "autoScalingGroupName",
                 AvailabilityZoneDistribution = new AvailabilityZoneDistributionProperty {
                     CapacityDistributionStrategy = "capacityDistributionStrategy"
                 },
                 AvailabilityZoneImpairmentPolicy = new AvailabilityZoneImpairmentPolicyProperty {
                     ImpairedZoneHealthCheckBehavior = "impairedZoneHealthCheckBehavior",
                     ZonalShiftEnabled = false
                 },
                 AvailabilityZones = new [] { "availabilityZones" },
                 CapacityRebalance = false,
                 CapacityReservationSpecification = new CapacityReservationSpecificationProperty {
                     CapacityReservationPreference = "capacityReservationPreference",
                     CapacityReservationTarget = new CapacityReservationTargetProperty {
                         CapacityReservationIds = new [] { "capacityReservationIds" },
                         CapacityReservationResourceGroupArns = new [] { "capacityReservationResourceGroupArns" }
                     }
                 },
                 Context = "context",
                 Cooldown = "cooldown",
                 DefaultInstanceWarmup = 123,
                 DesiredCapacity = "desiredCapacity",
                 DesiredCapacityType = "desiredCapacityType",
                 HealthCheckGracePeriod = 123,
                 HealthCheckType = "healthCheckType",
                 InstanceId = "instanceId",
                 InstanceLifecyclePolicy = new InstanceLifecyclePolicyProperty {
                     RetentionTriggers = new RetentionTriggersProperty {
                         TerminateHookAbandon = "terminateHookAbandon"
                     }
                 },
                 InstanceMaintenancePolicy = new InstanceMaintenancePolicyProperty {
                     MaxHealthyPercentage = 123,
                     MinHealthyPercentage = 123
                 },
                 LaunchConfigurationName = "launchConfigurationName",
                 LaunchTemplate = new LaunchTemplateSpecificationProperty {
                     LaunchTemplateId = "launchTemplateId",
                     LaunchTemplateName = "launchTemplateName",
                     Version = "version"
                 },
                 LifecycleHookSpecificationList = new [] { new LifecycleHookSpecificationProperty {
                     DefaultResult = "defaultResult",
                     HeartbeatTimeout = 123,
                     LifecycleHookName = "lifecycleHookName",
                     LifecycleTransition = "lifecycleTransition",
                     NotificationMetadata = "notificationMetadata",
                     NotificationTargetArn = "notificationTargetArn",
                     RoleArn = "roleArn"
                 } },
                 LoadBalancerNames = new [] { "loadBalancerNames" },
                 MaxInstanceLifetime = 123,
                 MaxSize = "maxSize",
                 MetricsCollection = new [] { new MetricsCollectionProperty {
                     Granularity = "granularity",
                     Metrics = new [] { "metrics" }
                 } },
                 MinSize = "minSize",
                 MixedInstancesPolicy = new MixedInstancesPolicyProperty {
                     InstancesDistribution = new InstancesDistributionProperty {
                         OnDemandAllocationStrategy = "onDemandAllocationStrategy",
                         OnDemandBaseCapacity = 123,
                         OnDemandPercentageAboveBaseCapacity = 123,
                         SpotAllocationStrategy = "spotAllocationStrategy",
                         SpotInstancePools = 123,
                         SpotMaxPrice = "spotMaxPrice"
                     },
                     LaunchTemplate = new LaunchTemplateProperty {
                         LaunchTemplateSpecification = new LaunchTemplateSpecificationProperty {
                             LaunchTemplateId = "launchTemplateId",
                             LaunchTemplateName = "launchTemplateName",
                             Version = "version"
                         },
                         Overrides = new [] { new LaunchTemplateOverridesProperty {
                             ImageId = "imageId",
                             InstanceRequirements = new InstanceRequirementsProperty {
                                 AcceleratorCount = new AcceleratorCountRequestProperty {
                                     Max = 123,
                                     Min = 123
                                 },
                                 AcceleratorManufacturers = new [] { "acceleratorManufacturers" },
                                 AcceleratorNames = new [] { "acceleratorNames" },
                                 AcceleratorTotalMemoryMiB = new AcceleratorTotalMemoryMiBRequestProperty {
                                     Max = 123,
                                     Min = 123
                                 },
                                 AcceleratorTypes = new [] { "acceleratorTypes" },
                                 AllowedInstanceTypes = new [] { "allowedInstanceTypes" },
                                 BareMetal = "bareMetal",
                                 BaselineEbsBandwidthMbps = new BaselineEbsBandwidthMbpsRequestProperty {
                                     Max = 123,
                                     Min = 123
                                 },
                                 BaselinePerformanceFactors = new BaselinePerformanceFactorsRequestProperty {
                                     Cpu = new CpuPerformanceFactorRequestProperty {
                                         References = new [] { new PerformanceFactorReferenceRequestProperty {
                                             InstanceFamily = "instanceFamily"
                                         } }
                                     }
                                 },
                                 BurstablePerformance = "burstablePerformance",
                                 CpuManufacturers = new [] { "cpuManufacturers" },
                                 ExcludedInstanceTypes = new [] { "excludedInstanceTypes" },
                                 InstanceGenerations = new [] { "instanceGenerations" },
                                 LocalStorage = "localStorage",
                                 LocalStorageTypes = new [] { "localStorageTypes" },
                                 MaxSpotPriceAsPercentageOfOptimalOnDemandPrice = 123,
                                 MemoryGiBPerVCpu = new MemoryGiBPerVCpuRequestProperty {
                                     Max = 123,
                                     Min = 123
                                 },
                                 MemoryMiB = new MemoryMiBRequestProperty {
                                     Max = 123,
                                     Min = 123
                                 },
                                 NetworkBandwidthGbps = new NetworkBandwidthGbpsRequestProperty {
                                     Max = 123,
                                     Min = 123
                                 },
                                 NetworkInterfaceCount = new NetworkInterfaceCountRequestProperty {
                                     Max = 123,
                                     Min = 123
                                 },
                                 OnDemandMaxPricePercentageOverLowestPrice = 123,
                                 RequireHibernateSupport = false,
                                 SpotMaxPricePercentageOverLowestPrice = 123,
                                 TotalLocalStorageGb = new TotalLocalStorageGBRequestProperty {
                                     Max = 123,
                                     Min = 123
                                 },
                                 VCpuCount = new VCpuCountRequestProperty {
                                     Max = 123,
                                     Min = 123
                                 }
                             },
                             InstanceType = "instanceType",
                             LaunchTemplateSpecification = new LaunchTemplateSpecificationProperty {
                                 LaunchTemplateId = "launchTemplateId",
                                 LaunchTemplateName = "launchTemplateName",
                                 Version = "version"
                             },
                             WeightedCapacity = "weightedCapacity"
                         } }
                     }
                 },
                 NewInstancesProtectedFromScaleIn = false,
                 NotificationConfiguration = new NotificationConfigurationProperty {
                     NotificationTypes = new [] { "notificationTypes" },
                     TopicArn = "topicArn"
                 },
                 NotificationConfigurations = new [] { new NotificationConfigurationProperty {
                     NotificationTypes = new [] { "notificationTypes" },
                     TopicArn = "topicArn"
                 } },
                 PlacementGroup = "placementGroup",
                 ServiceLinkedRoleArn = "serviceLinkedRoleArn",
                 SkipZonalShiftValidation = false,
                 Tags = new [] { new TagPropertyProperty {
                     Key = "key",
                     PropagateAtLaunch = false,
                     Value = "value"
                 } },
                 TargetGroupArns = new [] { "targetGroupArns" },
                 TerminationPolicies = new [] { "terminationPolicies" },
                 TrafficSources = new [] { new TrafficSourceIdentifierProperty {
                     Identifier = "identifier",
                     Type = "type"
                 } },
                 VpcZoneIdentifier = new [] { "vpcZoneIdentifier" }
             }, new CfnPropertyMixinOptions {
                 Strategy = PropertyMergeStrategy.OVERRIDE
             });

Methods

ApplyTo(IConstruct)

Apply the mixin properties to the construct.

public override IConstruct ApplyTo(IConstruct construct)
Parameters
construct IConstruct
Returns

IConstruct

Overrides
Mixin.ApplyTo(IConstruct)
Remarks

For more information about Amazon EC2 Auto Scaling, see the Amazon EC2 Auto Scaling User Guide .

Amazon EC2 Auto Scaling configures instances launched as part of an Auto Scaling group using either a <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html">launch template</a> or a launch configuration. We strongly recommend that you do not use launch configurations. For more information, see <a href="https://docs.aws.amazon.com/autoscaling/ec2/userguide/launch-configurations.html">Launch configurations</a> in the <em>Amazon EC2 Auto Scaling User Guide</em> .

For help migrating from launch configurations to launch templates, see Migrate AWS CloudFormation stacks from launch configurations to launch templates in the Amazon EC2 Auto Scaling User Guide .

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html

CloudformationResource: AWS::AutoScaling::AutoScalingGroup

Mixin: true

ExampleMetadata: fixture=_generated

Supports(IConstruct)

Check if this mixin supports the given construct.

public override bool Supports(IConstruct construct)
Parameters
construct IConstruct
Returns

bool

Overrides
Mixin.Supports(IConstruct)
Remarks

For more information about Amazon EC2 Auto Scaling, see the Amazon EC2 Auto Scaling User Guide .

Amazon EC2 Auto Scaling configures instances launched as part of an Auto Scaling group using either a <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-launchtemplate.html">launch template</a> or a launch configuration. We strongly recommend that you do not use launch configurations. For more information, see <a href="https://docs.aws.amazon.com/autoscaling/ec2/userguide/launch-configurations.html">Launch configurations</a> in the <em>Amazon EC2 Auto Scaling User Guide</em> .

For help migrating from launch configurations to launch templates, see Migrate AWS CloudFormation stacks from launch configurations to launch templates in the Amazon EC2 Auto Scaling User Guide .

See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-autoscaling-autoscalinggroup.html

CloudformationResource: AWS::AutoScaling::AutoScalingGroup

Mixin: true

ExampleMetadata: fixture=_generated

Implements

IMixin
Back to top Generated by DocFX