AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
InstanceRequirements.h
1
6#pragma once
7#include <aws/autoscaling/AutoScaling_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
9#include <aws/autoscaling/model/VCpuCountRequest.h>
10#include <aws/autoscaling/model/MemoryMiBRequest.h>
11#include <aws/core/utils/memory/stl/AWSVector.h>
12#include <aws/autoscaling/model/MemoryGiBPerVCpuRequest.h>
13#include <aws/autoscaling/model/BareMetal.h>
14#include <aws/autoscaling/model/BurstablePerformance.h>
15#include <aws/autoscaling/model/NetworkInterfaceCountRequest.h>
16#include <aws/autoscaling/model/LocalStorage.h>
17#include <aws/autoscaling/model/TotalLocalStorageGBRequest.h>
18#include <aws/autoscaling/model/BaselineEbsBandwidthMbpsRequest.h>
19#include <aws/autoscaling/model/AcceleratorCountRequest.h>
20#include <aws/autoscaling/model/AcceleratorTotalMemoryMiBRequest.h>
21#include <aws/autoscaling/model/NetworkBandwidthGbpsRequest.h>
22#include <aws/autoscaling/model/BaselinePerformanceFactorsRequest.h>
23#include <aws/autoscaling/model/CpuManufacturer.h>
24#include <aws/core/utils/memory/stl/AWSString.h>
25#include <aws/autoscaling/model/InstanceGeneration.h>
26#include <aws/autoscaling/model/LocalStorageType.h>
27#include <aws/autoscaling/model/AcceleratorType.h>
28#include <aws/autoscaling/model/AcceleratorManufacturer.h>
29#include <aws/autoscaling/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 AutoScaling
42{
43namespace Model
44{
45
76 {
77 public:
78 AWS_AUTOSCALING_API InstanceRequirements() = default;
79 AWS_AUTOSCALING_API InstanceRequirements(const Aws::Utils::Xml::XmlNode& xmlNode);
80 AWS_AUTOSCALING_API InstanceRequirements& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
81
82 AWS_AUTOSCALING_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
83 AWS_AUTOSCALING_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
84
85
87
90 inline const VCpuCountRequest& GetVCpuCount() const { return m_vCpuCount; }
91 inline bool VCpuCountHasBeenSet() const { return m_vCpuCountHasBeenSet; }
92 template<typename VCpuCountT = VCpuCountRequest>
93 void SetVCpuCount(VCpuCountT&& value) { m_vCpuCountHasBeenSet = true; m_vCpuCount = std::forward<VCpuCountT>(value); }
94 template<typename VCpuCountT = VCpuCountRequest>
95 InstanceRequirements& WithVCpuCount(VCpuCountT&& value) { SetVCpuCount(std::forward<VCpuCountT>(value)); return *this;}
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) { m_memoryMiBHasBeenSet = true; m_memoryMiB = std::forward<MemoryMiBT>(value); }
107 template<typename MemoryMiBT = MemoryMiBRequest>
108 InstanceRequirements& WithMemoryMiB(MemoryMiBT&& value) { SetMemoryMiB(std::forward<MemoryMiBT>(value)); return *this;}
110
112
124 inline const Aws::Vector<CpuManufacturer>& GetCpuManufacturers() const { return m_cpuManufacturers; }
125 inline bool CpuManufacturersHasBeenSet() const { return m_cpuManufacturersHasBeenSet; }
126 template<typename CpuManufacturersT = Aws::Vector<CpuManufacturer>>
127 void SetCpuManufacturers(CpuManufacturersT&& value) { m_cpuManufacturersHasBeenSet = true; m_cpuManufacturers = std::forward<CpuManufacturersT>(value); }
128 template<typename CpuManufacturersT = Aws::Vector<CpuManufacturer>>
129 InstanceRequirements& WithCpuManufacturers(CpuManufacturersT&& value) { SetCpuManufacturers(std::forward<CpuManufacturersT>(value)); return *this;}
130 inline InstanceRequirements& AddCpuManufacturers(CpuManufacturer value) { m_cpuManufacturersHasBeenSet = true; m_cpuManufacturers.push_back(value); return *this; }
132
134
138 inline const MemoryGiBPerVCpuRequest& GetMemoryGiBPerVCpu() const { return m_memoryGiBPerVCpu; }
139 inline bool MemoryGiBPerVCpuHasBeenSet() const { return m_memoryGiBPerVCpuHasBeenSet; }
140 template<typename MemoryGiBPerVCpuT = MemoryGiBPerVCpuRequest>
141 void SetMemoryGiBPerVCpu(MemoryGiBPerVCpuT&& value) { m_memoryGiBPerVCpuHasBeenSet = true; m_memoryGiBPerVCpu = std::forward<MemoryGiBPerVCpuT>(value); }
142 template<typename MemoryGiBPerVCpuT = MemoryGiBPerVCpuRequest>
143 InstanceRequirements& WithMemoryGiBPerVCpu(MemoryGiBPerVCpuT&& value) { SetMemoryGiBPerVCpu(std::forward<MemoryGiBPerVCpuT>(value)); return *this;}
145
147
160 inline const Aws::Vector<Aws::String>& GetExcludedInstanceTypes() const { return m_excludedInstanceTypes; }
161 inline bool ExcludedInstanceTypesHasBeenSet() const { return m_excludedInstanceTypesHasBeenSet; }
162 template<typename ExcludedInstanceTypesT = Aws::Vector<Aws::String>>
163 void SetExcludedInstanceTypes(ExcludedInstanceTypesT&& value) { m_excludedInstanceTypesHasBeenSet = true; m_excludedInstanceTypes = std::forward<ExcludedInstanceTypesT>(value); }
164 template<typename ExcludedInstanceTypesT = Aws::Vector<Aws::String>>
165 InstanceRequirements& WithExcludedInstanceTypes(ExcludedInstanceTypesT&& value) { SetExcludedInstanceTypes(std::forward<ExcludedInstanceTypesT>(value)); return *this;}
166 template<typename ExcludedInstanceTypesT = Aws::String>
167 InstanceRequirements& AddExcludedInstanceTypes(ExcludedInstanceTypesT&& value) { m_excludedInstanceTypesHasBeenSet = true; m_excludedInstanceTypes.emplace_back(std::forward<ExcludedInstanceTypesT>(value)); return *this; }
169
171
182 inline const Aws::Vector<InstanceGeneration>& GetInstanceGenerations() const { return m_instanceGenerations; }
183 inline bool InstanceGenerationsHasBeenSet() const { return m_instanceGenerationsHasBeenSet; }
184 template<typename InstanceGenerationsT = Aws::Vector<InstanceGeneration>>
185 void SetInstanceGenerations(InstanceGenerationsT&& value) { m_instanceGenerationsHasBeenSet = true; m_instanceGenerations = std::forward<InstanceGenerationsT>(value); }
186 template<typename InstanceGenerationsT = Aws::Vector<InstanceGeneration>>
187 InstanceRequirements& WithInstanceGenerations(InstanceGenerationsT&& value) { SetInstanceGenerations(std::forward<InstanceGenerationsT>(value)); return *this;}
188 inline InstanceRequirements& AddInstanceGenerations(InstanceGeneration value) { m_instanceGenerationsHasBeenSet = true; m_instanceGenerations.push_back(value); return *this; }
190
192
215 inline int GetSpotMaxPricePercentageOverLowestPrice() const { return m_spotMaxPricePercentageOverLowestPrice; }
216 inline bool SpotMaxPricePercentageOverLowestPriceHasBeenSet() const { return m_spotMaxPricePercentageOverLowestPriceHasBeenSet; }
217 inline void SetSpotMaxPricePercentageOverLowestPrice(int value) { m_spotMaxPricePercentageOverLowestPriceHasBeenSet = true; m_spotMaxPricePercentageOverLowestPrice = value; }
220
222
245 inline int GetMaxSpotPriceAsPercentageOfOptimalOnDemandPrice() const { return m_maxSpotPriceAsPercentageOfOptimalOnDemandPrice; }
246 inline bool MaxSpotPriceAsPercentageOfOptimalOnDemandPriceHasBeenSet() const { return m_maxSpotPriceAsPercentageOfOptimalOnDemandPriceHasBeenSet; }
247 inline void SetMaxSpotPriceAsPercentageOfOptimalOnDemandPrice(int value) { m_maxSpotPriceAsPercentageOfOptimalOnDemandPriceHasBeenSet = true; m_maxSpotPriceAsPercentageOfOptimalOnDemandPrice = value; }
250
252
269 inline int GetOnDemandMaxPricePercentageOverLowestPrice() const { return m_onDemandMaxPricePercentageOverLowestPrice; }
270 inline bool OnDemandMaxPricePercentageOverLowestPriceHasBeenSet() const { return m_onDemandMaxPricePercentageOverLowestPriceHasBeenSet; }
271 inline void SetOnDemandMaxPricePercentageOverLowestPrice(int value) { m_onDemandMaxPricePercentageOverLowestPriceHasBeenSet = true; m_onDemandMaxPricePercentageOverLowestPrice = value; }
274
276
280 inline BareMetal GetBareMetal() const { return m_bareMetal; }
281 inline bool BareMetalHasBeenSet() const { return m_bareMetalHasBeenSet; }
282 inline void SetBareMetal(BareMetal value) { m_bareMetalHasBeenSet = true; m_bareMetal = value; }
283 inline InstanceRequirements& WithBareMetal(BareMetal value) { SetBareMetal(value); return *this;}
285
287
294 inline BurstablePerformance GetBurstablePerformance() const { return m_burstablePerformance; }
295 inline bool BurstablePerformanceHasBeenSet() const { return m_burstablePerformanceHasBeenSet; }
296 inline void SetBurstablePerformance(BurstablePerformance value) { m_burstablePerformanceHasBeenSet = true; m_burstablePerformance = value; }
299
301
305 inline bool GetRequireHibernateSupport() const { return m_requireHibernateSupport; }
306 inline bool RequireHibernateSupportHasBeenSet() const { return m_requireHibernateSupportHasBeenSet; }
307 inline void SetRequireHibernateSupport(bool value) { m_requireHibernateSupportHasBeenSet = true; m_requireHibernateSupport = value; }
310
312
316 inline const NetworkInterfaceCountRequest& GetNetworkInterfaceCount() const { return m_networkInterfaceCount; }
317 inline bool NetworkInterfaceCountHasBeenSet() const { return m_networkInterfaceCountHasBeenSet; }
318 template<typename NetworkInterfaceCountT = NetworkInterfaceCountRequest>
319 void SetNetworkInterfaceCount(NetworkInterfaceCountT&& value) { m_networkInterfaceCountHasBeenSet = true; m_networkInterfaceCount = std::forward<NetworkInterfaceCountT>(value); }
320 template<typename NetworkInterfaceCountT = NetworkInterfaceCountRequest>
321 InstanceRequirements& WithNetworkInterfaceCount(NetworkInterfaceCountT&& value) { SetNetworkInterfaceCount(std::forward<NetworkInterfaceCountT>(value)); return *this;}
323
325
332 inline LocalStorage GetLocalStorage() const { return m_localStorage; }
333 inline bool LocalStorageHasBeenSet() const { return m_localStorageHasBeenSet; }
334 inline void SetLocalStorage(LocalStorage value) { m_localStorageHasBeenSet = true; m_localStorage = value; }
337
339
345 inline const Aws::Vector<LocalStorageType>& GetLocalStorageTypes() const { return m_localStorageTypes; }
346 inline bool LocalStorageTypesHasBeenSet() const { return m_localStorageTypesHasBeenSet; }
347 template<typename LocalStorageTypesT = Aws::Vector<LocalStorageType>>
348 void SetLocalStorageTypes(LocalStorageTypesT&& value) { m_localStorageTypesHasBeenSet = true; m_localStorageTypes = std::forward<LocalStorageTypesT>(value); }
349 template<typename LocalStorageTypesT = Aws::Vector<LocalStorageType>>
350 InstanceRequirements& WithLocalStorageTypes(LocalStorageTypesT&& value) { SetLocalStorageTypes(std::forward<LocalStorageTypesT>(value)); return *this;}
351 inline InstanceRequirements& AddLocalStorageTypes(LocalStorageType value) { m_localStorageTypesHasBeenSet = true; m_localStorageTypes.push_back(value); return *this; }
353
355
359 inline const TotalLocalStorageGBRequest& GetTotalLocalStorageGB() const { return m_totalLocalStorageGB; }
360 inline bool TotalLocalStorageGBHasBeenSet() const { return m_totalLocalStorageGBHasBeenSet; }
361 template<typename TotalLocalStorageGBT = TotalLocalStorageGBRequest>
362 void SetTotalLocalStorageGB(TotalLocalStorageGBT&& value) { m_totalLocalStorageGBHasBeenSet = true; m_totalLocalStorageGB = std::forward<TotalLocalStorageGBT>(value); }
363 template<typename TotalLocalStorageGBT = TotalLocalStorageGBRequest>
364 InstanceRequirements& WithTotalLocalStorageGB(TotalLocalStorageGBT&& value) { SetTotalLocalStorageGB(std::forward<TotalLocalStorageGBT>(value)); return *this;}
366
368
375 inline const BaselineEbsBandwidthMbpsRequest& GetBaselineEbsBandwidthMbps() const { return m_baselineEbsBandwidthMbps; }
376 inline bool BaselineEbsBandwidthMbpsHasBeenSet() const { return m_baselineEbsBandwidthMbpsHasBeenSet; }
377 template<typename BaselineEbsBandwidthMbpsT = BaselineEbsBandwidthMbpsRequest>
378 void SetBaselineEbsBandwidthMbps(BaselineEbsBandwidthMbpsT&& value) { m_baselineEbsBandwidthMbpsHasBeenSet = true; m_baselineEbsBandwidthMbps = std::forward<BaselineEbsBandwidthMbpsT>(value); }
379 template<typename BaselineEbsBandwidthMbpsT = BaselineEbsBandwidthMbpsRequest>
380 InstanceRequirements& WithBaselineEbsBandwidthMbps(BaselineEbsBandwidthMbpsT&& value) { SetBaselineEbsBandwidthMbps(std::forward<BaselineEbsBandwidthMbpsT>(value)); return *this;}
382
384
392 inline const Aws::Vector<AcceleratorType>& GetAcceleratorTypes() const { return m_acceleratorTypes; }
393 inline bool AcceleratorTypesHasBeenSet() const { return m_acceleratorTypesHasBeenSet; }
394 template<typename AcceleratorTypesT = Aws::Vector<AcceleratorType>>
395 void SetAcceleratorTypes(AcceleratorTypesT&& value) { m_acceleratorTypesHasBeenSet = true; m_acceleratorTypes = std::forward<AcceleratorTypesT>(value); }
396 template<typename AcceleratorTypesT = Aws::Vector<AcceleratorType>>
397 InstanceRequirements& WithAcceleratorTypes(AcceleratorTypesT&& value) { SetAcceleratorTypes(std::forward<AcceleratorTypesT>(value)); return *this;}
398 inline InstanceRequirements& AddAcceleratorTypes(AcceleratorType value) { m_acceleratorTypesHasBeenSet = true; m_acceleratorTypes.push_back(value); return *this; }
400
402
408 inline const AcceleratorCountRequest& GetAcceleratorCount() const { return m_acceleratorCount; }
409 inline bool AcceleratorCountHasBeenSet() const { return m_acceleratorCountHasBeenSet; }
410 template<typename AcceleratorCountT = AcceleratorCountRequest>
411 void SetAcceleratorCount(AcceleratorCountT&& value) { m_acceleratorCountHasBeenSet = true; m_acceleratorCount = std::forward<AcceleratorCountT>(value); }
412 template<typename AcceleratorCountT = AcceleratorCountRequest>
413 InstanceRequirements& WithAcceleratorCount(AcceleratorCountT&& value) { SetAcceleratorCount(std::forward<AcceleratorCountT>(value)); return *this;}
415
417
426 inline const Aws::Vector<AcceleratorManufacturer>& GetAcceleratorManufacturers() const { return m_acceleratorManufacturers; }
427 inline bool AcceleratorManufacturersHasBeenSet() const { return m_acceleratorManufacturersHasBeenSet; }
428 template<typename AcceleratorManufacturersT = Aws::Vector<AcceleratorManufacturer>>
429 void SetAcceleratorManufacturers(AcceleratorManufacturersT&& value) { m_acceleratorManufacturersHasBeenSet = true; m_acceleratorManufacturers = std::forward<AcceleratorManufacturersT>(value); }
430 template<typename AcceleratorManufacturersT = Aws::Vector<AcceleratorManufacturer>>
431 InstanceRequirements& WithAcceleratorManufacturers(AcceleratorManufacturersT&& value) { SetAcceleratorManufacturers(std::forward<AcceleratorManufacturersT>(value)); return *this;}
432 inline InstanceRequirements& AddAcceleratorManufacturers(AcceleratorManufacturer value) { m_acceleratorManufacturersHasBeenSet = true; m_acceleratorManufacturers.push_back(value); return *this; }
434
436
448 inline const Aws::Vector<AcceleratorName>& GetAcceleratorNames() const { return m_acceleratorNames; }
449 inline bool AcceleratorNamesHasBeenSet() const { return m_acceleratorNamesHasBeenSet; }
450 template<typename AcceleratorNamesT = Aws::Vector<AcceleratorName>>
451 void SetAcceleratorNames(AcceleratorNamesT&& value) { m_acceleratorNamesHasBeenSet = true; m_acceleratorNames = std::forward<AcceleratorNamesT>(value); }
452 template<typename AcceleratorNamesT = Aws::Vector<AcceleratorName>>
453 InstanceRequirements& WithAcceleratorNames(AcceleratorNamesT&& value) { SetAcceleratorNames(std::forward<AcceleratorNamesT>(value)); return *this;}
454 inline InstanceRequirements& AddAcceleratorNames(AcceleratorName value) { m_acceleratorNamesHasBeenSet = true; m_acceleratorNames.push_back(value); return *this; }
456
458
462 inline const AcceleratorTotalMemoryMiBRequest& GetAcceleratorTotalMemoryMiB() const { return m_acceleratorTotalMemoryMiB; }
463 inline bool AcceleratorTotalMemoryMiBHasBeenSet() const { return m_acceleratorTotalMemoryMiBHasBeenSet; }
464 template<typename AcceleratorTotalMemoryMiBT = AcceleratorTotalMemoryMiBRequest>
465 void SetAcceleratorTotalMemoryMiB(AcceleratorTotalMemoryMiBT&& value) { m_acceleratorTotalMemoryMiBHasBeenSet = true; m_acceleratorTotalMemoryMiB = std::forward<AcceleratorTotalMemoryMiBT>(value); }
466 template<typename AcceleratorTotalMemoryMiBT = AcceleratorTotalMemoryMiBRequest>
467 InstanceRequirements& WithAcceleratorTotalMemoryMiB(AcceleratorTotalMemoryMiBT&& value) { SetAcceleratorTotalMemoryMiB(std::forward<AcceleratorTotalMemoryMiBT>(value)); return *this;}
469
471
475 inline const NetworkBandwidthGbpsRequest& GetNetworkBandwidthGbps() const { return m_networkBandwidthGbps; }
476 inline bool NetworkBandwidthGbpsHasBeenSet() const { return m_networkBandwidthGbpsHasBeenSet; }
477 template<typename NetworkBandwidthGbpsT = NetworkBandwidthGbpsRequest>
478 void SetNetworkBandwidthGbps(NetworkBandwidthGbpsT&& value) { m_networkBandwidthGbpsHasBeenSet = true; m_networkBandwidthGbps = std::forward<NetworkBandwidthGbpsT>(value); }
479 template<typename NetworkBandwidthGbpsT = NetworkBandwidthGbpsRequest>
480 InstanceRequirements& WithNetworkBandwidthGbps(NetworkBandwidthGbpsT&& value) { SetNetworkBandwidthGbps(std::forward<NetworkBandwidthGbpsT>(value)); return *this;}
482
484
499 inline const Aws::Vector<Aws::String>& GetAllowedInstanceTypes() const { return m_allowedInstanceTypes; }
500 inline bool AllowedInstanceTypesHasBeenSet() const { return m_allowedInstanceTypesHasBeenSet; }
501 template<typename AllowedInstanceTypesT = Aws::Vector<Aws::String>>
502 void SetAllowedInstanceTypes(AllowedInstanceTypesT&& value) { m_allowedInstanceTypesHasBeenSet = true; m_allowedInstanceTypes = std::forward<AllowedInstanceTypesT>(value); }
503 template<typename AllowedInstanceTypesT = Aws::Vector<Aws::String>>
504 InstanceRequirements& WithAllowedInstanceTypes(AllowedInstanceTypesT&& value) { SetAllowedInstanceTypes(std::forward<AllowedInstanceTypesT>(value)); return *this;}
505 template<typename AllowedInstanceTypesT = Aws::String>
506 InstanceRequirements& AddAllowedInstanceTypes(AllowedInstanceTypesT&& value) { m_allowedInstanceTypesHasBeenSet = true; m_allowedInstanceTypes.emplace_back(std::forward<AllowedInstanceTypesT>(value)); return *this; }
508
510
513 inline const BaselinePerformanceFactorsRequest& GetBaselinePerformanceFactors() const { return m_baselinePerformanceFactors; }
514 inline bool BaselinePerformanceFactorsHasBeenSet() const { return m_baselinePerformanceFactorsHasBeenSet; }
515 template<typename BaselinePerformanceFactorsT = BaselinePerformanceFactorsRequest>
516 void SetBaselinePerformanceFactors(BaselinePerformanceFactorsT&& value) { m_baselinePerformanceFactorsHasBeenSet = true; m_baselinePerformanceFactors = std::forward<BaselinePerformanceFactorsT>(value); }
517 template<typename BaselinePerformanceFactorsT = BaselinePerformanceFactorsRequest>
518 InstanceRequirements& WithBaselinePerformanceFactors(BaselinePerformanceFactorsT&& value) { SetBaselinePerformanceFactors(std::forward<BaselinePerformanceFactorsT>(value)); return *this;}
520 private:
521
522 VCpuCountRequest m_vCpuCount;
523 bool m_vCpuCountHasBeenSet = false;
524
525 MemoryMiBRequest m_memoryMiB;
526 bool m_memoryMiBHasBeenSet = false;
527
528 Aws::Vector<CpuManufacturer> m_cpuManufacturers;
529 bool m_cpuManufacturersHasBeenSet = false;
530
531 MemoryGiBPerVCpuRequest m_memoryGiBPerVCpu;
532 bool m_memoryGiBPerVCpuHasBeenSet = false;
533
534 Aws::Vector<Aws::String> m_excludedInstanceTypes;
535 bool m_excludedInstanceTypesHasBeenSet = false;
536
537 Aws::Vector<InstanceGeneration> m_instanceGenerations;
538 bool m_instanceGenerationsHasBeenSet = false;
539
540 int m_spotMaxPricePercentageOverLowestPrice{0};
541 bool m_spotMaxPricePercentageOverLowestPriceHasBeenSet = false;
542
543 int m_maxSpotPriceAsPercentageOfOptimalOnDemandPrice{0};
544 bool m_maxSpotPriceAsPercentageOfOptimalOnDemandPriceHasBeenSet = false;
545
546 int m_onDemandMaxPricePercentageOverLowestPrice{0};
547 bool m_onDemandMaxPricePercentageOverLowestPriceHasBeenSet = false;
548
549 BareMetal m_bareMetal{BareMetal::NOT_SET};
550 bool m_bareMetalHasBeenSet = false;
551
553 bool m_burstablePerformanceHasBeenSet = false;
554
555 bool m_requireHibernateSupport{false};
556 bool m_requireHibernateSupportHasBeenSet = false;
557
558 NetworkInterfaceCountRequest m_networkInterfaceCount;
559 bool m_networkInterfaceCountHasBeenSet = false;
560
561 LocalStorage m_localStorage{LocalStorage::NOT_SET};
562 bool m_localStorageHasBeenSet = false;
563
564 Aws::Vector<LocalStorageType> m_localStorageTypes;
565 bool m_localStorageTypesHasBeenSet = false;
566
567 TotalLocalStorageGBRequest m_totalLocalStorageGB;
568 bool m_totalLocalStorageGBHasBeenSet = false;
569
570 BaselineEbsBandwidthMbpsRequest m_baselineEbsBandwidthMbps;
571 bool m_baselineEbsBandwidthMbpsHasBeenSet = false;
572
573 Aws::Vector<AcceleratorType> m_acceleratorTypes;
574 bool m_acceleratorTypesHasBeenSet = false;
575
576 AcceleratorCountRequest m_acceleratorCount;
577 bool m_acceleratorCountHasBeenSet = false;
578
579 Aws::Vector<AcceleratorManufacturer> m_acceleratorManufacturers;
580 bool m_acceleratorManufacturersHasBeenSet = false;
581
582 Aws::Vector<AcceleratorName> m_acceleratorNames;
583 bool m_acceleratorNamesHasBeenSet = false;
584
585 AcceleratorTotalMemoryMiBRequest m_acceleratorTotalMemoryMiB;
586 bool m_acceleratorTotalMemoryMiBHasBeenSet = false;
587
588 NetworkBandwidthGbpsRequest m_networkBandwidthGbps;
589 bool m_networkBandwidthGbpsHasBeenSet = false;
590
591 Aws::Vector<Aws::String> m_allowedInstanceTypes;
592 bool m_allowedInstanceTypesHasBeenSet = false;
593
594 BaselinePerformanceFactorsRequest m_baselinePerformanceFactors;
595 bool m_baselinePerformanceFactorsHasBeenSet = false;
596 };
597
598} // namespace Model
599} // namespace AutoScaling
600} // 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