AWS SDK for C++

AWS SDK for C++ Version 1.11.717

Loading...
Searching...
No Matches
InstanceRequirements.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/ec2/EC2_EXPORTS.h>
11#include <aws/ec2/model/AcceleratorCount.h>
12#include <aws/ec2/model/AcceleratorManufacturer.h>
13#include <aws/ec2/model/AcceleratorName.h>
14#include <aws/ec2/model/AcceleratorTotalMemoryMiB.h>
15#include <aws/ec2/model/AcceleratorType.h>
16#include <aws/ec2/model/BareMetal.h>
17#include <aws/ec2/model/BaselineEbsBandwidthMbps.h>
18#include <aws/ec2/model/BaselinePerformanceFactors.h>
19#include <aws/ec2/model/BurstablePerformance.h>
20#include <aws/ec2/model/CpuManufacturer.h>
21#include <aws/ec2/model/InstanceGeneration.h>
22#include <aws/ec2/model/LocalStorage.h>
23#include <aws/ec2/model/LocalStorageType.h>
24#include <aws/ec2/model/MemoryGiBPerVCpu.h>
25#include <aws/ec2/model/MemoryMiB.h>
26#include <aws/ec2/model/NetworkBandwidthGbps.h>
27#include <aws/ec2/model/NetworkInterfaceCount.h>
28#include <aws/ec2/model/TotalLocalStorageGB.h>
29#include <aws/ec2/model/VCpuCountRange.h>
30
31#include <utility>
32
33namespace Aws {
34namespace Utils {
35namespace Xml {
36class XmlNode;
37} // namespace Xml
38} // namespace Utils
39namespace EC2 {
40namespace Model {
41
78 public:
79 AWS_EC2_API InstanceRequirements() = default;
82
83 AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
84 AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
85
87
90 inline const VCpuCountRange& GetVCpuCount() const { return m_vCpuCount; }
91 inline bool VCpuCountHasBeenSet() const { return m_vCpuCountHasBeenSet; }
92 template <typename VCpuCountT = VCpuCountRange>
93 void SetVCpuCount(VCpuCountT&& value) {
94 m_vCpuCountHasBeenSet = true;
95 m_vCpuCount = std::forward<VCpuCountT>(value);
96 }
97 template <typename VCpuCountT = VCpuCountRange>
98 InstanceRequirements& WithVCpuCount(VCpuCountT&& value) {
99 SetVCpuCount(std::forward<VCpuCountT>(value));
100 return *this;
101 }
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) {
112 m_memoryMiBHasBeenSet = true;
113 m_memoryMiB = std::forward<MemoryMiBT>(value);
114 }
115 template <typename MemoryMiBT = MemoryMiB>
116 InstanceRequirements& WithMemoryMiB(MemoryMiBT&& value) {
117 SetMemoryMiB(std::forward<MemoryMiBT>(value));
118 return *this;
119 }
121
123
134 inline const Aws::Vector<CpuManufacturer>& GetCpuManufacturers() const { return m_cpuManufacturers; }
135 inline bool CpuManufacturersHasBeenSet() const { return m_cpuManufacturersHasBeenSet; }
136 template <typename CpuManufacturersT = Aws::Vector<CpuManufacturer>>
137 void SetCpuManufacturers(CpuManufacturersT&& value) {
138 m_cpuManufacturersHasBeenSet = true;
139 m_cpuManufacturers = std::forward<CpuManufacturersT>(value);
140 }
141 template <typename CpuManufacturersT = Aws::Vector<CpuManufacturer>>
142 InstanceRequirements& WithCpuManufacturers(CpuManufacturersT&& value) {
143 SetCpuManufacturers(std::forward<CpuManufacturersT>(value));
144 return *this;
145 }
147 m_cpuManufacturersHasBeenSet = true;
148 m_cpuManufacturers.push_back(value);
149 return *this;
150 }
152
154
158 inline const MemoryGiBPerVCpu& GetMemoryGiBPerVCpu() const { return m_memoryGiBPerVCpu; }
159 inline bool MemoryGiBPerVCpuHasBeenSet() const { return m_memoryGiBPerVCpuHasBeenSet; }
160 template <typename MemoryGiBPerVCpuT = MemoryGiBPerVCpu>
161 void SetMemoryGiBPerVCpu(MemoryGiBPerVCpuT&& value) {
162 m_memoryGiBPerVCpuHasBeenSet = true;
163 m_memoryGiBPerVCpu = std::forward<MemoryGiBPerVCpuT>(value);
164 }
165 template <typename MemoryGiBPerVCpuT = MemoryGiBPerVCpu>
166 InstanceRequirements& WithMemoryGiBPerVCpu(MemoryGiBPerVCpuT&& value) {
167 SetMemoryGiBPerVCpu(std::forward<MemoryGiBPerVCpuT>(value));
168 return *this;
169 }
171
173
186 inline const Aws::Vector<Aws::String>& GetExcludedInstanceTypes() const { return m_excludedInstanceTypes; }
187 inline bool ExcludedInstanceTypesHasBeenSet() const { return m_excludedInstanceTypesHasBeenSet; }
188 template <typename ExcludedInstanceTypesT = Aws::Vector<Aws::String>>
189 void SetExcludedInstanceTypes(ExcludedInstanceTypesT&& value) {
190 m_excludedInstanceTypesHasBeenSet = true;
191 m_excludedInstanceTypes = std::forward<ExcludedInstanceTypesT>(value);
192 }
193 template <typename ExcludedInstanceTypesT = Aws::Vector<Aws::String>>
194 InstanceRequirements& WithExcludedInstanceTypes(ExcludedInstanceTypesT&& value) {
195 SetExcludedInstanceTypes(std::forward<ExcludedInstanceTypesT>(value));
196 return *this;
197 }
198 template <typename ExcludedInstanceTypesT = Aws::String>
199 InstanceRequirements& AddExcludedInstanceTypes(ExcludedInstanceTypesT&& value) {
200 m_excludedInstanceTypesHasBeenSet = true;
201 m_excludedInstanceTypes.emplace_back(std::forward<ExcludedInstanceTypesT>(value));
202 return *this;
203 }
205
207
218 inline const Aws::Vector<InstanceGeneration>& GetInstanceGenerations() const { return m_instanceGenerations; }
219 inline bool InstanceGenerationsHasBeenSet() const { return m_instanceGenerationsHasBeenSet; }
220 template <typename InstanceGenerationsT = Aws::Vector<InstanceGeneration>>
221 void SetInstanceGenerations(InstanceGenerationsT&& value) {
222 m_instanceGenerationsHasBeenSet = true;
223 m_instanceGenerations = std::forward<InstanceGenerationsT>(value);
224 }
225 template <typename InstanceGenerationsT = Aws::Vector<InstanceGeneration>>
226 InstanceRequirements& WithInstanceGenerations(InstanceGenerationsT&& value) {
227 SetInstanceGenerations(std::forward<InstanceGenerationsT>(value));
228 return *this;
229 }
231 m_instanceGenerationsHasBeenSet = true;
232 m_instanceGenerations.push_back(value);
233 return *this;
234 }
236
238
265 inline int GetSpotMaxPricePercentageOverLowestPrice() const { return m_spotMaxPricePercentageOverLowestPrice; }
266 inline bool SpotMaxPricePercentageOverLowestPriceHasBeenSet() const { return m_spotMaxPricePercentageOverLowestPriceHasBeenSet; }
268 m_spotMaxPricePercentageOverLowestPriceHasBeenSet = true;
269 m_spotMaxPricePercentageOverLowestPrice = value;
270 }
273 return *this;
274 }
276
278
296 inline int GetOnDemandMaxPricePercentageOverLowestPrice() const { return m_onDemandMaxPricePercentageOverLowestPrice; }
297 inline bool OnDemandMaxPricePercentageOverLowestPriceHasBeenSet() const { return m_onDemandMaxPricePercentageOverLowestPriceHasBeenSet; }
299 m_onDemandMaxPricePercentageOverLowestPriceHasBeenSet = true;
300 m_onDemandMaxPricePercentageOverLowestPrice = value;
301 }
304 return *this;
305 }
307
309
317 inline BareMetal GetBareMetal() const { return m_bareMetal; }
318 inline bool BareMetalHasBeenSet() const { return m_bareMetalHasBeenSet; }
319 inline void SetBareMetal(BareMetal value) {
320 m_bareMetalHasBeenSet = true;
321 m_bareMetal = value;
322 }
324 SetBareMetal(value);
325 return *this;
326 }
328
330
340 inline BurstablePerformance GetBurstablePerformance() const { return m_burstablePerformance; }
341 inline bool BurstablePerformanceHasBeenSet() const { return m_burstablePerformanceHasBeenSet; }
343 m_burstablePerformanceHasBeenSet = true;
344 m_burstablePerformance = value;
345 }
348 return *this;
349 }
351
353
359 inline bool GetRequireHibernateSupport() const { return m_requireHibernateSupport; }
360 inline bool RequireHibernateSupportHasBeenSet() const { return m_requireHibernateSupportHasBeenSet; }
361 inline void SetRequireHibernateSupport(bool value) {
362 m_requireHibernateSupportHasBeenSet = true;
363 m_requireHibernateSupport = value;
364 }
367 return *this;
368 }
370
372
376 inline const NetworkInterfaceCount& GetNetworkInterfaceCount() const { return m_networkInterfaceCount; }
377 inline bool NetworkInterfaceCountHasBeenSet() const { return m_networkInterfaceCountHasBeenSet; }
378 template <typename NetworkInterfaceCountT = NetworkInterfaceCount>
379 void SetNetworkInterfaceCount(NetworkInterfaceCountT&& value) {
380 m_networkInterfaceCountHasBeenSet = true;
381 m_networkInterfaceCount = std::forward<NetworkInterfaceCountT>(value);
382 }
383 template <typename NetworkInterfaceCountT = NetworkInterfaceCount>
384 InstanceRequirements& WithNetworkInterfaceCount(NetworkInterfaceCountT&& value) {
385 SetNetworkInterfaceCount(std::forward<NetworkInterfaceCountT>(value));
386 return *this;
387 }
389
391
402 inline LocalStorage GetLocalStorage() const { return m_localStorage; }
403 inline bool LocalStorageHasBeenSet() const { return m_localStorageHasBeenSet; }
404 inline void SetLocalStorage(LocalStorage value) {
405 m_localStorageHasBeenSet = true;
406 m_localStorage = value;
407 }
409 SetLocalStorage(value);
410 return *this;
411 }
413
415
422 inline const Aws::Vector<LocalStorageType>& GetLocalStorageTypes() const { return m_localStorageTypes; }
423 inline bool LocalStorageTypesHasBeenSet() const { return m_localStorageTypesHasBeenSet; }
424 template <typename LocalStorageTypesT = Aws::Vector<LocalStorageType>>
425 void SetLocalStorageTypes(LocalStorageTypesT&& value) {
426 m_localStorageTypesHasBeenSet = true;
427 m_localStorageTypes = std::forward<LocalStorageTypesT>(value);
428 }
429 template <typename LocalStorageTypesT = Aws::Vector<LocalStorageType>>
430 InstanceRequirements& WithLocalStorageTypes(LocalStorageTypesT&& value) {
431 SetLocalStorageTypes(std::forward<LocalStorageTypesT>(value));
432 return *this;
433 }
435 m_localStorageTypesHasBeenSet = true;
436 m_localStorageTypes.push_back(value);
437 return *this;
438 }
440
442
446 inline const TotalLocalStorageGB& GetTotalLocalStorageGB() const { return m_totalLocalStorageGB; }
447 inline bool TotalLocalStorageGBHasBeenSet() const { return m_totalLocalStorageGBHasBeenSet; }
448 template <typename TotalLocalStorageGBT = TotalLocalStorageGB>
449 void SetTotalLocalStorageGB(TotalLocalStorageGBT&& value) {
450 m_totalLocalStorageGBHasBeenSet = true;
451 m_totalLocalStorageGB = std::forward<TotalLocalStorageGBT>(value);
452 }
453 template <typename TotalLocalStorageGBT = TotalLocalStorageGB>
454 InstanceRequirements& WithTotalLocalStorageGB(TotalLocalStorageGBT&& value) {
455 SetTotalLocalStorageGB(std::forward<TotalLocalStorageGBT>(value));
456 return *this;
457 }
459
461
468 inline const BaselineEbsBandwidthMbps& GetBaselineEbsBandwidthMbps() const { return m_baselineEbsBandwidthMbps; }
469 inline bool BaselineEbsBandwidthMbpsHasBeenSet() const { return m_baselineEbsBandwidthMbpsHasBeenSet; }
470 template <typename BaselineEbsBandwidthMbpsT = BaselineEbsBandwidthMbps>
471 void SetBaselineEbsBandwidthMbps(BaselineEbsBandwidthMbpsT&& value) {
472 m_baselineEbsBandwidthMbpsHasBeenSet = true;
473 m_baselineEbsBandwidthMbps = std::forward<BaselineEbsBandwidthMbpsT>(value);
474 }
475 template <typename BaselineEbsBandwidthMbpsT = BaselineEbsBandwidthMbps>
476 InstanceRequirements& WithBaselineEbsBandwidthMbps(BaselineEbsBandwidthMbpsT&& value) {
477 SetBaselineEbsBandwidthMbps(std::forward<BaselineEbsBandwidthMbpsT>(value));
478 return *this;
479 }
481
483
492 inline const Aws::Vector<AcceleratorType>& GetAcceleratorTypes() const { return m_acceleratorTypes; }
493 inline bool AcceleratorTypesHasBeenSet() const { return m_acceleratorTypesHasBeenSet; }
494 template <typename AcceleratorTypesT = Aws::Vector<AcceleratorType>>
495 void SetAcceleratorTypes(AcceleratorTypesT&& value) {
496 m_acceleratorTypesHasBeenSet = true;
497 m_acceleratorTypes = std::forward<AcceleratorTypesT>(value);
498 }
499 template <typename AcceleratorTypesT = Aws::Vector<AcceleratorType>>
500 InstanceRequirements& WithAcceleratorTypes(AcceleratorTypesT&& value) {
501 SetAcceleratorTypes(std::forward<AcceleratorTypesT>(value));
502 return *this;
503 }
505 m_acceleratorTypesHasBeenSet = true;
506 m_acceleratorTypes.push_back(value);
507 return *this;
508 }
510
512
518 inline const AcceleratorCount& GetAcceleratorCount() const { return m_acceleratorCount; }
519 inline bool AcceleratorCountHasBeenSet() const { return m_acceleratorCountHasBeenSet; }
520 template <typename AcceleratorCountT = AcceleratorCount>
521 void SetAcceleratorCount(AcceleratorCountT&& value) {
522 m_acceleratorCountHasBeenSet = true;
523 m_acceleratorCount = std::forward<AcceleratorCountT>(value);
524 }
525 template <typename AcceleratorCountT = AcceleratorCount>
526 InstanceRequirements& WithAcceleratorCount(AcceleratorCountT&& value) {
527 SetAcceleratorCount(std::forward<AcceleratorCountT>(value));
528 return *this;
529 }
531
533
543 inline const Aws::Vector<AcceleratorManufacturer>& GetAcceleratorManufacturers() const { return m_acceleratorManufacturers; }
544 inline bool AcceleratorManufacturersHasBeenSet() const { return m_acceleratorManufacturersHasBeenSet; }
545 template <typename AcceleratorManufacturersT = Aws::Vector<AcceleratorManufacturer>>
546 void SetAcceleratorManufacturers(AcceleratorManufacturersT&& value) {
547 m_acceleratorManufacturersHasBeenSet = true;
548 m_acceleratorManufacturers = std::forward<AcceleratorManufacturersT>(value);
549 }
550 template <typename AcceleratorManufacturersT = Aws::Vector<AcceleratorManufacturer>>
551 InstanceRequirements& WithAcceleratorManufacturers(AcceleratorManufacturersT&& value) {
552 SetAcceleratorManufacturers(std::forward<AcceleratorManufacturersT>(value));
553 return *this;
554 }
556 m_acceleratorManufacturersHasBeenSet = true;
557 m_acceleratorManufacturers.push_back(value);
558 return *this;
559 }
561
563
590 inline const Aws::Vector<AcceleratorName>& GetAcceleratorNames() const { return m_acceleratorNames; }
591 inline bool AcceleratorNamesHasBeenSet() const { return m_acceleratorNamesHasBeenSet; }
592 template <typename AcceleratorNamesT = Aws::Vector<AcceleratorName>>
593 void SetAcceleratorNames(AcceleratorNamesT&& value) {
594 m_acceleratorNamesHasBeenSet = true;
595 m_acceleratorNames = std::forward<AcceleratorNamesT>(value);
596 }
597 template <typename AcceleratorNamesT = Aws::Vector<AcceleratorName>>
598 InstanceRequirements& WithAcceleratorNames(AcceleratorNamesT&& value) {
599 SetAcceleratorNames(std::forward<AcceleratorNamesT>(value));
600 return *this;
601 }
603 m_acceleratorNamesHasBeenSet = true;
604 m_acceleratorNames.push_back(value);
605 return *this;
606 }
608
610
614 inline const AcceleratorTotalMemoryMiB& GetAcceleratorTotalMemoryMiB() const { return m_acceleratorTotalMemoryMiB; }
615 inline bool AcceleratorTotalMemoryMiBHasBeenSet() const { return m_acceleratorTotalMemoryMiBHasBeenSet; }
616 template <typename AcceleratorTotalMemoryMiBT = AcceleratorTotalMemoryMiB>
617 void SetAcceleratorTotalMemoryMiB(AcceleratorTotalMemoryMiBT&& value) {
618 m_acceleratorTotalMemoryMiBHasBeenSet = true;
619 m_acceleratorTotalMemoryMiB = std::forward<AcceleratorTotalMemoryMiBT>(value);
620 }
621 template <typename AcceleratorTotalMemoryMiBT = AcceleratorTotalMemoryMiB>
622 InstanceRequirements& WithAcceleratorTotalMemoryMiB(AcceleratorTotalMemoryMiBT&& value) {
623 SetAcceleratorTotalMemoryMiB(std::forward<AcceleratorTotalMemoryMiBT>(value));
624 return *this;
625 }
627
629
633 inline const NetworkBandwidthGbps& GetNetworkBandwidthGbps() const { return m_networkBandwidthGbps; }
634 inline bool NetworkBandwidthGbpsHasBeenSet() const { return m_networkBandwidthGbpsHasBeenSet; }
635 template <typename NetworkBandwidthGbpsT = NetworkBandwidthGbps>
636 void SetNetworkBandwidthGbps(NetworkBandwidthGbpsT&& value) {
637 m_networkBandwidthGbpsHasBeenSet = true;
638 m_networkBandwidthGbps = std::forward<NetworkBandwidthGbpsT>(value);
639 }
640 template <typename NetworkBandwidthGbpsT = NetworkBandwidthGbps>
641 InstanceRequirements& WithNetworkBandwidthGbps(NetworkBandwidthGbpsT&& value) {
642 SetNetworkBandwidthGbps(std::forward<NetworkBandwidthGbpsT>(value));
643 return *this;
644 }
646
648
662 inline const Aws::Vector<Aws::String>& GetAllowedInstanceTypes() const { return m_allowedInstanceTypes; }
663 inline bool AllowedInstanceTypesHasBeenSet() const { return m_allowedInstanceTypesHasBeenSet; }
664 template <typename AllowedInstanceTypesT = Aws::Vector<Aws::String>>
665 void SetAllowedInstanceTypes(AllowedInstanceTypesT&& value) {
666 m_allowedInstanceTypesHasBeenSet = true;
667 m_allowedInstanceTypes = std::forward<AllowedInstanceTypesT>(value);
668 }
669 template <typename AllowedInstanceTypesT = Aws::Vector<Aws::String>>
670 InstanceRequirements& WithAllowedInstanceTypes(AllowedInstanceTypesT&& value) {
671 SetAllowedInstanceTypes(std::forward<AllowedInstanceTypesT>(value));
672 return *this;
673 }
674 template <typename AllowedInstanceTypesT = Aws::String>
675 InstanceRequirements& AddAllowedInstanceTypes(AllowedInstanceTypesT&& value) {
676 m_allowedInstanceTypesHasBeenSet = true;
677 m_allowedInstanceTypes.emplace_back(std::forward<AllowedInstanceTypesT>(value));
678 return *this;
679 }
681
683
705 inline int GetMaxSpotPriceAsPercentageOfOptimalOnDemandPrice() const { return m_maxSpotPriceAsPercentageOfOptimalOnDemandPrice; }
707 return m_maxSpotPriceAsPercentageOfOptimalOnDemandPriceHasBeenSet;
708 }
710 m_maxSpotPriceAsPercentageOfOptimalOnDemandPriceHasBeenSet = true;
711 m_maxSpotPriceAsPercentageOfOptimalOnDemandPrice = value;
712 }
715 return *this;
716 }
718
720
730 inline const BaselinePerformanceFactors& GetBaselinePerformanceFactors() const { return m_baselinePerformanceFactors; }
731 inline bool BaselinePerformanceFactorsHasBeenSet() const { return m_baselinePerformanceFactorsHasBeenSet; }
732 template <typename BaselinePerformanceFactorsT = BaselinePerformanceFactors>
733 void SetBaselinePerformanceFactors(BaselinePerformanceFactorsT&& value) {
734 m_baselinePerformanceFactorsHasBeenSet = true;
735 m_baselinePerformanceFactors = std::forward<BaselinePerformanceFactorsT>(value);
736 }
737 template <typename BaselinePerformanceFactorsT = BaselinePerformanceFactors>
738 InstanceRequirements& WithBaselinePerformanceFactors(BaselinePerformanceFactorsT&& value) {
739 SetBaselinePerformanceFactors(std::forward<BaselinePerformanceFactorsT>(value));
740 return *this;
741 }
743
745
753 inline bool GetRequireEncryptionInTransit() const { return m_requireEncryptionInTransit; }
754 inline bool RequireEncryptionInTransitHasBeenSet() const { return m_requireEncryptionInTransitHasBeenSet; }
755 inline void SetRequireEncryptionInTransit(bool value) {
756 m_requireEncryptionInTransitHasBeenSet = true;
757 m_requireEncryptionInTransit = value;
758 }
761 return *this;
762 }
764 private:
765 VCpuCountRange m_vCpuCount;
766
767 MemoryMiB m_memoryMiB;
768
769 Aws::Vector<CpuManufacturer> m_cpuManufacturers;
770
771 MemoryGiBPerVCpu m_memoryGiBPerVCpu;
772
773 Aws::Vector<Aws::String> m_excludedInstanceTypes;
774
775 Aws::Vector<InstanceGeneration> m_instanceGenerations;
776
777 int m_spotMaxPricePercentageOverLowestPrice{0};
778
779 int m_onDemandMaxPricePercentageOverLowestPrice{0};
780
781 BareMetal m_bareMetal{BareMetal::NOT_SET};
782
784
785 bool m_requireHibernateSupport{false};
786
787 NetworkInterfaceCount m_networkInterfaceCount;
788
789 LocalStorage m_localStorage{LocalStorage::NOT_SET};
790
791 Aws::Vector<LocalStorageType> m_localStorageTypes;
792
793 TotalLocalStorageGB m_totalLocalStorageGB;
794
795 BaselineEbsBandwidthMbps m_baselineEbsBandwidthMbps;
796
797 Aws::Vector<AcceleratorType> m_acceleratorTypes;
798
799 AcceleratorCount m_acceleratorCount;
800
801 Aws::Vector<AcceleratorManufacturer> m_acceleratorManufacturers;
802
803 Aws::Vector<AcceleratorName> m_acceleratorNames;
804
805 AcceleratorTotalMemoryMiB m_acceleratorTotalMemoryMiB;
806
807 NetworkBandwidthGbps m_networkBandwidthGbps;
808
809 Aws::Vector<Aws::String> m_allowedInstanceTypes;
810
811 int m_maxSpotPriceAsPercentageOfOptimalOnDemandPrice{0};
812
813 BaselinePerformanceFactors m_baselinePerformanceFactors;
814
815 bool m_requireEncryptionInTransit{false};
816 bool m_vCpuCountHasBeenSet = false;
817 bool m_memoryMiBHasBeenSet = false;
818 bool m_cpuManufacturersHasBeenSet = false;
819 bool m_memoryGiBPerVCpuHasBeenSet = false;
820 bool m_excludedInstanceTypesHasBeenSet = false;
821 bool m_instanceGenerationsHasBeenSet = false;
822 bool m_spotMaxPricePercentageOverLowestPriceHasBeenSet = false;
823 bool m_onDemandMaxPricePercentageOverLowestPriceHasBeenSet = false;
824 bool m_bareMetalHasBeenSet = false;
825 bool m_burstablePerformanceHasBeenSet = false;
826 bool m_requireHibernateSupportHasBeenSet = false;
827 bool m_networkInterfaceCountHasBeenSet = false;
828 bool m_localStorageHasBeenSet = false;
829 bool m_localStorageTypesHasBeenSet = false;
830 bool m_totalLocalStorageGBHasBeenSet = false;
831 bool m_baselineEbsBandwidthMbpsHasBeenSet = false;
832 bool m_acceleratorTypesHasBeenSet = false;
833 bool m_acceleratorCountHasBeenSet = false;
834 bool m_acceleratorManufacturersHasBeenSet = false;
835 bool m_acceleratorNamesHasBeenSet = false;
836 bool m_acceleratorTotalMemoryMiBHasBeenSet = false;
837 bool m_networkBandwidthGbpsHasBeenSet = false;
838 bool m_allowedInstanceTypesHasBeenSet = false;
839 bool m_maxSpotPriceAsPercentageOfOptimalOnDemandPriceHasBeenSet = false;
840 bool m_baselinePerformanceFactorsHasBeenSet = false;
841 bool m_requireEncryptionInTransitHasBeenSet = false;
842};
843
844} // namespace Model
845} // namespace EC2
846} // 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 & WithRequireEncryptionInTransit(bool 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