public static final class CfnAutoScalingGroup.InstanceRequirementsProperty.Builder
extends java.lang.Object
CfnAutoScalingGroup.InstanceRequirementsProperty
Constructor and Description |
---|
Builder() |
public CfnAutoScalingGroup.InstanceRequirementsProperty.Builder acceleratorCount(IResolvable acceleratorCount)
CfnAutoScalingGroup.InstanceRequirementsProperty.getAcceleratorCount()
acceleratorCount
- The minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips) for an instance type.
To exclude accelerator-enabled instance types, set Max
to 0
.
Default: No minimum or maximum limits
this
public CfnAutoScalingGroup.InstanceRequirementsProperty.Builder acceleratorCount(CfnAutoScalingGroup.AcceleratorCountRequestProperty acceleratorCount)
CfnAutoScalingGroup.InstanceRequirementsProperty.getAcceleratorCount()
acceleratorCount
- The minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips) for an instance type.
To exclude accelerator-enabled instance types, set Max
to 0
.
Default: No minimum or maximum limits
this
public CfnAutoScalingGroup.InstanceRequirementsProperty.Builder acceleratorManufacturers(java.util.List<java.lang.String> acceleratorManufacturers)
acceleratorManufacturers
- Indicates whether instance types must have accelerators by specific manufacturers.
nvidia
.amd
.amazon-web-services
.xilinx
.Default: Any manufacturer
this
public CfnAutoScalingGroup.InstanceRequirementsProperty.Builder acceleratorNames(java.util.List<java.lang.String> acceleratorNames)
CfnAutoScalingGroup.InstanceRequirementsProperty.getAcceleratorNames()
acceleratorNames
- Lists the accelerators that must be on an instance type.
a100
.v100
.k80
.t4
.m60
.radeon-pro-v520
.vu9p
.Default: Any accelerator
this
public CfnAutoScalingGroup.InstanceRequirementsProperty.Builder acceleratorTotalMemoryMiB(IResolvable acceleratorTotalMemoryMiB)
acceleratorTotalMemoryMiB
- The minimum and maximum total memory size for the accelerators on an instance type, in MiB.
Default: No minimum or maximum limitsthis
public CfnAutoScalingGroup.InstanceRequirementsProperty.Builder acceleratorTotalMemoryMiB(CfnAutoScalingGroup.AcceleratorTotalMemoryMiBRequestProperty acceleratorTotalMemoryMiB)
acceleratorTotalMemoryMiB
- The minimum and maximum total memory size for the accelerators on an instance type, in MiB.
Default: No minimum or maximum limitsthis
public CfnAutoScalingGroup.InstanceRequirementsProperty.Builder acceleratorTypes(java.util.List<java.lang.String> acceleratorTypes)
CfnAutoScalingGroup.InstanceRequirementsProperty.getAcceleratorTypes()
acceleratorTypes
- Lists the accelerator types that must be on an instance type.
gpu
.fpga
.inference
.Default: Any accelerator type
this
public CfnAutoScalingGroup.InstanceRequirementsProperty.Builder allowedInstanceTypes(java.util.List<java.lang.String> allowedInstanceTypes)
allowedInstanceTypes
- The instance types to apply your specified attributes against.
All other instance types are ignored, even if they match your specified attributes.
You can use strings with one or more wild cards, represented by an asterisk ( *
), to allow an instance type, size, or generation. The following are examples: m5.8xlarge
, c5*.*
, m5a.*
, r*
, *3*
.
For example, if you specify c5*
, Amazon EC2 Auto Scaling will allow the entire C5 instance family, which includes all C5a and C5n instance types. If you specify m5a.*
, Amazon EC2 Auto Scaling will allow all the M5a instance types, but not the M5n instance types.
If you specify
AllowedInstanceTypes
, you can't specifyExcludedInstanceTypes
.
Default: All instance types
this
public CfnAutoScalingGroup.InstanceRequirementsProperty.Builder bareMetal(java.lang.String bareMetal)
CfnAutoScalingGroup.InstanceRequirementsProperty.getBareMetal()
bareMetal
- Indicates whether bare metal instance types are included, excluded, or required.
Default: excluded
this
public CfnAutoScalingGroup.InstanceRequirementsProperty.Builder baselineEbsBandwidthMbps(IResolvable baselineEbsBandwidthMbps)
baselineEbsBandwidthMbps
- The minimum and maximum baseline bandwidth performance for an instance type, in Mbps.
For more information, see Amazon EBS–optimized instances in the Amazon EC2 User Guide for Linux Instances .
Default: No minimum or maximum limits
this
public CfnAutoScalingGroup.InstanceRequirementsProperty.Builder baselineEbsBandwidthMbps(CfnAutoScalingGroup.BaselineEbsBandwidthMbpsRequestProperty baselineEbsBandwidthMbps)
baselineEbsBandwidthMbps
- The minimum and maximum baseline bandwidth performance for an instance type, in Mbps.
For more information, see Amazon EBS–optimized instances in the Amazon EC2 User Guide for Linux Instances .
Default: No minimum or maximum limits
this
public CfnAutoScalingGroup.InstanceRequirementsProperty.Builder burstablePerformance(java.lang.String burstablePerformance)
burstablePerformance
- Indicates whether burstable performance instance types are included, excluded, or required.
For more information, see Burstable performance instances in the Amazon EC2 User Guide for Linux Instances .
Default: excluded
this
public CfnAutoScalingGroup.InstanceRequirementsProperty.Builder cpuManufacturers(java.util.List<java.lang.String> cpuManufacturers)
CfnAutoScalingGroup.InstanceRequirementsProperty.getCpuManufacturers()
cpuManufacturers
- Lists which specific CPU manufacturers to include.
intel
.amd
.amazon-web-services
.
Don't confuse the CPU hardware manufacturer with the CPU hardware architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template.
Default: Any manufacturer
this
public CfnAutoScalingGroup.InstanceRequirementsProperty.Builder excludedInstanceTypes(java.util.List<java.lang.String> excludedInstanceTypes)
excludedInstanceTypes
- The instance types to exclude.
You can use strings with one or more wild cards, represented by an asterisk ( *
), to exclude an instance family, type, size, or generation. The following are examples: m5.8xlarge
, c5*.*
, m5a.*
, r*
, *3*
.
For example, if you specify c5*
, you are excluding the entire C5 instance family, which includes all C5a and C5n instance types. If you specify m5a.*
, Amazon EC2 Auto Scaling will exclude all the M5a instance types, but not the M5n instance types.
If you specify
ExcludedInstanceTypes
, you can't specifyAllowedInstanceTypes
.
Default: No excluded instance types
this
public CfnAutoScalingGroup.InstanceRequirementsProperty.Builder instanceGenerations(java.util.List<java.lang.String> instanceGenerations)
instanceGenerations
- Indicates whether current or previous generation instance types are included.
current
. The current generation includes EC2 instance types currently recommended for use. This typically includes the latest two to three generations in each instance family. For more information, see Instance types in the Amazon EC2 User Guide for Linux Instances .previous
.Default: Any current or previous generation
this
public CfnAutoScalingGroup.InstanceRequirementsProperty.Builder localStorage(java.lang.String localStorage)
CfnAutoScalingGroup.InstanceRequirementsProperty.getLocalStorage()
localStorage
- Indicates whether instance types with instance store volumes are included, excluded, or required.
For more information, see Amazon EC2 instance store in the Amazon EC2 User Guide for Linux Instances .
Default: included
this
public CfnAutoScalingGroup.InstanceRequirementsProperty.Builder localStorageTypes(java.util.List<java.lang.String> localStorageTypes)
CfnAutoScalingGroup.InstanceRequirementsProperty.getLocalStorageTypes()
localStorageTypes
- Indicates the type of local storage that is required.
hdd
.ssd
.Default: Any local storage type
this
public CfnAutoScalingGroup.InstanceRequirementsProperty.Builder memoryGiBPerVCpu(IResolvable memoryGiBPerVCpu)
CfnAutoScalingGroup.InstanceRequirementsProperty.getMemoryGiBPerVCpu()
memoryGiBPerVCpu
- The minimum and maximum amount of memory per vCPU for an instance type, in GiB.
Default: No minimum or maximum limitsthis
public CfnAutoScalingGroup.InstanceRequirementsProperty.Builder memoryGiBPerVCpu(CfnAutoScalingGroup.MemoryGiBPerVCpuRequestProperty memoryGiBPerVCpu)
CfnAutoScalingGroup.InstanceRequirementsProperty.getMemoryGiBPerVCpu()
memoryGiBPerVCpu
- The minimum and maximum amount of memory per vCPU for an instance type, in GiB.
Default: No minimum or maximum limitsthis
public CfnAutoScalingGroup.InstanceRequirementsProperty.Builder memoryMiB(IResolvable memoryMiB)
CfnAutoScalingGroup.InstanceRequirementsProperty.getMemoryMiB()
memoryMiB
- The minimum and maximum instance memory size for an instance type, in MiB.this
public CfnAutoScalingGroup.InstanceRequirementsProperty.Builder memoryMiB(CfnAutoScalingGroup.MemoryMiBRequestProperty memoryMiB)
CfnAutoScalingGroup.InstanceRequirementsProperty.getMemoryMiB()
memoryMiB
- The minimum and maximum instance memory size for an instance type, in MiB.this
public CfnAutoScalingGroup.InstanceRequirementsProperty.Builder networkBandwidthGbps(IResolvable networkBandwidthGbps)
networkBandwidthGbps
- The minimum and maximum amount of network bandwidth, in gigabits per second (Gbps).
Default: No minimum or maximum limitsthis
public CfnAutoScalingGroup.InstanceRequirementsProperty.Builder networkBandwidthGbps(CfnAutoScalingGroup.NetworkBandwidthGbpsRequestProperty networkBandwidthGbps)
networkBandwidthGbps
- The minimum and maximum amount of network bandwidth, in gigabits per second (Gbps).
Default: No minimum or maximum limitsthis
public CfnAutoScalingGroup.InstanceRequirementsProperty.Builder networkInterfaceCount(IResolvable networkInterfaceCount)
networkInterfaceCount
- The minimum and maximum number of network interfaces for an instance type.
Default: No minimum or maximum limitsthis
public CfnAutoScalingGroup.InstanceRequirementsProperty.Builder networkInterfaceCount(CfnAutoScalingGroup.NetworkInterfaceCountRequestProperty networkInterfaceCount)
networkInterfaceCount
- The minimum and maximum number of network interfaces for an instance type.
Default: No minimum or maximum limitsthis
public CfnAutoScalingGroup.InstanceRequirementsProperty.Builder onDemandMaxPricePercentageOverLowestPrice(java.lang.Number onDemandMaxPricePercentageOverLowestPrice)
CfnAutoScalingGroup.InstanceRequirementsProperty.getOnDemandMaxPricePercentageOverLowestPrice()
onDemandMaxPricePercentageOverLowestPrice
- The price protection threshold for On-Demand Instances.
This is the maximum you’ll pay for an On-Demand Instance, expressed as a percentage higher than the least expensive current generation M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999
.
If you set DesiredCapacityType
to vcpu
or memory-mib
, the price protection threshold is applied based on the per vCPU or per memory price instead of the per instance price.
Default: 20
this
public CfnAutoScalingGroup.InstanceRequirementsProperty.Builder requireHibernateSupport(java.lang.Boolean requireHibernateSupport)
requireHibernateSupport
- Indicates whether instance types must provide On-Demand Instance hibernation support.
Default: false
this
public CfnAutoScalingGroup.InstanceRequirementsProperty.Builder requireHibernateSupport(IResolvable requireHibernateSupport)
requireHibernateSupport
- Indicates whether instance types must provide On-Demand Instance hibernation support.
Default: false
this
public CfnAutoScalingGroup.InstanceRequirementsProperty.Builder spotMaxPricePercentageOverLowestPrice(java.lang.Number spotMaxPricePercentageOverLowestPrice)
CfnAutoScalingGroup.InstanceRequirementsProperty.getSpotMaxPricePercentageOverLowestPrice()
spotMaxPricePercentageOverLowestPrice
- The price protection threshold for Spot Instances.
This is the maximum you’ll pay for a Spot Instance, expressed as a percentage higher than the least expensive current generation M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999
.
If you set DesiredCapacityType
to vcpu
or memory-mib
, the price protection threshold is applied based on the per vCPU or per memory price instead of the per instance price.
Default: 100
this
public CfnAutoScalingGroup.InstanceRequirementsProperty.Builder totalLocalStorageGb(IResolvable totalLocalStorageGb)
totalLocalStorageGb
- The minimum and maximum total local storage size for an instance type, in GB.
Default: No minimum or maximum limitsthis
public CfnAutoScalingGroup.InstanceRequirementsProperty.Builder totalLocalStorageGb(CfnAutoScalingGroup.TotalLocalStorageGBRequestProperty totalLocalStorageGb)
totalLocalStorageGb
- The minimum and maximum total local storage size for an instance type, in GB.
Default: No minimum or maximum limitsthis
public CfnAutoScalingGroup.InstanceRequirementsProperty.Builder vCpuCount(IResolvable vCpuCount)
CfnAutoScalingGroup.InstanceRequirementsProperty.getVCpuCount()
vCpuCount
- The minimum and maximum number of vCPUs for an instance type.this
public CfnAutoScalingGroup.InstanceRequirementsProperty.Builder vCpuCount(CfnAutoScalingGroup.VCpuCountRequestProperty vCpuCount)
CfnAutoScalingGroup.InstanceRequirementsProperty.getVCpuCount()
vCpuCount
- The minimum and maximum number of vCPUs for an instance type.this
public CfnAutoScalingGroup.InstanceRequirementsProperty build()
CfnAutoScalingGroup.InstanceRequirementsProperty
java.lang.NullPointerException
- if any required attribute was not provided