AWS SDK for C++

AWS SDK for C++ Version 1.11.747

Loading...
Searching...
No Matches
InstanceRequirements.h
1
6#pragma once
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>
30
31#include <utility>
32
33namespace Aws {
34namespace Utils {
35namespace Xml {
36class XmlNode;
37} // namespace Xml
38} // namespace Utils
39namespace AutoScaling {
40namespace Model {
41
72 public:
73 AWS_AUTOSCALING_API InstanceRequirements() = default;
74 AWS_AUTOSCALING_API InstanceRequirements(const Aws::Utils::Xml::XmlNode& xmlNode);
75 AWS_AUTOSCALING_API InstanceRequirements& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
76
77 AWS_AUTOSCALING_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
78 AWS_AUTOSCALING_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
79
81
84 inline const VCpuCountRequest& GetVCpuCount() const { return m_vCpuCount; }
85 inline bool VCpuCountHasBeenSet() const { return m_vCpuCountHasBeenSet; }
86 template <typename VCpuCountT = VCpuCountRequest>
87 void SetVCpuCount(VCpuCountT&& value) {
88 m_vCpuCountHasBeenSet = true;
89 m_vCpuCount = std::forward<VCpuCountT>(value);
90 }
91 template <typename VCpuCountT = VCpuCountRequest>
92 InstanceRequirements& WithVCpuCount(VCpuCountT&& value) {
93 SetVCpuCount(std::forward<VCpuCountT>(value));
94 return *this;
95 }
97
99
103 inline const MemoryMiBRequest& GetMemoryMiB() const { return m_memoryMiB; }
104 inline bool MemoryMiBHasBeenSet() const { return m_memoryMiBHasBeenSet; }
105 template <typename MemoryMiBT = MemoryMiBRequest>
106 void SetMemoryMiB(MemoryMiBT&& value) {
107 m_memoryMiBHasBeenSet = true;
108 m_memoryMiB = std::forward<MemoryMiBT>(value);
109 }
110 template <typename MemoryMiBT = MemoryMiBRequest>
111 InstanceRequirements& WithMemoryMiB(MemoryMiBT&& value) {
112 SetMemoryMiB(std::forward<MemoryMiBT>(value));
113 return *this;
114 }
116
118
130 inline const Aws::Vector<CpuManufacturer>& GetCpuManufacturers() const { return m_cpuManufacturers; }
131 inline bool CpuManufacturersHasBeenSet() const { return m_cpuManufacturersHasBeenSet; }
132 template <typename CpuManufacturersT = Aws::Vector<CpuManufacturer>>
133 void SetCpuManufacturers(CpuManufacturersT&& value) {
134 m_cpuManufacturersHasBeenSet = true;
135 m_cpuManufacturers = std::forward<CpuManufacturersT>(value);
136 }
137 template <typename CpuManufacturersT = Aws::Vector<CpuManufacturer>>
138 InstanceRequirements& WithCpuManufacturers(CpuManufacturersT&& value) {
139 SetCpuManufacturers(std::forward<CpuManufacturersT>(value));
140 return *this;
141 }
143 m_cpuManufacturersHasBeenSet = true;
144 m_cpuManufacturers.push_back(value);
145 return *this;
146 }
148
150
154 inline const MemoryGiBPerVCpuRequest& GetMemoryGiBPerVCpu() const { return m_memoryGiBPerVCpu; }
155 inline bool MemoryGiBPerVCpuHasBeenSet() const { return m_memoryGiBPerVCpuHasBeenSet; }
156 template <typename MemoryGiBPerVCpuT = MemoryGiBPerVCpuRequest>
157 void SetMemoryGiBPerVCpu(MemoryGiBPerVCpuT&& value) {
158 m_memoryGiBPerVCpuHasBeenSet = true;
159 m_memoryGiBPerVCpu = std::forward<MemoryGiBPerVCpuT>(value);
160 }
161 template <typename MemoryGiBPerVCpuT = MemoryGiBPerVCpuRequest>
162 InstanceRequirements& WithMemoryGiBPerVCpu(MemoryGiBPerVCpuT&& value) {
163 SetMemoryGiBPerVCpu(std::forward<MemoryGiBPerVCpuT>(value));
164 return *this;
165 }
167
169
182 inline const Aws::Vector<Aws::String>& GetExcludedInstanceTypes() const { return m_excludedInstanceTypes; }
183 inline bool ExcludedInstanceTypesHasBeenSet() const { return m_excludedInstanceTypesHasBeenSet; }
184 template <typename ExcludedInstanceTypesT = Aws::Vector<Aws::String>>
185 void SetExcludedInstanceTypes(ExcludedInstanceTypesT&& value) {
186 m_excludedInstanceTypesHasBeenSet = true;
187 m_excludedInstanceTypes = std::forward<ExcludedInstanceTypesT>(value);
188 }
189 template <typename ExcludedInstanceTypesT = Aws::Vector<Aws::String>>
190 InstanceRequirements& WithExcludedInstanceTypes(ExcludedInstanceTypesT&& value) {
191 SetExcludedInstanceTypes(std::forward<ExcludedInstanceTypesT>(value));
192 return *this;
193 }
194 template <typename ExcludedInstanceTypesT = Aws::String>
195 InstanceRequirements& AddExcludedInstanceTypes(ExcludedInstanceTypesT&& value) {
196 m_excludedInstanceTypesHasBeenSet = true;
197 m_excludedInstanceTypes.emplace_back(std::forward<ExcludedInstanceTypesT>(value));
198 return *this;
199 }
201
203
214 inline const Aws::Vector<InstanceGeneration>& GetInstanceGenerations() const { return m_instanceGenerations; }
215 inline bool InstanceGenerationsHasBeenSet() const { return m_instanceGenerationsHasBeenSet; }
216 template <typename InstanceGenerationsT = Aws::Vector<InstanceGeneration>>
217 void SetInstanceGenerations(InstanceGenerationsT&& value) {
218 m_instanceGenerationsHasBeenSet = true;
219 m_instanceGenerations = std::forward<InstanceGenerationsT>(value);
220 }
221 template <typename InstanceGenerationsT = Aws::Vector<InstanceGeneration>>
222 InstanceRequirements& WithInstanceGenerations(InstanceGenerationsT&& value) {
223 SetInstanceGenerations(std::forward<InstanceGenerationsT>(value));
224 return *this;
225 }
227 m_instanceGenerationsHasBeenSet = true;
228 m_instanceGenerations.push_back(value);
229 return *this;
230 }
232
234
257 inline int GetSpotMaxPricePercentageOverLowestPrice() const { return m_spotMaxPricePercentageOverLowestPrice; }
258 inline bool SpotMaxPricePercentageOverLowestPriceHasBeenSet() const { return m_spotMaxPricePercentageOverLowestPriceHasBeenSet; }
260 m_spotMaxPricePercentageOverLowestPriceHasBeenSet = true;
261 m_spotMaxPricePercentageOverLowestPrice = value;
262 }
265 return *this;
266 }
268
270
293 inline int GetMaxSpotPriceAsPercentageOfOptimalOnDemandPrice() const { return m_maxSpotPriceAsPercentageOfOptimalOnDemandPrice; }
295 return m_maxSpotPriceAsPercentageOfOptimalOnDemandPriceHasBeenSet;
296 }
298 m_maxSpotPriceAsPercentageOfOptimalOnDemandPriceHasBeenSet = true;
299 m_maxSpotPriceAsPercentageOfOptimalOnDemandPrice = value;
300 }
303 return *this;
304 }
306
308
325 inline int GetOnDemandMaxPricePercentageOverLowestPrice() const { return m_onDemandMaxPricePercentageOverLowestPrice; }
326 inline bool OnDemandMaxPricePercentageOverLowestPriceHasBeenSet() const { return m_onDemandMaxPricePercentageOverLowestPriceHasBeenSet; }
328 m_onDemandMaxPricePercentageOverLowestPriceHasBeenSet = true;
329 m_onDemandMaxPricePercentageOverLowestPrice = value;
330 }
333 return *this;
334 }
336
338
342 inline BareMetal GetBareMetal() const { return m_bareMetal; }
343 inline bool BareMetalHasBeenSet() const { return m_bareMetalHasBeenSet; }
344 inline void SetBareMetal(BareMetal value) {
345 m_bareMetalHasBeenSet = true;
346 m_bareMetal = value;
347 }
349 SetBareMetal(value);
350 return *this;
351 }
353
355
362 inline BurstablePerformance GetBurstablePerformance() const { return m_burstablePerformance; }
363 inline bool BurstablePerformanceHasBeenSet() const { return m_burstablePerformanceHasBeenSet; }
365 m_burstablePerformanceHasBeenSet = true;
366 m_burstablePerformance = value;
367 }
370 return *this;
371 }
373
375
379 inline bool GetRequireHibernateSupport() const { return m_requireHibernateSupport; }
380 inline bool RequireHibernateSupportHasBeenSet() const { return m_requireHibernateSupportHasBeenSet; }
381 inline void SetRequireHibernateSupport(bool value) {
382 m_requireHibernateSupportHasBeenSet = true;
383 m_requireHibernateSupport = value;
384 }
387 return *this;
388 }
390
392
396 inline const NetworkInterfaceCountRequest& GetNetworkInterfaceCount() const { return m_networkInterfaceCount; }
397 inline bool NetworkInterfaceCountHasBeenSet() const { return m_networkInterfaceCountHasBeenSet; }
398 template <typename NetworkInterfaceCountT = NetworkInterfaceCountRequest>
399 void SetNetworkInterfaceCount(NetworkInterfaceCountT&& value) {
400 m_networkInterfaceCountHasBeenSet = true;
401 m_networkInterfaceCount = std::forward<NetworkInterfaceCountT>(value);
402 }
403 template <typename NetworkInterfaceCountT = NetworkInterfaceCountRequest>
404 InstanceRequirements& WithNetworkInterfaceCount(NetworkInterfaceCountT&& value) {
405 SetNetworkInterfaceCount(std::forward<NetworkInterfaceCountT>(value));
406 return *this;
407 }
409
411
418 inline LocalStorage GetLocalStorage() const { return m_localStorage; }
419 inline bool LocalStorageHasBeenSet() const { return m_localStorageHasBeenSet; }
420 inline void SetLocalStorage(LocalStorage value) {
421 m_localStorageHasBeenSet = true;
422 m_localStorage = value;
423 }
425 SetLocalStorage(value);
426 return *this;
427 }
429
431
437 inline const Aws::Vector<LocalStorageType>& GetLocalStorageTypes() const { return m_localStorageTypes; }
438 inline bool LocalStorageTypesHasBeenSet() const { return m_localStorageTypesHasBeenSet; }
439 template <typename LocalStorageTypesT = Aws::Vector<LocalStorageType>>
440 void SetLocalStorageTypes(LocalStorageTypesT&& value) {
441 m_localStorageTypesHasBeenSet = true;
442 m_localStorageTypes = std::forward<LocalStorageTypesT>(value);
443 }
444 template <typename LocalStorageTypesT = Aws::Vector<LocalStorageType>>
445 InstanceRequirements& WithLocalStorageTypes(LocalStorageTypesT&& value) {
446 SetLocalStorageTypes(std::forward<LocalStorageTypesT>(value));
447 return *this;
448 }
450 m_localStorageTypesHasBeenSet = true;
451 m_localStorageTypes.push_back(value);
452 return *this;
453 }
455
457
461 inline const TotalLocalStorageGBRequest& GetTotalLocalStorageGB() const { return m_totalLocalStorageGB; }
462 inline bool TotalLocalStorageGBHasBeenSet() const { return m_totalLocalStorageGBHasBeenSet; }
463 template <typename TotalLocalStorageGBT = TotalLocalStorageGBRequest>
464 void SetTotalLocalStorageGB(TotalLocalStorageGBT&& value) {
465 m_totalLocalStorageGBHasBeenSet = true;
466 m_totalLocalStorageGB = std::forward<TotalLocalStorageGBT>(value);
467 }
468 template <typename TotalLocalStorageGBT = TotalLocalStorageGBRequest>
469 InstanceRequirements& WithTotalLocalStorageGB(TotalLocalStorageGBT&& value) {
470 SetTotalLocalStorageGB(std::forward<TotalLocalStorageGBT>(value));
471 return *this;
472 }
474
476
483 inline const BaselineEbsBandwidthMbpsRequest& GetBaselineEbsBandwidthMbps() const { return m_baselineEbsBandwidthMbps; }
484 inline bool BaselineEbsBandwidthMbpsHasBeenSet() const { return m_baselineEbsBandwidthMbpsHasBeenSet; }
485 template <typename BaselineEbsBandwidthMbpsT = BaselineEbsBandwidthMbpsRequest>
486 void SetBaselineEbsBandwidthMbps(BaselineEbsBandwidthMbpsT&& value) {
487 m_baselineEbsBandwidthMbpsHasBeenSet = true;
488 m_baselineEbsBandwidthMbps = std::forward<BaselineEbsBandwidthMbpsT>(value);
489 }
490 template <typename BaselineEbsBandwidthMbpsT = BaselineEbsBandwidthMbpsRequest>
491 InstanceRequirements& WithBaselineEbsBandwidthMbps(BaselineEbsBandwidthMbpsT&& value) {
492 SetBaselineEbsBandwidthMbps(std::forward<BaselineEbsBandwidthMbpsT>(value));
493 return *this;
494 }
496
498
506 inline const Aws::Vector<AcceleratorType>& GetAcceleratorTypes() const { return m_acceleratorTypes; }
507 inline bool AcceleratorTypesHasBeenSet() const { return m_acceleratorTypesHasBeenSet; }
508 template <typename AcceleratorTypesT = Aws::Vector<AcceleratorType>>
509 void SetAcceleratorTypes(AcceleratorTypesT&& value) {
510 m_acceleratorTypesHasBeenSet = true;
511 m_acceleratorTypes = std::forward<AcceleratorTypesT>(value);
512 }
513 template <typename AcceleratorTypesT = Aws::Vector<AcceleratorType>>
514 InstanceRequirements& WithAcceleratorTypes(AcceleratorTypesT&& value) {
515 SetAcceleratorTypes(std::forward<AcceleratorTypesT>(value));
516 return *this;
517 }
519 m_acceleratorTypesHasBeenSet = true;
520 m_acceleratorTypes.push_back(value);
521 return *this;
522 }
524
526
532 inline const AcceleratorCountRequest& GetAcceleratorCount() const { return m_acceleratorCount; }
533 inline bool AcceleratorCountHasBeenSet() const { return m_acceleratorCountHasBeenSet; }
534 template <typename AcceleratorCountT = AcceleratorCountRequest>
535 void SetAcceleratorCount(AcceleratorCountT&& value) {
536 m_acceleratorCountHasBeenSet = true;
537 m_acceleratorCount = std::forward<AcceleratorCountT>(value);
538 }
539 template <typename AcceleratorCountT = AcceleratorCountRequest>
540 InstanceRequirements& WithAcceleratorCount(AcceleratorCountT&& value) {
541 SetAcceleratorCount(std::forward<AcceleratorCountT>(value));
542 return *this;
543 }
545
547
556 inline const Aws::Vector<AcceleratorManufacturer>& GetAcceleratorManufacturers() const { return m_acceleratorManufacturers; }
557 inline bool AcceleratorManufacturersHasBeenSet() const { return m_acceleratorManufacturersHasBeenSet; }
558 template <typename AcceleratorManufacturersT = Aws::Vector<AcceleratorManufacturer>>
559 void SetAcceleratorManufacturers(AcceleratorManufacturersT&& value) {
560 m_acceleratorManufacturersHasBeenSet = true;
561 m_acceleratorManufacturers = std::forward<AcceleratorManufacturersT>(value);
562 }
563 template <typename AcceleratorManufacturersT = Aws::Vector<AcceleratorManufacturer>>
564 InstanceRequirements& WithAcceleratorManufacturers(AcceleratorManufacturersT&& value) {
565 SetAcceleratorManufacturers(std::forward<AcceleratorManufacturersT>(value));
566 return *this;
567 }
569 m_acceleratorManufacturersHasBeenSet = true;
570 m_acceleratorManufacturers.push_back(value);
571 return *this;
572 }
574
576
588 inline const Aws::Vector<AcceleratorName>& GetAcceleratorNames() const { return m_acceleratorNames; }
589 inline bool AcceleratorNamesHasBeenSet() const { return m_acceleratorNamesHasBeenSet; }
590 template <typename AcceleratorNamesT = Aws::Vector<AcceleratorName>>
591 void SetAcceleratorNames(AcceleratorNamesT&& value) {
592 m_acceleratorNamesHasBeenSet = true;
593 m_acceleratorNames = std::forward<AcceleratorNamesT>(value);
594 }
595 template <typename AcceleratorNamesT = Aws::Vector<AcceleratorName>>
596 InstanceRequirements& WithAcceleratorNames(AcceleratorNamesT&& value) {
597 SetAcceleratorNames(std::forward<AcceleratorNamesT>(value));
598 return *this;
599 }
601 m_acceleratorNamesHasBeenSet = true;
602 m_acceleratorNames.push_back(value);
603 return *this;
604 }
606
608
612 inline const AcceleratorTotalMemoryMiBRequest& GetAcceleratorTotalMemoryMiB() const { return m_acceleratorTotalMemoryMiB; }
613 inline bool AcceleratorTotalMemoryMiBHasBeenSet() const { return m_acceleratorTotalMemoryMiBHasBeenSet; }
614 template <typename AcceleratorTotalMemoryMiBT = AcceleratorTotalMemoryMiBRequest>
615 void SetAcceleratorTotalMemoryMiB(AcceleratorTotalMemoryMiBT&& value) {
616 m_acceleratorTotalMemoryMiBHasBeenSet = true;
617 m_acceleratorTotalMemoryMiB = std::forward<AcceleratorTotalMemoryMiBT>(value);
618 }
619 template <typename AcceleratorTotalMemoryMiBT = AcceleratorTotalMemoryMiBRequest>
620 InstanceRequirements& WithAcceleratorTotalMemoryMiB(AcceleratorTotalMemoryMiBT&& value) {
621 SetAcceleratorTotalMemoryMiB(std::forward<AcceleratorTotalMemoryMiBT>(value));
622 return *this;
623 }
625
627
631 inline const NetworkBandwidthGbpsRequest& GetNetworkBandwidthGbps() const { return m_networkBandwidthGbps; }
632 inline bool NetworkBandwidthGbpsHasBeenSet() const { return m_networkBandwidthGbpsHasBeenSet; }
633 template <typename NetworkBandwidthGbpsT = NetworkBandwidthGbpsRequest>
634 void SetNetworkBandwidthGbps(NetworkBandwidthGbpsT&& value) {
635 m_networkBandwidthGbpsHasBeenSet = true;
636 m_networkBandwidthGbps = std::forward<NetworkBandwidthGbpsT>(value);
637 }
638 template <typename NetworkBandwidthGbpsT = NetworkBandwidthGbpsRequest>
639 InstanceRequirements& WithNetworkBandwidthGbps(NetworkBandwidthGbpsT&& value) {
640 SetNetworkBandwidthGbps(std::forward<NetworkBandwidthGbpsT>(value));
641 return *this;
642 }
644
646
661 inline const Aws::Vector<Aws::String>& GetAllowedInstanceTypes() const { return m_allowedInstanceTypes; }
662 inline bool AllowedInstanceTypesHasBeenSet() const { return m_allowedInstanceTypesHasBeenSet; }
663 template <typename AllowedInstanceTypesT = Aws::Vector<Aws::String>>
664 void SetAllowedInstanceTypes(AllowedInstanceTypesT&& value) {
665 m_allowedInstanceTypesHasBeenSet = true;
666 m_allowedInstanceTypes = std::forward<AllowedInstanceTypesT>(value);
667 }
668 template <typename AllowedInstanceTypesT = Aws::Vector<Aws::String>>
669 InstanceRequirements& WithAllowedInstanceTypes(AllowedInstanceTypesT&& value) {
670 SetAllowedInstanceTypes(std::forward<AllowedInstanceTypesT>(value));
671 return *this;
672 }
673 template <typename AllowedInstanceTypesT = Aws::String>
674 InstanceRequirements& AddAllowedInstanceTypes(AllowedInstanceTypesT&& value) {
675 m_allowedInstanceTypesHasBeenSet = true;
676 m_allowedInstanceTypes.emplace_back(std::forward<AllowedInstanceTypesT>(value));
677 return *this;
678 }
680
682
685 inline const BaselinePerformanceFactorsRequest& GetBaselinePerformanceFactors() const { return m_baselinePerformanceFactors; }
686 inline bool BaselinePerformanceFactorsHasBeenSet() const { return m_baselinePerformanceFactorsHasBeenSet; }
687 template <typename BaselinePerformanceFactorsT = BaselinePerformanceFactorsRequest>
688 void SetBaselinePerformanceFactors(BaselinePerformanceFactorsT&& value) {
689 m_baselinePerformanceFactorsHasBeenSet = true;
690 m_baselinePerformanceFactors = std::forward<BaselinePerformanceFactorsT>(value);
691 }
692 template <typename BaselinePerformanceFactorsT = BaselinePerformanceFactorsRequest>
693 InstanceRequirements& WithBaselinePerformanceFactors(BaselinePerformanceFactorsT&& value) {
694 SetBaselinePerformanceFactors(std::forward<BaselinePerformanceFactorsT>(value));
695 return *this;
696 }
698 private:
699 VCpuCountRequest m_vCpuCount;
700
701 MemoryMiBRequest m_memoryMiB;
702
703 Aws::Vector<CpuManufacturer> m_cpuManufacturers;
704
705 MemoryGiBPerVCpuRequest m_memoryGiBPerVCpu;
706
707 Aws::Vector<Aws::String> m_excludedInstanceTypes;
708
709 Aws::Vector<InstanceGeneration> m_instanceGenerations;
710
711 int m_spotMaxPricePercentageOverLowestPrice{0};
712
713 int m_maxSpotPriceAsPercentageOfOptimalOnDemandPrice{0};
714
715 int m_onDemandMaxPricePercentageOverLowestPrice{0};
716
717 BareMetal m_bareMetal{BareMetal::NOT_SET};
718
720
721 bool m_requireHibernateSupport{false};
722
723 NetworkInterfaceCountRequest m_networkInterfaceCount;
724
725 LocalStorage m_localStorage{LocalStorage::NOT_SET};
726
727 Aws::Vector<LocalStorageType> m_localStorageTypes;
728
729 TotalLocalStorageGBRequest m_totalLocalStorageGB;
730
731 BaselineEbsBandwidthMbpsRequest m_baselineEbsBandwidthMbps;
732
733 Aws::Vector<AcceleratorType> m_acceleratorTypes;
734
735 AcceleratorCountRequest m_acceleratorCount;
736
737 Aws::Vector<AcceleratorManufacturer> m_acceleratorManufacturers;
738
739 Aws::Vector<AcceleratorName> m_acceleratorNames;
740
741 AcceleratorTotalMemoryMiBRequest m_acceleratorTotalMemoryMiB;
742
743 NetworkBandwidthGbpsRequest m_networkBandwidthGbps;
744
745 Aws::Vector<Aws::String> m_allowedInstanceTypes;
746
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;
773};
774
775} // namespace Model
776} // namespace AutoScaling
777} // namespace Aws
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)
const TotalLocalStorageGBRequest & GetTotalLocalStorageGB() const
InstanceRequirements & WithMaxSpotPriceAsPercentageOfOptimalOnDemandPrice(int value)
AWS_AUTOSCALING_API InstanceRequirements()=default
InstanceRequirements & AddCpuManufacturers(CpuManufacturer value)
InstanceRequirements & WithExcludedInstanceTypes(ExcludedInstanceTypesT &&value)
InstanceRequirements & WithInstanceGenerations(InstanceGenerationsT &&value)
void SetAcceleratorCount(AcceleratorCountT &&value)
void SetNetworkBandwidthGbps(NetworkBandwidthGbpsT &&value)
InstanceRequirements & WithAllowedInstanceTypes(AllowedInstanceTypesT &&value)
const Aws::Vector< AcceleratorName > & GetAcceleratorNames() const
void SetBurstablePerformance(BurstablePerformance value)
const MemoryGiBPerVCpuRequest & GetMemoryGiBPerVCpu() const
InstanceRequirements & WithLocalStorageTypes(LocalStorageTypesT &&value)
InstanceRequirements & AddAllowedInstanceTypes(AllowedInstanceTypesT &&value)
InstanceRequirements & WithMemoryGiBPerVCpu(MemoryGiBPerVCpuT &&value)
const BaselineEbsBandwidthMbpsRequest & GetBaselineEbsBandwidthMbps() const
InstanceRequirements & WithVCpuCount(VCpuCountT &&value)
InstanceRequirements & AddExcludedInstanceTypes(ExcludedInstanceTypesT &&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
const BaselinePerformanceFactorsRequest & GetBaselinePerformanceFactors() const
InstanceRequirements & WithAcceleratorCount(AcceleratorCountT &&value)
InstanceRequirements & WithBaselinePerformanceFactors(BaselinePerformanceFactorsT &&value)
void SetAcceleratorTypes(AcceleratorTypesT &&value)
void SetBaselinePerformanceFactors(BaselinePerformanceFactorsT &&value)
InstanceRequirements & WithTotalLocalStorageGB(TotalLocalStorageGBT &&value)
const Aws::Vector< AcceleratorManufacturer > & GetAcceleratorManufacturers() const
const AcceleratorTotalMemoryMiBRequest & GetAcceleratorTotalMemoryMiB() const
void SetNetworkInterfaceCount(NetworkInterfaceCountT &&value)
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)
InstanceRequirements & WithAcceleratorManufacturers(AcceleratorManufacturersT &&value)
void SetAcceleratorTotalMemoryMiB(AcceleratorTotalMemoryMiBT &&value)
void SetAllowedInstanceTypes(AllowedInstanceTypesT &&value)
InstanceRequirements & WithNetworkBandwidthGbps(NetworkBandwidthGbpsT &&value)
AWS_AUTOSCALING_API void OutputToStream(Aws::OStream &oStream, const char *location) const
InstanceRequirements & WithBaselineEbsBandwidthMbps(BaselineEbsBandwidthMbpsT &&value)
void SetBaselineEbsBandwidthMbps(BaselineEbsBandwidthMbpsT &&value)
InstanceRequirements & WithOnDemandMaxPricePercentageOverLowestPrice(int value)
void SetCpuManufacturers(CpuManufacturersT &&value)
void SetInstanceGenerations(InstanceGenerationsT &&value)
InstanceRequirements & WithRequireHibernateSupport(bool value)
InstanceRequirements & WithBareMetal(BareMetal value)
const AcceleratorCountRequest & GetAcceleratorCount() const
const Aws::Vector< InstanceGeneration > & GetInstanceGenerations() const
InstanceRequirements & AddAcceleratorManufacturers(AcceleratorManufacturer value)
InstanceRequirements & WithSpotMaxPricePercentageOverLowestPrice(int value)
InstanceRequirements & WithMemoryMiB(MemoryMiBT &&value)
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
InstanceRequirements & WithLocalStorage(LocalStorage value)
std::vector< T, Aws::Allocator< T > > Vector
std::basic_ostream< char, std::char_traits< char > > OStream