7#include <aws/ec2/EC2_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
9#include <aws/ec2/model/VCpuCountRangeRequest.h>
10#include <aws/ec2/model/MemoryMiBRequest.h>
11#include <aws/core/utils/memory/stl/AWSVector.h>
12#include <aws/ec2/model/MemoryGiBPerVCpuRequest.h>
13#include <aws/ec2/model/BareMetal.h>
14#include <aws/ec2/model/BurstablePerformance.h>
15#include <aws/ec2/model/NetworkInterfaceCountRequest.h>
16#include <aws/ec2/model/LocalStorage.h>
17#include <aws/ec2/model/TotalLocalStorageGBRequest.h>
18#include <aws/ec2/model/BaselineEbsBandwidthMbpsRequest.h>
19#include <aws/ec2/model/AcceleratorCountRequest.h>
20#include <aws/ec2/model/AcceleratorTotalMemoryMiBRequest.h>
21#include <aws/ec2/model/NetworkBandwidthGbpsRequest.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>
551 bool m_vCpuCountHasBeenSet =
false;
554 bool m_memoryMiBHasBeenSet =
false;
557 bool m_cpuManufacturersHasBeenSet =
false;
560 bool m_memoryGiBPerVCpuHasBeenSet =
false;
563 bool m_excludedInstanceTypesHasBeenSet =
false;
566 bool m_instanceGenerationsHasBeenSet =
false;
568 int m_spotMaxPricePercentageOverLowestPrice;
569 bool m_spotMaxPricePercentageOverLowestPriceHasBeenSet =
false;
571 int m_onDemandMaxPricePercentageOverLowestPrice;
572 bool m_onDemandMaxPricePercentageOverLowestPriceHasBeenSet =
false;
575 bool m_bareMetalHasBeenSet =
false;
578 bool m_burstablePerformanceHasBeenSet =
false;
580 bool m_requireHibernateSupport;
581 bool m_requireHibernateSupportHasBeenSet =
false;
584 bool m_networkInterfaceCountHasBeenSet =
false;
587 bool m_localStorageHasBeenSet =
false;
590 bool m_localStorageTypesHasBeenSet =
false;
593 bool m_totalLocalStorageGBHasBeenSet =
false;
596 bool m_baselineEbsBandwidthMbpsHasBeenSet =
false;
599 bool m_acceleratorTypesHasBeenSet =
false;
602 bool m_acceleratorCountHasBeenSet =
false;
605 bool m_acceleratorManufacturersHasBeenSet =
false;
608 bool m_acceleratorNamesHasBeenSet =
false;
611 bool m_acceleratorTotalMemoryMiBHasBeenSet =
false;
614 bool m_networkBandwidthGbpsHasBeenSet =
false;
617 bool m_allowedInstanceTypesHasBeenSet =
false;
619 int m_maxSpotPriceAsPercentageOfOptimalOnDemandPrice;
620 bool m_maxSpotPriceAsPercentageOfOptimalOnDemandPriceHasBeenSet =
false;
InstanceRequirementsRequest & WithAcceleratorTypes(Aws::Vector< AcceleratorType > &&value)
InstanceRequirementsRequest & WithLocalStorage(const LocalStorage &value)
const AcceleratorTotalMemoryMiBRequest & GetAcceleratorTotalMemoryMiB() const
InstanceRequirementsRequest & WithExcludedInstanceTypes(Aws::Vector< Aws::String > &&value)
InstanceRequirementsRequest & AddAcceleratorTypes(const AcceleratorType &value)
InstanceRequirementsRequest & WithAllowedInstanceTypes(const Aws::Vector< Aws::String > &value)
InstanceRequirementsRequest & WithBurstablePerformance(const BurstablePerformance &value)
const Aws::Vector< AcceleratorType > & GetAcceleratorTypes() const
const BareMetal & GetBareMetal() const
void SetMemoryMiB(const MemoryMiBRequest &value)
void SetMaxSpotPriceAsPercentageOfOptimalOnDemandPrice(int value)
InstanceRequirementsRequest & AddAcceleratorTypes(AcceleratorType &&value)
void SetOnDemandMaxPricePercentageOverLowestPrice(int value)
bool MemoryMiBHasBeenSet() const
InstanceRequirementsRequest & WithOnDemandMaxPricePercentageOverLowestPrice(int value)
InstanceRequirementsRequest & WithBareMetal(const BareMetal &value)
bool BaselineEbsBandwidthMbpsHasBeenSet() const
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
InstanceRequirementsRequest & WithAcceleratorManufacturers(Aws::Vector< AcceleratorManufacturer > &&value)
bool CpuManufacturersHasBeenSet() const
InstanceRequirementsRequest & AddInstanceGenerations(const InstanceGeneration &value)
bool LocalStorageHasBeenSet() const
const VCpuCountRangeRequest & GetVCpuCount() const
void SetMemoryGiBPerVCpu(const MemoryGiBPerVCpuRequest &value)
InstanceRequirementsRequest & AddLocalStorageTypes(const LocalStorageType &value)
bool MemoryGiBPerVCpuHasBeenSet() const
bool NetworkInterfaceCountHasBeenSet() const
void SetTotalLocalStorageGB(TotalLocalStorageGBRequest &&value)
const BurstablePerformance & GetBurstablePerformance() const
InstanceRequirementsRequest & WithNetworkBandwidthGbps(NetworkBandwidthGbpsRequest &&value)
InstanceRequirementsRequest & WithAcceleratorNames(Aws::Vector< AcceleratorName > &&value)
void SetAcceleratorCount(AcceleratorCountRequest &&value)
InstanceRequirementsRequest & AddExcludedInstanceTypes(Aws::String &&value)
const Aws::Vector< AcceleratorName > & GetAcceleratorNames() const
InstanceRequirementsRequest & WithVCpuCount(const VCpuCountRangeRequest &value)
bool AcceleratorTotalMemoryMiBHasBeenSet() const
void SetBurstablePerformance(BurstablePerformance &&value)
void SetInstanceGenerations(const Aws::Vector< InstanceGeneration > &value)
void SetMemoryMiB(MemoryMiBRequest &&value)
const LocalStorage & GetLocalStorage() const
bool BurstablePerformanceHasBeenSet() const
InstanceRequirementsRequest & WithBaselineEbsBandwidthMbps(BaselineEbsBandwidthMbpsRequest &&value)
void SetTotalLocalStorageGB(const TotalLocalStorageGBRequest &value)
bool MaxSpotPriceAsPercentageOfOptimalOnDemandPriceHasBeenSet() const
InstanceRequirementsRequest & AddCpuManufacturers(CpuManufacturer &&value)
InstanceRequirementsRequest & AddAllowedInstanceTypes(const char *value)
InstanceRequirementsRequest & WithTotalLocalStorageGB(TotalLocalStorageGBRequest &&value)
void SetAcceleratorNames(const Aws::Vector< AcceleratorName > &value)
void SetAcceleratorTypes(const Aws::Vector< AcceleratorType > &value)
void SetCpuManufacturers(const Aws::Vector< CpuManufacturer > &value)
bool GetRequireHibernateSupport() const
bool SpotMaxPricePercentageOverLowestPriceHasBeenSet() const
InstanceRequirementsRequest & WithNetworkBandwidthGbps(const NetworkBandwidthGbpsRequest &value)
bool AcceleratorManufacturersHasBeenSet() const
InstanceRequirementsRequest & WithTotalLocalStorageGB(const TotalLocalStorageGBRequest &value)
InstanceRequirementsRequest & WithBaselineEbsBandwidthMbps(const BaselineEbsBandwidthMbpsRequest &value)
InstanceRequirementsRequest & AddAcceleratorManufacturers(AcceleratorManufacturer &&value)
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
InstanceRequirementsRequest & AddExcludedInstanceTypes(const char *value)
const BaselineEbsBandwidthMbpsRequest & GetBaselineEbsBandwidthMbps() const
void SetLocalStorage(const LocalStorage &value)
const Aws::Vector< AcceleratorManufacturer > & GetAcceleratorManufacturers() const
void SetNetworkBandwidthGbps(const NetworkBandwidthGbpsRequest &value)
InstanceRequirementsRequest & WithBareMetal(BareMetal &&value)
void SetAcceleratorTotalMemoryMiB(const AcceleratorTotalMemoryMiBRequest &value)
void SetBaselineEbsBandwidthMbps(const BaselineEbsBandwidthMbpsRequest &value)
InstanceRequirementsRequest & WithLocalStorage(LocalStorage &&value)
void SetCpuManufacturers(Aws::Vector< CpuManufacturer > &&value)
bool AcceleratorCountHasBeenSet() const
void SetAcceleratorTypes(Aws::Vector< AcceleratorType > &&value)
InstanceRequirementsRequest & WithSpotMaxPricePercentageOverLowestPrice(int value)
AWS_EC2_API InstanceRequirementsRequest(const Aws::Utils::Xml::XmlNode &xmlNode)
void SetNetworkInterfaceCount(const NetworkInterfaceCountRequest &value)
void SetInstanceGenerations(Aws::Vector< InstanceGeneration > &&value)
InstanceRequirementsRequest & AddAcceleratorNames(AcceleratorName &&value)
InstanceRequirementsRequest & AddAllowedInstanceTypes(const Aws::String &value)
int GetSpotMaxPricePercentageOverLowestPrice() const
InstanceRequirementsRequest & AddLocalStorageTypes(LocalStorageType &&value)
InstanceRequirementsRequest & WithAcceleratorTotalMemoryMiB(const AcceleratorTotalMemoryMiBRequest &value)
InstanceRequirementsRequest & WithInstanceGenerations(const Aws::Vector< InstanceGeneration > &value)
InstanceRequirementsRequest & WithCpuManufacturers(const Aws::Vector< CpuManufacturer > &value)
InstanceRequirementsRequest & AddCpuManufacturers(const CpuManufacturer &value)
InstanceRequirementsRequest & WithExcludedInstanceTypes(const Aws::Vector< Aws::String > &value)
InstanceRequirementsRequest & WithMemoryMiB(const MemoryMiBRequest &value)
InstanceRequirementsRequest & AddAcceleratorNames(const AcceleratorName &value)
const TotalLocalStorageGBRequest & GetTotalLocalStorageGB() const
bool BareMetalHasBeenSet() const
InstanceRequirementsRequest & WithVCpuCount(VCpuCountRangeRequest &&value)
bool AllowedInstanceTypesHasBeenSet() const
void SetRequireHibernateSupport(bool value)
InstanceRequirementsRequest & WithAllowedInstanceTypes(Aws::Vector< Aws::String > &&value)
InstanceRequirementsRequest & WithAcceleratorManufacturers(const Aws::Vector< AcceleratorManufacturer > &value)
void SetLocalStorageTypes(Aws::Vector< LocalStorageType > &&value)
const Aws::Vector< Aws::String > & GetAllowedInstanceTypes() const
void SetVCpuCount(const VCpuCountRangeRequest &value)
const MemoryGiBPerVCpuRequest & GetMemoryGiBPerVCpu() const
bool LocalStorageTypesHasBeenSet() const
bool ExcludedInstanceTypesHasBeenSet() const
void SetAllowedInstanceTypes(const Aws::Vector< Aws::String > &value)
void SetBurstablePerformance(const BurstablePerformance &value)
const Aws::Vector< Aws::String > & GetExcludedInstanceTypes() const
void SetMemoryGiBPerVCpu(MemoryGiBPerVCpuRequest &&value)
InstanceRequirementsRequest & WithMemoryMiB(MemoryMiBRequest &&value)
void SetBareMetal(BareMetal &&value)
bool AcceleratorNamesHasBeenSet() const
bool RequireHibernateSupportHasBeenSet() const
void SetBareMetal(const BareMetal &value)
void SetAcceleratorTotalMemoryMiB(AcceleratorTotalMemoryMiBRequest &&value)
void SetVCpuCount(VCpuCountRangeRequest &&value)
InstanceRequirementsRequest & AddAllowedInstanceTypes(Aws::String &&value)
void SetAcceleratorManufacturers(Aws::Vector< AcceleratorManufacturer > &&value)
InstanceRequirementsRequest & WithBurstablePerformance(BurstablePerformance &&value)
InstanceRequirementsRequest & WithMaxSpotPriceAsPercentageOfOptimalOnDemandPrice(int value)
InstanceRequirementsRequest & WithLocalStorageTypes(const Aws::Vector< LocalStorageType > &value)
InstanceRequirementsRequest & WithAcceleratorTotalMemoryMiB(AcceleratorTotalMemoryMiBRequest &&value)
bool TotalLocalStorageGBHasBeenSet() const
AWS_EC2_API InstanceRequirementsRequest()
bool VCpuCountHasBeenSet() const
void SetNetworkBandwidthGbps(NetworkBandwidthGbpsRequest &&value)
const MemoryMiBRequest & GetMemoryMiB() const
void SetLocalStorage(LocalStorage &&value)
void SetNetworkInterfaceCount(NetworkInterfaceCountRequest &&value)
const Aws::Vector< LocalStorageType > & GetLocalStorageTypes() const
InstanceRequirementsRequest & WithAcceleratorNames(const Aws::Vector< AcceleratorName > &value)
void SetExcludedInstanceTypes(const Aws::Vector< Aws::String > &value)
InstanceRequirementsRequest & WithNetworkInterfaceCount(const NetworkInterfaceCountRequest &value)
InstanceRequirementsRequest & WithLocalStorageTypes(Aws::Vector< LocalStorageType > &&value)
const NetworkBandwidthGbpsRequest & GetNetworkBandwidthGbps() const
void SetAllowedInstanceTypes(Aws::Vector< Aws::String > &&value)
InstanceRequirementsRequest & WithCpuManufacturers(Aws::Vector< CpuManufacturer > &&value)
int GetOnDemandMaxPricePercentageOverLowestPrice() const
InstanceRequirementsRequest & WithAcceleratorCount(AcceleratorCountRequest &&value)
InstanceRequirementsRequest & AddAcceleratorManufacturers(const AcceleratorManufacturer &value)
const Aws::Vector< CpuManufacturer > & GetCpuManufacturers() const
bool OnDemandMaxPricePercentageOverLowestPriceHasBeenSet() const
void SetLocalStorageTypes(const Aws::Vector< LocalStorageType > &value)
InstanceRequirementsRequest & WithMemoryGiBPerVCpu(const MemoryGiBPerVCpuRequest &value)
void SetAcceleratorManufacturers(const Aws::Vector< AcceleratorManufacturer > &value)
void SetAcceleratorCount(const AcceleratorCountRequest &value)
bool AcceleratorTypesHasBeenSet() const
AWS_EC2_API InstanceRequirementsRequest & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
bool InstanceGenerationsHasBeenSet() const
int GetMaxSpotPriceAsPercentageOfOptimalOnDemandPrice() const
InstanceRequirementsRequest & WithAcceleratorTypes(const Aws::Vector< AcceleratorType > &value)
bool NetworkBandwidthGbpsHasBeenSet() const
const AcceleratorCountRequest & GetAcceleratorCount() const
const NetworkInterfaceCountRequest & GetNetworkInterfaceCount() const
InstanceRequirementsRequest & WithNetworkInterfaceCount(NetworkInterfaceCountRequest &&value)
InstanceRequirementsRequest & AddExcludedInstanceTypes(const Aws::String &value)
void SetBaselineEbsBandwidthMbps(BaselineEbsBandwidthMbpsRequest &&value)
InstanceRequirementsRequest & WithRequireHibernateSupport(bool value)
InstanceRequirementsRequest & AddInstanceGenerations(InstanceGeneration &&value)
void SetExcludedInstanceTypes(Aws::Vector< Aws::String > &&value)
void SetSpotMaxPricePercentageOverLowestPrice(int value)
void SetAcceleratorNames(Aws::Vector< AcceleratorName > &&value)
InstanceRequirementsRequest & WithMemoryGiBPerVCpu(MemoryGiBPerVCpuRequest &&value)
InstanceRequirementsRequest & WithInstanceGenerations(Aws::Vector< InstanceGeneration > &&value)
InstanceRequirementsRequest & WithAcceleratorCount(const AcceleratorCountRequest &value)
const Aws::Vector< InstanceGeneration > & GetInstanceGenerations() const
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