interface LaunchTemplateOverrides
Language | Type name |
---|---|
.NET | Amazon.CDK.AWS.AutoScaling.LaunchTemplateOverrides |
Go | github.com/aws/aws-cdk-go/awscdk/v2/awsautoscaling#LaunchTemplateOverrides |
Java | software.amazon.awscdk.services.autoscaling.LaunchTemplateOverrides |
Python | aws_cdk.aws_autoscaling.LaunchTemplateOverrides |
TypeScript (source) | aws-cdk-lib » aws_autoscaling » LaunchTemplateOverrides |
LaunchTemplateOverrides is a subproperty of LaunchTemplate that describes an override for a launch template.
Example
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import { aws_autoscaling as autoscaling } from 'aws-cdk-lib';
import { aws_ec2 as ec2 } from 'aws-cdk-lib';
declare const instanceType: ec2.InstanceType;
declare const launchTemplate: ec2.LaunchTemplate;
const launchTemplateOverrides: autoscaling.LaunchTemplateOverrides = {
instanceRequirements: {
memoryMiB: {
max: 123,
min: 123,
},
vCpuCount: {
max: 123,
min: 123,
},
// the properties below are optional
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,
},
networkBandwidthGbps: {
max: 123,
min: 123,
},
networkInterfaceCount: {
max: 123,
min: 123,
},
onDemandMaxPricePercentageOverLowestPrice: 123,
requireHibernateSupport: false,
spotMaxPricePercentageOverLowestPrice: 123,
totalLocalStorageGb: {
max: 123,
min: 123,
},
},
instanceType: instanceType,
launchTemplate: launchTemplate,
weightedCapacity: 123,
};
Properties
Name | Type | Description |
---|---|---|
instance | Instance | The instance requirements. |
instance | Instance | The instance type, such as m3.xlarge. You must use an instance type that is supported in your requested Region and Availability Zones. |
launch | ILaunch | Provides the launch template to be used when launching the instance type. |
weighted | number | The number of capacity units provided by the specified instance type in terms of virtual CPUs, memory, storage, throughput, or other relative performance characteristic. |
instanceRequirements?
Type:
Instance
(optional, default: Do not override instance type)
The instance requirements.
Amazon EC2 Auto Scaling uses your specified requirements to identify instance types. Then, it uses your On-Demand and Spot allocation strategies to launch instances from these instance types.
You can specify up to four separate sets of instance requirements per Auto Scaling group. This is useful for provisioning instances from different Amazon Machine Images (AMIs) in the same Auto Scaling group. To do this, create the AMIs and create a new launch template for each AMI. Then, create a compatible set of instance requirements for each launch template.
You must specify one of instanceRequirements or instanceType.
instanceType?
Type:
Instance
(optional, default: Do not override instance type)
The instance type, such as m3.xlarge. You must use an instance type that is supported in your requested Region and Availability Zones.
You must specify one of instanceRequirements or instanceType.
launchTemplate?
Type:
ILaunch
(optional, default: Do not override launch template)
Provides the launch template to be used when launching the instance type.
For example, some instance types might require a launch template with a different AMI. If not provided, Amazon EC2 Auto Scaling uses the launch template that's defined for your mixed instances policy.
weightedCapacity?
Type:
number
(optional, default: Do not provide weight)
The number of capacity units provided by the specified instance type in terms of virtual CPUs, memory, storage, throughput, or other relative performance characteristic.
When a Spot or On-Demand Instance is provisioned, the capacity units count toward the desired capacity. Amazon EC2 Auto Scaling provisions instances until the desired capacity is totally fulfilled, even if this results in an overage. Value must be in the range of 1 to 999.
For example, If there are 2 units remaining to fulfill capacity, and Amazon EC2 Auto Scaling can only provision an instance with a WeightedCapacity of 5 units, the instance is provisioned, and the desired capacity is exceeded by 3 units.
See also: https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-instance-weighting.html