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.
Implements
Inherited Members
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 .
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 |
Properties
| CFN_PROPERTY_KEYS | The |
| Props | The |
| Strategy | The |
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 .
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 .
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 .
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
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 .
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
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 .
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
Overrides
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 .
CloudformationResource: AWS::AutoScaling::AutoScalingGroup
Mixin: true
ExampleMetadata: fixture=_generated