/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include The attributes for the instance types. When you specify instance attributes,
* Amazon EC2 will identify instance types with these attributes. You must
* specify 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:
* If
* you specify 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, you can't specify 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.VCpuCount
and MemoryMiB
. All other attributes
* are optional. Any unspecified optional attribute is set to its default.
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.InstanceRequirements
, you can't specify
* InstanceType
.InstanceRequirements
.See
* Also:
AWS
* API Reference
The minimum and maximum number of vCPUs.
*/ inline const VCpuCountRange& GetVCpuCount() const{ return m_vCpuCount; } /** *The minimum and maximum number of vCPUs.
*/ inline bool VCpuCountHasBeenSet() const { return m_vCpuCountHasBeenSet; } /** *The minimum and maximum number of vCPUs.
*/ inline void SetVCpuCount(const VCpuCountRange& value) { m_vCpuCountHasBeenSet = true; m_vCpuCount = value; } /** *The minimum and maximum number of vCPUs.
*/ inline void SetVCpuCount(VCpuCountRange&& value) { m_vCpuCountHasBeenSet = true; m_vCpuCount = std::move(value); } /** *The minimum and maximum number of vCPUs.
*/ inline InstanceRequirements& WithVCpuCount(const VCpuCountRange& value) { SetVCpuCount(value); return *this;} /** *The minimum and maximum number of vCPUs.
*/ inline InstanceRequirements& WithVCpuCount(VCpuCountRange&& value) { SetVCpuCount(std::move(value)); return *this;} /** *The minimum and maximum amount of memory, in MiB.
*/ inline const MemoryMiB& GetMemoryMiB() const{ return m_memoryMiB; } /** *The minimum and maximum amount of memory, in MiB.
*/ inline bool MemoryMiBHasBeenSet() const { return m_memoryMiBHasBeenSet; } /** *The minimum and maximum amount of memory, in MiB.
*/ inline void SetMemoryMiB(const MemoryMiB& value) { m_memoryMiBHasBeenSet = true; m_memoryMiB = value; } /** *The minimum and maximum amount of memory, in MiB.
*/ inline void SetMemoryMiB(MemoryMiB&& value) { m_memoryMiBHasBeenSet = true; m_memoryMiB = std::move(value); } /** *The minimum and maximum amount of memory, in MiB.
*/ inline InstanceRequirements& WithMemoryMiB(const MemoryMiB& value) { SetMemoryMiB(value); return *this;} /** *The minimum and maximum amount of memory, in MiB.
*/ inline InstanceRequirements& WithMemoryMiB(MemoryMiB&& value) { SetMemoryMiB(std::move(value)); 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
*/ inline const Aws::VectorThe 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
*/ inline bool CpuManufacturersHasBeenSet() const { return m_cpuManufacturersHasBeenSet; } /** *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
*/ inline void SetCpuManufacturers(const Aws::VectorThe 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
*/ inline void SetCpuManufacturers(Aws::VectorThe 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
*/ inline InstanceRequirements& WithCpuManufacturers(const Aws::VectorThe 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
*/ inline InstanceRequirements& WithCpuManufacturers(Aws::VectorThe 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
*/ inline InstanceRequirements& AddCpuManufacturers(const CpuManufacturer& value) { m_cpuManufacturersHasBeenSet = true; m_cpuManufacturers.push_back(value); 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
*/ inline InstanceRequirements& AddCpuManufacturers(CpuManufacturer&& value) { m_cpuManufacturersHasBeenSet = true; m_cpuManufacturers.push_back(std::move(value)); return *this; } /** *The minimum and maximum amount of memory per vCPU, in GiB.
Default: No * minimum or maximum limits
*/ inline const MemoryGiBPerVCpu& GetMemoryGiBPerVCpu() const{ return m_memoryGiBPerVCpu; } /** *The minimum and maximum amount of memory per vCPU, in GiB.
Default: No * minimum or maximum limits
*/ inline bool MemoryGiBPerVCpuHasBeenSet() const { return m_memoryGiBPerVCpuHasBeenSet; } /** *The minimum and maximum amount of memory per vCPU, in GiB.
Default: No * minimum or maximum limits
*/ inline void SetMemoryGiBPerVCpu(const MemoryGiBPerVCpu& value) { m_memoryGiBPerVCpuHasBeenSet = true; m_memoryGiBPerVCpu = value; } /** *The minimum and maximum amount of memory per vCPU, in GiB.
Default: No * minimum or maximum limits
*/ inline void SetMemoryGiBPerVCpu(MemoryGiBPerVCpu&& value) { m_memoryGiBPerVCpuHasBeenSet = true; m_memoryGiBPerVCpu = std::move(value); } /** *The minimum and maximum amount of memory per vCPU, in GiB.
Default: No * minimum or maximum limits
*/ inline InstanceRequirements& WithMemoryGiBPerVCpu(const MemoryGiBPerVCpu& value) { SetMemoryGiBPerVCpu(value); return *this;} /** *The minimum and maximum amount of memory per vCPU, in GiB.
Default: No * minimum or maximum limits
*/ inline InstanceRequirements& WithMemoryGiBPerVCpu(MemoryGiBPerVCpu&& value) { SetMemoryGiBPerVCpu(std::move(value)); 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
* 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
*/ inline const Aws::VectorThe instance types to exclude.
You can use strings with one or more
* wild cards, represented by an asterisk (*
), to exclude 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 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
*/ inline bool ExcludedInstanceTypesHasBeenSet() const { return m_excludedInstanceTypesHasBeenSet; } /** *The instance types to exclude.
You can use strings with one or more
* wild cards, represented by an asterisk (*
), to exclude 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 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
*/ inline void SetExcludedInstanceTypes(const Aws::VectorThe instance types to exclude.
You can use strings with one or more
* wild cards, represented by an asterisk (*
), to exclude 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 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
*/ inline void SetExcludedInstanceTypes(Aws::VectorThe instance types to exclude.
You can use strings with one or more
* wild cards, represented by an asterisk (*
), to exclude 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 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
*/ inline InstanceRequirements& WithExcludedInstanceTypes(const Aws::VectorThe instance types to exclude.
You can use strings with one or more
* wild cards, represented by an asterisk (*
), to exclude 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 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
*/ inline InstanceRequirements& WithExcludedInstanceTypes(Aws::VectorThe instance types to exclude.
You can use strings with one or more
* wild cards, represented by an asterisk (*
), to exclude 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 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
*/ inline InstanceRequirements& AddExcludedInstanceTypes(const Aws::String& value) { m_excludedInstanceTypesHasBeenSet = true; m_excludedInstanceTypes.push_back(value); 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
* 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
*/ inline InstanceRequirements& AddExcludedInstanceTypes(Aws::String&& value) { m_excludedInstanceTypesHasBeenSet = true; m_excludedInstanceTypes.push_back(std::move(value)); 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
* 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
*/ inline InstanceRequirements& AddExcludedInstanceTypes(const char* value) { m_excludedInstanceTypesHasBeenSet = true; m_excludedInstanceTypes.push_back(value); return *this; } /** *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
*/ inline const Aws::VectorIndicates 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
*/ inline bool InstanceGenerationsHasBeenSet() const { return m_instanceGenerationsHasBeenSet; } /** *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
*/ inline void SetInstanceGenerations(const Aws::VectorIndicates 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
*/ inline void SetInstanceGenerations(Aws::VectorIndicates 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
*/ inline InstanceRequirements& WithInstanceGenerations(const Aws::VectorIndicates 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
*/ inline InstanceRequirements& WithInstanceGenerations(Aws::VectorIndicates 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
*/ inline InstanceRequirements& AddInstanceGenerations(const InstanceGeneration& value) { m_instanceGenerationsHasBeenSet = true; m_instanceGenerations.push_back(value); return *this; } /** *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
*/ inline InstanceRequirements& AddInstanceGenerations(InstanceGeneration&& value) { m_instanceGenerationsHasBeenSet = true; m_instanceGenerations.push_back(std::move(value)); return *this; } /** *The price protection threshold for Spot Instances. This is the maximum you’ll * pay for a 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 Spot Instances. This is the maximum you’ll * pay for a 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 Spot Instances. This is the maximum you’ll * pay for a 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 Spot Instances. This is the maximum you’ll * pay for a 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
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 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 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 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 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 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 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 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 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 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 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 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 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
Indicates whether instance types must support hibernation for On-Demand * Instances.
This parameter is not supported for GetSpotPlacementScores.
*Default: false
Indicates whether instance types must support hibernation for On-Demand * Instances.
This parameter is not supported for GetSpotPlacementScores.
*Default: false
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
*/ inline const NetworkInterfaceCount& GetNetworkInterfaceCount() const{ return m_networkInterfaceCount; } /** *The minimum and maximum number of network interfaces.
Default: No * minimum or maximum limits
*/ inline bool NetworkInterfaceCountHasBeenSet() const { return m_networkInterfaceCountHasBeenSet; } /** *The minimum and maximum number of network interfaces.
Default: No * minimum or maximum limits
*/ inline void SetNetworkInterfaceCount(const NetworkInterfaceCount& value) { m_networkInterfaceCountHasBeenSet = true; m_networkInterfaceCount = value; } /** *The minimum and maximum number of network interfaces.
Default: No * minimum or maximum limits
*/ inline void SetNetworkInterfaceCount(NetworkInterfaceCount&& value) { m_networkInterfaceCountHasBeenSet = true; m_networkInterfaceCount = std::move(value); } /** *The minimum and maximum number of network interfaces.
Default: No * minimum or maximum limits
*/ inline InstanceRequirements& WithNetworkInterfaceCount(const NetworkInterfaceCount& value) { SetNetworkInterfaceCount(value); return *this;} /** *The minimum and maximum number of network interfaces.
Default: No * minimum or maximum limits
*/ inline InstanceRequirements& WithNetworkInterfaceCount(NetworkInterfaceCount&& value) { SetNetworkInterfaceCount(std::move(value)); 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
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
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
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
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
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 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 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 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 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 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 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 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
*/ inline const TotalLocalStorageGB& GetTotalLocalStorageGB() const{ return m_totalLocalStorageGB; } /** *The minimum and maximum amount of total local storage, in GB.
Default: * No minimum or maximum limits
*/ inline bool TotalLocalStorageGBHasBeenSet() const { return m_totalLocalStorageGBHasBeenSet; } /** *The minimum and maximum amount of total local storage, in GB.
Default: * No minimum or maximum limits
*/ inline void SetTotalLocalStorageGB(const TotalLocalStorageGB& value) { m_totalLocalStorageGBHasBeenSet = true; m_totalLocalStorageGB = value; } /** *The minimum and maximum amount of total local storage, in GB.
Default: * No minimum or maximum limits
*/ inline void SetTotalLocalStorageGB(TotalLocalStorageGB&& value) { m_totalLocalStorageGBHasBeenSet = true; m_totalLocalStorageGB = std::move(value); } /** *The minimum and maximum amount of total local storage, in GB.
Default: * No minimum or maximum limits
*/ inline InstanceRequirements& WithTotalLocalStorageGB(const TotalLocalStorageGB& value) { SetTotalLocalStorageGB(value); return *this;} /** *The minimum and maximum amount of total local storage, in GB.
Default: * No minimum or maximum limits
*/ inline InstanceRequirements& WithTotalLocalStorageGB(TotalLocalStorageGB&& value) { SetTotalLocalStorageGB(std::move(value)); 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
*/ inline const BaselineEbsBandwidthMbps& GetBaselineEbsBandwidthMbps() const{ return m_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
*/ inline bool BaselineEbsBandwidthMbpsHasBeenSet() const { return m_baselineEbsBandwidthMbpsHasBeenSet; } /** *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
*/ inline void SetBaselineEbsBandwidthMbps(const BaselineEbsBandwidthMbps& value) { m_baselineEbsBandwidthMbpsHasBeenSet = true; m_baselineEbsBandwidthMbps = value; } /** *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
*/ inline void SetBaselineEbsBandwidthMbps(BaselineEbsBandwidthMbps&& value) { m_baselineEbsBandwidthMbpsHasBeenSet = true; m_baselineEbsBandwidthMbps = std::move(value); } /** *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
*/ inline InstanceRequirements& WithBaselineEbsBandwidthMbps(const BaselineEbsBandwidthMbps& value) { SetBaselineEbsBandwidthMbps(value); 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
*/ inline InstanceRequirements& WithBaselineEbsBandwidthMbps(BaselineEbsBandwidthMbps&& value) { SetBaselineEbsBandwidthMbps(std::move(value)); return *this;} /** *The accelerator types that must be on the instance type.
For
* instance types with GPU accelerators, specify gpu
.
For instance types with FPGA accelerators, specify fpga
.
For instance types with inference accelerators, specify
* inference
.
Default: Any accelerator type
*/ inline const Aws::VectorThe accelerator types that must be on the instance type.
For
* instance types with GPU accelerators, specify gpu
.
For instance types with FPGA accelerators, specify fpga
.
For instance types with inference accelerators, specify
* inference
.
Default: Any accelerator type
*/ inline bool AcceleratorTypesHasBeenSet() const { return m_acceleratorTypesHasBeenSet; } /** *The accelerator types that must be on the instance type.
For
* instance types with GPU accelerators, specify gpu
.
For instance types with FPGA accelerators, specify fpga
.
For instance types with inference accelerators, specify
* inference
.
Default: Any accelerator type
*/ inline void SetAcceleratorTypes(const Aws::VectorThe accelerator types that must be on the instance type.
For
* instance types with GPU accelerators, specify gpu
.
For instance types with FPGA accelerators, specify fpga
.
For instance types with inference accelerators, specify
* inference
.
Default: Any accelerator type
*/ inline void SetAcceleratorTypes(Aws::VectorThe accelerator types that must be on the instance type.
For
* instance types with GPU accelerators, specify gpu
.
For instance types with FPGA accelerators, specify fpga
.
For instance types with inference accelerators, specify
* inference
.
Default: Any accelerator type
*/ inline InstanceRequirements& WithAcceleratorTypes(const Aws::VectorThe accelerator types that must be on the instance type.
For
* instance types with GPU accelerators, specify gpu
.
For instance types with FPGA accelerators, specify fpga
.
For instance types with inference accelerators, specify
* inference
.
Default: Any accelerator type
*/ inline InstanceRequirements& WithAcceleratorTypes(Aws::VectorThe accelerator types that must be on the instance type.
For
* instance types with GPU accelerators, specify gpu
.
For instance types with FPGA accelerators, specify fpga
.
For instance types with inference accelerators, specify
* inference
.
Default: Any accelerator type
*/ inline InstanceRequirements& AddAcceleratorTypes(const AcceleratorType& value) { m_acceleratorTypesHasBeenSet = true; m_acceleratorTypes.push_back(value); return *this; } /** *The accelerator types that must be on the instance type.
For
* instance types with GPU accelerators, specify gpu
.
For instance types with FPGA accelerators, specify fpga
.
For instance types with inference accelerators, specify
* inference
.
Default: Any accelerator type
*/ inline InstanceRequirements& AddAcceleratorTypes(AcceleratorType&& value) { m_acceleratorTypesHasBeenSet = true; m_acceleratorTypes.push_back(std::move(value)); return *this; } /** *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
*/ inline const AcceleratorCount& GetAcceleratorCount() const{ return m_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
*/ inline bool AcceleratorCountHasBeenSet() const { return m_acceleratorCountHasBeenSet; } /** *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
*/ inline void SetAcceleratorCount(const AcceleratorCount& value) { m_acceleratorCountHasBeenSet = true; m_acceleratorCount = value; } /** *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
*/ inline void SetAcceleratorCount(AcceleratorCount&& value) { m_acceleratorCountHasBeenSet = true; m_acceleratorCount = std::move(value); } /** *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
*/ inline InstanceRequirements& WithAcceleratorCount(const AcceleratorCount& value) { SetAcceleratorCount(value); return *this;} /** *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
*/ inline InstanceRequirements& WithAcceleratorCount(AcceleratorCount&& value) { SetAcceleratorCount(std::move(value)); 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
*/ inline const Aws::VectorIndicates 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
*/ inline bool AcceleratorManufacturersHasBeenSet() const { return m_acceleratorManufacturersHasBeenSet; } /** *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
*/ inline void SetAcceleratorManufacturers(const Aws::VectorIndicates 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
*/ inline void SetAcceleratorManufacturers(Aws::VectorIndicates 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
*/ inline InstanceRequirements& WithAcceleratorManufacturers(const Aws::VectorIndicates 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
*/ inline InstanceRequirements& WithAcceleratorManufacturers(Aws::VectorIndicates 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
*/ inline InstanceRequirements& AddAcceleratorManufacturers(const AcceleratorManufacturer& value) { m_acceleratorManufacturersHasBeenSet = true; m_acceleratorManufacturers.push_back(value); 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
*/ inline InstanceRequirements& AddAcceleratorManufacturers(AcceleratorManufacturer&& value) { m_acceleratorManufacturersHasBeenSet = true; m_acceleratorManufacturers.push_back(std::move(value)); return *this; } /** *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
*/ inline const Aws::VectorThe 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
*/ inline bool AcceleratorNamesHasBeenSet() const { return m_acceleratorNamesHasBeenSet; } /** *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
*/ inline void SetAcceleratorNames(const Aws::VectorThe 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
*/ inline void SetAcceleratorNames(Aws::VectorThe 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
*/ inline InstanceRequirements& WithAcceleratorNames(const Aws::VectorThe 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
*/ inline InstanceRequirements& WithAcceleratorNames(Aws::VectorThe 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
*/ inline InstanceRequirements& AddAcceleratorNames(const AcceleratorName& value) { m_acceleratorNamesHasBeenSet = true; m_acceleratorNames.push_back(value); return *this; } /** *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
*/ inline InstanceRequirements& AddAcceleratorNames(AcceleratorName&& value) { m_acceleratorNamesHasBeenSet = true; m_acceleratorNames.push_back(std::move(value)); return *this; } /** *The minimum and maximum amount of total accelerator memory, in MiB.
*Default: No minimum or maximum limits
*/ inline const AcceleratorTotalMemoryMiB& GetAcceleratorTotalMemoryMiB() const{ return m_acceleratorTotalMemoryMiB; } /** *The minimum and maximum amount of total accelerator memory, in MiB.
*Default: No minimum or maximum limits
*/ inline bool AcceleratorTotalMemoryMiBHasBeenSet() const { return m_acceleratorTotalMemoryMiBHasBeenSet; } /** *The minimum and maximum amount of total accelerator memory, in MiB.
*Default: No minimum or maximum limits
*/ inline void SetAcceleratorTotalMemoryMiB(const AcceleratorTotalMemoryMiB& value) { m_acceleratorTotalMemoryMiBHasBeenSet = true; m_acceleratorTotalMemoryMiB = value; } /** *The minimum and maximum amount of total accelerator memory, in MiB.
*Default: No minimum or maximum limits
*/ inline void SetAcceleratorTotalMemoryMiB(AcceleratorTotalMemoryMiB&& value) { m_acceleratorTotalMemoryMiBHasBeenSet = true; m_acceleratorTotalMemoryMiB = std::move(value); } /** *The minimum and maximum amount of total accelerator memory, in MiB.
*Default: No minimum or maximum limits
*/ inline InstanceRequirements& WithAcceleratorTotalMemoryMiB(const AcceleratorTotalMemoryMiB& value) { SetAcceleratorTotalMemoryMiB(value); return *this;} /** *The minimum and maximum amount of total accelerator memory, in MiB.
*Default: No minimum or maximum limits
*/ inline InstanceRequirements& WithAcceleratorTotalMemoryMiB(AcceleratorTotalMemoryMiB&& value) { SetAcceleratorTotalMemoryMiB(std::move(value)); return *this;} /** *The minimum and maximum amount of network bandwidth, in gigabits per second * (Gbps).
Default: No minimum or maximum limits
*/ inline const NetworkBandwidthGbps& GetNetworkBandwidthGbps() const{ return m_networkBandwidthGbps; } /** *The minimum and maximum amount of network bandwidth, in gigabits per second * (Gbps).
Default: No minimum or maximum limits
*/ inline bool NetworkBandwidthGbpsHasBeenSet() const { return m_networkBandwidthGbpsHasBeenSet; } /** *The minimum and maximum amount of network bandwidth, in gigabits per second * (Gbps).
Default: No minimum or maximum limits
*/ inline void SetNetworkBandwidthGbps(const NetworkBandwidthGbps& value) { m_networkBandwidthGbpsHasBeenSet = true; m_networkBandwidthGbps = value; } /** *The minimum and maximum amount of network bandwidth, in gigabits per second * (Gbps).
Default: No minimum or maximum limits
*/ inline void SetNetworkBandwidthGbps(NetworkBandwidthGbps&& value) { m_networkBandwidthGbpsHasBeenSet = true; m_networkBandwidthGbps = std::move(value); } /** *The minimum and maximum amount of network bandwidth, in gigabits per second * (Gbps).
Default: No minimum or maximum limits
*/ inline InstanceRequirements& WithNetworkBandwidthGbps(const NetworkBandwidthGbps& value) { SetNetworkBandwidthGbps(value); return *this;} /** *The minimum and maximum amount of network bandwidth, in gigabits per second * (Gbps).
Default: No minimum or maximum limits
*/ inline InstanceRequirements& WithNetworkBandwidthGbps(NetworkBandwidthGbps&& value) { SetNetworkBandwidthGbps(std::move(value)); 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
*/ inline const Aws::VectorThe 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
*/ inline bool AllowedInstanceTypesHasBeenSet() const { return m_allowedInstanceTypesHasBeenSet; } /** *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
*/ inline void SetAllowedInstanceTypes(const Aws::VectorThe 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
*/ inline void SetAllowedInstanceTypes(Aws::VectorThe 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
*/ inline InstanceRequirements& WithAllowedInstanceTypes(const Aws::VectorThe 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
*/ inline InstanceRequirements& WithAllowedInstanceTypes(Aws::VectorThe 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
*/ inline InstanceRequirements& AddAllowedInstanceTypes(const Aws::String& value) { m_allowedInstanceTypesHasBeenSet = true; m_allowedInstanceTypes.push_back(value); 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
*/ inline InstanceRequirements& AddAllowedInstanceTypes(Aws::String&& value) { m_allowedInstanceTypesHasBeenSet = true; m_allowedInstanceTypes.push_back(std::move(value)); 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
*/ inline InstanceRequirements& AddAllowedInstanceTypes(const char* value) { m_allowedInstanceTypesHasBeenSet = true; m_allowedInstanceTypes.push_back(value); return *this; } private: VCpuCountRange m_vCpuCount; bool m_vCpuCountHasBeenSet = false; MemoryMiB m_memoryMiB; bool m_memoryMiBHasBeenSet = false; Aws::Vector