7#include <aws/autoscaling/AutoScaling_EXPORTS.h>
8#include <aws/autoscaling/model/AcceleratorCountRequest.h>
9#include <aws/autoscaling/model/AcceleratorManufacturer.h>
10#include <aws/autoscaling/model/AcceleratorName.h>
11#include <aws/autoscaling/model/AcceleratorTotalMemoryMiBRequest.h>
12#include <aws/autoscaling/model/AcceleratorType.h>
13#include <aws/autoscaling/model/BareMetal.h>
14#include <aws/autoscaling/model/BaselineEbsBandwidthMbpsRequest.h>
15#include <aws/autoscaling/model/BaselinePerformanceFactorsRequest.h>
16#include <aws/autoscaling/model/BurstablePerformance.h>
17#include <aws/autoscaling/model/CpuManufacturer.h>
18#include <aws/autoscaling/model/InstanceGeneration.h>
19#include <aws/autoscaling/model/LocalStorage.h>
20#include <aws/autoscaling/model/LocalStorageType.h>
21#include <aws/autoscaling/model/MemoryGiBPerVCpuRequest.h>
22#include <aws/autoscaling/model/MemoryMiBRequest.h>
23#include <aws/autoscaling/model/NetworkBandwidthGbpsRequest.h>
24#include <aws/autoscaling/model/NetworkInterfaceCountRequest.h>
25#include <aws/autoscaling/model/TotalLocalStorageGBRequest.h>
26#include <aws/autoscaling/model/VCpuCountRequest.h>
27#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
28#include <aws/core/utils/memory/stl/AWSString.h>
29#include <aws/core/utils/memory/stl/AWSVector.h>
39namespace AutoScaling {
86 template <
typename VCpuCountT = VCpuCountRequest>
88 m_vCpuCountHasBeenSet =
true;
89 m_vCpuCount = std::forward<VCpuCountT>(value);
91 template <
typename VCpuCountT = VCpuCountRequest>
105 template <
typename MemoryMiBT = MemoryMiBRequest>
107 m_memoryMiBHasBeenSet =
true;
108 m_memoryMiB = std::forward<MemoryMiBT>(value);
110 template <
typename MemoryMiBT = MemoryMiBRequest>
132 template <
typename CpuManufacturersT = Aws::Vector<CpuManufacturer>>
134 m_cpuManufacturersHasBeenSet =
true;
135 m_cpuManufacturers = std::forward<CpuManufacturersT>(value);
137 template <
typename CpuManufacturersT = Aws::Vector<CpuManufacturer>>
143 m_cpuManufacturersHasBeenSet =
true;
144 m_cpuManufacturers.push_back(value);
156 template <
typename MemoryGiBPerVCpuT = MemoryGiBPerVCpuRequest>
158 m_memoryGiBPerVCpuHasBeenSet =
true;
159 m_memoryGiBPerVCpu = std::forward<MemoryGiBPerVCpuT>(value);
161 template <
typename MemoryGiBPerVCpuT = MemoryGiBPerVCpuRequest>
184 template <
typename ExcludedInstanceTypesT = Aws::Vector<Aws::String>>
186 m_excludedInstanceTypesHasBeenSet =
true;
187 m_excludedInstanceTypes = std::forward<ExcludedInstanceTypesT>(value);
189 template <
typename ExcludedInstanceTypesT = Aws::Vector<Aws::String>>
194 template <
typename ExcludedInstanceTypesT = Aws::String>
196 m_excludedInstanceTypesHasBeenSet =
true;
197 m_excludedInstanceTypes.emplace_back(std::forward<ExcludedInstanceTypesT>(value));
216 template <
typename InstanceGenerationsT = Aws::Vector<InstanceGeneration>>
218 m_instanceGenerationsHasBeenSet =
true;
219 m_instanceGenerations = std::forward<InstanceGenerationsT>(value);
221 template <
typename InstanceGenerationsT = Aws::Vector<InstanceGeneration>>
227 m_instanceGenerationsHasBeenSet =
true;
228 m_instanceGenerations.push_back(value);
260 m_spotMaxPricePercentageOverLowestPriceHasBeenSet =
true;
261 m_spotMaxPricePercentageOverLowestPrice = value;
295 return m_maxSpotPriceAsPercentageOfOptimalOnDemandPriceHasBeenSet;
298 m_maxSpotPriceAsPercentageOfOptimalOnDemandPriceHasBeenSet =
true;
299 m_maxSpotPriceAsPercentageOfOptimalOnDemandPrice = value;
328 m_onDemandMaxPricePercentageOverLowestPriceHasBeenSet =
true;
329 m_onDemandMaxPricePercentageOverLowestPrice = value;
345 m_bareMetalHasBeenSet =
true;
365 m_burstablePerformanceHasBeenSet =
true;
366 m_burstablePerformance = value;
382 m_requireHibernateSupportHasBeenSet =
true;
383 m_requireHibernateSupport = value;
398 template <
typename NetworkInterfaceCountT = NetworkInterfaceCountRequest>
400 m_networkInterfaceCountHasBeenSet =
true;
401 m_networkInterfaceCount = std::forward<NetworkInterfaceCountT>(value);
403 template <
typename NetworkInterfaceCountT = NetworkInterfaceCountRequest>
421 m_localStorageHasBeenSet =
true;
422 m_localStorage = value;
439 template <
typename LocalStorageTypesT = Aws::Vector<LocalStorageType>>
441 m_localStorageTypesHasBeenSet =
true;
442 m_localStorageTypes = std::forward<LocalStorageTypesT>(value);
444 template <
typename LocalStorageTypesT = Aws::Vector<LocalStorageType>>
450 m_localStorageTypesHasBeenSet =
true;
451 m_localStorageTypes.push_back(value);
463 template <
typename TotalLocalStorageGBT = TotalLocalStorageGBRequest>
465 m_totalLocalStorageGBHasBeenSet =
true;
466 m_totalLocalStorageGB = std::forward<TotalLocalStorageGBT>(value);
468 template <
typename TotalLocalStorageGBT = TotalLocalStorageGBRequest>
485 template <
typename BaselineEbsBandw
idthMbpsT = BaselineEbsBandw
idthMbpsRequest>
487 m_baselineEbsBandwidthMbpsHasBeenSet =
true;
488 m_baselineEbsBandwidthMbps = std::forward<BaselineEbsBandwidthMbpsT>(value);
490 template <
typename BaselineEbsBandw
idthMbpsT = BaselineEbsBandw
idthMbpsRequest>
508 template <
typename AcceleratorTypesT = Aws::Vector<AcceleratorType>>
510 m_acceleratorTypesHasBeenSet =
true;
511 m_acceleratorTypes = std::forward<AcceleratorTypesT>(value);
513 template <
typename AcceleratorTypesT = Aws::Vector<AcceleratorType>>
519 m_acceleratorTypesHasBeenSet =
true;
520 m_acceleratorTypes.push_back(value);
534 template <
typename AcceleratorCountT = AcceleratorCountRequest>
536 m_acceleratorCountHasBeenSet =
true;
537 m_acceleratorCount = std::forward<AcceleratorCountT>(value);
539 template <
typename AcceleratorCountT = AcceleratorCountRequest>
558 template <
typename AcceleratorManufacturersT = Aws::Vector<AcceleratorManufacturer>>
560 m_acceleratorManufacturersHasBeenSet =
true;
561 m_acceleratorManufacturers = std::forward<AcceleratorManufacturersT>(value);
563 template <
typename AcceleratorManufacturersT = Aws::Vector<AcceleratorManufacturer>>
569 m_acceleratorManufacturersHasBeenSet =
true;
570 m_acceleratorManufacturers.push_back(value);
590 template <
typename AcceleratorNamesT = Aws::Vector<AcceleratorName>>
592 m_acceleratorNamesHasBeenSet =
true;
593 m_acceleratorNames = std::forward<AcceleratorNamesT>(value);
595 template <
typename AcceleratorNamesT = Aws::Vector<AcceleratorName>>
601 m_acceleratorNamesHasBeenSet =
true;
602 m_acceleratorNames.push_back(value);
614 template <
typename AcceleratorTotalMemoryMiBT = AcceleratorTotalMemoryMiBRequest>
616 m_acceleratorTotalMemoryMiBHasBeenSet =
true;
617 m_acceleratorTotalMemoryMiB = std::forward<AcceleratorTotalMemoryMiBT>(value);
619 template <
typename AcceleratorTotalMemoryMiBT = AcceleratorTotalMemoryMiBRequest>
633 template <
typename NetworkBandw
idthGbpsT = NetworkBandw
idthGbpsRequest>
635 m_networkBandwidthGbpsHasBeenSet =
true;
636 m_networkBandwidthGbps = std::forward<NetworkBandwidthGbpsT>(value);
638 template <
typename NetworkBandw
idthGbpsT = NetworkBandw
idthGbpsRequest>
663 template <
typename AllowedInstanceTypesT = Aws::Vector<Aws::String>>
665 m_allowedInstanceTypesHasBeenSet =
true;
666 m_allowedInstanceTypes = std::forward<AllowedInstanceTypesT>(value);
668 template <
typename AllowedInstanceTypesT = Aws::Vector<Aws::String>>
673 template <
typename AllowedInstanceTypesT = Aws::String>
675 m_allowedInstanceTypesHasBeenSet =
true;
676 m_allowedInstanceTypes.emplace_back(std::forward<AllowedInstanceTypesT>(value));
687 template <
typename BaselinePerformanceFactorsT = BaselinePerformanceFactorsRequest>
689 m_baselinePerformanceFactorsHasBeenSet =
true;
690 m_baselinePerformanceFactors = std::forward<BaselinePerformanceFactorsT>(value);
692 template <
typename BaselinePerformanceFactorsT = BaselinePerformanceFactorsRequest>
711 int m_spotMaxPricePercentageOverLowestPrice{0};
713 int m_maxSpotPriceAsPercentageOfOptimalOnDemandPrice{0};
715 int m_onDemandMaxPricePercentageOverLowestPrice{0};
721 bool m_requireHibernateSupport{
false};
723 NetworkInterfaceCountRequest m_networkInterfaceCount;
729 TotalLocalStorageGBRequest m_totalLocalStorageGB;
731 BaselineEbsBandwidthMbpsRequest m_baselineEbsBandwidthMbps;
735 AcceleratorCountRequest m_acceleratorCount;
741 AcceleratorTotalMemoryMiBRequest m_acceleratorTotalMemoryMiB;
743 NetworkBandwidthGbpsRequest m_networkBandwidthGbps;
747 BaselinePerformanceFactorsRequest m_baselinePerformanceFactors;
748 bool m_vCpuCountHasBeenSet =
false;
749 bool m_memoryMiBHasBeenSet =
false;
750 bool m_cpuManufacturersHasBeenSet =
false;
751 bool m_memoryGiBPerVCpuHasBeenSet =
false;
752 bool m_excludedInstanceTypesHasBeenSet =
false;
753 bool m_instanceGenerationsHasBeenSet =
false;
754 bool m_spotMaxPricePercentageOverLowestPriceHasBeenSet =
false;
755 bool m_maxSpotPriceAsPercentageOfOptimalOnDemandPriceHasBeenSet =
false;
756 bool m_onDemandMaxPricePercentageOverLowestPriceHasBeenSet =
false;
757 bool m_bareMetalHasBeenSet =
false;
758 bool m_burstablePerformanceHasBeenSet =
false;
759 bool m_requireHibernateSupportHasBeenSet =
false;
760 bool m_networkInterfaceCountHasBeenSet =
false;
761 bool m_localStorageHasBeenSet =
false;
762 bool m_localStorageTypesHasBeenSet =
false;
763 bool m_totalLocalStorageGBHasBeenSet =
false;
764 bool m_baselineEbsBandwidthMbpsHasBeenSet =
false;
765 bool m_acceleratorTypesHasBeenSet =
false;
766 bool m_acceleratorCountHasBeenSet =
false;
767 bool m_acceleratorManufacturersHasBeenSet =
false;
768 bool m_acceleratorNamesHasBeenSet =
false;
769 bool m_acceleratorTotalMemoryMiBHasBeenSet =
false;
770 bool m_networkBandwidthGbpsHasBeenSet =
false;
771 bool m_allowedInstanceTypesHasBeenSet =
false;
772 bool m_baselinePerformanceFactorsHasBeenSet =
false;
InstanceRequirements & AddLocalStorageTypes(LocalStorageType value)
void SetTotalLocalStorageGB(TotalLocalStorageGBT &&value)
InstanceRequirements & AddInstanceGenerations(InstanceGeneration value)
const VCpuCountRequest & GetVCpuCount() const
InstanceRequirements & WithBurstablePerformance(BurstablePerformance value)
const Aws::Vector< LocalStorageType > & GetLocalStorageTypes() const
InstanceRequirements & AddAcceleratorTypes(AcceleratorType value)
void SetLocalStorageTypes(LocalStorageTypesT &&value)
BurstablePerformance GetBurstablePerformance() const
void SetMaxSpotPriceAsPercentageOfOptimalOnDemandPrice(int value)
const TotalLocalStorageGBRequest & GetTotalLocalStorageGB() const
InstanceRequirements & WithMaxSpotPriceAsPercentageOfOptimalOnDemandPrice(int value)
AWS_AUTOSCALING_API InstanceRequirements()=default
InstanceRequirements & AddCpuManufacturers(CpuManufacturer value)
InstanceRequirements & WithExcludedInstanceTypes(ExcludedInstanceTypesT &&value)
bool LocalStorageTypesHasBeenSet() const
InstanceRequirements & WithInstanceGenerations(InstanceGenerationsT &&value)
void SetAcceleratorCount(AcceleratorCountT &&value)
void SetNetworkBandwidthGbps(NetworkBandwidthGbpsT &&value)
InstanceRequirements & WithAllowedInstanceTypes(AllowedInstanceTypesT &&value)
const Aws::Vector< AcceleratorName > & GetAcceleratorNames() const
bool AcceleratorManufacturersHasBeenSet() const
bool InstanceGenerationsHasBeenSet() const
void SetBurstablePerformance(BurstablePerformance value)
bool MemoryGiBPerVCpuHasBeenSet() const
bool BurstablePerformanceHasBeenSet() const
const MemoryGiBPerVCpuRequest & GetMemoryGiBPerVCpu() const
bool OnDemandMaxPricePercentageOverLowestPriceHasBeenSet() const
InstanceRequirements & WithLocalStorageTypes(LocalStorageTypesT &&value)
InstanceRequirements & AddAllowedInstanceTypes(AllowedInstanceTypesT &&value)
bool RequireHibernateSupportHasBeenSet() const
InstanceRequirements & WithMemoryGiBPerVCpu(MemoryGiBPerVCpuT &&value)
bool MaxSpotPriceAsPercentageOfOptimalOnDemandPriceHasBeenSet() const
const BaselineEbsBandwidthMbpsRequest & GetBaselineEbsBandwidthMbps() const
InstanceRequirements & WithVCpuCount(VCpuCountT &&value)
bool AcceleratorCountHasBeenSet() const
InstanceRequirements & AddExcludedInstanceTypes(ExcludedInstanceTypesT &&value)
void SetBareMetal(BareMetal value)
void SetAcceleratorManufacturers(AcceleratorManufacturersT &&value)
InstanceRequirements & WithCpuManufacturers(CpuManufacturersT &&value)
InstanceRequirements & WithAcceleratorTotalMemoryMiB(AcceleratorTotalMemoryMiBT &&value)
const NetworkInterfaceCountRequest & GetNetworkInterfaceCount() const
AWS_AUTOSCALING_API InstanceRequirements & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
const Aws::Vector< AcceleratorType > & GetAcceleratorTypes() const
bool BaselineEbsBandwidthMbpsHasBeenSet() const
const BaselinePerformanceFactorsRequest & GetBaselinePerformanceFactors() const
InstanceRequirements & WithAcceleratorCount(AcceleratorCountT &&value)
InstanceRequirements & WithBaselinePerformanceFactors(BaselinePerformanceFactorsT &&value)
void SetMemoryMiB(MemoryMiBT &&value)
bool AcceleratorTypesHasBeenSet() const
void SetAcceleratorTypes(AcceleratorTypesT &&value)
BareMetal GetBareMetal() const
void SetBaselinePerformanceFactors(BaselinePerformanceFactorsT &&value)
bool LocalStorageHasBeenSet() const
bool TotalLocalStorageGBHasBeenSet() const
InstanceRequirements & WithTotalLocalStorageGB(TotalLocalStorageGBT &&value)
void SetLocalStorage(LocalStorage value)
const Aws::Vector< AcceleratorManufacturer > & GetAcceleratorManufacturers() const
const AcceleratorTotalMemoryMiBRequest & GetAcceleratorTotalMemoryMiB() const
void SetSpotMaxPricePercentageOverLowestPrice(int value)
void SetNetworkInterfaceCount(NetworkInterfaceCountT &&value)
void SetVCpuCount(VCpuCountT &&value)
int GetSpotMaxPricePercentageOverLowestPrice() const
bool ExcludedInstanceTypesHasBeenSet() const
const Aws::Vector< CpuManufacturer > & GetCpuManufacturers() const
InstanceRequirements & WithAcceleratorNames(AcceleratorNamesT &&value)
InstanceRequirements & WithAcceleratorTypes(AcceleratorTypesT &&value)
const Aws::Vector< Aws::String > & GetExcludedInstanceTypes() const
void SetMemoryGiBPerVCpu(MemoryGiBPerVCpuT &&value)
int GetOnDemandMaxPricePercentageOverLowestPrice() const
InstanceRequirements & WithAcceleratorManufacturers(AcceleratorManufacturersT &&value)
void SetAcceleratorTotalMemoryMiB(AcceleratorTotalMemoryMiBT &&value)
void SetAllowedInstanceTypes(AllowedInstanceTypesT &&value)
bool AcceleratorNamesHasBeenSet() const
InstanceRequirements & WithNetworkBandwidthGbps(NetworkBandwidthGbpsT &&value)
AWS_AUTOSCALING_API void OutputToStream(Aws::OStream &oStream, const char *location) const
bool BareMetalHasBeenSet() const
bool MemoryMiBHasBeenSet() const
InstanceRequirements & WithBaselineEbsBandwidthMbps(BaselineEbsBandwidthMbpsT &&value)
void SetBaselineEbsBandwidthMbps(BaselineEbsBandwidthMbpsT &&value)
InstanceRequirements & WithOnDemandMaxPricePercentageOverLowestPrice(int value)
void SetCpuManufacturers(CpuManufacturersT &&value)
void SetInstanceGenerations(InstanceGenerationsT &&value)
const MemoryMiBRequest & GetMemoryMiB() const
bool NetworkInterfaceCountHasBeenSet() const
bool AllowedInstanceTypesHasBeenSet() const
int GetMaxSpotPriceAsPercentageOfOptimalOnDemandPrice() const
InstanceRequirements & WithRequireHibernateSupport(bool value)
InstanceRequirements & WithBareMetal(BareMetal value)
LocalStorage GetLocalStorage() const
bool BaselinePerformanceFactorsHasBeenSet() const
bool GetRequireHibernateSupport() const
const AcceleratorCountRequest & GetAcceleratorCount() const
const Aws::Vector< InstanceGeneration > & GetInstanceGenerations() const
void SetRequireHibernateSupport(bool value)
InstanceRequirements & AddAcceleratorManufacturers(AcceleratorManufacturer value)
InstanceRequirements & WithSpotMaxPricePercentageOverLowestPrice(int value)
InstanceRequirements & WithMemoryMiB(MemoryMiBT &&value)
bool AcceleratorTotalMemoryMiBHasBeenSet() const
bool NetworkBandwidthGbpsHasBeenSet() const
void SetOnDemandMaxPricePercentageOverLowestPrice(int value)
bool CpuManufacturersHasBeenSet() const
InstanceRequirements & AddAcceleratorNames(AcceleratorName value)
const NetworkBandwidthGbpsRequest & GetNetworkBandwidthGbps() const
void SetExcludedInstanceTypes(ExcludedInstanceTypesT &&value)
InstanceRequirements & WithNetworkInterfaceCount(NetworkInterfaceCountT &&value)
void SetAcceleratorNames(AcceleratorNamesT &&value)
AWS_AUTOSCALING_API InstanceRequirements(const Aws::Utils::Xml::XmlNode &xmlNode)
AWS_AUTOSCALING_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
const Aws::Vector< Aws::String > & GetAllowedInstanceTypes() const
bool VCpuCountHasBeenSet() const
InstanceRequirements & WithLocalStorage(LocalStorage value)
bool SpotMaxPricePercentageOverLowestPriceHasBeenSet() const
std::vector< T, Aws::Allocator< T > > Vector
std::basic_ostream< char, std::char_traits< char > > OStream