AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
InstanceRequirements.h
1
6#pragma once
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/BaselinePerformanceFactors.h>
23#include <aws/ec2/model/CpuManufacturer.h>
24#include <aws/core/utils/memory/stl/AWSString.h>
25#include <aws/ec2/model/InstanceGeneration.h>
26#include <aws/ec2/model/LocalStorageType.h>
27#include <aws/ec2/model/AcceleratorType.h>
28#include <aws/ec2/model/AcceleratorManufacturer.h>
29#include <aws/ec2/model/AcceleratorName.h>
30#include <utility>
31
32namespace Aws
33{
34namespace Utils
35{
36namespace Xml
37{
38 class XmlNode;
39} // namespace Xml
40} // namespace Utils
41namespace EC2
42{
43namespace Model
44{
45
82 {
83 public:
84 AWS_EC2_API InstanceRequirements() = default;
87
88 AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
89 AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
90
91
93
96 inline const VCpuCountRange& GetVCpuCount() const { return m_vCpuCount; }
97 inline bool VCpuCountHasBeenSet() const { return m_vCpuCountHasBeenSet; }
98 template<typename VCpuCountT = VCpuCountRange>
99 void SetVCpuCount(VCpuCountT&& value) { m_vCpuCountHasBeenSet = true; m_vCpuCount = std::forward<VCpuCountT>(value); }
100 template<typename VCpuCountT = VCpuCountRange>
101 InstanceRequirements& WithVCpuCount(VCpuCountT&& value) { SetVCpuCount(std::forward<VCpuCountT>(value)); return *this;}
103
105
108 inline const MemoryMiB& GetMemoryMiB() const { return m_memoryMiB; }
109 inline bool MemoryMiBHasBeenSet() const { return m_memoryMiBHasBeenSet; }
110 template<typename MemoryMiBT = MemoryMiB>
111 void SetMemoryMiB(MemoryMiBT&& value) { m_memoryMiBHasBeenSet = true; m_memoryMiB = std::forward<MemoryMiBT>(value); }
112 template<typename MemoryMiBT = MemoryMiB>
113 InstanceRequirements& WithMemoryMiB(MemoryMiBT&& value) { SetMemoryMiB(std::forward<MemoryMiBT>(value)); return *this;}
115
117
128 inline const Aws::Vector<CpuManufacturer>& GetCpuManufacturers() const { return m_cpuManufacturers; }
129 inline bool CpuManufacturersHasBeenSet() const { return m_cpuManufacturersHasBeenSet; }
130 template<typename CpuManufacturersT = Aws::Vector<CpuManufacturer>>
131 void SetCpuManufacturers(CpuManufacturersT&& value) { m_cpuManufacturersHasBeenSet = true; m_cpuManufacturers = std::forward<CpuManufacturersT>(value); }
132 template<typename CpuManufacturersT = Aws::Vector<CpuManufacturer>>
133 InstanceRequirements& WithCpuManufacturers(CpuManufacturersT&& value) { SetCpuManufacturers(std::forward<CpuManufacturersT>(value)); return *this;}
134 inline InstanceRequirements& AddCpuManufacturers(CpuManufacturer value) { m_cpuManufacturersHasBeenSet = true; m_cpuManufacturers.push_back(value); return *this; }
136
138
142 inline const MemoryGiBPerVCpu& GetMemoryGiBPerVCpu() const { return m_memoryGiBPerVCpu; }
143 inline bool MemoryGiBPerVCpuHasBeenSet() const { return m_memoryGiBPerVCpuHasBeenSet; }
144 template<typename MemoryGiBPerVCpuT = MemoryGiBPerVCpu>
145 void SetMemoryGiBPerVCpu(MemoryGiBPerVCpuT&& value) { m_memoryGiBPerVCpuHasBeenSet = true; m_memoryGiBPerVCpu = std::forward<MemoryGiBPerVCpuT>(value); }
146 template<typename MemoryGiBPerVCpuT = MemoryGiBPerVCpu>
147 InstanceRequirements& WithMemoryGiBPerVCpu(MemoryGiBPerVCpuT&& value) { SetMemoryGiBPerVCpu(std::forward<MemoryGiBPerVCpuT>(value)); return *this;}
149
151
164 inline const Aws::Vector<Aws::String>& GetExcludedInstanceTypes() const { return m_excludedInstanceTypes; }
165 inline bool ExcludedInstanceTypesHasBeenSet() const { return m_excludedInstanceTypesHasBeenSet; }
166 template<typename ExcludedInstanceTypesT = Aws::Vector<Aws::String>>
167 void SetExcludedInstanceTypes(ExcludedInstanceTypesT&& value) { m_excludedInstanceTypesHasBeenSet = true; m_excludedInstanceTypes = std::forward<ExcludedInstanceTypesT>(value); }
168 template<typename ExcludedInstanceTypesT = Aws::Vector<Aws::String>>
169 InstanceRequirements& WithExcludedInstanceTypes(ExcludedInstanceTypesT&& value) { SetExcludedInstanceTypes(std::forward<ExcludedInstanceTypesT>(value)); return *this;}
170 template<typename ExcludedInstanceTypesT = Aws::String>
171 InstanceRequirements& AddExcludedInstanceTypes(ExcludedInstanceTypesT&& value) { m_excludedInstanceTypesHasBeenSet = true; m_excludedInstanceTypes.emplace_back(std::forward<ExcludedInstanceTypesT>(value)); return *this; }
173
175
186 inline const Aws::Vector<InstanceGeneration>& GetInstanceGenerations() const { return m_instanceGenerations; }
187 inline bool InstanceGenerationsHasBeenSet() const { return m_instanceGenerationsHasBeenSet; }
188 template<typename InstanceGenerationsT = Aws::Vector<InstanceGeneration>>
189 void SetInstanceGenerations(InstanceGenerationsT&& value) { m_instanceGenerationsHasBeenSet = true; m_instanceGenerations = std::forward<InstanceGenerationsT>(value); }
190 template<typename InstanceGenerationsT = Aws::Vector<InstanceGeneration>>
191 InstanceRequirements& WithInstanceGenerations(InstanceGenerationsT&& value) { SetInstanceGenerations(std::forward<InstanceGenerationsT>(value)); return *this;}
192 inline InstanceRequirements& AddInstanceGenerations(InstanceGeneration value) { m_instanceGenerationsHasBeenSet = true; m_instanceGenerations.push_back(value); return *this; }
194
196
223 inline int GetSpotMaxPricePercentageOverLowestPrice() const { return m_spotMaxPricePercentageOverLowestPrice; }
224 inline bool SpotMaxPricePercentageOverLowestPriceHasBeenSet() const { return m_spotMaxPricePercentageOverLowestPriceHasBeenSet; }
225 inline void SetSpotMaxPricePercentageOverLowestPrice(int value) { m_spotMaxPricePercentageOverLowestPriceHasBeenSet = true; m_spotMaxPricePercentageOverLowestPrice = value; }
228
230
248 inline int GetOnDemandMaxPricePercentageOverLowestPrice() const { return m_onDemandMaxPricePercentageOverLowestPrice; }
249 inline bool OnDemandMaxPricePercentageOverLowestPriceHasBeenSet() const { return m_onDemandMaxPricePercentageOverLowestPriceHasBeenSet; }
250 inline void SetOnDemandMaxPricePercentageOverLowestPrice(int value) { m_onDemandMaxPricePercentageOverLowestPriceHasBeenSet = true; m_onDemandMaxPricePercentageOverLowestPrice = value; }
253
255
263 inline BareMetal GetBareMetal() const { return m_bareMetal; }
264 inline bool BareMetalHasBeenSet() const { return m_bareMetalHasBeenSet; }
265 inline void SetBareMetal(BareMetal value) { m_bareMetalHasBeenSet = true; m_bareMetal = value; }
266 inline InstanceRequirements& WithBareMetal(BareMetal value) { SetBareMetal(value); return *this;}
268
270
280 inline BurstablePerformance GetBurstablePerformance() const { return m_burstablePerformance; }
281 inline bool BurstablePerformanceHasBeenSet() const { return m_burstablePerformanceHasBeenSet; }
282 inline void SetBurstablePerformance(BurstablePerformance value) { m_burstablePerformanceHasBeenSet = true; m_burstablePerformance = value; }
285
287
293 inline bool GetRequireHibernateSupport() const { return m_requireHibernateSupport; }
294 inline bool RequireHibernateSupportHasBeenSet() const { return m_requireHibernateSupportHasBeenSet; }
295 inline void SetRequireHibernateSupport(bool value) { m_requireHibernateSupportHasBeenSet = true; m_requireHibernateSupport = value; }
298
300
304 inline const NetworkInterfaceCount& GetNetworkInterfaceCount() const { return m_networkInterfaceCount; }
305 inline bool NetworkInterfaceCountHasBeenSet() const { return m_networkInterfaceCountHasBeenSet; }
306 template<typename NetworkInterfaceCountT = NetworkInterfaceCount>
307 void SetNetworkInterfaceCount(NetworkInterfaceCountT&& value) { m_networkInterfaceCountHasBeenSet = true; m_networkInterfaceCount = std::forward<NetworkInterfaceCountT>(value); }
308 template<typename NetworkInterfaceCountT = NetworkInterfaceCount>
309 InstanceRequirements& WithNetworkInterfaceCount(NetworkInterfaceCountT&& value) { SetNetworkInterfaceCount(std::forward<NetworkInterfaceCountT>(value)); return *this;}
311
313
324 inline LocalStorage GetLocalStorage() const { return m_localStorage; }
325 inline bool LocalStorageHasBeenSet() const { return m_localStorageHasBeenSet; }
326 inline void SetLocalStorage(LocalStorage value) { m_localStorageHasBeenSet = true; m_localStorage = value; }
329
331
338 inline const Aws::Vector<LocalStorageType>& GetLocalStorageTypes() const { return m_localStorageTypes; }
339 inline bool LocalStorageTypesHasBeenSet() const { return m_localStorageTypesHasBeenSet; }
340 template<typename LocalStorageTypesT = Aws::Vector<LocalStorageType>>
341 void SetLocalStorageTypes(LocalStorageTypesT&& value) { m_localStorageTypesHasBeenSet = true; m_localStorageTypes = std::forward<LocalStorageTypesT>(value); }
342 template<typename LocalStorageTypesT = Aws::Vector<LocalStorageType>>
343 InstanceRequirements& WithLocalStorageTypes(LocalStorageTypesT&& value) { SetLocalStorageTypes(std::forward<LocalStorageTypesT>(value)); return *this;}
344 inline InstanceRequirements& AddLocalStorageTypes(LocalStorageType value) { m_localStorageTypesHasBeenSet = true; m_localStorageTypes.push_back(value); return *this; }
346
348
352 inline const TotalLocalStorageGB& GetTotalLocalStorageGB() const { return m_totalLocalStorageGB; }
353 inline bool TotalLocalStorageGBHasBeenSet() const { return m_totalLocalStorageGBHasBeenSet; }
354 template<typename TotalLocalStorageGBT = TotalLocalStorageGB>
355 void SetTotalLocalStorageGB(TotalLocalStorageGBT&& value) { m_totalLocalStorageGBHasBeenSet = true; m_totalLocalStorageGB = std::forward<TotalLocalStorageGBT>(value); }
356 template<typename TotalLocalStorageGBT = TotalLocalStorageGB>
357 InstanceRequirements& WithTotalLocalStorageGB(TotalLocalStorageGBT&& value) { SetTotalLocalStorageGB(std::forward<TotalLocalStorageGBT>(value)); return *this;}
359
361
368 inline const BaselineEbsBandwidthMbps& GetBaselineEbsBandwidthMbps() const { return m_baselineEbsBandwidthMbps; }
369 inline bool BaselineEbsBandwidthMbpsHasBeenSet() const { return m_baselineEbsBandwidthMbpsHasBeenSet; }
370 template<typename BaselineEbsBandwidthMbpsT = BaselineEbsBandwidthMbps>
371 void SetBaselineEbsBandwidthMbps(BaselineEbsBandwidthMbpsT&& value) { m_baselineEbsBandwidthMbpsHasBeenSet = true; m_baselineEbsBandwidthMbps = std::forward<BaselineEbsBandwidthMbpsT>(value); }
372 template<typename BaselineEbsBandwidthMbpsT = BaselineEbsBandwidthMbps>
373 InstanceRequirements& WithBaselineEbsBandwidthMbps(BaselineEbsBandwidthMbpsT&& value) { SetBaselineEbsBandwidthMbps(std::forward<BaselineEbsBandwidthMbpsT>(value)); return *this;}
375
377
384 inline const Aws::Vector<AcceleratorType>& GetAcceleratorTypes() const { return m_acceleratorTypes; }
385 inline bool AcceleratorTypesHasBeenSet() const { return m_acceleratorTypesHasBeenSet; }
386 template<typename AcceleratorTypesT = Aws::Vector<AcceleratorType>>
387 void SetAcceleratorTypes(AcceleratorTypesT&& value) { m_acceleratorTypesHasBeenSet = true; m_acceleratorTypes = std::forward<AcceleratorTypesT>(value); }
388 template<typename AcceleratorTypesT = Aws::Vector<AcceleratorType>>
389 InstanceRequirements& WithAcceleratorTypes(AcceleratorTypesT&& value) { SetAcceleratorTypes(std::forward<AcceleratorTypesT>(value)); return *this;}
390 inline InstanceRequirements& AddAcceleratorTypes(AcceleratorType value) { m_acceleratorTypesHasBeenSet = true; m_acceleratorTypes.push_back(value); return *this; }
392
394
400 inline const AcceleratorCount& GetAcceleratorCount() const { return m_acceleratorCount; }
401 inline bool AcceleratorCountHasBeenSet() const { return m_acceleratorCountHasBeenSet; }
402 template<typename AcceleratorCountT = AcceleratorCount>
403 void SetAcceleratorCount(AcceleratorCountT&& value) { m_acceleratorCountHasBeenSet = true; m_acceleratorCount = std::forward<AcceleratorCountT>(value); }
404 template<typename AcceleratorCountT = AcceleratorCount>
405 InstanceRequirements& WithAcceleratorCount(AcceleratorCountT&& value) { SetAcceleratorCount(std::forward<AcceleratorCountT>(value)); return *this;}
407
409
419 inline const Aws::Vector<AcceleratorManufacturer>& GetAcceleratorManufacturers() const { return m_acceleratorManufacturers; }
420 inline bool AcceleratorManufacturersHasBeenSet() const { return m_acceleratorManufacturersHasBeenSet; }
421 template<typename AcceleratorManufacturersT = Aws::Vector<AcceleratorManufacturer>>
422 void SetAcceleratorManufacturers(AcceleratorManufacturersT&& value) { m_acceleratorManufacturersHasBeenSet = true; m_acceleratorManufacturers = std::forward<AcceleratorManufacturersT>(value); }
423 template<typename AcceleratorManufacturersT = Aws::Vector<AcceleratorManufacturer>>
424 InstanceRequirements& WithAcceleratorManufacturers(AcceleratorManufacturersT&& value) { SetAcceleratorManufacturers(std::forward<AcceleratorManufacturersT>(value)); return *this;}
425 inline InstanceRequirements& AddAcceleratorManufacturers(AcceleratorManufacturer value) { m_acceleratorManufacturersHasBeenSet = true; m_acceleratorManufacturers.push_back(value); return *this; }
427
429
447 inline const Aws::Vector<AcceleratorName>& GetAcceleratorNames() const { return m_acceleratorNames; }
448 inline bool AcceleratorNamesHasBeenSet() const { return m_acceleratorNamesHasBeenSet; }
449 template<typename AcceleratorNamesT = Aws::Vector<AcceleratorName>>
450 void SetAcceleratorNames(AcceleratorNamesT&& value) { m_acceleratorNamesHasBeenSet = true; m_acceleratorNames = std::forward<AcceleratorNamesT>(value); }
451 template<typename AcceleratorNamesT = Aws::Vector<AcceleratorName>>
452 InstanceRequirements& WithAcceleratorNames(AcceleratorNamesT&& value) { SetAcceleratorNames(std::forward<AcceleratorNamesT>(value)); return *this;}
453 inline InstanceRequirements& AddAcceleratorNames(AcceleratorName value) { m_acceleratorNamesHasBeenSet = true; m_acceleratorNames.push_back(value); return *this; }
455
457
461 inline const AcceleratorTotalMemoryMiB& GetAcceleratorTotalMemoryMiB() const { return m_acceleratorTotalMemoryMiB; }
462 inline bool AcceleratorTotalMemoryMiBHasBeenSet() const { return m_acceleratorTotalMemoryMiBHasBeenSet; }
463 template<typename AcceleratorTotalMemoryMiBT = AcceleratorTotalMemoryMiB>
464 void SetAcceleratorTotalMemoryMiB(AcceleratorTotalMemoryMiBT&& value) { m_acceleratorTotalMemoryMiBHasBeenSet = true; m_acceleratorTotalMemoryMiB = std::forward<AcceleratorTotalMemoryMiBT>(value); }
465 template<typename AcceleratorTotalMemoryMiBT = AcceleratorTotalMemoryMiB>
466 InstanceRequirements& WithAcceleratorTotalMemoryMiB(AcceleratorTotalMemoryMiBT&& value) { SetAcceleratorTotalMemoryMiB(std::forward<AcceleratorTotalMemoryMiBT>(value)); return *this;}
468
470
474 inline const NetworkBandwidthGbps& GetNetworkBandwidthGbps() const { return m_networkBandwidthGbps; }
475 inline bool NetworkBandwidthGbpsHasBeenSet() const { return m_networkBandwidthGbpsHasBeenSet; }
476 template<typename NetworkBandwidthGbpsT = NetworkBandwidthGbps>
477 void SetNetworkBandwidthGbps(NetworkBandwidthGbpsT&& value) { m_networkBandwidthGbpsHasBeenSet = true; m_networkBandwidthGbps = std::forward<NetworkBandwidthGbpsT>(value); }
478 template<typename NetworkBandwidthGbpsT = NetworkBandwidthGbps>
479 InstanceRequirements& WithNetworkBandwidthGbps(NetworkBandwidthGbpsT&& value) { SetNetworkBandwidthGbps(std::forward<NetworkBandwidthGbpsT>(value)); return *this;}
481
483
497 inline const Aws::Vector<Aws::String>& GetAllowedInstanceTypes() const { return m_allowedInstanceTypes; }
498 inline bool AllowedInstanceTypesHasBeenSet() const { return m_allowedInstanceTypesHasBeenSet; }
499 template<typename AllowedInstanceTypesT = Aws::Vector<Aws::String>>
500 void SetAllowedInstanceTypes(AllowedInstanceTypesT&& value) { m_allowedInstanceTypesHasBeenSet = true; m_allowedInstanceTypes = std::forward<AllowedInstanceTypesT>(value); }
501 template<typename AllowedInstanceTypesT = Aws::Vector<Aws::String>>
502 InstanceRequirements& WithAllowedInstanceTypes(AllowedInstanceTypesT&& value) { SetAllowedInstanceTypes(std::forward<AllowedInstanceTypesT>(value)); return *this;}
503 template<typename AllowedInstanceTypesT = Aws::String>
504 InstanceRequirements& AddAllowedInstanceTypes(AllowedInstanceTypesT&& value) { m_allowedInstanceTypesHasBeenSet = true; m_allowedInstanceTypes.emplace_back(std::forward<AllowedInstanceTypesT>(value)); return *this; }
506
508
530 inline int GetMaxSpotPriceAsPercentageOfOptimalOnDemandPrice() const { return m_maxSpotPriceAsPercentageOfOptimalOnDemandPrice; }
531 inline bool MaxSpotPriceAsPercentageOfOptimalOnDemandPriceHasBeenSet() const { return m_maxSpotPriceAsPercentageOfOptimalOnDemandPriceHasBeenSet; }
532 inline void SetMaxSpotPriceAsPercentageOfOptimalOnDemandPrice(int value) { m_maxSpotPriceAsPercentageOfOptimalOnDemandPriceHasBeenSet = true; m_maxSpotPriceAsPercentageOfOptimalOnDemandPrice = value; }
535
537
547 inline const BaselinePerformanceFactors& GetBaselinePerformanceFactors() const { return m_baselinePerformanceFactors; }
548 inline bool BaselinePerformanceFactorsHasBeenSet() const { return m_baselinePerformanceFactorsHasBeenSet; }
549 template<typename BaselinePerformanceFactorsT = BaselinePerformanceFactors>
550 void SetBaselinePerformanceFactors(BaselinePerformanceFactorsT&& value) { m_baselinePerformanceFactorsHasBeenSet = true; m_baselinePerformanceFactors = std::forward<BaselinePerformanceFactorsT>(value); }
551 template<typename BaselinePerformanceFactorsT = BaselinePerformanceFactors>
552 InstanceRequirements& WithBaselinePerformanceFactors(BaselinePerformanceFactorsT&& value) { SetBaselinePerformanceFactors(std::forward<BaselinePerformanceFactorsT>(value)); return *this;}
554 private:
555
556 VCpuCountRange m_vCpuCount;
557 bool m_vCpuCountHasBeenSet = false;
558
559 MemoryMiB m_memoryMiB;
560 bool m_memoryMiBHasBeenSet = false;
561
562 Aws::Vector<CpuManufacturer> m_cpuManufacturers;
563 bool m_cpuManufacturersHasBeenSet = false;
564
565 MemoryGiBPerVCpu m_memoryGiBPerVCpu;
566 bool m_memoryGiBPerVCpuHasBeenSet = false;
567
568 Aws::Vector<Aws::String> m_excludedInstanceTypes;
569 bool m_excludedInstanceTypesHasBeenSet = false;
570
571 Aws::Vector<InstanceGeneration> m_instanceGenerations;
572 bool m_instanceGenerationsHasBeenSet = false;
573
574 int m_spotMaxPricePercentageOverLowestPrice{0};
575 bool m_spotMaxPricePercentageOverLowestPriceHasBeenSet = false;
576
577 int m_onDemandMaxPricePercentageOverLowestPrice{0};
578 bool m_onDemandMaxPricePercentageOverLowestPriceHasBeenSet = false;
579
580 BareMetal m_bareMetal{BareMetal::NOT_SET};
581 bool m_bareMetalHasBeenSet = false;
582
584 bool m_burstablePerformanceHasBeenSet = false;
585
586 bool m_requireHibernateSupport{false};
587 bool m_requireHibernateSupportHasBeenSet = false;
588
589 NetworkInterfaceCount m_networkInterfaceCount;
590 bool m_networkInterfaceCountHasBeenSet = false;
591
592 LocalStorage m_localStorage{LocalStorage::NOT_SET};
593 bool m_localStorageHasBeenSet = false;
594
595 Aws::Vector<LocalStorageType> m_localStorageTypes;
596 bool m_localStorageTypesHasBeenSet = false;
597
598 TotalLocalStorageGB m_totalLocalStorageGB;
599 bool m_totalLocalStorageGBHasBeenSet = false;
600
601 BaselineEbsBandwidthMbps m_baselineEbsBandwidthMbps;
602 bool m_baselineEbsBandwidthMbpsHasBeenSet = false;
603
604 Aws::Vector<AcceleratorType> m_acceleratorTypes;
605 bool m_acceleratorTypesHasBeenSet = false;
606
607 AcceleratorCount m_acceleratorCount;
608 bool m_acceleratorCountHasBeenSet = false;
609
610 Aws::Vector<AcceleratorManufacturer> m_acceleratorManufacturers;
611 bool m_acceleratorManufacturersHasBeenSet = false;
612
613 Aws::Vector<AcceleratorName> m_acceleratorNames;
614 bool m_acceleratorNamesHasBeenSet = false;
615
616 AcceleratorTotalMemoryMiB m_acceleratorTotalMemoryMiB;
617 bool m_acceleratorTotalMemoryMiBHasBeenSet = false;
618
619 NetworkBandwidthGbps m_networkBandwidthGbps;
620 bool m_networkBandwidthGbpsHasBeenSet = false;
621
622 Aws::Vector<Aws::String> m_allowedInstanceTypes;
623 bool m_allowedInstanceTypesHasBeenSet = false;
624
625 int m_maxSpotPriceAsPercentageOfOptimalOnDemandPrice{0};
626 bool m_maxSpotPriceAsPercentageOfOptimalOnDemandPriceHasBeenSet = false;
627
628 BaselinePerformanceFactors m_baselinePerformanceFactors;
629 bool m_baselinePerformanceFactorsHasBeenSet = false;
630 };
631
632} // namespace Model
633} // namespace EC2
634} // namespace Aws
const Aws::Vector< AcceleratorType > & GetAcceleratorTypes() const
InstanceRequirements & WithExcludedInstanceTypes(ExcludedInstanceTypesT &&value)
const Aws::Vector< Aws::String > & GetExcludedInstanceTypes() const
void SetMaxSpotPriceAsPercentageOfOptimalOnDemandPrice(int value)
InstanceRequirements & WithBareMetal(BareMetal value)
void SetExcludedInstanceTypes(ExcludedInstanceTypesT &&value)
InstanceRequirements & AddAcceleratorManufacturers(AcceleratorManufacturer value)
void SetInstanceGenerations(InstanceGenerationsT &&value)
InstanceRequirements & WithTotalLocalStorageGB(TotalLocalStorageGBT &&value)
const Aws::Vector< Aws::String > & GetAllowedInstanceTypes() const
InstanceRequirements & WithBaselineEbsBandwidthMbps(BaselineEbsBandwidthMbpsT &&value)
const NetworkInterfaceCount & GetNetworkInterfaceCount() const
InstanceRequirements & AddAcceleratorNames(AcceleratorName value)
InstanceRequirements & WithVCpuCount(VCpuCountT &&value)
AWS_EC2_API InstanceRequirements(const Aws::Utils::Xml::XmlNode &xmlNode)
InstanceRequirements & WithNetworkInterfaceCount(NetworkInterfaceCountT &&value)
InstanceRequirements & WithLocalStorage(LocalStorage value)
InstanceRequirements & WithAllowedInstanceTypes(AllowedInstanceTypesT &&value)
InstanceRequirements & WithBaselinePerformanceFactors(BaselinePerformanceFactorsT &&value)
void SetAcceleratorNames(AcceleratorNamesT &&value)
void SetCpuManufacturers(CpuManufacturersT &&value)
InstanceRequirements & WithAcceleratorTypes(AcceleratorTypesT &&value)
void SetAllowedInstanceTypes(AllowedInstanceTypesT &&value)
InstanceRequirements & WithLocalStorageTypes(LocalStorageTypesT &&value)
const NetworkBandwidthGbps & GetNetworkBandwidthGbps() const
void SetBaselinePerformanceFactors(BaselinePerformanceFactorsT &&value)
const BaselinePerformanceFactors & GetBaselinePerformanceFactors() const
InstanceRequirements & WithBurstablePerformance(BurstablePerformance value)
void SetBurstablePerformance(BurstablePerformance value)
InstanceRequirements & AddAllowedInstanceTypes(AllowedInstanceTypesT &&value)
void SetAcceleratorTypes(AcceleratorTypesT &&value)
const Aws::Vector< LocalStorageType > & GetLocalStorageTypes() const
BurstablePerformance GetBurstablePerformance() const
InstanceRequirements & WithMaxSpotPriceAsPercentageOfOptimalOnDemandPrice(int value)
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
void SetAcceleratorManufacturers(AcceleratorManufacturersT &&value)
const Aws::Vector< AcceleratorName > & GetAcceleratorNames() const
InstanceRequirements & WithOnDemandMaxPricePercentageOverLowestPrice(int value)
void SetLocalStorageTypes(LocalStorageTypesT &&value)
AWS_EC2_API InstanceRequirements()=default
AWS_EC2_API InstanceRequirements & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
InstanceRequirements & WithAcceleratorManufacturers(AcceleratorManufacturersT &&value)
const BaselineEbsBandwidthMbps & GetBaselineEbsBandwidthMbps() const
InstanceRequirements & WithMemoryGiBPerVCpu(MemoryGiBPerVCpuT &&value)
const TotalLocalStorageGB & GetTotalLocalStorageGB() const
void SetBaselineEbsBandwidthMbps(BaselineEbsBandwidthMbpsT &&value)
InstanceRequirements & WithInstanceGenerations(InstanceGenerationsT &&value)
InstanceRequirements & AddExcludedInstanceTypes(ExcludedInstanceTypesT &&value)
const VCpuCountRange & GetVCpuCount() const
const AcceleratorTotalMemoryMiB & GetAcceleratorTotalMemoryMiB() const
void SetMemoryGiBPerVCpu(MemoryGiBPerVCpuT &&value)
InstanceRequirements & WithMemoryMiB(MemoryMiBT &&value)
InstanceRequirements & WithRequireHibernateSupport(bool value)
InstanceRequirements & AddInstanceGenerations(InstanceGeneration value)
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
InstanceRequirements & WithNetworkBandwidthGbps(NetworkBandwidthGbpsT &&value)
void SetAcceleratorTotalMemoryMiB(AcceleratorTotalMemoryMiBT &&value)
InstanceRequirements & WithCpuManufacturers(CpuManufacturersT &&value)
const Aws::Vector< AcceleratorManufacturer > & GetAcceleratorManufacturers() const
const Aws::Vector< CpuManufacturer > & GetCpuManufacturers() const
void SetNetworkBandwidthGbps(NetworkBandwidthGbpsT &&value)
InstanceRequirements & WithSpotMaxPricePercentageOverLowestPrice(int value)
const Aws::Vector< InstanceGeneration > & GetInstanceGenerations() const
InstanceRequirements & AddCpuManufacturers(CpuManufacturer value)
InstanceRequirements & WithAcceleratorNames(AcceleratorNamesT &&value)
InstanceRequirements & WithAcceleratorTotalMemoryMiB(AcceleratorTotalMemoryMiBT &&value)
void SetNetworkInterfaceCount(NetworkInterfaceCountT &&value)
InstanceRequirements & WithAcceleratorCount(AcceleratorCountT &&value)
InstanceRequirements & AddLocalStorageTypes(LocalStorageType value)
const AcceleratorCount & GetAcceleratorCount() const
const MemoryGiBPerVCpu & GetMemoryGiBPerVCpu() const
void SetAcceleratorCount(AcceleratorCountT &&value)
InstanceRequirements & AddAcceleratorTypes(AcceleratorType value)
void SetTotalLocalStorageGB(TotalLocalStorageGBT &&value)
std::vector< T, Aws::Allocator< T > > Vector
std::basic_ostream< char, std::char_traits< char > > OStream