7#include <aws/ec2/EC2_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
9#include <aws/ec2/model/VCpuCountRange.h>
10#include <aws/ec2/model/MemoryMiB.h>
11#include <aws/core/utils/memory/stl/AWSVector.h>
12#include <aws/ec2/model/MemoryGiBPerVCpu.h>
13#include <aws/ec2/model/BareMetal.h>
14#include <aws/ec2/model/BurstablePerformance.h>
15#include <aws/ec2/model/NetworkInterfaceCount.h>
16#include <aws/ec2/model/LocalStorage.h>
17#include <aws/ec2/model/TotalLocalStorageGB.h>
18#include <aws/ec2/model/BaselineEbsBandwidthMbps.h>
19#include <aws/ec2/model/AcceleratorCount.h>
20#include <aws/ec2/model/AcceleratorTotalMemoryMiB.h>
21#include <aws/ec2/model/NetworkBandwidthGbps.h>
22#include <aws/ec2/model/CpuManufacturer.h>
23#include <aws/core/utils/memory/stl/AWSString.h>
24#include <aws/ec2/model/InstanceGeneration.h>
25#include <aws/ec2/model/LocalStorageType.h>
26#include <aws/ec2/model/AcceleratorType.h>
27#include <aws/ec2/model/AcceleratorManufacturer.h>
28#include <aws/ec2/model/AcceleratorName.h>
549 bool m_vCpuCountHasBeenSet =
false;
552 bool m_memoryMiBHasBeenSet =
false;
555 bool m_cpuManufacturersHasBeenSet =
false;
558 bool m_memoryGiBPerVCpuHasBeenSet =
false;
561 bool m_excludedInstanceTypesHasBeenSet =
false;
564 bool m_instanceGenerationsHasBeenSet =
false;
566 int m_spotMaxPricePercentageOverLowestPrice;
567 bool m_spotMaxPricePercentageOverLowestPriceHasBeenSet =
false;
569 int m_onDemandMaxPricePercentageOverLowestPrice;
570 bool m_onDemandMaxPricePercentageOverLowestPriceHasBeenSet =
false;
573 bool m_bareMetalHasBeenSet =
false;
576 bool m_burstablePerformanceHasBeenSet =
false;
578 bool m_requireHibernateSupport;
579 bool m_requireHibernateSupportHasBeenSet =
false;
582 bool m_networkInterfaceCountHasBeenSet =
false;
585 bool m_localStorageHasBeenSet =
false;
588 bool m_localStorageTypesHasBeenSet =
false;
591 bool m_totalLocalStorageGBHasBeenSet =
false;
594 bool m_baselineEbsBandwidthMbpsHasBeenSet =
false;
597 bool m_acceleratorTypesHasBeenSet =
false;
600 bool m_acceleratorCountHasBeenSet =
false;
603 bool m_acceleratorManufacturersHasBeenSet =
false;
606 bool m_acceleratorNamesHasBeenSet =
false;
609 bool m_acceleratorTotalMemoryMiBHasBeenSet =
false;
612 bool m_networkBandwidthGbpsHasBeenSet =
false;
615 bool m_allowedInstanceTypesHasBeenSet =
false;
617 int m_maxSpotPriceAsPercentageOfOptimalOnDemandPrice;
618 bool m_maxSpotPriceAsPercentageOfOptimalOnDemandPriceHasBeenSet =
false;
InstanceRequirements & AddAcceleratorManufacturers(AcceleratorManufacturer &&value)
void SetTotalLocalStorageGB(TotalLocalStorageGB &&value)
const Aws::Vector< AcceleratorType > & GetAcceleratorTypes() const
void SetExcludedInstanceTypes(const Aws::Vector< Aws::String > &value)
void SetAcceleratorNames(Aws::Vector< AcceleratorName > &&value)
bool AcceleratorNamesHasBeenSet() const
const Aws::Vector< Aws::String > & GetExcludedInstanceTypes() const
InstanceRequirements & WithBareMetal(BareMetal &&value)
bool ExcludedInstanceTypesHasBeenSet() const
bool LocalStorageTypesHasBeenSet() const
void SetMaxSpotPriceAsPercentageOfOptimalOnDemandPrice(int value)
int GetMaxSpotPriceAsPercentageOfOptimalOnDemandPrice() const
bool AcceleratorCountHasBeenSet() const
void SetTotalLocalStorageGB(const TotalLocalStorageGB &value)
void SetLocalStorage(LocalStorage &&value)
const LocalStorage & GetLocalStorage() const
bool AcceleratorManufacturersHasBeenSet() const
void SetAcceleratorNames(const Aws::Vector< AcceleratorName > &value)
void SetBaselineEbsBandwidthMbps(BaselineEbsBandwidthMbps &&value)
void SetNetworkInterfaceCount(NetworkInterfaceCount &&value)
InstanceRequirements & WithAcceleratorTypes(const Aws::Vector< AcceleratorType > &value)
const Aws::Vector< Aws::String > & GetAllowedInstanceTypes() const
void SetInstanceGenerations(const Aws::Vector< InstanceGeneration > &value)
const NetworkInterfaceCount & GetNetworkInterfaceCount() const
void SetBurstablePerformance(BurstablePerformance &&value)
AWS_EC2_API InstanceRequirements(const Aws::Utils::Xml::XmlNode &xmlNode)
bool AcceleratorTotalMemoryMiBHasBeenSet() const
void SetOnDemandMaxPricePercentageOverLowestPrice(int value)
void SetLocalStorageTypes(const Aws::Vector< LocalStorageType > &value)
InstanceRequirements & WithNetworkInterfaceCount(NetworkInterfaceCount &&value)
InstanceRequirements & WithAllowedInstanceTypes(const Aws::Vector< Aws::String > &value)
InstanceRequirements & AddAllowedInstanceTypes(Aws::String &&value)
bool NetworkInterfaceCountHasBeenSet() const
InstanceRequirements & WithLocalStorage(const LocalStorage &value)
void SetMemoryGiBPerVCpu(const MemoryGiBPerVCpu &value)
InstanceRequirements & AddCpuManufacturers(CpuManufacturer &&value)
const NetworkBandwidthGbps & GetNetworkBandwidthGbps() const
InstanceRequirements & WithCpuManufacturers(Aws::Vector< CpuManufacturer > &&value)
InstanceRequirements & AddAcceleratorNames(AcceleratorName &&value)
InstanceRequirements & AddExcludedInstanceTypes(Aws::String &&value)
InstanceRequirements & AddAcceleratorNames(const AcceleratorName &value)
InstanceRequirements & WithNetworkBandwidthGbps(NetworkBandwidthGbps &&value)
void SetLocalStorage(const LocalStorage &value)
bool SpotMaxPricePercentageOverLowestPriceHasBeenSet() const
InstanceRequirements & WithAcceleratorNames(Aws::Vector< AcceleratorName > &&value)
InstanceRequirements & WithBareMetal(const BareMetal &value)
void SetAcceleratorTypes(const Aws::Vector< AcceleratorType > &value)
void SetBaselineEbsBandwidthMbps(const BaselineEbsBandwidthMbps &value)
void SetAcceleratorManufacturers(Aws::Vector< AcceleratorManufacturer > &&value)
InstanceRequirements & WithCpuManufacturers(const Aws::Vector< CpuManufacturer > &value)
const Aws::Vector< LocalStorageType > & GetLocalStorageTypes() const
void SetExcludedInstanceTypes(Aws::Vector< Aws::String > &&value)
InstanceRequirements & AddAcceleratorTypes(const AcceleratorType &value)
const BareMetal & GetBareMetal() const
void SetLocalStorageTypes(Aws::Vector< LocalStorageType > &&value)
InstanceRequirements & WithMemoryMiB(const MemoryMiB &value)
InstanceRequirements & WithNetworkInterfaceCount(const NetworkInterfaceCount &value)
void SetRequireHibernateSupport(bool value)
InstanceRequirements & WithTotalLocalStorageGB(TotalLocalStorageGB &&value)
bool NetworkBandwidthGbpsHasBeenSet() const
InstanceRequirements & WithAcceleratorManufacturers(const Aws::Vector< AcceleratorManufacturer > &value)
InstanceRequirements & WithBurstablePerformance(BurstablePerformance &&value)
void SetAcceleratorCount(AcceleratorCount &&value)
bool LocalStorageHasBeenSet() const
void SetAcceleratorCount(const AcceleratorCount &value)
InstanceRequirements & WithNetworkBandwidthGbps(const NetworkBandwidthGbps &value)
InstanceRequirements & WithMaxSpotPriceAsPercentageOfOptimalOnDemandPrice(int value)
bool AllowedInstanceTypesHasBeenSet() const
void SetAcceleratorTotalMemoryMiB(const AcceleratorTotalMemoryMiB &value)
void SetBareMetal(const BareMetal &value)
InstanceRequirements & WithBaselineEbsBandwidthMbps(BaselineEbsBandwidthMbps &&value)
InstanceRequirements & WithAcceleratorManufacturers(Aws::Vector< AcceleratorManufacturer > &&value)
void SetCpuManufacturers(Aws::Vector< CpuManufacturer > &&value)
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
void SetAllowedInstanceTypes(const Aws::Vector< Aws::String > &value)
const Aws::Vector< AcceleratorName > & GetAcceleratorNames() const
bool BareMetalHasBeenSet() const
InstanceRequirements & WithOnDemandMaxPricePercentageOverLowestPrice(int value)
bool MemoryMiBHasBeenSet() const
InstanceRequirements & AddLocalStorageTypes(LocalStorageType &&value)
InstanceRequirements & WithLocalStorageTypes(Aws::Vector< LocalStorageType > &&value)
InstanceRequirements & AddCpuManufacturers(const CpuManufacturer &value)
InstanceRequirements & WithVCpuCount(const VCpuCountRange &value)
InstanceRequirements & WithAcceleratorCount(AcceleratorCount &&value)
void SetVCpuCount(const VCpuCountRange &value)
AWS_EC2_API InstanceRequirements & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
bool AcceleratorTypesHasBeenSet() const
void SetNetworkInterfaceCount(const NetworkInterfaceCount &value)
bool InstanceGenerationsHasBeenSet() const
const BaselineEbsBandwidthMbps & GetBaselineEbsBandwidthMbps() const
void SetNetworkBandwidthGbps(NetworkBandwidthGbps &&value)
InstanceRequirements & WithInstanceGenerations(Aws::Vector< InstanceGeneration > &&value)
bool BaselineEbsBandwidthMbpsHasBeenSet() const
InstanceRequirements & AddAllowedInstanceTypes(const Aws::String &value)
bool GetRequireHibernateSupport() const
void SetSpotMaxPricePercentageOverLowestPrice(int value)
const BurstablePerformance & GetBurstablePerformance() const
const TotalLocalStorageGB & GetTotalLocalStorageGB() const
InstanceRequirements & WithAcceleratorCount(const AcceleratorCount &value)
void SetAcceleratorTypes(Aws::Vector< AcceleratorType > &&value)
void SetMemoryMiB(const MemoryMiB &value)
bool BurstablePerformanceHasBeenSet() const
void SetBurstablePerformance(const BurstablePerformance &value)
void SetVCpuCount(VCpuCountRange &&value)
const VCpuCountRange & GetVCpuCount() const
InstanceRequirements & WithLocalStorage(LocalStorage &&value)
void SetCpuManufacturers(const Aws::Vector< CpuManufacturer > &value)
int GetOnDemandMaxPricePercentageOverLowestPrice() const
InstanceRequirements & WithMemoryMiB(MemoryMiB &&value)
const AcceleratorTotalMemoryMiB & GetAcceleratorTotalMemoryMiB() const
bool MaxSpotPriceAsPercentageOfOptimalOnDemandPriceHasBeenSet() const
InstanceRequirements & AddAcceleratorTypes(AcceleratorType &&value)
InstanceRequirements & WithRequireHibernateSupport(bool value)
const MemoryMiB & GetMemoryMiB() const
void SetNetworkBandwidthGbps(const NetworkBandwidthGbps &value)
int GetSpotMaxPricePercentageOverLowestPrice() const
InstanceRequirements & WithTotalLocalStorageGB(const TotalLocalStorageGB &value)
InstanceRequirements & WithAcceleratorTotalMemoryMiB(const AcceleratorTotalMemoryMiB &value)
InstanceRequirements & WithVCpuCount(VCpuCountRange &&value)
AWS_EC2_API InstanceRequirements()
bool MemoryGiBPerVCpuHasBeenSet() const
InstanceRequirements & WithLocalStorageTypes(const Aws::Vector< LocalStorageType > &value)
InstanceRequirements & WithAcceleratorTypes(Aws::Vector< AcceleratorType > &&value)
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
InstanceRequirements & WithAcceleratorNames(const Aws::Vector< AcceleratorName > &value)
bool RequireHibernateSupportHasBeenSet() const
InstanceRequirements & WithAcceleratorTotalMemoryMiB(AcceleratorTotalMemoryMiB &&value)
InstanceRequirements & AddInstanceGenerations(InstanceGeneration &&value)
InstanceRequirements & WithExcludedInstanceTypes(const Aws::Vector< Aws::String > &value)
InstanceRequirements & WithExcludedInstanceTypes(Aws::Vector< Aws::String > &&value)
const Aws::Vector< AcceleratorManufacturer > & GetAcceleratorManufacturers() const
const Aws::Vector< CpuManufacturer > & GetCpuManufacturers() const
InstanceRequirements & WithSpotMaxPricePercentageOverLowestPrice(int value)
void SetAcceleratorTotalMemoryMiB(AcceleratorTotalMemoryMiB &&value)
void SetMemoryMiB(MemoryMiB &&value)
const Aws::Vector< InstanceGeneration > & GetInstanceGenerations() const
InstanceRequirements & WithInstanceGenerations(const Aws::Vector< InstanceGeneration > &value)
InstanceRequirements & AddExcludedInstanceTypes(const char *value)
void SetAllowedInstanceTypes(Aws::Vector< Aws::String > &&value)
bool TotalLocalStorageGBHasBeenSet() const
InstanceRequirements & AddAcceleratorManufacturers(const AcceleratorManufacturer &value)
InstanceRequirements & AddExcludedInstanceTypes(const Aws::String &value)
void SetBareMetal(BareMetal &&value)
bool VCpuCountHasBeenSet() const
InstanceRequirements & WithAllowedInstanceTypes(Aws::Vector< Aws::String > &&value)
const AcceleratorCount & GetAcceleratorCount() const
bool OnDemandMaxPricePercentageOverLowestPriceHasBeenSet() const
InstanceRequirements & AddAllowedInstanceTypes(const char *value)
InstanceRequirements & WithMemoryGiBPerVCpu(const MemoryGiBPerVCpu &value)
InstanceRequirements & WithMemoryGiBPerVCpu(MemoryGiBPerVCpu &&value)
InstanceRequirements & WithBaselineEbsBandwidthMbps(const BaselineEbsBandwidthMbps &value)
InstanceRequirements & AddLocalStorageTypes(const LocalStorageType &value)
bool CpuManufacturersHasBeenSet() const
InstanceRequirements & WithBurstablePerformance(const BurstablePerformance &value)
InstanceRequirements & AddInstanceGenerations(const InstanceGeneration &value)
const MemoryGiBPerVCpu & GetMemoryGiBPerVCpu() const
void SetInstanceGenerations(Aws::Vector< InstanceGeneration > &&value)
void SetAcceleratorManufacturers(const Aws::Vector< AcceleratorManufacturer > &value)
void SetMemoryGiBPerVCpu(MemoryGiBPerVCpu &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
std::basic_ostream< char, std::char_traits< char > > OStream