AWS SDK for C++

AWS SDK for C++ Version 1.11.716

Loading...
Searching...
No Matches
InstanceRequirementsRequest.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/AcceleratorCountRequest.h>
12#include <aws/ec2/model/AcceleratorManufacturer.h>
13#include <aws/ec2/model/AcceleratorName.h>
14#include <aws/ec2/model/AcceleratorTotalMemoryMiBRequest.h>
15#include <aws/ec2/model/AcceleratorType.h>
16#include <aws/ec2/model/BareMetal.h>
17#include <aws/ec2/model/BaselineEbsBandwidthMbpsRequest.h>
18#include <aws/ec2/model/BaselinePerformanceFactorsRequest.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/MemoryGiBPerVCpuRequest.h>
25#include <aws/ec2/model/MemoryMiBRequest.h>
26#include <aws/ec2/model/NetworkBandwidthGbpsRequest.h>
27#include <aws/ec2/model/NetworkInterfaceCountRequest.h>
28#include <aws/ec2/model/TotalLocalStorageGBRequest.h>
29#include <aws/ec2/model/VCpuCountRangeRequest.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
77 public:
78 AWS_EC2_API InstanceRequirementsRequest() = default;
81
82 AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
83 AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
84
86
89 inline const VCpuCountRangeRequest& GetVCpuCount() const { return m_vCpuCount; }
90 inline bool VCpuCountHasBeenSet() const { return m_vCpuCountHasBeenSet; }
91 template <typename VCpuCountT = VCpuCountRangeRequest>
92 void SetVCpuCount(VCpuCountT&& value) {
93 m_vCpuCountHasBeenSet = true;
94 m_vCpuCount = std::forward<VCpuCountT>(value);
95 }
96 template <typename VCpuCountT = VCpuCountRangeRequest>
98 SetVCpuCount(std::forward<VCpuCountT>(value));
99 return *this;
100 }
102
104
107 inline const MemoryMiBRequest& GetMemoryMiB() const { return m_memoryMiB; }
108 inline bool MemoryMiBHasBeenSet() const { return m_memoryMiBHasBeenSet; }
109 template <typename MemoryMiBT = MemoryMiBRequest>
110 void SetMemoryMiB(MemoryMiBT&& value) {
111 m_memoryMiBHasBeenSet = true;
112 m_memoryMiB = std::forward<MemoryMiBT>(value);
113 }
114 template <typename MemoryMiBT = MemoryMiBRequest>
116 SetMemoryMiB(std::forward<MemoryMiBT>(value));
117 return *this;
118 }
120
122
133 inline const Aws::Vector<CpuManufacturer>& GetCpuManufacturers() const { return m_cpuManufacturers; }
134 inline bool CpuManufacturersHasBeenSet() const { return m_cpuManufacturersHasBeenSet; }
135 template <typename CpuManufacturersT = Aws::Vector<CpuManufacturer>>
136 void SetCpuManufacturers(CpuManufacturersT&& value) {
137 m_cpuManufacturersHasBeenSet = true;
138 m_cpuManufacturers = std::forward<CpuManufacturersT>(value);
139 }
140 template <typename CpuManufacturersT = Aws::Vector<CpuManufacturer>>
142 SetCpuManufacturers(std::forward<CpuManufacturersT>(value));
143 return *this;
144 }
146 m_cpuManufacturersHasBeenSet = true;
147 m_cpuManufacturers.push_back(value);
148 return *this;
149 }
151
153
157 inline const MemoryGiBPerVCpuRequest& GetMemoryGiBPerVCpu() const { return m_memoryGiBPerVCpu; }
158 inline bool MemoryGiBPerVCpuHasBeenSet() const { return m_memoryGiBPerVCpuHasBeenSet; }
159 template <typename MemoryGiBPerVCpuT = MemoryGiBPerVCpuRequest>
160 void SetMemoryGiBPerVCpu(MemoryGiBPerVCpuT&& value) {
161 m_memoryGiBPerVCpuHasBeenSet = true;
162 m_memoryGiBPerVCpu = std::forward<MemoryGiBPerVCpuT>(value);
163 }
164 template <typename MemoryGiBPerVCpuT = MemoryGiBPerVCpuRequest>
166 SetMemoryGiBPerVCpu(std::forward<MemoryGiBPerVCpuT>(value));
167 return *this;
168 }
170
172
185 inline const Aws::Vector<Aws::String>& GetExcludedInstanceTypes() const { return m_excludedInstanceTypes; }
186 inline bool ExcludedInstanceTypesHasBeenSet() const { return m_excludedInstanceTypesHasBeenSet; }
187 template <typename ExcludedInstanceTypesT = Aws::Vector<Aws::String>>
188 void SetExcludedInstanceTypes(ExcludedInstanceTypesT&& value) {
189 m_excludedInstanceTypesHasBeenSet = true;
190 m_excludedInstanceTypes = std::forward<ExcludedInstanceTypesT>(value);
191 }
192 template <typename ExcludedInstanceTypesT = Aws::Vector<Aws::String>>
194 SetExcludedInstanceTypes(std::forward<ExcludedInstanceTypesT>(value));
195 return *this;
196 }
197 template <typename ExcludedInstanceTypesT = Aws::String>
198 InstanceRequirementsRequest& AddExcludedInstanceTypes(ExcludedInstanceTypesT&& value) {
199 m_excludedInstanceTypesHasBeenSet = true;
200 m_excludedInstanceTypes.emplace_back(std::forward<ExcludedInstanceTypesT>(value));
201 return *this;
202 }
204
206
217 inline const Aws::Vector<InstanceGeneration>& GetInstanceGenerations() const { return m_instanceGenerations; }
218 inline bool InstanceGenerationsHasBeenSet() const { return m_instanceGenerationsHasBeenSet; }
219 template <typename InstanceGenerationsT = Aws::Vector<InstanceGeneration>>
220 void SetInstanceGenerations(InstanceGenerationsT&& value) {
221 m_instanceGenerationsHasBeenSet = true;
222 m_instanceGenerations = std::forward<InstanceGenerationsT>(value);
223 }
224 template <typename InstanceGenerationsT = Aws::Vector<InstanceGeneration>>
226 SetInstanceGenerations(std::forward<InstanceGenerationsT>(value));
227 return *this;
228 }
230 m_instanceGenerationsHasBeenSet = true;
231 m_instanceGenerations.push_back(value);
232 return *this;
233 }
235
237
264 inline int GetSpotMaxPricePercentageOverLowestPrice() const { return m_spotMaxPricePercentageOverLowestPrice; }
265 inline bool SpotMaxPricePercentageOverLowestPriceHasBeenSet() const { return m_spotMaxPricePercentageOverLowestPriceHasBeenSet; }
267 m_spotMaxPricePercentageOverLowestPriceHasBeenSet = true;
268 m_spotMaxPricePercentageOverLowestPrice = value;
269 }
272 return *this;
273 }
275
277
295 inline int GetOnDemandMaxPricePercentageOverLowestPrice() const { return m_onDemandMaxPricePercentageOverLowestPrice; }
296 inline bool OnDemandMaxPricePercentageOverLowestPriceHasBeenSet() const { return m_onDemandMaxPricePercentageOverLowestPriceHasBeenSet; }
298 m_onDemandMaxPricePercentageOverLowestPriceHasBeenSet = true;
299 m_onDemandMaxPricePercentageOverLowestPrice = value;
300 }
303 return *this;
304 }
306
308
316 inline BareMetal GetBareMetal() const { return m_bareMetal; }
317 inline bool BareMetalHasBeenSet() const { return m_bareMetalHasBeenSet; }
318 inline void SetBareMetal(BareMetal value) {
319 m_bareMetalHasBeenSet = true;
320 m_bareMetal = value;
321 }
323 SetBareMetal(value);
324 return *this;
325 }
327
329
339 inline BurstablePerformance GetBurstablePerformance() const { return m_burstablePerformance; }
340 inline bool BurstablePerformanceHasBeenSet() const { return m_burstablePerformanceHasBeenSet; }
342 m_burstablePerformanceHasBeenSet = true;
343 m_burstablePerformance = value;
344 }
347 return *this;
348 }
350
352
358 inline bool GetRequireHibernateSupport() const { return m_requireHibernateSupport; }
359 inline bool RequireHibernateSupportHasBeenSet() const { return m_requireHibernateSupportHasBeenSet; }
360 inline void SetRequireHibernateSupport(bool value) {
361 m_requireHibernateSupportHasBeenSet = true;
362 m_requireHibernateSupport = value;
363 }
366 return *this;
367 }
369
371
375 inline const NetworkInterfaceCountRequest& GetNetworkInterfaceCount() const { return m_networkInterfaceCount; }
376 inline bool NetworkInterfaceCountHasBeenSet() const { return m_networkInterfaceCountHasBeenSet; }
377 template <typename NetworkInterfaceCountT = NetworkInterfaceCountRequest>
378 void SetNetworkInterfaceCount(NetworkInterfaceCountT&& value) {
379 m_networkInterfaceCountHasBeenSet = true;
380 m_networkInterfaceCount = std::forward<NetworkInterfaceCountT>(value);
381 }
382 template <typename NetworkInterfaceCountT = NetworkInterfaceCountRequest>
384 SetNetworkInterfaceCount(std::forward<NetworkInterfaceCountT>(value));
385 return *this;
386 }
388
390
401 inline LocalStorage GetLocalStorage() const { return m_localStorage; }
402 inline bool LocalStorageHasBeenSet() const { return m_localStorageHasBeenSet; }
403 inline void SetLocalStorage(LocalStorage value) {
404 m_localStorageHasBeenSet = true;
405 m_localStorage = value;
406 }
408 SetLocalStorage(value);
409 return *this;
410 }
412
414
421 inline const Aws::Vector<LocalStorageType>& GetLocalStorageTypes() const { return m_localStorageTypes; }
422 inline bool LocalStorageTypesHasBeenSet() const { return m_localStorageTypesHasBeenSet; }
423 template <typename LocalStorageTypesT = Aws::Vector<LocalStorageType>>
424 void SetLocalStorageTypes(LocalStorageTypesT&& value) {
425 m_localStorageTypesHasBeenSet = true;
426 m_localStorageTypes = std::forward<LocalStorageTypesT>(value);
427 }
428 template <typename LocalStorageTypesT = Aws::Vector<LocalStorageType>>
430 SetLocalStorageTypes(std::forward<LocalStorageTypesT>(value));
431 return *this;
432 }
434 m_localStorageTypesHasBeenSet = true;
435 m_localStorageTypes.push_back(value);
436 return *this;
437 }
439
441
445 inline const TotalLocalStorageGBRequest& GetTotalLocalStorageGB() const { return m_totalLocalStorageGB; }
446 inline bool TotalLocalStorageGBHasBeenSet() const { return m_totalLocalStorageGBHasBeenSet; }
447 template <typename TotalLocalStorageGBT = TotalLocalStorageGBRequest>
448 void SetTotalLocalStorageGB(TotalLocalStorageGBT&& value) {
449 m_totalLocalStorageGBHasBeenSet = true;
450 m_totalLocalStorageGB = std::forward<TotalLocalStorageGBT>(value);
451 }
452 template <typename TotalLocalStorageGBT = TotalLocalStorageGBRequest>
454 SetTotalLocalStorageGB(std::forward<TotalLocalStorageGBT>(value));
455 return *this;
456 }
458
460
467 inline const BaselineEbsBandwidthMbpsRequest& GetBaselineEbsBandwidthMbps() const { return m_baselineEbsBandwidthMbps; }
468 inline bool BaselineEbsBandwidthMbpsHasBeenSet() const { return m_baselineEbsBandwidthMbpsHasBeenSet; }
469 template <typename BaselineEbsBandwidthMbpsT = BaselineEbsBandwidthMbpsRequest>
470 void SetBaselineEbsBandwidthMbps(BaselineEbsBandwidthMbpsT&& value) {
471 m_baselineEbsBandwidthMbpsHasBeenSet = true;
472 m_baselineEbsBandwidthMbps = std::forward<BaselineEbsBandwidthMbpsT>(value);
473 }
474 template <typename BaselineEbsBandwidthMbpsT = BaselineEbsBandwidthMbpsRequest>
475 InstanceRequirementsRequest& WithBaselineEbsBandwidthMbps(BaselineEbsBandwidthMbpsT&& value) {
476 SetBaselineEbsBandwidthMbps(std::forward<BaselineEbsBandwidthMbpsT>(value));
477 return *this;
478 }
480
482
491 inline const Aws::Vector<AcceleratorType>& GetAcceleratorTypes() const { return m_acceleratorTypes; }
492 inline bool AcceleratorTypesHasBeenSet() const { return m_acceleratorTypesHasBeenSet; }
493 template <typename AcceleratorTypesT = Aws::Vector<AcceleratorType>>
494 void SetAcceleratorTypes(AcceleratorTypesT&& value) {
495 m_acceleratorTypesHasBeenSet = true;
496 m_acceleratorTypes = std::forward<AcceleratorTypesT>(value);
497 }
498 template <typename AcceleratorTypesT = Aws::Vector<AcceleratorType>>
500 SetAcceleratorTypes(std::forward<AcceleratorTypesT>(value));
501 return *this;
502 }
504 m_acceleratorTypesHasBeenSet = true;
505 m_acceleratorTypes.push_back(value);
506 return *this;
507 }
509
511
517 inline const AcceleratorCountRequest& GetAcceleratorCount() const { return m_acceleratorCount; }
518 inline bool AcceleratorCountHasBeenSet() const { return m_acceleratorCountHasBeenSet; }
519 template <typename AcceleratorCountT = AcceleratorCountRequest>
520 void SetAcceleratorCount(AcceleratorCountT&& value) {
521 m_acceleratorCountHasBeenSet = true;
522 m_acceleratorCount = std::forward<AcceleratorCountT>(value);
523 }
524 template <typename AcceleratorCountT = AcceleratorCountRequest>
526 SetAcceleratorCount(std::forward<AcceleratorCountT>(value));
527 return *this;
528 }
530
532
542 inline const Aws::Vector<AcceleratorManufacturer>& GetAcceleratorManufacturers() const { return m_acceleratorManufacturers; }
543 inline bool AcceleratorManufacturersHasBeenSet() const { return m_acceleratorManufacturersHasBeenSet; }
544 template <typename AcceleratorManufacturersT = Aws::Vector<AcceleratorManufacturer>>
545 void SetAcceleratorManufacturers(AcceleratorManufacturersT&& value) {
546 m_acceleratorManufacturersHasBeenSet = true;
547 m_acceleratorManufacturers = std::forward<AcceleratorManufacturersT>(value);
548 }
549 template <typename AcceleratorManufacturersT = Aws::Vector<AcceleratorManufacturer>>
550 InstanceRequirementsRequest& WithAcceleratorManufacturers(AcceleratorManufacturersT&& value) {
551 SetAcceleratorManufacturers(std::forward<AcceleratorManufacturersT>(value));
552 return *this;
553 }
555 m_acceleratorManufacturersHasBeenSet = true;
556 m_acceleratorManufacturers.push_back(value);
557 return *this;
558 }
560
562
589 inline const Aws::Vector<AcceleratorName>& GetAcceleratorNames() const { return m_acceleratorNames; }
590 inline bool AcceleratorNamesHasBeenSet() const { return m_acceleratorNamesHasBeenSet; }
591 template <typename AcceleratorNamesT = Aws::Vector<AcceleratorName>>
592 void SetAcceleratorNames(AcceleratorNamesT&& value) {
593 m_acceleratorNamesHasBeenSet = true;
594 m_acceleratorNames = std::forward<AcceleratorNamesT>(value);
595 }
596 template <typename AcceleratorNamesT = Aws::Vector<AcceleratorName>>
598 SetAcceleratorNames(std::forward<AcceleratorNamesT>(value));
599 return *this;
600 }
602 m_acceleratorNamesHasBeenSet = true;
603 m_acceleratorNames.push_back(value);
604 return *this;
605 }
607
609
613 inline const AcceleratorTotalMemoryMiBRequest& GetAcceleratorTotalMemoryMiB() const { return m_acceleratorTotalMemoryMiB; }
614 inline bool AcceleratorTotalMemoryMiBHasBeenSet() const { return m_acceleratorTotalMemoryMiBHasBeenSet; }
615 template <typename AcceleratorTotalMemoryMiBT = AcceleratorTotalMemoryMiBRequest>
616 void SetAcceleratorTotalMemoryMiB(AcceleratorTotalMemoryMiBT&& value) {
617 m_acceleratorTotalMemoryMiBHasBeenSet = true;
618 m_acceleratorTotalMemoryMiB = std::forward<AcceleratorTotalMemoryMiBT>(value);
619 }
620 template <typename AcceleratorTotalMemoryMiBT = AcceleratorTotalMemoryMiBRequest>
621 InstanceRequirementsRequest& WithAcceleratorTotalMemoryMiB(AcceleratorTotalMemoryMiBT&& value) {
622 SetAcceleratorTotalMemoryMiB(std::forward<AcceleratorTotalMemoryMiBT>(value));
623 return *this;
624 }
626
628
635 inline const NetworkBandwidthGbpsRequest& GetNetworkBandwidthGbps() const { return m_networkBandwidthGbps; }
636 inline bool NetworkBandwidthGbpsHasBeenSet() const { return m_networkBandwidthGbpsHasBeenSet; }
637 template <typename NetworkBandwidthGbpsT = NetworkBandwidthGbpsRequest>
638 void SetNetworkBandwidthGbps(NetworkBandwidthGbpsT&& value) {
639 m_networkBandwidthGbpsHasBeenSet = true;
640 m_networkBandwidthGbps = std::forward<NetworkBandwidthGbpsT>(value);
641 }
642 template <typename NetworkBandwidthGbpsT = NetworkBandwidthGbpsRequest>
644 SetNetworkBandwidthGbps(std::forward<NetworkBandwidthGbpsT>(value));
645 return *this;
646 }
648
650
664 inline const Aws::Vector<Aws::String>& GetAllowedInstanceTypes() const { return m_allowedInstanceTypes; }
665 inline bool AllowedInstanceTypesHasBeenSet() const { return m_allowedInstanceTypesHasBeenSet; }
666 template <typename AllowedInstanceTypesT = Aws::Vector<Aws::String>>
667 void SetAllowedInstanceTypes(AllowedInstanceTypesT&& value) {
668 m_allowedInstanceTypesHasBeenSet = true;
669 m_allowedInstanceTypes = std::forward<AllowedInstanceTypesT>(value);
670 }
671 template <typename AllowedInstanceTypesT = Aws::Vector<Aws::String>>
673 SetAllowedInstanceTypes(std::forward<AllowedInstanceTypesT>(value));
674 return *this;
675 }
676 template <typename AllowedInstanceTypesT = Aws::String>
677 InstanceRequirementsRequest& AddAllowedInstanceTypes(AllowedInstanceTypesT&& value) {
678 m_allowedInstanceTypesHasBeenSet = true;
679 m_allowedInstanceTypes.emplace_back(std::forward<AllowedInstanceTypesT>(value));
680 return *this;
681 }
683
685
707 inline int GetMaxSpotPriceAsPercentageOfOptimalOnDemandPrice() const { return m_maxSpotPriceAsPercentageOfOptimalOnDemandPrice; }
709 return m_maxSpotPriceAsPercentageOfOptimalOnDemandPriceHasBeenSet;
710 }
712 m_maxSpotPriceAsPercentageOfOptimalOnDemandPriceHasBeenSet = true;
713 m_maxSpotPriceAsPercentageOfOptimalOnDemandPrice = value;
714 }
717 return *this;
718 }
720
722
732 inline const BaselinePerformanceFactorsRequest& GetBaselinePerformanceFactors() const { return m_baselinePerformanceFactors; }
733 inline bool BaselinePerformanceFactorsHasBeenSet() const { return m_baselinePerformanceFactorsHasBeenSet; }
734 template <typename BaselinePerformanceFactorsT = BaselinePerformanceFactorsRequest>
735 void SetBaselinePerformanceFactors(BaselinePerformanceFactorsT&& value) {
736 m_baselinePerformanceFactorsHasBeenSet = true;
737 m_baselinePerformanceFactors = std::forward<BaselinePerformanceFactorsT>(value);
738 }
739 template <typename BaselinePerformanceFactorsT = BaselinePerformanceFactorsRequest>
740 InstanceRequirementsRequest& WithBaselinePerformanceFactors(BaselinePerformanceFactorsT&& value) {
741 SetBaselinePerformanceFactors(std::forward<BaselinePerformanceFactorsT>(value));
742 return *this;
743 }
745
747
755 inline bool GetRequireEncryptionInTransit() const { return m_requireEncryptionInTransit; }
756 inline bool RequireEncryptionInTransitHasBeenSet() const { return m_requireEncryptionInTransitHasBeenSet; }
757 inline void SetRequireEncryptionInTransit(bool value) {
758 m_requireEncryptionInTransitHasBeenSet = true;
759 m_requireEncryptionInTransit = value;
760 }
763 return *this;
764 }
766 private:
767 VCpuCountRangeRequest m_vCpuCount;
768
769 MemoryMiBRequest m_memoryMiB;
770
771 Aws::Vector<CpuManufacturer> m_cpuManufacturers;
772
773 MemoryGiBPerVCpuRequest m_memoryGiBPerVCpu;
774
775 Aws::Vector<Aws::String> m_excludedInstanceTypes;
776
777 Aws::Vector<InstanceGeneration> m_instanceGenerations;
778
779 int m_spotMaxPricePercentageOverLowestPrice{0};
780
781 int m_onDemandMaxPricePercentageOverLowestPrice{0};
782
783 BareMetal m_bareMetal{BareMetal::NOT_SET};
784
786
787 bool m_requireHibernateSupport{false};
788
789 NetworkInterfaceCountRequest m_networkInterfaceCount;
790
791 LocalStorage m_localStorage{LocalStorage::NOT_SET};
792
793 Aws::Vector<LocalStorageType> m_localStorageTypes;
794
795 TotalLocalStorageGBRequest m_totalLocalStorageGB;
796
797 BaselineEbsBandwidthMbpsRequest m_baselineEbsBandwidthMbps;
798
799 Aws::Vector<AcceleratorType> m_acceleratorTypes;
800
801 AcceleratorCountRequest m_acceleratorCount;
802
803 Aws::Vector<AcceleratorManufacturer> m_acceleratorManufacturers;
804
805 Aws::Vector<AcceleratorName> m_acceleratorNames;
806
807 AcceleratorTotalMemoryMiBRequest m_acceleratorTotalMemoryMiB;
808
809 NetworkBandwidthGbpsRequest m_networkBandwidthGbps;
810
811 Aws::Vector<Aws::String> m_allowedInstanceTypes;
812
813 int m_maxSpotPriceAsPercentageOfOptimalOnDemandPrice{0};
814
815 BaselinePerformanceFactorsRequest m_baselinePerformanceFactors;
816
817 bool m_requireEncryptionInTransit{false};
818 bool m_vCpuCountHasBeenSet = false;
819 bool m_memoryMiBHasBeenSet = false;
820 bool m_cpuManufacturersHasBeenSet = false;
821 bool m_memoryGiBPerVCpuHasBeenSet = false;
822 bool m_excludedInstanceTypesHasBeenSet = false;
823 bool m_instanceGenerationsHasBeenSet = false;
824 bool m_spotMaxPricePercentageOverLowestPriceHasBeenSet = false;
825 bool m_onDemandMaxPricePercentageOverLowestPriceHasBeenSet = false;
826 bool m_bareMetalHasBeenSet = false;
827 bool m_burstablePerformanceHasBeenSet = false;
828 bool m_requireHibernateSupportHasBeenSet = false;
829 bool m_networkInterfaceCountHasBeenSet = false;
830 bool m_localStorageHasBeenSet = false;
831 bool m_localStorageTypesHasBeenSet = false;
832 bool m_totalLocalStorageGBHasBeenSet = false;
833 bool m_baselineEbsBandwidthMbpsHasBeenSet = false;
834 bool m_acceleratorTypesHasBeenSet = false;
835 bool m_acceleratorCountHasBeenSet = false;
836 bool m_acceleratorManufacturersHasBeenSet = false;
837 bool m_acceleratorNamesHasBeenSet = false;
838 bool m_acceleratorTotalMemoryMiBHasBeenSet = false;
839 bool m_networkBandwidthGbpsHasBeenSet = false;
840 bool m_allowedInstanceTypesHasBeenSet = false;
841 bool m_maxSpotPriceAsPercentageOfOptimalOnDemandPriceHasBeenSet = false;
842 bool m_baselinePerformanceFactorsHasBeenSet = false;
843 bool m_requireEncryptionInTransitHasBeenSet = false;
844};
845
846} // namespace Model
847} // namespace EC2
848} // namespace Aws
const AcceleratorTotalMemoryMiBRequest & GetAcceleratorTotalMemoryMiB() const
void SetNetworkBandwidthGbps(NetworkBandwidthGbpsT &&value)
const Aws::Vector< AcceleratorType > & GetAcceleratorTypes() const
InstanceRequirementsRequest & WithNetworkBandwidthGbps(NetworkBandwidthGbpsT &&value)
InstanceRequirementsRequest & WithOnDemandMaxPricePercentageOverLowestPrice(int value)
InstanceRequirementsRequest & WithInstanceGenerations(InstanceGenerationsT &&value)
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
const VCpuCountRangeRequest & GetVCpuCount() const
const Aws::Vector< AcceleratorName > & GetAcceleratorNames() const
InstanceRequirementsRequest & WithBareMetal(BareMetal value)
InstanceRequirementsRequest & AddAcceleratorTypes(AcceleratorType value)
void SetAcceleratorTotalMemoryMiB(AcceleratorTotalMemoryMiBT &&value)
void SetBaselineEbsBandwidthMbps(BaselineEbsBandwidthMbpsT &&value)
InstanceRequirementsRequest & WithBaselinePerformanceFactors(BaselinePerformanceFactorsT &&value)
InstanceRequirementsRequest & WithAcceleratorNames(AcceleratorNamesT &&value)
void SetAcceleratorManufacturers(AcceleratorManufacturersT &&value)
InstanceRequirementsRequest & AddLocalStorageTypes(LocalStorageType value)
InstanceRequirementsRequest & WithBaselineEbsBandwidthMbps(BaselineEbsBandwidthMbpsT &&value)
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
InstanceRequirementsRequest & AddInstanceGenerations(InstanceGeneration value)
InstanceRequirementsRequest & AddAcceleratorNames(AcceleratorName value)
void SetAllowedInstanceTypes(AllowedInstanceTypesT &&value)
const BaselineEbsBandwidthMbpsRequest & GetBaselineEbsBandwidthMbps() const
const Aws::Vector< AcceleratorManufacturer > & GetAcceleratorManufacturers() const
InstanceRequirementsRequest & WithCpuManufacturers(CpuManufacturersT &&value)
InstanceRequirementsRequest & WithAcceleratorCount(AcceleratorCountT &&value)
void SetTotalLocalStorageGB(TotalLocalStorageGBT &&value)
InstanceRequirementsRequest & WithAcceleratorTypes(AcceleratorTypesT &&value)
InstanceRequirementsRequest & WithSpotMaxPricePercentageOverLowestPrice(int value)
AWS_EC2_API InstanceRequirementsRequest(const Aws::Utils::Xml::XmlNode &xmlNode)
InstanceRequirementsRequest & AddExcludedInstanceTypes(ExcludedInstanceTypesT &&value)
AWS_EC2_API InstanceRequirementsRequest()=default
InstanceRequirementsRequest & WithNetworkInterfaceCount(NetworkInterfaceCountT &&value)
InstanceRequirementsRequest & WithLocalStorage(LocalStorage value)
const TotalLocalStorageGBRequest & GetTotalLocalStorageGB() const
const BaselinePerformanceFactorsRequest & GetBaselinePerformanceFactors() const
InstanceRequirementsRequest & AddAcceleratorManufacturers(AcceleratorManufacturer value)
const Aws::Vector< Aws::String > & GetAllowedInstanceTypes() const
const MemoryGiBPerVCpuRequest & GetMemoryGiBPerVCpu() const
InstanceRequirementsRequest & WithBurstablePerformance(BurstablePerformance value)
const Aws::Vector< Aws::String > & GetExcludedInstanceTypes() const
InstanceRequirementsRequest & AddAllowedInstanceTypes(AllowedInstanceTypesT &&value)
InstanceRequirementsRequest & WithAcceleratorTotalMemoryMiB(AcceleratorTotalMemoryMiBT &&value)
InstanceRequirementsRequest & WithMaxSpotPriceAsPercentageOfOptimalOnDemandPrice(int value)
InstanceRequirementsRequest & AddCpuManufacturers(CpuManufacturer value)
InstanceRequirementsRequest & WithTotalLocalStorageGB(TotalLocalStorageGBT &&value)
const Aws::Vector< LocalStorageType > & GetLocalStorageTypes() const
InstanceRequirementsRequest & WithMemoryMiB(MemoryMiBT &&value)
void SetExcludedInstanceTypes(ExcludedInstanceTypesT &&value)
const NetworkBandwidthGbpsRequest & GetNetworkBandwidthGbps() const
InstanceRequirementsRequest & WithAllowedInstanceTypes(AllowedInstanceTypesT &&value)
const Aws::Vector< CpuManufacturer > & GetCpuManufacturers() const
InstanceRequirementsRequest & WithRequireEncryptionInTransit(bool value)
AWS_EC2_API InstanceRequirementsRequest & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
InstanceRequirementsRequest & WithMemoryGiBPerVCpu(MemoryGiBPerVCpuT &&value)
InstanceRequirementsRequest & WithVCpuCount(VCpuCountT &&value)
void SetInstanceGenerations(InstanceGenerationsT &&value)
const AcceleratorCountRequest & GetAcceleratorCount() const
const NetworkInterfaceCountRequest & GetNetworkInterfaceCount() const
InstanceRequirementsRequest & WithLocalStorageTypes(LocalStorageTypesT &&value)
void SetNetworkInterfaceCount(NetworkInterfaceCountT &&value)
InstanceRequirementsRequest & WithRequireHibernateSupport(bool value)
InstanceRequirementsRequest & WithAcceleratorManufacturers(AcceleratorManufacturersT &&value)
void SetBaselinePerformanceFactors(BaselinePerformanceFactorsT &&value)
InstanceRequirementsRequest & WithExcludedInstanceTypes(ExcludedInstanceTypesT &&value)
const Aws::Vector< InstanceGeneration > & GetInstanceGenerations() const
std::vector< T, Aws::Allocator< T > > Vector
std::basic_ostream< char, std::char_traits< char > > OStream