class CfnAutoScalingGroupPropsMixin
| Language | Type name |
|---|---|
.NET | Amazon.CDK.Mixins.Preview.AWS.AutoScaling.Mixins.CfnAutoScalingGroupPropsMixin |
Go | github.com/aws/aws-cdk-go/awscdkmixinspreview/v2/awsautoscaling/mixins#CfnAutoScalingGroupPropsMixin |
Java | software.amazon.awscdk.mixins.preview.services.autoscaling.mixins.CfnAutoScalingGroupPropsMixin |
Python | aws_cdk.mixins_preview.aws_autoscaling.mixins.CfnAutoScalingGroupPropsMixin |
TypeScript | @aws-cdk/mixins-preview » aws_autoscaling » mixins » CfnAutoScalingGroupPropsMixin |
Implements
IMixin
Extends
Mixin
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.
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 launch template or a launch configuration. We strongly recommend that you do not use launch configurations. For more information, see Launch configurations in the Amazon EC2 Auto Scaling User Guide .
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 .
Example
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import { mixins } from '@aws-cdk/mixins-preview';
import { mixins as autoscaling_mixins } from '@aws-cdk/mixins-preview/aws-autoscaling';
const cfnAutoScalingGroupPropsMixin = new autoscaling_mixins.CfnAutoScalingGroupPropsMixin({
autoScalingGroupName: 'autoScalingGroupName',
availabilityZoneDistribution: {
capacityDistributionStrategy: 'capacityDistributionStrategy',
},
availabilityZoneImpairmentPolicy: {
impairedZoneHealthCheckBehavior: 'impairedZoneHealthCheckBehavior',
zonalShiftEnabled: false,
},
availabilityZones: ['availabilityZones'],
capacityRebalance: false,
capacityReservationSpecification: {
capacityReservationPreference: 'capacityReservationPreference',
capacityReservationTarget: {
capacityReservationIds: ['capacityReservationIds'],
capacityReservationResourceGroupArns: ['capacityReservationResourceGroupArns'],
},
},
context: 'context',
cooldown: 'cooldown',
defaultInstanceWarmup: 123,
desiredCapacity: 'desiredCapacity',
desiredCapacityType: 'desiredCapacityType',
healthCheckGracePeriod: 123,
healthCheckType: 'healthCheckType',
instanceId: 'instanceId',
instanceLifecyclePolicy: {
retentionTriggers: {
terminateHookAbandon: 'terminateHookAbandon',
},
},
instanceMaintenancePolicy: {
maxHealthyPercentage: 123,
minHealthyPercentage: 123,
},
launchConfigurationName: 'launchConfigurationName',
launchTemplate: {
launchTemplateId: 'launchTemplateId',
launchTemplateName: 'launchTemplateName',
version: 'version',
},
lifecycleHookSpecificationList: [{
defaultResult: 'defaultResult',
heartbeatTimeout: 123,
lifecycleHookName: 'lifecycleHookName',
lifecycleTransition: 'lifecycleTransition',
notificationMetadata: 'notificationMetadata',
notificationTargetArn: 'notificationTargetArn',
roleArn: 'roleArn',
}],
loadBalancerNames: ['loadBalancerNames'],
maxInstanceLifetime: 123,
maxSize: 'maxSize',
metricsCollection: [{
granularity: 'granularity',
metrics: ['metrics'],
}],
minSize: 'minSize',
mixedInstancesPolicy: {
instancesDistribution: {
onDemandAllocationStrategy: 'onDemandAllocationStrategy',
onDemandBaseCapacity: 123,
onDemandPercentageAboveBaseCapacity: 123,
spotAllocationStrategy: 'spotAllocationStrategy',
spotInstancePools: 123,
spotMaxPrice: 'spotMaxPrice',
},
launchTemplate: {
launchTemplateSpecification: {
launchTemplateId: 'launchTemplateId',
launchTemplateName: 'launchTemplateName',
version: 'version',
},
overrides: [{
imageId: 'imageId',
instanceRequirements: {
acceleratorCount: {
max: 123,
min: 123,
},
acceleratorManufacturers: ['acceleratorManufacturers'],
acceleratorNames: ['acceleratorNames'],
acceleratorTotalMemoryMiB: {
max: 123,
min: 123,
},
acceleratorTypes: ['acceleratorTypes'],
allowedInstanceTypes: ['allowedInstanceTypes'],
bareMetal: 'bareMetal',
baselineEbsBandwidthMbps: {
max: 123,
min: 123,
},
baselinePerformanceFactors: {
cpu: {
references: [{
instanceFamily: 'instanceFamily',
}],
},
},
burstablePerformance: 'burstablePerformance',
cpuManufacturers: ['cpuManufacturers'],
excludedInstanceTypes: ['excludedInstanceTypes'],
instanceGenerations: ['instanceGenerations'],
localStorage: 'localStorage',
localStorageTypes: ['localStorageTypes'],
maxSpotPriceAsPercentageOfOptimalOnDemandPrice: 123,
memoryGiBPerVCpu: {
max: 123,
min: 123,
},
memoryMiB: {
max: 123,
min: 123,
},
networkBandwidthGbps: {
max: 123,
min: 123,
},
networkInterfaceCount: {
max: 123,
min: 123,
},
onDemandMaxPricePercentageOverLowestPrice: 123,
requireHibernateSupport: false,
spotMaxPricePercentageOverLowestPrice: 123,
totalLocalStorageGb: {
max: 123,
min: 123,
},
vCpuCount: {
max: 123,
min: 123,
},
},
instanceType: 'instanceType',
launchTemplateSpecification: {
launchTemplateId: 'launchTemplateId',
launchTemplateName: 'launchTemplateName',
version: 'version',
},
weightedCapacity: 'weightedCapacity',
}],
},
},
newInstancesProtectedFromScaleIn: false,
notificationConfiguration: {
notificationTypes: ['notificationTypes'],
topicArn: 'topicArn',
},
notificationConfigurations: [{
notificationTypes: ['notificationTypes'],
topicArn: 'topicArn',
}],
placementGroup: 'placementGroup',
serviceLinkedRoleArn: 'serviceLinkedRoleArn',
skipZonalShiftValidation: false,
tags: [{
key: 'key',
propagateAtLaunch: false,
value: 'value',
}],
targetGroupArns: ['targetGroupArns'],
terminationPolicies: ['terminationPolicies'],
trafficSources: [{
identifier: 'identifier',
type: 'type',
}],
vpcZoneIdentifier: ['vpcZoneIdentifier'],
}, /* all optional props */ {
strategy: mixins.PropertyMergeStrategy.OVERRIDE,
});
Initializer
new CfnAutoScalingGroupPropsMixin(props: CfnAutoScalingGroupMixinProps, options?: CfnPropertyMixinOptions)
Parameters
- props
Cfn— L1 properties to apply.Auto Scaling Group Mixin Props - options
Cfn— Mixin options.Property Mixin Options
Create a mixin to apply properties to AWS::AutoScaling::AutoScalingGroup.
Properties
| Name | Type | Description |
|---|---|---|
| props | Cfn | |
| strategy | Property | |
| static CFN_PROPERTY_KEYS | string[] |
props
Type:
Cfn
strategy
Type:
Property
static CFN_PROPERTY_KEYS
Type:
string[]
Methods
| Name | Description |
|---|---|
| apply | Apply the mixin properties to the construct. |
| supports(construct) | Check if this mixin supports the given construct. |
applyTo(construct)
public applyTo(construct: IConstruct): IConstruct
Parameters
- construct
IConstruct
Returns
Apply the mixin properties to the construct.
supports(construct)
public supports(construct: IConstruct): boolean
Parameters
- construct
IConstruct
Returns
boolean
Check if this mixin supports the given construct.

.NET
Go
Java
Python
TypeScript