Class CfnCapacityProviderPropsMixin.InstanceRequirementsRequestProperty.Builder
java.lang.Object
software.amazon.awscdk.cfnpropertymixins.services.ecs.CfnCapacityProviderPropsMixin.InstanceRequirementsRequestProperty.Builder
- All Implemented Interfaces:
software.amazon.jsii.Builder<CfnCapacityProviderPropsMixin.InstanceRequirementsRequestProperty>
- Enclosing interface:
CfnCapacityProviderPropsMixin.InstanceRequirementsRequestProperty
@Stability(Stable)
public static final class CfnCapacityProviderPropsMixin.InstanceRequirementsRequestProperty.Builder
extends Object
implements software.amazon.jsii.Builder<CfnCapacityProviderPropsMixin.InstanceRequirementsRequestProperty>
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionacceleratorCount(IResolvable acceleratorCount) acceleratorManufacturers(List<String> acceleratorManufacturers) acceleratorNames(List<String> acceleratorNames) acceleratorTotalMemoryMiB(CfnCapacityProviderPropsMixin.AcceleratorTotalMemoryMiBRequestProperty acceleratorTotalMemoryMiB) acceleratorTotalMemoryMiB(IResolvable acceleratorTotalMemoryMiB) acceleratorTypes(List<String> acceleratorTypes) allowedInstanceTypes(List<String> allowedInstanceTypes) baselineEbsBandwidthMbps(CfnCapacityProviderPropsMixin.BaselineEbsBandwidthMbpsRequestProperty baselineEbsBandwidthMbps) baselineEbsBandwidthMbps(IResolvable baselineEbsBandwidthMbps) build()Builds the configured instance.burstablePerformance(String burstablePerformance) cpuManufacturers(List<String> cpuManufacturers) excludedInstanceTypes(List<String> excludedInstanceTypes) instanceGenerations(List<String> instanceGenerations) localStorage(String localStorage) localStorageTypes(List<String> localStorageTypes) maxSpotPriceAsPercentageOfOptimalOnDemandPrice(Number maxSpotPriceAsPercentageOfOptimalOnDemandPrice) memoryGiBPerVCpu(IResolvable memoryGiBPerVCpu) memoryMiB(IResolvable memoryMiB) networkBandwidthGbps(CfnCapacityProviderPropsMixin.NetworkBandwidthGbpsRequestProperty networkBandwidthGbps) networkBandwidthGbps(IResolvable networkBandwidthGbps) networkInterfaceCount(CfnCapacityProviderPropsMixin.NetworkInterfaceCountRequestProperty networkInterfaceCount) networkInterfaceCount(IResolvable networkInterfaceCount) onDemandMaxPricePercentageOverLowestPrice(Number onDemandMaxPricePercentageOverLowestPrice) requireHibernateSupport(Boolean requireHibernateSupport) requireHibernateSupport(IResolvable requireHibernateSupport) spotMaxPricePercentageOverLowestPrice(Number spotMaxPricePercentageOverLowestPrice) totalLocalStorageGb(CfnCapacityProviderPropsMixin.TotalLocalStorageGBRequestProperty totalLocalStorageGb) totalLocalStorageGb(IResolvable totalLocalStorageGb) vCpuCount(IResolvable vCpuCount)
-
Constructor Details
-
Builder
public Builder()
-
-
Method Details
-
acceleratorCount
@Stability(Stable) public CfnCapacityProviderPropsMixin.InstanceRequirementsRequestProperty.Builder acceleratorCount(IResolvable acceleratorCount) Sets the value ofCfnCapacityProviderPropsMixin.InstanceRequirementsRequestProperty.getAcceleratorCount()- Parameters:
acceleratorCount- The minimum and maximum number of accelerators for the instance types. This is used when you need instances with specific numbers of GPUs or other accelerators.- Returns:
this
-
acceleratorCount
@Stability(Stable) public CfnCapacityProviderPropsMixin.InstanceRequirementsRequestProperty.Builder acceleratorCount(CfnCapacityProviderPropsMixin.AcceleratorCountRequestProperty acceleratorCount) Sets the value ofCfnCapacityProviderPropsMixin.InstanceRequirementsRequestProperty.getAcceleratorCount()- Parameters:
acceleratorCount- The minimum and maximum number of accelerators for the instance types. This is used when you need instances with specific numbers of GPUs or other accelerators.- Returns:
this
-
acceleratorManufacturers
@Stability(Stable) public CfnCapacityProviderPropsMixin.InstanceRequirementsRequestProperty.Builder acceleratorManufacturers(List<String> acceleratorManufacturers) Sets the value ofCfnCapacityProviderPropsMixin.InstanceRequirementsRequestProperty.getAcceleratorManufacturers()- Parameters:
acceleratorManufacturers- The accelerator manufacturers to include. You can specifynvidia,amd,amazon-web-services, orxilinxdepending on your accelerator requirements.- Returns:
this
-
acceleratorNames
@Stability(Stable) public CfnCapacityProviderPropsMixin.InstanceRequirementsRequestProperty.Builder acceleratorNames(List<String> acceleratorNames) Sets the value ofCfnCapacityProviderPropsMixin.InstanceRequirementsRequestProperty.getAcceleratorNames()- Parameters:
acceleratorNames- The specific accelerator names to include. For example, you can specifya100,v100,k80, or other specific accelerator models.- Returns:
this
-
acceleratorTotalMemoryMiB
@Stability(Stable) public CfnCapacityProviderPropsMixin.InstanceRequirementsRequestProperty.Builder acceleratorTotalMemoryMiB(IResolvable acceleratorTotalMemoryMiB) Sets the value ofCfnCapacityProviderPropsMixin.InstanceRequirementsRequestProperty.getAcceleratorTotalMemoryMiB()- Parameters:
acceleratorTotalMemoryMiB- The minimum and maximum total accelerator memory in mebibytes (MiB). This is important for GPU workloads that require specific amounts of video memory.- Returns:
this
-
acceleratorTotalMemoryMiB
@Stability(Stable) public CfnCapacityProviderPropsMixin.InstanceRequirementsRequestProperty.Builder acceleratorTotalMemoryMiB(CfnCapacityProviderPropsMixin.AcceleratorTotalMemoryMiBRequestProperty acceleratorTotalMemoryMiB) Sets the value ofCfnCapacityProviderPropsMixin.InstanceRequirementsRequestProperty.getAcceleratorTotalMemoryMiB()- Parameters:
acceleratorTotalMemoryMiB- The minimum and maximum total accelerator memory in mebibytes (MiB). This is important for GPU workloads that require specific amounts of video memory.- Returns:
this
-
acceleratorTypes
@Stability(Stable) public CfnCapacityProviderPropsMixin.InstanceRequirementsRequestProperty.Builder acceleratorTypes(List<String> acceleratorTypes) Sets the value ofCfnCapacityProviderPropsMixin.InstanceRequirementsRequestProperty.getAcceleratorTypes()- Parameters:
acceleratorTypes- The accelerator types to include. You can specifygpufor graphics processing units,fpgafor field programmable gate arrays, orinferencefor machine learning inference accelerators.- Returns:
this
-
allowedInstanceTypes
@Stability(Stable) public CfnCapacityProviderPropsMixin.InstanceRequirementsRequestProperty.Builder allowedInstanceTypes(List<String> allowedInstanceTypes) Sets the value ofCfnCapacityProviderPropsMixin.InstanceRequirementsRequestProperty.getAllowedInstanceTypes()- Parameters:
allowedInstanceTypes- The instance types to include in the selection. When specified, Amazon ECS only considers these instance types, subject to the other requirements specified.- Returns:
this
-
bareMetal
@Stability(Stable) public CfnCapacityProviderPropsMixin.InstanceRequirementsRequestProperty.Builder bareMetal(String bareMetal) - Parameters:
bareMetal- Indicates whether to include bare metal instance types. Set toincludedto allow bare metal instances,excludedto exclude them, orrequiredto use only bare metal instances.- Returns:
this
-
baselineEbsBandwidthMbps
@Stability(Stable) public CfnCapacityProviderPropsMixin.InstanceRequirementsRequestProperty.Builder baselineEbsBandwidthMbps(IResolvable baselineEbsBandwidthMbps) Sets the value ofCfnCapacityProviderPropsMixin.InstanceRequirementsRequestProperty.getBaselineEbsBandwidthMbps()- Parameters:
baselineEbsBandwidthMbps- The minimum and maximum baseline Amazon EBS bandwidth in megabits per second (Mbps). This is important for workloads with high storage I/O requirements.- Returns:
this
-
baselineEbsBandwidthMbps
@Stability(Stable) public CfnCapacityProviderPropsMixin.InstanceRequirementsRequestProperty.Builder baselineEbsBandwidthMbps(CfnCapacityProviderPropsMixin.BaselineEbsBandwidthMbpsRequestProperty baselineEbsBandwidthMbps) Sets the value ofCfnCapacityProviderPropsMixin.InstanceRequirementsRequestProperty.getBaselineEbsBandwidthMbps()- Parameters:
baselineEbsBandwidthMbps- The minimum and maximum baseline Amazon EBS bandwidth in megabits per second (Mbps). This is important for workloads with high storage I/O requirements.- Returns:
this
-
burstablePerformance
@Stability(Stable) public CfnCapacityProviderPropsMixin.InstanceRequirementsRequestProperty.Builder burstablePerformance(String burstablePerformance) Sets the value ofCfnCapacityProviderPropsMixin.InstanceRequirementsRequestProperty.getBurstablePerformance()- Parameters:
burstablePerformance- Indicates whether to include burstable performance instance types (T2, T3, T3a, T4g). Set toincludedto allow burstable instances,excludedto exclude them, orrequiredto use only burstable instances.- Returns:
this
-
cpuManufacturers
@Stability(Stable) public CfnCapacityProviderPropsMixin.InstanceRequirementsRequestProperty.Builder cpuManufacturers(List<String> cpuManufacturers) Sets the value ofCfnCapacityProviderPropsMixin.InstanceRequirementsRequestProperty.getCpuManufacturers()- Parameters:
cpuManufacturers- The CPU manufacturers to include or exclude. You can specifyintel,amd, oramazon-web-servicesto control which CPU types are used for your workloads.- Returns:
this
-
excludedInstanceTypes
@Stability(Stable) public CfnCapacityProviderPropsMixin.InstanceRequirementsRequestProperty.Builder excludedInstanceTypes(List<String> excludedInstanceTypes) Sets the value ofCfnCapacityProviderPropsMixin.InstanceRequirementsRequestProperty.getExcludedInstanceTypes()- Parameters:
excludedInstanceTypes- The instance types to exclude from selection. Use this to prevent Amazon ECS from selecting specific instance types that may not be suitable for your workloads.- Returns:
this
-
instanceGenerations
@Stability(Stable) public CfnCapacityProviderPropsMixin.InstanceRequirementsRequestProperty.Builder instanceGenerations(List<String> instanceGenerations) Sets the value ofCfnCapacityProviderPropsMixin.InstanceRequirementsRequestProperty.getInstanceGenerations()- Parameters:
instanceGenerations- The instance generations to include. You can specifycurrentto use the latest generation instances, orpreviousto include previous generation instances for cost optimization.- Returns:
this
-
localStorage
@Stability(Stable) public CfnCapacityProviderPropsMixin.InstanceRequirementsRequestProperty.Builder localStorage(String localStorage) Sets the value ofCfnCapacityProviderPropsMixin.InstanceRequirementsRequestProperty.getLocalStorage()- Parameters:
localStorage- Indicates whether to include instance types with local storage. Set toincludedto allow local storage,excludedto exclude it, orrequiredto use only instances with local storage.- Returns:
this
-
localStorageTypes
@Stability(Stable) public CfnCapacityProviderPropsMixin.InstanceRequirementsRequestProperty.Builder localStorageTypes(List<String> localStorageTypes) Sets the value ofCfnCapacityProviderPropsMixin.InstanceRequirementsRequestProperty.getLocalStorageTypes()- Parameters:
localStorageTypes- The local storage types to include. You can specifyhddfor hard disk drives,ssdfor solid state drives, or both.- Returns:
this
-
maxSpotPriceAsPercentageOfOptimalOnDemandPrice
@Stability(Stable) public CfnCapacityProviderPropsMixin.InstanceRequirementsRequestProperty.Builder maxSpotPriceAsPercentageOfOptimalOnDemandPrice(Number maxSpotPriceAsPercentageOfOptimalOnDemandPrice) Sets the value ofCfnCapacityProviderPropsMixin.InstanceRequirementsRequestProperty.getMaxSpotPriceAsPercentageOfOptimalOnDemandPrice()- Parameters:
maxSpotPriceAsPercentageOfOptimalOnDemandPrice- The maximum price for Spot instances as a percentage of the optimal On-Demand price. This provides more precise cost control for Spot instance selection.- Returns:
this
-
memoryGiBPerVCpu
@Stability(Stable) public CfnCapacityProviderPropsMixin.InstanceRequirementsRequestProperty.Builder memoryGiBPerVCpu(IResolvable memoryGiBPerVCpu) Sets the value ofCfnCapacityProviderPropsMixin.InstanceRequirementsRequestProperty.getMemoryGiBPerVCpu()- Parameters:
memoryGiBPerVCpu- The minimum and maximum amount of memory per vCPU in gibibytes (GiB). This helps ensure that instance types have the appropriate memory-to-CPU ratio for your workloads.- Returns:
this
-
memoryGiBPerVCpu
@Stability(Stable) public CfnCapacityProviderPropsMixin.InstanceRequirementsRequestProperty.Builder memoryGiBPerVCpu(CfnCapacityProviderPropsMixin.MemoryGiBPerVCpuRequestProperty memoryGiBPerVCpu) Sets the value ofCfnCapacityProviderPropsMixin.InstanceRequirementsRequestProperty.getMemoryGiBPerVCpu()- Parameters:
memoryGiBPerVCpu- The minimum and maximum amount of memory per vCPU in gibibytes (GiB). This helps ensure that instance types have the appropriate memory-to-CPU ratio for your workloads.- Returns:
this
-
memoryMiB
@Stability(Stable) public CfnCapacityProviderPropsMixin.InstanceRequirementsRequestProperty.Builder memoryMiB(IResolvable memoryMiB) - Parameters:
memoryMiB- The minimum and maximum amount of memory in mebibytes (MiB) for the instance types. Amazon ECS selects instance types that have memory within this range.- Returns:
this
-
memoryMiB
@Stability(Stable) public CfnCapacityProviderPropsMixin.InstanceRequirementsRequestProperty.Builder memoryMiB(CfnCapacityProviderPropsMixin.MemoryMiBRequestProperty memoryMiB) - Parameters:
memoryMiB- The minimum and maximum amount of memory in mebibytes (MiB) for the instance types. Amazon ECS selects instance types that have memory within this range.- Returns:
this
-
networkBandwidthGbps
@Stability(Stable) public CfnCapacityProviderPropsMixin.InstanceRequirementsRequestProperty.Builder networkBandwidthGbps(IResolvable networkBandwidthGbps) Sets the value ofCfnCapacityProviderPropsMixin.InstanceRequirementsRequestProperty.getNetworkBandwidthGbps()- Parameters:
networkBandwidthGbps- The minimum and maximum network bandwidth in gigabits per second (Gbps). This is crucial for network-intensive workloads that require high throughput.- Returns:
this
-
networkBandwidthGbps
@Stability(Stable) public CfnCapacityProviderPropsMixin.InstanceRequirementsRequestProperty.Builder networkBandwidthGbps(CfnCapacityProviderPropsMixin.NetworkBandwidthGbpsRequestProperty networkBandwidthGbps) Sets the value ofCfnCapacityProviderPropsMixin.InstanceRequirementsRequestProperty.getNetworkBandwidthGbps()- Parameters:
networkBandwidthGbps- The minimum and maximum network bandwidth in gigabits per second (Gbps). This is crucial for network-intensive workloads that require high throughput.- Returns:
this
-
networkInterfaceCount
@Stability(Stable) public CfnCapacityProviderPropsMixin.InstanceRequirementsRequestProperty.Builder networkInterfaceCount(IResolvable networkInterfaceCount) Sets the value ofCfnCapacityProviderPropsMixin.InstanceRequirementsRequestProperty.getNetworkInterfaceCount()- Parameters:
networkInterfaceCount- The minimum and maximum number of network interfaces for the instance types. This is useful for workloads that require multiple network interfaces.- Returns:
this
-
networkInterfaceCount
@Stability(Stable) public CfnCapacityProviderPropsMixin.InstanceRequirementsRequestProperty.Builder networkInterfaceCount(CfnCapacityProviderPropsMixin.NetworkInterfaceCountRequestProperty networkInterfaceCount) Sets the value ofCfnCapacityProviderPropsMixin.InstanceRequirementsRequestProperty.getNetworkInterfaceCount()- Parameters:
networkInterfaceCount- The minimum and maximum number of network interfaces for the instance types. This is useful for workloads that require multiple network interfaces.- Returns:
this
-
onDemandMaxPricePercentageOverLowestPrice
@Stability(Stable) public CfnCapacityProviderPropsMixin.InstanceRequirementsRequestProperty.Builder onDemandMaxPricePercentageOverLowestPrice(Number onDemandMaxPricePercentageOverLowestPrice) Sets the value ofCfnCapacityProviderPropsMixin.InstanceRequirementsRequestProperty.getOnDemandMaxPricePercentageOverLowestPrice()- Parameters:
onDemandMaxPricePercentageOverLowestPrice- The price protection threshold for On-Demand Instances, as a percentage higher than an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified price is from either the lowest priced current generation instance types or, failing that, the lowest priced previous generation instance types that match your attributes. When Amazon ECS selects instance types with your attributes, we will exclude instance types whose price exceeds your specified threshold.- Returns:
this
-
requireHibernateSupport
@Stability(Stable) public CfnCapacityProviderPropsMixin.InstanceRequirementsRequestProperty.Builder requireHibernateSupport(Boolean requireHibernateSupport) Sets the value ofCfnCapacityProviderPropsMixin.InstanceRequirementsRequestProperty.getRequireHibernateSupport()- Parameters:
requireHibernateSupport- Indicates whether the instance types must support hibernation. When set totrue, only instance types that support hibernation are selected.- Returns:
this
-
requireHibernateSupport
@Stability(Stable) public CfnCapacityProviderPropsMixin.InstanceRequirementsRequestProperty.Builder requireHibernateSupport(IResolvable requireHibernateSupport) Sets the value ofCfnCapacityProviderPropsMixin.InstanceRequirementsRequestProperty.getRequireHibernateSupport()- Parameters:
requireHibernateSupport- Indicates whether the instance types must support hibernation. When set totrue, only instance types that support hibernation are selected.- Returns:
this
-
spotMaxPricePercentageOverLowestPrice
@Stability(Stable) public CfnCapacityProviderPropsMixin.InstanceRequirementsRequestProperty.Builder spotMaxPricePercentageOverLowestPrice(Number spotMaxPricePercentageOverLowestPrice) Sets the value ofCfnCapacityProviderPropsMixin.InstanceRequirementsRequestProperty.getSpotMaxPricePercentageOverLowestPrice()- Parameters:
spotMaxPricePercentageOverLowestPrice- The maximum price for Spot instances as a percentage over the lowest priced On-Demand instance. This helps control Spot instance costs while maintaining access to capacity.- Returns:
this
-
totalLocalStorageGb
@Stability(Stable) public CfnCapacityProviderPropsMixin.InstanceRequirementsRequestProperty.Builder totalLocalStorageGb(IResolvable totalLocalStorageGb) Sets the value ofCfnCapacityProviderPropsMixin.InstanceRequirementsRequestProperty.getTotalLocalStorageGb()- Parameters:
totalLocalStorageGb- The minimum and maximum total local storage in gigabytes (GB) for instance types with local storage.- Returns:
this
-
totalLocalStorageGb
@Stability(Stable) public CfnCapacityProviderPropsMixin.InstanceRequirementsRequestProperty.Builder totalLocalStorageGb(CfnCapacityProviderPropsMixin.TotalLocalStorageGBRequestProperty totalLocalStorageGb) Sets the value ofCfnCapacityProviderPropsMixin.InstanceRequirementsRequestProperty.getTotalLocalStorageGb()- Parameters:
totalLocalStorageGb- The minimum and maximum total local storage in gigabytes (GB) for instance types with local storage.- Returns:
this
-
vCpuCount
@Stability(Stable) public CfnCapacityProviderPropsMixin.InstanceRequirementsRequestProperty.Builder vCpuCount(IResolvable vCpuCount) - Parameters:
vCpuCount- The minimum and maximum number of vCPUs for the instance types. Amazon ECS selects instance types that have vCPU counts within this range.- Returns:
this
-
vCpuCount
@Stability(Stable) public CfnCapacityProviderPropsMixin.InstanceRequirementsRequestProperty.Builder vCpuCount(CfnCapacityProviderPropsMixin.VCpuCountRangeRequestProperty vCpuCount) - Parameters:
vCpuCount- The minimum and maximum number of vCPUs for the instance types. Amazon ECS selects instance types that have vCPU counts within this range.- Returns:
this
-
build
Builds the configured instance.- Specified by:
buildin interfacesoftware.amazon.jsii.Builder<CfnCapacityProviderPropsMixin.InstanceRequirementsRequestProperty>- Returns:
- a new instance of
CfnCapacityProviderPropsMixin.InstanceRequirementsRequestProperty - Throws:
NullPointerException- if any required attribute was not provided
-