@Stability(value=Stable)
public static interface CfnAutoScalingGroup.LaunchTemplateOverridesProperty
extends software.amazon.jsii.JsiiSerializable
If you supply your own instance types, the maximum number of instance types that can be associated with an Auto Scaling group is 40. The maximum number of distinct launch templates you can define for an Auto Scaling group is 20.
Example:
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import software.amazon.awscdk.services.autoscaling.*;
LaunchTemplateOverridesProperty launchTemplateOverridesProperty = LaunchTemplateOverridesProperty.builder()
.instanceRequirements(InstanceRequirementsProperty.builder()
.acceleratorCount(AcceleratorCountRequestProperty.builder()
.max(123)
.min(123)
.build())
.acceleratorManufacturers(List.of("acceleratorManufacturers"))
.acceleratorNames(List.of("acceleratorNames"))
.acceleratorTotalMemoryMiB(AcceleratorTotalMemoryMiBRequestProperty.builder()
.max(123)
.min(123)
.build())
.acceleratorTypes(List.of("acceleratorTypes"))
.bareMetal("bareMetal")
.baselineEbsBandwidthMbps(BaselineEbsBandwidthMbpsRequestProperty.builder()
.max(123)
.min(123)
.build())
.burstablePerformance("burstablePerformance")
.cpuManufacturers(List.of("cpuManufacturers"))
.excludedInstanceTypes(List.of("excludedInstanceTypes"))
.instanceGenerations(List.of("instanceGenerations"))
.localStorage("localStorage")
.localStorageTypes(List.of("localStorageTypes"))
.memoryGiBPerVCpu(MemoryGiBPerVCpuRequestProperty.builder()
.max(123)
.min(123)
.build())
.memoryMiB(MemoryMiBRequestProperty.builder()
.max(123)
.min(123)
.build())
.networkInterfaceCount(NetworkInterfaceCountRequestProperty.builder()
.max(123)
.min(123)
.build())
.onDemandMaxPricePercentageOverLowestPrice(123)
.requireHibernateSupport(false)
.spotMaxPricePercentageOverLowestPrice(123)
.totalLocalStorageGb(TotalLocalStorageGBRequestProperty.builder()
.max(123)
.min(123)
.build())
.vCpuCount(VCpuCountRequestProperty.builder()
.max(123)
.min(123)
.build())
.build())
.instanceType("instanceType")
.launchTemplateSpecification(LaunchTemplateSpecificationProperty.builder()
.version("version")
// the properties below are optional
.launchTemplateId("launchTemplateId")
.launchTemplateName("launchTemplateName")
.build())
.weightedCapacity("weightedCapacity")
.build();
| Modifier and Type | Interface and Description |
|---|---|
static class |
CfnAutoScalingGroup.LaunchTemplateOverridesProperty.Builder
A builder for
CfnAutoScalingGroup.LaunchTemplateOverridesProperty |
static class |
CfnAutoScalingGroup.LaunchTemplateOverridesProperty.Jsii$Proxy
An implementation for
CfnAutoScalingGroup.LaunchTemplateOverridesProperty |
| Modifier and Type | Method and Description |
|---|---|
static CfnAutoScalingGroup.LaunchTemplateOverridesProperty.Builder |
builder() |
default Object |
getInstanceRequirements()
The instance requirements.
|
default String |
getInstanceType()
The instance type, such as `m3.xlarge` .
|
default Object |
getLaunchTemplateSpecification()
Provides a launch template for the specified instance type or instance requirements.
|
default String |
getWeightedCapacity()
The number of capacity units provided by the instance type specified in `InstanceType` in terms of virtual CPUs, memory, storage, throughput, or other relative performance characteristic.
|
@Stability(value=Stable) @Nullable default Object getInstanceRequirements()
When you specify instance requirements, Amazon EC2 Auto Scaling finds instance types that satisfy your requirements, and then uses your On-Demand and Spot allocation strategies to launch instances from these instance types, in the same way as when you specify a list of specific instance types.
InstanceRequirementsare incompatible with theInstanceTypeandWeightedCapacityproperties.
@Stability(value=Stable) @Nullable default String getInstanceType()
@Stability(value=Stable) @Nullable default Object getLaunchTemplateSpecification()
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. For more information, see Specifying a different launch template for an instance type in the Amazon EC2 Auto Scaling User Guide .
@Stability(value=Stable) @Nullable default String getWeightedCapacity()
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. 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. For more information, see Configure instance weighting for Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide . Value must be in the range of 1-999.
Every Auto Scaling group has three size parameters (
DesiredCapacity,MaxSize, andMinSize). Usually, you set these sizes based on a specific number of instances. However, if you configure a mixed instances policy that defines weights for the instance types, you must specify these sizes with the same units that you use for weighting instances.
@Stability(value=Stable) static CfnAutoScalingGroup.LaunchTemplateOverridesProperty.Builder builder()
Copyright © 2022. All rights reserved.