/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.ec2.model; import java.io.Serializable; import javax.annotation.Generated; /** *
* The attributes for the instance types. When you specify instance attributes, Amazon EC2 will identify instance types * with these attributes. *
*
* You must specify VCpuCount
and MemoryMiB
. All other attributes are optional. Any
* unspecified optional attribute is set to its default.
*
* When you specify multiple attributes, you get instance types that satisfy all of the specified attributes. If you * specify multiple values for an attribute, you get instance types that satisfy any of the specified values. *
** To limit the list of instance types from which Amazon EC2 can identify matching instance types, you can use one of * the following parameters, but not both in the same request: *
*
* AllowedInstanceTypes
- The instance types to include in the list. All other instance types are ignored,
* even if they match your specified attributes.
*
* ExcludedInstanceTypes
- The instance types to exclude from the list, even if they match your specified
* attributes.
*
* If you specify InstanceRequirements
, you can't specify InstanceType
.
*
* Attribute-based instance type selection is only supported when using Auto Scaling groups, EC2 Fleet, and Spot Fleet
* to launch instances. If you plan to use the launch template in the launch instance
* wizard, or with the RunInstances API or AWS::EC2::Instance Amazon Web Services CloudFormation resource, you can't specify
* InstanceRequirements
.
*
* For more information, see Attribute-based instance type selection for EC2 Fleet, Attribute-based instance type selection for Spot Fleet, and Spot placement score in the * Amazon EC2 User Guide. *
* * @see AWS * API Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class InstanceRequirementsRequest implements Serializable, Cloneable { /** ** The minimum and maximum number of vCPUs. *
*/ private VCpuCountRangeRequest vCpuCount; /** ** The minimum and maximum amount of memory, in MiB. *
*/ private MemoryMiBRequest memoryMiB; /** ** The CPU manufacturers to include. *
*
* For instance types with Intel CPUs, specify intel
.
*
* For instance types with AMD CPUs, specify amd
.
*
* For instance types with Amazon Web Services CPUs, specify amazon-web-services
.
*
* Don't confuse the CPU manufacturer with the CPU 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 *
*/ private com.amazonaws.internal.SdkInternalList* The minimum and maximum amount of memory per vCPU, in GiB. *
** Default: No minimum or maximum limits *
*/ private MemoryGiBPerVCpuRequest memoryGiBPerVCpu; /** ** 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*
,Amazon EC2 will exclude the entire C5 instance family, which
* includes all C5a and C5n instance types. If you specify m5a.*
, Amazon EC2 will exclude all the M5a
* instance types, but not the M5n instance types.
*
* If you specify ExcludedInstanceTypes
, you can't specify AllowedInstanceTypes
.
*
* Default: No excluded instance types *
*/ private com.amazonaws.internal.SdkInternalList* Indicates whether current or previous generation instance types are included. The current generation instance * types are recommended for use. Current generation instance types are typically the latest two to three * generations in each instance family. For more information, see Instance types in the * Amazon EC2 User Guide. *
*
* For current generation instance types, specify current
.
*
* For previous generation instance types, specify previous
.
*
* Default: Current and previous generation instance types *
*/ private com.amazonaws.internal.SdkInternalList* The price protection threshold for Spot Instance. This is the maximum you’ll pay for an Spot Instance, expressed * as a percentage above the least expensive current generation M, C, or R instance type with your specified * attributes. When Amazon EC2 selects instance types with your attributes, it excludes instance types priced above * your threshold. *
** The parameter accepts an integer, which Amazon EC2 interprets as a percentage. *
*
* To turn off price protection, specify a high value, such as 999999
.
*
* This parameter is not supported for GetSpotPlacementScores and GetInstanceTypesFromInstanceRequirements. *
*
* If you set TargetCapacityUnitType
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
*
* The price protection threshold for On-Demand Instances. This is the maximum you’ll pay for an On-Demand Instance, * expressed as a percentage above the least expensive current generation M, C, or R instance type with your * specified attributes. When Amazon EC2 selects instance types with your attributes, it excludes instance types * priced above your threshold. *
** The parameter accepts an integer, which Amazon EC2 interprets as a percentage. *
*
* To turn off price protection, specify a high value, such as 999999
.
*
* This parameter is not supported for GetSpotPlacementScores and GetInstanceTypesFromInstanceRequirements. *
*
* If you set TargetCapacityUnitType
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
*
* Indicates whether bare metal instance types must be included, excluded, or required. *
*
* To include bare metal instance types, specify included
.
*
* To require only bare metal instance types, specify required
.
*
* To exclude bare metal instance types, specify excluded
.
*
* Default: excluded
*
* Indicates whether burstable performance T instance types are included, excluded, or required. For more * information, see Burstable * performance instances. *
*
* To include burstable performance instance types, specify included
.
*
* To require only burstable performance instance types, specify required
.
*
* To exclude burstable performance instance types, specify excluded
.
*
* Default: excluded
*
* Indicates whether instance types must support hibernation for On-Demand Instances. *
** This parameter is not supported for GetSpotPlacementScores. *
*
* Default: false
*
* The minimum and maximum number of network interfaces. *
** Default: No minimum or maximum limits *
*/ private NetworkInterfaceCountRequest networkInterfaceCount; /** ** Indicates whether instance types with instance store volumes are included, excluded, or required. For more * information, Amazon EC2 * instance store in the Amazon EC2 User Guide. *
*
* To include instance types with instance store volumes, specify included
.
*
* To require only instance types with instance store volumes, specify required
.
*
* To exclude instance types with instance store volumes, specify excluded
.
*
* Default: included
*
* The type of local storage that is required. *
*
* For instance types with hard disk drive (HDD) storage, specify hdd
.
*
* For instance types with solid state drive (SSD) storage, specify ssd
.
*
* Default: hdd
and ssd
*
* The minimum and maximum amount of total local storage, in GB. *
** Default: No minimum or maximum limits *
*/ private TotalLocalStorageGBRequest totalLocalStorageGB; /** ** The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see Amazon EBS–optimized instances * in the Amazon EC2 User Guide. *
** Default: No minimum or maximum limits *
*/ private BaselineEbsBandwidthMbpsRequest baselineEbsBandwidthMbps; /** ** The accelerator types that must be on the instance type. *
*
* To include instance types with GPU hardware, specify gpu
.
*
* To include instance types with FPGA hardware, specify fpga
.
*
* To include instance types with inference hardware, specify inference
.
*
* Default: Any accelerator type *
*/ private com.amazonaws.internal.SdkInternalList* The minimum and maximum number of accelerators (GPUs, FPGAs, or Amazon Web Services Inferentia chips) on an * instance. *
*
* To exclude accelerator-enabled instance types, set Max
to 0
.
*
* Default: No minimum or maximum limits *
*/ private AcceleratorCountRequest acceleratorCount; /** ** Indicates whether instance types must have accelerators by specific manufacturers. *
*
* For instance types with NVIDIA devices, specify nvidia
.
*
* For instance types with AMD devices, specify amd
.
*
* For instance types with Amazon Web Services devices, specify amazon-web-services
.
*
* For instance types with Xilinx devices, specify xilinx
.
*
* Default: Any manufacturer *
*/ private com.amazonaws.internal.SdkInternalList* The accelerators that must be on the instance type. *
*
* For instance types with NVIDIA A100 GPUs, specify a100
.
*
* For instance types with NVIDIA V100 GPUs, specify v100
.
*
* For instance types with NVIDIA K80 GPUs, specify k80
.
*
* For instance types with NVIDIA T4 GPUs, specify t4
.
*
* For instance types with NVIDIA M60 GPUs, specify m60
.
*
* For instance types with AMD Radeon Pro V520 GPUs, specify radeon-pro-v520
.
*
* For instance types with Xilinx VU9P FPGAs, specify vu9p
.
*
* For instance types with Amazon Web Services Inferentia chips, specify inferentia
.
*
* For instance types with NVIDIA GRID K520 GPUs, specify k520
.
*
* Default: Any accelerator *
*/ private com.amazonaws.internal.SdkInternalList* The minimum and maximum amount of total accelerator memory, in MiB. *
** Default: No minimum or maximum limits *
*/ private AcceleratorTotalMemoryMiBRequest acceleratorTotalMemoryMiB; /** ** The minimum and maximum amount of baseline network bandwidth, in gigabits per second (Gbps). For more * information, see Amazon EC2 * instance network bandwidth in the Amazon EC2 User Guide. *
** Default: No minimum or maximum limits *
*/ private NetworkBandwidthGbpsRequest networkBandwidthGbps; /** ** 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 will allow the entire C5 instance family, which includes
* all C5a and C5n instance types. If you specify m5a.*
, Amazon EC2 will allow all the M5a instance
* types, but not the M5n instance types.
*
* If you specify AllowedInstanceTypes
, you can't specify ExcludedInstanceTypes
.
*
* Default: All instance types *
*/ private com.amazonaws.internal.SdkInternalList* The minimum and maximum number of vCPUs. *
* * @param vCpuCount * The minimum and maximum number of vCPUs. */ public void setVCpuCount(VCpuCountRangeRequest vCpuCount) { this.vCpuCount = vCpuCount; } /** ** The minimum and maximum number of vCPUs. *
* * @return The minimum and maximum number of vCPUs. */ public VCpuCountRangeRequest getVCpuCount() { return this.vCpuCount; } /** ** The minimum and maximum number of vCPUs. *
* * @param vCpuCount * The minimum and maximum number of vCPUs. * @return Returns a reference to this object so that method calls can be chained together. */ public InstanceRequirementsRequest withVCpuCount(VCpuCountRangeRequest vCpuCount) { setVCpuCount(vCpuCount); return this; } /** ** The minimum and maximum amount of memory, in MiB. *
* * @param memoryMiB * The minimum and maximum amount of memory, in MiB. */ public void setMemoryMiB(MemoryMiBRequest memoryMiB) { this.memoryMiB = memoryMiB; } /** ** The minimum and maximum amount of memory, in MiB. *
* * @return The minimum and maximum amount of memory, in MiB. */ public MemoryMiBRequest getMemoryMiB() { return this.memoryMiB; } /** ** The minimum and maximum amount of memory, in MiB. *
* * @param memoryMiB * The minimum and maximum amount of memory, in MiB. * @return Returns a reference to this object so that method calls can be chained together. */ public InstanceRequirementsRequest withMemoryMiB(MemoryMiBRequest memoryMiB) { setMemoryMiB(memoryMiB); return this; } /** ** The CPU manufacturers to include. *
*
* For instance types with Intel CPUs, specify intel
.
*
* For instance types with AMD CPUs, specify amd
.
*
* For instance types with Amazon Web Services CPUs, specify amazon-web-services
.
*
* Don't confuse the CPU manufacturer with the CPU 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 *
* * @return The CPU manufacturers to include. *
* For instance types with Intel CPUs, specify intel
.
*
* For instance types with AMD CPUs, specify amd
.
*
* For instance types with Amazon Web Services CPUs, specify amazon-web-services
.
*
* Don't confuse the CPU manufacturer with the CPU 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
* @see CpuManufacturer
*/
public java.util.List
* The CPU manufacturers to include.
*
* For instance types with Intel CPUs, specify
* For instance types with AMD CPUs, specify
* For instance types with Amazon Web Services CPUs, specify
* Don't confuse the CPU manufacturer with the CPU 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
*
*
* intel
.
* amd
.
* amazon-web-services
.
*
* For instance types with Intel CPUs, specify intel
.
*
* For instance types with AMD CPUs, specify amd
.
*
* For instance types with Amazon Web Services CPUs, specify amazon-web-services
.
*
* Don't confuse the CPU manufacturer with the CPU 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
* @see CpuManufacturer
*/
public void setCpuManufacturers(java.util.Collection
* The CPU manufacturers to include.
*
* For instance types with Intel CPUs, specify
* For instance types with AMD CPUs, specify
* For instance types with Amazon Web Services CPUs, specify
* Don't confuse the CPU manufacturer with the CPU 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
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setCpuManufacturers(java.util.Collection)} or {@link #withCpuManufacturers(java.util.Collection)} if you
* want to override the existing values.
*
*
* intel
.
* amd
.
* amazon-web-services
.
*
* For instance types with Intel CPUs, specify intel
.
*
* For instance types with AMD CPUs, specify amd
.
*
* For instance types with Amazon Web Services CPUs, specify amazon-web-services
.
*
* Don't confuse the CPU manufacturer with the CPU 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
* @return Returns a reference to this object so that method calls can be chained together.
* @see CpuManufacturer
*/
public InstanceRequirementsRequest withCpuManufacturers(String... cpuManufacturers) {
if (this.cpuManufacturers == null) {
setCpuManufacturers(new com.amazonaws.internal.SdkInternalList
* The CPU manufacturers to include.
*
* For instance types with Intel CPUs, specify
* For instance types with AMD CPUs, specify
* For instance types with Amazon Web Services CPUs, specify
* Don't confuse the CPU manufacturer with the CPU 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
*
*
* intel
.
* amd
.
* amazon-web-services
.
*
* For instance types with Intel CPUs, specify intel
.
*
* For instance types with AMD CPUs, specify amd
.
*
* For instance types with Amazon Web Services CPUs, specify amazon-web-services
.
*
* Don't confuse the CPU manufacturer with the CPU 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
* @return Returns a reference to this object so that method calls can be chained together.
* @see CpuManufacturer
*/
public InstanceRequirementsRequest withCpuManufacturers(java.util.Collection
* The CPU manufacturers to include.
*
* For instance types with Intel CPUs, specify
* For instance types with AMD CPUs, specify
* For instance types with Amazon Web Services CPUs, specify
* Don't confuse the CPU manufacturer with the CPU 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
*
*
* intel
.
* amd
.
* amazon-web-services
.
*
* For instance types with Intel CPUs, specify intel
.
*
* For instance types with AMD CPUs, specify amd
.
*
* For instance types with Amazon Web Services CPUs, specify amazon-web-services
.
*
* Don't confuse the CPU manufacturer with the CPU 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
* @return Returns a reference to this object so that method calls can be chained together.
* @see CpuManufacturer
*/
public InstanceRequirementsRequest withCpuManufacturers(CpuManufacturer... cpuManufacturers) {
com.amazonaws.internal.SdkInternalList
* The minimum and maximum amount of memory per vCPU, in GiB.
*
* Default: No minimum or maximum limits
*
* Default: No minimum or maximum limits */ public void setMemoryGiBPerVCpu(MemoryGiBPerVCpuRequest memoryGiBPerVCpu) { this.memoryGiBPerVCpu = memoryGiBPerVCpu; } /** *
* The minimum and maximum amount of memory per vCPU, in GiB. *
** Default: No minimum or maximum limits *
* * @return The minimum and maximum amount of memory per vCPU, in GiB. ** Default: No minimum or maximum limits */ public MemoryGiBPerVCpuRequest getMemoryGiBPerVCpu() { return this.memoryGiBPerVCpu; } /** *
* The minimum and maximum amount of memory per vCPU, in GiB. *
** Default: No minimum or maximum limits *
* * @param memoryGiBPerVCpu * The minimum and maximum amount of memory per vCPU, in GiB. ** Default: No minimum or maximum limits * @return Returns a reference to this object so that method calls can be chained together. */ public InstanceRequirementsRequest withMemoryGiBPerVCpu(MemoryGiBPerVCpuRequest memoryGiBPerVCpu) { setMemoryGiBPerVCpu(memoryGiBPerVCpu); return this; } /** *
* 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*
,Amazon EC2 will exclude the entire C5 instance family, which
* includes all C5a and C5n instance types. If you specify m5a.*
, Amazon EC2 will exclude all the M5a
* instance types, but not the M5n instance types.
*
* If you specify ExcludedInstanceTypes
, you can't specify AllowedInstanceTypes
.
*
* Default: No excluded instance types *
* * @return 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*
,Amazon EC2 will exclude the entire C5 instance family, which
* includes all C5a and C5n instance types. If you specify m5a.*
, Amazon EC2 will exclude all
* the M5a instance types, but not the M5n instance types.
*
* If you specify ExcludedInstanceTypes
, you can't specify AllowedInstanceTypes
.
*
* Default: No excluded instance types
*/
public java.util.List
* The instance types to exclude.
*
* You can use strings with one or more wild cards, represented by an asterisk (
* For example, if you specify
* If you specify
* Default: No excluded instance types
* *
), to exclude an
* instance family, type, size, or generation. The following are examples: m5.8xlarge
,
* c5*.*
, m5a.*
, r*
, *3*
.
* c5*
,Amazon EC2 will exclude the entire C5 instance family, which
* includes all C5a and C5n instance types. If you specify m5a.*
, Amazon EC2 will exclude all the M5a
* instance types, but not the M5n instance types.
* ExcludedInstanceTypes
, you can't specify AllowedInstanceTypes
.
*
* 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*
,Amazon EC2 will exclude the entire C5 instance family, which
* includes all C5a and C5n instance types. If you specify m5a.*
, Amazon EC2 will exclude all
* the M5a instance types, but not the M5n instance types.
*
* If you specify ExcludedInstanceTypes
, you can't specify AllowedInstanceTypes
.
*
* Default: No excluded instance types
*/
public void setExcludedInstanceTypes(java.util.Collection
* The instance types to exclude.
*
* You can use strings with one or more wild cards, represented by an asterisk (
* For example, if you specify
* If you specify
* Default: No excluded instance types
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setExcludedInstanceTypes(java.util.Collection)} or
* {@link #withExcludedInstanceTypes(java.util.Collection)} if you want to override the existing values.
* *
), to exclude an
* instance family, type, size, or generation. The following are examples: m5.8xlarge
,
* c5*.*
, m5a.*
, r*
, *3*
.
* c5*
,Amazon EC2 will exclude the entire C5 instance family, which
* includes all C5a and C5n instance types. If you specify m5a.*
, Amazon EC2 will exclude all the M5a
* instance types, but not the M5n instance types.
* ExcludedInstanceTypes
, you can't specify AllowedInstanceTypes
.
*
* 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*
,Amazon EC2 will exclude the entire C5 instance family, which
* includes all C5a and C5n instance types. If you specify m5a.*
, Amazon EC2 will exclude all
* the M5a instance types, but not the M5n instance types.
*
* If you specify ExcludedInstanceTypes
, you can't specify AllowedInstanceTypes
.
*
* Default: No excluded instance types
* @return Returns a reference to this object so that method calls can be chained together.
*/
public InstanceRequirementsRequest withExcludedInstanceTypes(String... excludedInstanceTypes) {
if (this.excludedInstanceTypes == null) {
setExcludedInstanceTypes(new com.amazonaws.internal.SdkInternalList
* The instance types to exclude.
*
* You can use strings with one or more wild cards, represented by an asterisk (
* For example, if you specify
* If you specify
* Default: No excluded instance types
* *
), to exclude an
* instance family, type, size, or generation. The following are examples: m5.8xlarge
,
* c5*.*
, m5a.*
, r*
, *3*
.
* c5*
,Amazon EC2 will exclude the entire C5 instance family, which
* includes all C5a and C5n instance types. If you specify m5a.*
, Amazon EC2 will exclude all the M5a
* instance types, but not the M5n instance types.
* ExcludedInstanceTypes
, you can't specify AllowedInstanceTypes
.
*
* 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*
,Amazon EC2 will exclude the entire C5 instance family, which
* includes all C5a and C5n instance types. If you specify m5a.*
, Amazon EC2 will exclude all
* the M5a instance types, but not the M5n instance types.
*
* If you specify ExcludedInstanceTypes
, you can't specify AllowedInstanceTypes
.
*
* Default: No excluded instance types
* @return Returns a reference to this object so that method calls can be chained together.
*/
public InstanceRequirementsRequest withExcludedInstanceTypes(java.util.Collection
* Indicates whether current or previous generation instance types are included. The current generation instance
* types are recommended for use. Current generation instance types are typically the latest two to three
* generations in each instance family. For more information, see Instance types in the
* Amazon EC2 User Guide.
*
* For current generation instance types, specify
* For previous generation instance types, specify
* Default: Current and previous generation instance types
* current
.
* previous
.
*
* For current generation instance types, specify current
.
*
* For previous generation instance types, specify previous
.
*
* Default: Current and previous generation instance types
* @see InstanceGeneration
*/
public java.util.List
* Indicates whether current or previous generation instance types are included. The current generation instance
* types are recommended for use. Current generation instance types are typically the latest two to three
* generations in each instance family. For more information, see Instance types in the
* Amazon EC2 User Guide.
*
* For current generation instance types, specify
* For previous generation instance types, specify
* Default: Current and previous generation instance types
* current
.
* previous
.
*
* For current generation instance types, specify current
.
*
* For previous generation instance types, specify previous
.
*
* Default: Current and previous generation instance types
* @see InstanceGeneration
*/
public void setInstanceGenerations(java.util.Collection
* Indicates whether current or previous generation instance types are included. The current generation instance
* types are recommended for use. Current generation instance types are typically the latest two to three
* generations in each instance family. For more information, see Instance types in the
* Amazon EC2 User Guide.
*
* For current generation instance types, specify
* For previous generation instance types, specify
* Default: Current and previous generation instance types
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setInstanceGenerations(java.util.Collection)} or {@link #withInstanceGenerations(java.util.Collection)}
* if you want to override the existing values.
* current
.
* previous
.
*
* For current generation instance types, specify current
.
*
* For previous generation instance types, specify previous
.
*
* Default: Current and previous generation instance types
* @return Returns a reference to this object so that method calls can be chained together.
* @see InstanceGeneration
*/
public InstanceRequirementsRequest withInstanceGenerations(String... instanceGenerations) {
if (this.instanceGenerations == null) {
setInstanceGenerations(new com.amazonaws.internal.SdkInternalList
* Indicates whether current or previous generation instance types are included. The current generation instance
* types are recommended for use. Current generation instance types are typically the latest two to three
* generations in each instance family. For more information, see Instance types in the
* Amazon EC2 User Guide.
*
* For current generation instance types, specify
* For previous generation instance types, specify
* Default: Current and previous generation instance types
* current
.
* previous
.
*
* For current generation instance types, specify current
.
*
* For previous generation instance types, specify previous
.
*
* Default: Current and previous generation instance types
* @return Returns a reference to this object so that method calls can be chained together.
* @see InstanceGeneration
*/
public InstanceRequirementsRequest withInstanceGenerations(java.util.Collection
* Indicates whether current or previous generation instance types are included. The current generation instance
* types are recommended for use. Current generation instance types are typically the latest two to three
* generations in each instance family. For more information, see Instance types in the
* Amazon EC2 User Guide.
*
* For current generation instance types, specify
* For previous generation instance types, specify
* Default: Current and previous generation instance types
* current
.
* previous
.
*
* For current generation instance types, specify current
.
*
* For previous generation instance types, specify previous
.
*
* Default: Current and previous generation instance types
* @return Returns a reference to this object so that method calls can be chained together.
* @see InstanceGeneration
*/
public InstanceRequirementsRequest withInstanceGenerations(InstanceGeneration... instanceGenerations) {
com.amazonaws.internal.SdkInternalList
* The price protection threshold for Spot Instance. This is the maximum you’ll pay for an Spot Instance, expressed
* as a percentage above the least expensive current generation M, C, or R instance type with your specified
* attributes. When Amazon EC2 selects instance types with your attributes, it excludes instance types priced above
* your threshold.
*
* The parameter accepts an integer, which Amazon EC2 interprets as a percentage.
*
* To turn off price protection, specify a high value, such as
* This parameter is not supported for GetSpotPlacementScores and GetInstanceTypesFromInstanceRequirements.
*
* If you set
* Default: 999999
.
* TargetCapacityUnitType
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.
* 100
*
* The parameter accepts an integer, which Amazon EC2 interprets as a percentage. *
*
* To turn off price protection, specify a high value, such as 999999
.
*
* This parameter is not supported for GetSpotPlacementScores and GetInstanceTypesFromInstanceRequirements. *
*
* If you set TargetCapacityUnitType
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
*/
public void setSpotMaxPricePercentageOverLowestPrice(Integer spotMaxPricePercentageOverLowestPrice) {
this.spotMaxPricePercentageOverLowestPrice = spotMaxPricePercentageOverLowestPrice;
}
/**
*
* The price protection threshold for Spot Instance. This is the maximum you’ll pay for an Spot Instance, expressed * as a percentage above the least expensive current generation M, C, or R instance type with your specified * attributes. When Amazon EC2 selects instance types with your attributes, it excludes instance types priced above * your threshold. *
** The parameter accepts an integer, which Amazon EC2 interprets as a percentage. *
*
* To turn off price protection, specify a high value, such as 999999
.
*
* This parameter is not supported for GetSpotPlacementScores and GetInstanceTypesFromInstanceRequirements. *
*
* If you set TargetCapacityUnitType
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
*
* The parameter accepts an integer, which Amazon EC2 interprets as a percentage. *
*
* To turn off price protection, specify a high value, such as 999999
.
*
* This parameter is not supported for GetSpotPlacementScores and GetInstanceTypesFromInstanceRequirements. *
*
* If you set TargetCapacityUnitType
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
*/
public Integer getSpotMaxPricePercentageOverLowestPrice() {
return this.spotMaxPricePercentageOverLowestPrice;
}
/**
*
* The price protection threshold for Spot Instance. This is the maximum you’ll pay for an Spot Instance, expressed * as a percentage above the least expensive current generation M, C, or R instance type with your specified * attributes. When Amazon EC2 selects instance types with your attributes, it excludes instance types priced above * your threshold. *
** The parameter accepts an integer, which Amazon EC2 interprets as a percentage. *
*
* To turn off price protection, specify a high value, such as 999999
.
*
* This parameter is not supported for GetSpotPlacementScores and GetInstanceTypesFromInstanceRequirements. *
*
* If you set TargetCapacityUnitType
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
*
* The parameter accepts an integer, which Amazon EC2 interprets as a percentage. *
*
* To turn off price protection, specify a high value, such as 999999
.
*
* This parameter is not supported for GetSpotPlacementScores and GetInstanceTypesFromInstanceRequirements. *
*
* If you set TargetCapacityUnitType
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
* @return Returns a reference to this object so that method calls can be chained together.
*/
public InstanceRequirementsRequest withSpotMaxPricePercentageOverLowestPrice(Integer spotMaxPricePercentageOverLowestPrice) {
setSpotMaxPricePercentageOverLowestPrice(spotMaxPricePercentageOverLowestPrice);
return this;
}
/**
*
* The price protection threshold for On-Demand Instances. This is the maximum you’ll pay for an On-Demand Instance, * expressed as a percentage above the least expensive current generation M, C, or R instance type with your * specified attributes. When Amazon EC2 selects instance types with your attributes, it excludes instance types * priced above your threshold. *
** The parameter accepts an integer, which Amazon EC2 interprets as a percentage. *
*
* To turn off price protection, specify a high value, such as 999999
.
*
* This parameter is not supported for GetSpotPlacementScores and GetInstanceTypesFromInstanceRequirements. *
*
* If you set TargetCapacityUnitType
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
*
* The parameter accepts an integer, which Amazon EC2 interprets as a percentage. *
*
* To turn off price protection, specify a high value, such as 999999
.
*
* This parameter is not supported for GetSpotPlacementScores and GetInstanceTypesFromInstanceRequirements. *
*
* If you set TargetCapacityUnitType
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
*/
public void setOnDemandMaxPricePercentageOverLowestPrice(Integer onDemandMaxPricePercentageOverLowestPrice) {
this.onDemandMaxPricePercentageOverLowestPrice = 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 above the least expensive current generation M, C, or R instance type with your * specified attributes. When Amazon EC2 selects instance types with your attributes, it excludes instance types * priced above your threshold. *
** The parameter accepts an integer, which Amazon EC2 interprets as a percentage. *
*
* To turn off price protection, specify a high value, such as 999999
.
*
* This parameter is not supported for GetSpotPlacementScores and GetInstanceTypesFromInstanceRequirements. *
*
* If you set TargetCapacityUnitType
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
*
* The parameter accepts an integer, which Amazon EC2 interprets as a percentage. *
*
* To turn off price protection, specify a high value, such as 999999
.
*
* This parameter is not supported for GetSpotPlacementScores and GetInstanceTypesFromInstanceRequirements. *
*
* If you set TargetCapacityUnitType
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
*/
public Integer getOnDemandMaxPricePercentageOverLowestPrice() {
return this.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 above the least expensive current generation M, C, or R instance type with your * specified attributes. When Amazon EC2 selects instance types with your attributes, it excludes instance types * priced above your threshold. *
** The parameter accepts an integer, which Amazon EC2 interprets as a percentage. *
*
* To turn off price protection, specify a high value, such as 999999
.
*
* This parameter is not supported for GetSpotPlacementScores and GetInstanceTypesFromInstanceRequirements. *
*
* If you set TargetCapacityUnitType
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
*
* The parameter accepts an integer, which Amazon EC2 interprets as a percentage. *
*
* To turn off price protection, specify a high value, such as 999999
.
*
* This parameter is not supported for GetSpotPlacementScores and GetInstanceTypesFromInstanceRequirements. *
*
* If you set TargetCapacityUnitType
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
* @return Returns a reference to this object so that method calls can be chained together.
*/
public InstanceRequirementsRequest withOnDemandMaxPricePercentageOverLowestPrice(Integer onDemandMaxPricePercentageOverLowestPrice) {
setOnDemandMaxPricePercentageOverLowestPrice(onDemandMaxPricePercentageOverLowestPrice);
return this;
}
/**
*
* Indicates whether bare metal instance types must be included, excluded, or required. *
*
* To include bare metal instance types, specify included
.
*
* To require only bare metal instance types, specify required
.
*
* To exclude bare metal instance types, specify excluded
.
*
* Default: excluded
*
* To include bare metal instance types, specify included
.
*
* To require only bare metal instance types, specify required
.
*
* To exclude bare metal instance types, specify excluded
.
*
* Default: excluded
* @see BareMetal
*/
public void setBareMetal(String bareMetal) {
this.bareMetal = bareMetal;
}
/**
*
* Indicates whether bare metal instance types must be included, excluded, or required. *
*
* To include bare metal instance types, specify included
.
*
* To require only bare metal instance types, specify required
.
*
* To exclude bare metal instance types, specify excluded
.
*
* Default: excluded
*
* To include bare metal instance types, specify included
.
*
* To require only bare metal instance types, specify required
.
*
* To exclude bare metal instance types, specify excluded
.
*
* Default: excluded
* @see BareMetal
*/
public String getBareMetal() {
return this.bareMetal;
}
/**
*
* Indicates whether bare metal instance types must be included, excluded, or required. *
*
* To include bare metal instance types, specify included
.
*
* To require only bare metal instance types, specify required
.
*
* To exclude bare metal instance types, specify excluded
.
*
* Default: excluded
*
* To include bare metal instance types, specify included
.
*
* To require only bare metal instance types, specify required
.
*
* To exclude bare metal instance types, specify excluded
.
*
* Default: excluded
* @return Returns a reference to this object so that method calls can be chained together.
* @see BareMetal
*/
public InstanceRequirementsRequest withBareMetal(String bareMetal) {
setBareMetal(bareMetal);
return this;
}
/**
*
* Indicates whether bare metal instance types must be included, excluded, or required. *
*
* To include bare metal instance types, specify included
.
*
* To require only bare metal instance types, specify required
.
*
* To exclude bare metal instance types, specify excluded
.
*
* Default: excluded
*
* To include bare metal instance types, specify included
.
*
* To require only bare metal instance types, specify required
.
*
* To exclude bare metal instance types, specify excluded
.
*
* Default: excluded
* @return Returns a reference to this object so that method calls can be chained together.
* @see BareMetal
*/
public InstanceRequirementsRequest withBareMetal(BareMetal bareMetal) {
this.bareMetal = bareMetal.toString();
return this;
}
/**
*
* Indicates whether burstable performance T instance types are included, excluded, or required. For more * information, see Burstable * performance instances. *
*
* To include burstable performance instance types, specify included
.
*
* To require only burstable performance instance types, specify required
.
*
* To exclude burstable performance instance types, specify excluded
.
*
* Default: excluded
*
* To include burstable performance instance types, specify included
.
*
* To require only burstable performance instance types, specify required
.
*
* To exclude burstable performance instance types, specify excluded
.
*
* Default: excluded
* @see BurstablePerformance
*/
public void setBurstablePerformance(String burstablePerformance) {
this.burstablePerformance = burstablePerformance;
}
/**
*
* Indicates whether burstable performance T instance types are included, excluded, or required. For more * information, see Burstable * performance instances. *
*
* To include burstable performance instance types, specify included
.
*
* To require only burstable performance instance types, specify required
.
*
* To exclude burstable performance instance types, specify excluded
.
*
* Default: excluded
*
* To include burstable performance instance types, specify included
.
*
* To require only burstable performance instance types, specify required
.
*
* To exclude burstable performance instance types, specify excluded
.
*
* Default: excluded
* @see BurstablePerformance
*/
public String getBurstablePerformance() {
return this.burstablePerformance;
}
/**
*
* Indicates whether burstable performance T instance types are included, excluded, or required. For more * information, see Burstable * performance instances. *
*
* To include burstable performance instance types, specify included
.
*
* To require only burstable performance instance types, specify required
.
*
* To exclude burstable performance instance types, specify excluded
.
*
* Default: excluded
*
* To include burstable performance instance types, specify included
.
*
* To require only burstable performance instance types, specify required
.
*
* To exclude burstable performance instance types, specify excluded
.
*
* Default: excluded
* @return Returns a reference to this object so that method calls can be chained together.
* @see BurstablePerformance
*/
public InstanceRequirementsRequest withBurstablePerformance(String burstablePerformance) {
setBurstablePerformance(burstablePerformance);
return this;
}
/**
*
* Indicates whether burstable performance T instance types are included, excluded, or required. For more * information, see Burstable * performance instances. *
*
* To include burstable performance instance types, specify included
.
*
* To require only burstable performance instance types, specify required
.
*
* To exclude burstable performance instance types, specify excluded
.
*
* Default: excluded
*
* To include burstable performance instance types, specify included
.
*
* To require only burstable performance instance types, specify required
.
*
* To exclude burstable performance instance types, specify excluded
.
*
* Default: excluded
* @return Returns a reference to this object so that method calls can be chained together.
* @see BurstablePerformance
*/
public InstanceRequirementsRequest withBurstablePerformance(BurstablePerformance burstablePerformance) {
this.burstablePerformance = burstablePerformance.toString();
return this;
}
/**
*
* Indicates whether instance types must support hibernation for On-Demand Instances. *
** This parameter is not supported for GetSpotPlacementScores. *
*
* Default: false
*
* This parameter is not supported for GetSpotPlacementScores. *
*
* Default: false
*/
public void setRequireHibernateSupport(Boolean requireHibernateSupport) {
this.requireHibernateSupport = requireHibernateSupport;
}
/**
*
* Indicates whether instance types must support hibernation for On-Demand Instances. *
** This parameter is not supported for GetSpotPlacementScores. *
*
* Default: false
*
* This parameter is not supported for GetSpotPlacementScores. *
*
* Default: false
*/
public Boolean getRequireHibernateSupport() {
return this.requireHibernateSupport;
}
/**
*
* Indicates whether instance types must support hibernation for On-Demand Instances. *
** This parameter is not supported for GetSpotPlacementScores. *
*
* Default: false
*
* This parameter is not supported for GetSpotPlacementScores. *
*
* Default: false
* @return Returns a reference to this object so that method calls can be chained together.
*/
public InstanceRequirementsRequest withRequireHibernateSupport(Boolean requireHibernateSupport) {
setRequireHibernateSupport(requireHibernateSupport);
return this;
}
/**
*
* Indicates whether instance types must support hibernation for On-Demand Instances. *
** This parameter is not supported for GetSpotPlacementScores. *
*
* Default: false
*
* This parameter is not supported for GetSpotPlacementScores. *
*
* Default: false
*/
public Boolean isRequireHibernateSupport() {
return this.requireHibernateSupport;
}
/**
*
* The minimum and maximum number of network interfaces. *
** Default: No minimum or maximum limits *
* * @param networkInterfaceCount * The minimum and maximum number of network interfaces. ** Default: No minimum or maximum limits */ public void setNetworkInterfaceCount(NetworkInterfaceCountRequest networkInterfaceCount) { this.networkInterfaceCount = networkInterfaceCount; } /** *
* The minimum and maximum number of network interfaces. *
** Default: No minimum or maximum limits *
* * @return The minimum and maximum number of network interfaces. ** Default: No minimum or maximum limits */ public NetworkInterfaceCountRequest getNetworkInterfaceCount() { return this.networkInterfaceCount; } /** *
* The minimum and maximum number of network interfaces. *
** Default: No minimum or maximum limits *
* * @param networkInterfaceCount * The minimum and maximum number of network interfaces. ** Default: No minimum or maximum limits * @return Returns a reference to this object so that method calls can be chained together. */ public InstanceRequirementsRequest withNetworkInterfaceCount(NetworkInterfaceCountRequest networkInterfaceCount) { setNetworkInterfaceCount(networkInterfaceCount); return this; } /** *
* Indicates whether instance types with instance store volumes are included, excluded, or required. For more * information, Amazon EC2 * instance store in the Amazon EC2 User Guide. *
*
* To include instance types with instance store volumes, specify included
.
*
* To require only instance types with instance store volumes, specify required
.
*
* To exclude instance types with instance store volumes, specify excluded
.
*
* Default: included
*
* To include instance types with instance store volumes, specify included
.
*
* To require only instance types with instance store volumes, specify required
.
*
* To exclude instance types with instance store volumes, specify excluded
.
*
* Default: included
* @see LocalStorage
*/
public void setLocalStorage(String localStorage) {
this.localStorage = localStorage;
}
/**
*
* Indicates whether instance types with instance store volumes are included, excluded, or required. For more * information, Amazon EC2 * instance store in the Amazon EC2 User Guide. *
*
* To include instance types with instance store volumes, specify included
.
*
* To require only instance types with instance store volumes, specify required
.
*
* To exclude instance types with instance store volumes, specify excluded
.
*
* Default: included
*
* To include instance types with instance store volumes, specify included
.
*
* To require only instance types with instance store volumes, specify required
.
*
* To exclude instance types with instance store volumes, specify excluded
.
*
* Default: included
* @see LocalStorage
*/
public String getLocalStorage() {
return this.localStorage;
}
/**
*
* Indicates whether instance types with instance store volumes are included, excluded, or required. For more * information, Amazon EC2 * instance store in the Amazon EC2 User Guide. *
*
* To include instance types with instance store volumes, specify included
.
*
* To require only instance types with instance store volumes, specify required
.
*
* To exclude instance types with instance store volumes, specify excluded
.
*
* Default: included
*
* To include instance types with instance store volumes, specify included
.
*
* To require only instance types with instance store volumes, specify required
.
*
* To exclude instance types with instance store volumes, specify excluded
.
*
* Default: included
* @return Returns a reference to this object so that method calls can be chained together.
* @see LocalStorage
*/
public InstanceRequirementsRequest withLocalStorage(String localStorage) {
setLocalStorage(localStorage);
return this;
}
/**
*
* Indicates whether instance types with instance store volumes are included, excluded, or required. For more * information, Amazon EC2 * instance store in the Amazon EC2 User Guide. *
*
* To include instance types with instance store volumes, specify included
.
*
* To require only instance types with instance store volumes, specify required
.
*
* To exclude instance types with instance store volumes, specify excluded
.
*
* Default: included
*
* To include instance types with instance store volumes, specify included
.
*
* To require only instance types with instance store volumes, specify required
.
*
* To exclude instance types with instance store volumes, specify excluded
.
*
* Default: included
* @return Returns a reference to this object so that method calls can be chained together.
* @see LocalStorage
*/
public InstanceRequirementsRequest withLocalStorage(LocalStorage localStorage) {
this.localStorage = localStorage.toString();
return this;
}
/**
*
* The type of local storage that is required. *
*
* For instance types with hard disk drive (HDD) storage, specify hdd
.
*
* For instance types with solid state drive (SSD) storage, specify ssd
.
*
* Default: hdd
and ssd
*
* For instance types with hard disk drive (HDD) storage, specify hdd
.
*
* For instance types with solid state drive (SSD) storage, specify ssd
.
*
* Default:
* The type of local storage that is required.
*
* For instance types with hard disk drive (HDD) storage, specify
* For instance types with solid state drive (SSD) storage, specify
* Default: hdd
and ssd
* @see LocalStorageType
*/
public java.util.List
*
* hdd
.
* ssd
.
* hdd
and ssd
*
* For instance types with hard disk drive (HDD) storage, specify hdd
.
*
* For instance types with solid state drive (SSD) storage, specify ssd
.
*
* Default:
* The type of local storage that is required.
*
* For instance types with hard disk drive (HDD) storage, specify
* For instance types with solid state drive (SSD) storage, specify
* Default:
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setLocalStorageTypes(java.util.Collection)} or {@link #withLocalStorageTypes(java.util.Collection)} if
* you want to override the existing values.
* hdd
and ssd
* @see LocalStorageType
*/
public void setLocalStorageTypes(java.util.Collection
*
* hdd
.
* ssd
.
* hdd
and ssd
*
* For instance types with hard disk drive (HDD) storage, specify hdd
.
*
* For instance types with solid state drive (SSD) storage, specify ssd
.
*
* Default:
* The type of local storage that is required.
*
* For instance types with hard disk drive (HDD) storage, specify
* For instance types with solid state drive (SSD) storage, specify
* Default: hdd
and ssd
* @return Returns a reference to this object so that method calls can be chained together.
* @see LocalStorageType
*/
public InstanceRequirementsRequest withLocalStorageTypes(String... localStorageTypes) {
if (this.localStorageTypes == null) {
setLocalStorageTypes(new com.amazonaws.internal.SdkInternalList
*
* hdd
.
* ssd
.
* hdd
and ssd
*
* For instance types with hard disk drive (HDD) storage, specify hdd
.
*
* For instance types with solid state drive (SSD) storage, specify ssd
.
*
* Default:
* The type of local storage that is required.
*
* For instance types with hard disk drive (HDD) storage, specify
* For instance types with solid state drive (SSD) storage, specify
* Default: hdd
and ssd
* @return Returns a reference to this object so that method calls can be chained together.
* @see LocalStorageType
*/
public InstanceRequirementsRequest withLocalStorageTypes(java.util.Collection
*
* hdd
.
* ssd
.
* hdd
and ssd
*
* For instance types with hard disk drive (HDD) storage, specify hdd
.
*
* For instance types with solid state drive (SSD) storage, specify ssd
.
*
* Default:
* The minimum and maximum amount of total local storage, in GB.
*
* Default: No minimum or maximum limits
* hdd
and ssd
* @return Returns a reference to this object so that method calls can be chained together.
* @see LocalStorageType
*/
public InstanceRequirementsRequest withLocalStorageTypes(LocalStorageType... localStorageTypes) {
com.amazonaws.internal.SdkInternalList
* Default: No minimum or maximum limits */ public void setTotalLocalStorageGB(TotalLocalStorageGBRequest totalLocalStorageGB) { this.totalLocalStorageGB = totalLocalStorageGB; } /** *
* The minimum and maximum amount of total local storage, in GB. *
** Default: No minimum or maximum limits *
* * @return The minimum and maximum amount of total local storage, in GB. ** Default: No minimum or maximum limits */ public TotalLocalStorageGBRequest getTotalLocalStorageGB() { return this.totalLocalStorageGB; } /** *
* The minimum and maximum amount of total local storage, in GB. *
** Default: No minimum or maximum limits *
* * @param totalLocalStorageGB * The minimum and maximum amount of total local storage, in GB. ** Default: No minimum or maximum limits * @return Returns a reference to this object so that method calls can be chained together. */ public InstanceRequirementsRequest withTotalLocalStorageGB(TotalLocalStorageGBRequest totalLocalStorageGB) { setTotalLocalStorageGB(totalLocalStorageGB); return this; } /** *
* The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see Amazon EBS–optimized instances * in the Amazon EC2 User Guide. *
** Default: No minimum or maximum limits *
* * @param baselineEbsBandwidthMbps * The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see Amazon EBS–optimized * instances in the Amazon EC2 User Guide. ** Default: No minimum or maximum limits */ public void setBaselineEbsBandwidthMbps(BaselineEbsBandwidthMbpsRequest baselineEbsBandwidthMbps) { this.baselineEbsBandwidthMbps = baselineEbsBandwidthMbps; } /** *
* The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see Amazon EBS–optimized instances * in the Amazon EC2 User Guide. *
** Default: No minimum or maximum limits *
* * @return The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see Amazon EBS–optimized * instances in the Amazon EC2 User Guide. ** Default: No minimum or maximum limits */ public BaselineEbsBandwidthMbpsRequest getBaselineEbsBandwidthMbps() { return this.baselineEbsBandwidthMbps; } /** *
* The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see Amazon EBS–optimized instances * in the Amazon EC2 User Guide. *
** Default: No minimum or maximum limits *
* * @param baselineEbsBandwidthMbps * The minimum and maximum baseline bandwidth to Amazon EBS, in Mbps. For more information, see Amazon EBS–optimized * instances in the Amazon EC2 User Guide. ** Default: No minimum or maximum limits * @return Returns a reference to this object so that method calls can be chained together. */ public InstanceRequirementsRequest withBaselineEbsBandwidthMbps(BaselineEbsBandwidthMbpsRequest baselineEbsBandwidthMbps) { setBaselineEbsBandwidthMbps(baselineEbsBandwidthMbps); return this; } /** *
* The accelerator types that must be on the instance type. *
*
* To include instance types with GPU hardware, specify gpu
.
*
* To include instance types with FPGA hardware, specify fpga
.
*
* To include instance types with inference hardware, specify inference
.
*
* Default: Any accelerator type *
* * @return The accelerator types that must be on the instance type. *
* To include instance types with GPU hardware, specify gpu
.
*
* To include instance types with FPGA hardware, specify fpga
.
*
* To include instance types with inference hardware, specify inference
.
*
* Default: Any accelerator type
* @see AcceleratorType
*/
public java.util.List
* The accelerator types that must be on the instance type.
*
* To include instance types with GPU hardware, specify
* To include instance types with FPGA hardware, specify
* To include instance types with inference hardware, specify
* Default: Any accelerator type
*
*
* gpu
.
* fpga
.
* inference
.
*
* To include instance types with GPU hardware, specify gpu
.
*
* To include instance types with FPGA hardware, specify fpga
.
*
* To include instance types with inference hardware, specify inference
.
*
* Default: Any accelerator type
* @see AcceleratorType
*/
public void setAcceleratorTypes(java.util.Collection
* The accelerator types that must be on the instance type.
*
* To include instance types with GPU hardware, specify
* To include instance types with FPGA hardware, specify
* To include instance types with inference hardware, specify
* Default: Any accelerator type
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setAcceleratorTypes(java.util.Collection)} or {@link #withAcceleratorTypes(java.util.Collection)} if you
* want to override the existing values.
*
*
* gpu
.
* fpga
.
* inference
.
*
* To include instance types with GPU hardware, specify gpu
.
*
* To include instance types with FPGA hardware, specify fpga
.
*
* To include instance types with inference hardware, specify inference
.
*
* Default: Any accelerator type
* @return Returns a reference to this object so that method calls can be chained together.
* @see AcceleratorType
*/
public InstanceRequirementsRequest withAcceleratorTypes(String... acceleratorTypes) {
if (this.acceleratorTypes == null) {
setAcceleratorTypes(new com.amazonaws.internal.SdkInternalList
* The accelerator types that must be on the instance type.
*
* To include instance types with GPU hardware, specify
* To include instance types with FPGA hardware, specify
* To include instance types with inference hardware, specify
* Default: Any accelerator type
*
*
* gpu
.
* fpga
.
* inference
.
*
* To include instance types with GPU hardware, specify gpu
.
*
* To include instance types with FPGA hardware, specify fpga
.
*
* To include instance types with inference hardware, specify inference
.
*
* Default: Any accelerator type
* @return Returns a reference to this object so that method calls can be chained together.
* @see AcceleratorType
*/
public InstanceRequirementsRequest withAcceleratorTypes(java.util.Collection
* The accelerator types that must be on the instance type.
*
* To include instance types with GPU hardware, specify
* To include instance types with FPGA hardware, specify
* To include instance types with inference hardware, specify
* Default: Any accelerator type
*
*
* gpu
.
* fpga
.
* inference
.
*
* To include instance types with GPU hardware, specify gpu
.
*
* To include instance types with FPGA hardware, specify fpga
.
*
* To include instance types with inference hardware, specify inference
.
*
* Default: Any accelerator type
* @return Returns a reference to this object so that method calls can be chained together.
* @see AcceleratorType
*/
public InstanceRequirementsRequest withAcceleratorTypes(AcceleratorType... acceleratorTypes) {
com.amazonaws.internal.SdkInternalList
* The minimum and maximum number of accelerators (GPUs, FPGAs, or Amazon Web Services Inferentia chips) on an
* instance.
*
* To exclude accelerator-enabled instance types, set
* Default: No minimum or maximum limits
* Max
to 0
.
*
* To exclude accelerator-enabled instance types, set Max
to 0
.
*
* Default: No minimum or maximum limits */ public void setAcceleratorCount(AcceleratorCountRequest acceleratorCount) { this.acceleratorCount = acceleratorCount; } /** *
* The minimum and maximum number of accelerators (GPUs, FPGAs, or Amazon Web Services Inferentia chips) on an * instance. *
*
* To exclude accelerator-enabled instance types, set Max
to 0
.
*
* Default: No minimum or maximum limits *
* * @return The minimum and maximum number of accelerators (GPUs, FPGAs, or Amazon Web Services Inferentia chips) on * an instance. *
* To exclude accelerator-enabled instance types, set Max
to 0
.
*
* Default: No minimum or maximum limits */ public AcceleratorCountRequest getAcceleratorCount() { return this.acceleratorCount; } /** *
* The minimum and maximum number of accelerators (GPUs, FPGAs, or Amazon Web Services Inferentia chips) on an * instance. *
*
* To exclude accelerator-enabled instance types, set Max
to 0
.
*
* Default: No minimum or maximum limits *
* * @param acceleratorCount * The minimum and maximum number of accelerators (GPUs, FPGAs, or Amazon Web Services Inferentia chips) on * an instance. *
* To exclude accelerator-enabled instance types, set Max
to 0
.
*
* Default: No minimum or maximum limits * @return Returns a reference to this object so that method calls can be chained together. */ public InstanceRequirementsRequest withAcceleratorCount(AcceleratorCountRequest acceleratorCount) { setAcceleratorCount(acceleratorCount); return this; } /** *
* Indicates whether instance types must have accelerators by specific manufacturers. *
*
* For instance types with NVIDIA devices, specify nvidia
.
*
* For instance types with AMD devices, specify amd
.
*
* For instance types with Amazon Web Services devices, specify amazon-web-services
.
*
* For instance types with Xilinx devices, specify xilinx
.
*
* Default: Any manufacturer *
* * @return Indicates whether instance types must have accelerators by specific manufacturers. *
* For instance types with NVIDIA devices, specify nvidia
.
*
* For instance types with AMD devices, specify amd
.
*
* For instance types with Amazon Web Services devices, specify amazon-web-services
.
*
* For instance types with Xilinx devices, specify xilinx
.
*
* Default: Any manufacturer
* @see AcceleratorManufacturer
*/
public java.util.List
* Indicates whether instance types must have accelerators by specific manufacturers.
*
* For instance types with NVIDIA devices, specify
* For instance types with AMD devices, specify
* For instance types with Amazon Web Services devices, specify
* For instance types with Xilinx devices, specify
* Default: Any manufacturer
*
*
* nvidia
.
* amd
.
* amazon-web-services
.
* xilinx
.
*
* For instance types with NVIDIA devices, specify nvidia
.
*
* For instance types with AMD devices, specify amd
.
*
* For instance types with Amazon Web Services devices, specify amazon-web-services
.
*
* For instance types with Xilinx devices, specify xilinx
.
*
* Default: Any manufacturer
* @see AcceleratorManufacturer
*/
public void setAcceleratorManufacturers(java.util.Collection
* Indicates whether instance types must have accelerators by specific manufacturers.
*
* For instance types with NVIDIA devices, specify
* For instance types with AMD devices, specify
* For instance types with Amazon Web Services devices, specify
* For instance types with Xilinx devices, specify
* Default: Any manufacturer
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setAcceleratorManufacturers(java.util.Collection)} or
* {@link #withAcceleratorManufacturers(java.util.Collection)} if you want to override the existing values.
*
*
* nvidia
.
* amd
.
* amazon-web-services
.
* xilinx
.
*
* For instance types with NVIDIA devices, specify nvidia
.
*
* For instance types with AMD devices, specify amd
.
*
* For instance types with Amazon Web Services devices, specify amazon-web-services
.
*
* For instance types with Xilinx devices, specify xilinx
.
*
* Default: Any manufacturer
* @return Returns a reference to this object so that method calls can be chained together.
* @see AcceleratorManufacturer
*/
public InstanceRequirementsRequest withAcceleratorManufacturers(String... acceleratorManufacturers) {
if (this.acceleratorManufacturers == null) {
setAcceleratorManufacturers(new com.amazonaws.internal.SdkInternalList
* Indicates whether instance types must have accelerators by specific manufacturers.
*
* For instance types with NVIDIA devices, specify
* For instance types with AMD devices, specify
* For instance types with Amazon Web Services devices, specify
* For instance types with Xilinx devices, specify
* Default: Any manufacturer
*
*
* nvidia
.
* amd
.
* amazon-web-services
.
* xilinx
.
*
* For instance types with NVIDIA devices, specify nvidia
.
*
* For instance types with AMD devices, specify amd
.
*
* For instance types with Amazon Web Services devices, specify amazon-web-services
.
*
* For instance types with Xilinx devices, specify xilinx
.
*
* Default: Any manufacturer
* @return Returns a reference to this object so that method calls can be chained together.
* @see AcceleratorManufacturer
*/
public InstanceRequirementsRequest withAcceleratorManufacturers(java.util.Collection
* Indicates whether instance types must have accelerators by specific manufacturers.
*
* For instance types with NVIDIA devices, specify
* For instance types with AMD devices, specify
* For instance types with Amazon Web Services devices, specify
* For instance types with Xilinx devices, specify
* Default: Any manufacturer
*
*
* nvidia
.
* amd
.
* amazon-web-services
.
* xilinx
.
*
* For instance types with NVIDIA devices, specify nvidia
.
*
* For instance types with AMD devices, specify amd
.
*
* For instance types with Amazon Web Services devices, specify amazon-web-services
.
*
* For instance types with Xilinx devices, specify xilinx
.
*
* Default: Any manufacturer
* @return Returns a reference to this object so that method calls can be chained together.
* @see AcceleratorManufacturer
*/
public InstanceRequirementsRequest withAcceleratorManufacturers(AcceleratorManufacturer... acceleratorManufacturers) {
com.amazonaws.internal.SdkInternalList
* The accelerators that must be on the instance type.
*
* For instance types with NVIDIA A100 GPUs, specify
* For instance types with NVIDIA V100 GPUs, specify
* For instance types with NVIDIA K80 GPUs, specify
* For instance types with NVIDIA T4 GPUs, specify
* For instance types with NVIDIA M60 GPUs, specify
* For instance types with AMD Radeon Pro V520 GPUs, specify
* For instance types with Xilinx VU9P FPGAs, specify
* For instance types with Amazon Web Services Inferentia chips, specify
* For instance types with NVIDIA GRID K520 GPUs, specify
* Default: Any accelerator
*
*
* a100
.
* v100
.
* k80
.
* t4
.
* m60
.
* radeon-pro-v520
.
* vu9p
.
* inferentia
.
* k520
.
*
* For instance types with NVIDIA A100 GPUs, specify a100
.
*
* For instance types with NVIDIA V100 GPUs, specify v100
.
*
* For instance types with NVIDIA K80 GPUs, specify k80
.
*
* For instance types with NVIDIA T4 GPUs, specify t4
.
*
* For instance types with NVIDIA M60 GPUs, specify m60
.
*
* For instance types with AMD Radeon Pro V520 GPUs, specify radeon-pro-v520
.
*
* For instance types with Xilinx VU9P FPGAs, specify vu9p
.
*
* For instance types with Amazon Web Services Inferentia chips, specify inferentia
.
*
* For instance types with NVIDIA GRID K520 GPUs, specify k520
.
*
* Default: Any accelerator
* @see AcceleratorName
*/
public java.util.List
* The accelerators that must be on the instance type.
*
* For instance types with NVIDIA A100 GPUs, specify
* For instance types with NVIDIA V100 GPUs, specify
* For instance types with NVIDIA K80 GPUs, specify
* For instance types with NVIDIA T4 GPUs, specify
* For instance types with NVIDIA M60 GPUs, specify
* For instance types with AMD Radeon Pro V520 GPUs, specify
* For instance types with Xilinx VU9P FPGAs, specify
* For instance types with Amazon Web Services Inferentia chips, specify
* For instance types with NVIDIA GRID K520 GPUs, specify
* Default: Any accelerator
*
*
* a100
.
* v100
.
* k80
.
* t4
.
* m60
.
* radeon-pro-v520
.
* vu9p
.
* inferentia
.
* k520
.
*
* For instance types with NVIDIA A100 GPUs, specify a100
.
*
* For instance types with NVIDIA V100 GPUs, specify v100
.
*
* For instance types with NVIDIA K80 GPUs, specify k80
.
*
* For instance types with NVIDIA T4 GPUs, specify t4
.
*
* For instance types with NVIDIA M60 GPUs, specify m60
.
*
* For instance types with AMD Radeon Pro V520 GPUs, specify radeon-pro-v520
.
*
* For instance types with Xilinx VU9P FPGAs, specify vu9p
.
*
* For instance types with Amazon Web Services Inferentia chips, specify inferentia
.
*
* For instance types with NVIDIA GRID K520 GPUs, specify k520
.
*
* Default: Any accelerator
* @see AcceleratorName
*/
public void setAcceleratorNames(java.util.Collection
* The accelerators that must be on the instance type.
*
* For instance types with NVIDIA A100 GPUs, specify
* For instance types with NVIDIA V100 GPUs, specify
* For instance types with NVIDIA K80 GPUs, specify
* For instance types with NVIDIA T4 GPUs, specify
* For instance types with NVIDIA M60 GPUs, specify
* For instance types with AMD Radeon Pro V520 GPUs, specify
* For instance types with Xilinx VU9P FPGAs, specify
* For instance types with Amazon Web Services Inferentia chips, specify
* For instance types with NVIDIA GRID K520 GPUs, specify
* Default: Any accelerator
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setAcceleratorNames(java.util.Collection)} or {@link #withAcceleratorNames(java.util.Collection)} if you
* want to override the existing values.
*
*
* a100
.
* v100
.
* k80
.
* t4
.
* m60
.
* radeon-pro-v520
.
* vu9p
.
* inferentia
.
* k520
.
*
* For instance types with NVIDIA A100 GPUs, specify a100
.
*
* For instance types with NVIDIA V100 GPUs, specify v100
.
*
* For instance types with NVIDIA K80 GPUs, specify k80
.
*
* For instance types with NVIDIA T4 GPUs, specify t4
.
*
* For instance types with NVIDIA M60 GPUs, specify m60
.
*
* For instance types with AMD Radeon Pro V520 GPUs, specify radeon-pro-v520
.
*
* For instance types with Xilinx VU9P FPGAs, specify vu9p
.
*
* For instance types with Amazon Web Services Inferentia chips, specify inferentia
.
*
* For instance types with NVIDIA GRID K520 GPUs, specify k520
.
*
* Default: Any accelerator
* @return Returns a reference to this object so that method calls can be chained together.
* @see AcceleratorName
*/
public InstanceRequirementsRequest withAcceleratorNames(String... acceleratorNames) {
if (this.acceleratorNames == null) {
setAcceleratorNames(new com.amazonaws.internal.SdkInternalList
* The accelerators that must be on the instance type.
*
* For instance types with NVIDIA A100 GPUs, specify
* For instance types with NVIDIA V100 GPUs, specify
* For instance types with NVIDIA K80 GPUs, specify
* For instance types with NVIDIA T4 GPUs, specify
* For instance types with NVIDIA M60 GPUs, specify
* For instance types with AMD Radeon Pro V520 GPUs, specify
* For instance types with Xilinx VU9P FPGAs, specify
* For instance types with Amazon Web Services Inferentia chips, specify
* For instance types with NVIDIA GRID K520 GPUs, specify
* Default: Any accelerator
*
*
* a100
.
* v100
.
* k80
.
* t4
.
* m60
.
* radeon-pro-v520
.
* vu9p
.
* inferentia
.
* k520
.
*
* For instance types with NVIDIA A100 GPUs, specify a100
.
*
* For instance types with NVIDIA V100 GPUs, specify v100
.
*
* For instance types with NVIDIA K80 GPUs, specify k80
.
*
* For instance types with NVIDIA T4 GPUs, specify t4
.
*
* For instance types with NVIDIA M60 GPUs, specify m60
.
*
* For instance types with AMD Radeon Pro V520 GPUs, specify radeon-pro-v520
.
*
* For instance types with Xilinx VU9P FPGAs, specify vu9p
.
*
* For instance types with Amazon Web Services Inferentia chips, specify inferentia
.
*
* For instance types with NVIDIA GRID K520 GPUs, specify k520
.
*
* Default: Any accelerator
* @return Returns a reference to this object so that method calls can be chained together.
* @see AcceleratorName
*/
public InstanceRequirementsRequest withAcceleratorNames(java.util.Collection
* The accelerators that must be on the instance type.
*
* For instance types with NVIDIA A100 GPUs, specify
* For instance types with NVIDIA V100 GPUs, specify
* For instance types with NVIDIA K80 GPUs, specify
* For instance types with NVIDIA T4 GPUs, specify
* For instance types with NVIDIA M60 GPUs, specify
* For instance types with AMD Radeon Pro V520 GPUs, specify
* For instance types with Xilinx VU9P FPGAs, specify
* For instance types with Amazon Web Services Inferentia chips, specify
* For instance types with NVIDIA GRID K520 GPUs, specify
* Default: Any accelerator
*
*
* a100
.
* v100
.
* k80
.
* t4
.
* m60
.
* radeon-pro-v520
.
* vu9p
.
* inferentia
.
* k520
.
*
* For instance types with NVIDIA A100 GPUs, specify a100
.
*
* For instance types with NVIDIA V100 GPUs, specify v100
.
*
* For instance types with NVIDIA K80 GPUs, specify k80
.
*
* For instance types with NVIDIA T4 GPUs, specify t4
.
*
* For instance types with NVIDIA M60 GPUs, specify m60
.
*
* For instance types with AMD Radeon Pro V520 GPUs, specify radeon-pro-v520
.
*
* For instance types with Xilinx VU9P FPGAs, specify vu9p
.
*
* For instance types with Amazon Web Services Inferentia chips, specify inferentia
.
*
* For instance types with NVIDIA GRID K520 GPUs, specify k520
.
*
* Default: Any accelerator
* @return Returns a reference to this object so that method calls can be chained together.
* @see AcceleratorName
*/
public InstanceRequirementsRequest withAcceleratorNames(AcceleratorName... acceleratorNames) {
com.amazonaws.internal.SdkInternalList
* The minimum and maximum amount of total accelerator memory, in MiB.
*
* Default: No minimum or maximum limits
*
* Default: No minimum or maximum limits */ public void setAcceleratorTotalMemoryMiB(AcceleratorTotalMemoryMiBRequest acceleratorTotalMemoryMiB) { this.acceleratorTotalMemoryMiB = acceleratorTotalMemoryMiB; } /** *
* The minimum and maximum amount of total accelerator memory, in MiB. *
** Default: No minimum or maximum limits *
* * @return The minimum and maximum amount of total accelerator memory, in MiB. ** Default: No minimum or maximum limits */ public AcceleratorTotalMemoryMiBRequest getAcceleratorTotalMemoryMiB() { return this.acceleratorTotalMemoryMiB; } /** *
* The minimum and maximum amount of total accelerator memory, in MiB. *
** Default: No minimum or maximum limits *
* * @param acceleratorTotalMemoryMiB * The minimum and maximum amount of total accelerator memory, in MiB. ** Default: No minimum or maximum limits * @return Returns a reference to this object so that method calls can be chained together. */ public InstanceRequirementsRequest withAcceleratorTotalMemoryMiB(AcceleratorTotalMemoryMiBRequest acceleratorTotalMemoryMiB) { setAcceleratorTotalMemoryMiB(acceleratorTotalMemoryMiB); return this; } /** *
* The minimum and maximum amount of baseline network bandwidth, in gigabits per second (Gbps). For more * information, see Amazon EC2 * instance network bandwidth in the Amazon EC2 User Guide. *
** Default: No minimum or maximum limits *
* * @param networkBandwidthGbps * The minimum and maximum amount of baseline network bandwidth, in gigabits per second (Gbps). For more * information, see Amazon EC2 * instance network bandwidth in the Amazon EC2 User Guide. ** Default: No minimum or maximum limits */ public void setNetworkBandwidthGbps(NetworkBandwidthGbpsRequest networkBandwidthGbps) { this.networkBandwidthGbps = networkBandwidthGbps; } /** *
* The minimum and maximum amount of baseline network bandwidth, in gigabits per second (Gbps). For more * information, see Amazon EC2 * instance network bandwidth in the Amazon EC2 User Guide. *
** Default: No minimum or maximum limits *
* * @return The minimum and maximum amount of baseline network bandwidth, in gigabits per second (Gbps). For more * information, see Amazon EC2 * instance network bandwidth in the Amazon EC2 User Guide. ** Default: No minimum or maximum limits */ public NetworkBandwidthGbpsRequest getNetworkBandwidthGbps() { return this.networkBandwidthGbps; } /** *
* The minimum and maximum amount of baseline network bandwidth, in gigabits per second (Gbps). For more * information, see Amazon EC2 * instance network bandwidth in the Amazon EC2 User Guide. *
** Default: No minimum or maximum limits *
* * @param networkBandwidthGbps * The minimum and maximum amount of baseline network bandwidth, in gigabits per second (Gbps). For more * information, see Amazon EC2 * instance network bandwidth in the Amazon EC2 User Guide. ** Default: No minimum or maximum limits * @return Returns a reference to this object so that method calls can be chained together. */ public InstanceRequirementsRequest withNetworkBandwidthGbps(NetworkBandwidthGbpsRequest networkBandwidthGbps) { setNetworkBandwidthGbps(networkBandwidthGbps); return this; } /** *
* 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 will allow the entire C5 instance family, which includes
* all C5a and C5n instance types. If you specify m5a.*
, Amazon EC2 will allow all the M5a instance
* types, but not the M5n instance types.
*
* If you specify AllowedInstanceTypes
, you can't specify ExcludedInstanceTypes
.
*
* Default: All instance types *
* * @return 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 will allow the entire C5 instance family, which
* includes all C5a and C5n instance types. If you specify m5a.*
, Amazon EC2 will allow all the
* M5a instance types, but not the M5n instance types.
*
* If you specify AllowedInstanceTypes
, you can't specify ExcludedInstanceTypes
.
*
* Default: All instance types
*/
public java.util.List
* 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 (
* For example, if you specify
* If you specify
* Default: All instance types
* *
), to allow an
* instance type, size, or generation. The following are examples: m5.8xlarge
, c5*.*
,
* m5a.*
, r*
, *3*
.
* c5*
,Amazon EC2 will allow the entire C5 instance family, which includes
* all C5a and C5n instance types. If you specify m5a.*
, Amazon EC2 will allow all the M5a instance
* types, but not the M5n instance types.
* AllowedInstanceTypes
, you can't specify ExcludedInstanceTypes
.
*
* 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 will allow the entire C5 instance family, which
* includes all C5a and C5n instance types. If you specify m5a.*
, Amazon EC2 will allow all the
* M5a instance types, but not the M5n instance types.
*
* If you specify AllowedInstanceTypes
, you can't specify ExcludedInstanceTypes
.
*
* Default: All instance types
*/
public void setAllowedInstanceTypes(java.util.Collection
* 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 (
* For example, if you specify
* If you specify
* Default: All instance types
*
* NOTE: This method appends the values to the existing list (if any). Use
* {@link #setAllowedInstanceTypes(java.util.Collection)} or {@link #withAllowedInstanceTypes(java.util.Collection)}
* if you want to override the existing values.
* *
), to allow an
* instance type, size, or generation. The following are examples: m5.8xlarge
, c5*.*
,
* m5a.*
, r*
, *3*
.
* c5*
,Amazon EC2 will allow the entire C5 instance family, which includes
* all C5a and C5n instance types. If you specify m5a.*
, Amazon EC2 will allow all the M5a instance
* types, but not the M5n instance types.
* AllowedInstanceTypes
, you can't specify ExcludedInstanceTypes
.
*
* 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 will allow the entire C5 instance family, which
* includes all C5a and C5n instance types. If you specify m5a.*
, Amazon EC2 will allow all the
* M5a instance types, but not the M5n instance types.
*
* If you specify AllowedInstanceTypes
, you can't specify ExcludedInstanceTypes
.
*
* Default: All instance types
* @return Returns a reference to this object so that method calls can be chained together.
*/
public InstanceRequirementsRequest withAllowedInstanceTypes(String... allowedInstanceTypes) {
if (this.allowedInstanceTypes == null) {
setAllowedInstanceTypes(new com.amazonaws.internal.SdkInternalList
* 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 (
* For example, if you specify
* If you specify
* Default: All instance types
* *
), to allow an
* instance type, size, or generation. The following are examples: m5.8xlarge
, c5*.*
,
* m5a.*
, r*
, *3*
.
* c5*
,Amazon EC2 will allow the entire C5 instance family, which includes
* all C5a and C5n instance types. If you specify m5a.*
, Amazon EC2 will allow all the M5a instance
* types, but not the M5n instance types.
* AllowedInstanceTypes
, you can't specify ExcludedInstanceTypes
.
*
* 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 will allow the entire C5 instance family, which
* includes all C5a and C5n instance types. If you specify m5a.*
, Amazon EC2 will allow all the
* M5a instance types, but not the M5n instance types.
*
* If you specify AllowedInstanceTypes
, you can't specify ExcludedInstanceTypes
.
*
* Default: All instance types
* @return Returns a reference to this object so that method calls can be chained together.
*/
public InstanceRequirementsRequest withAllowedInstanceTypes(java.util.Collection