AWS SDK for C++

AWS SDK for C++ Version 1.11.440

Loading...
Searching...
No Matches
InstanceRequirements.h
1
6#pragma once
7#include <aws/ec2/EC2_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
9#include <aws/ec2/model/VCpuCountRange.h>
10#include <aws/ec2/model/MemoryMiB.h>
11#include <aws/core/utils/memory/stl/AWSVector.h>
12#include <aws/ec2/model/MemoryGiBPerVCpu.h>
13#include <aws/ec2/model/BareMetal.h>
14#include <aws/ec2/model/BurstablePerformance.h>
15#include <aws/ec2/model/NetworkInterfaceCount.h>
16#include <aws/ec2/model/LocalStorage.h>
17#include <aws/ec2/model/TotalLocalStorageGB.h>
18#include <aws/ec2/model/BaselineEbsBandwidthMbps.h>
19#include <aws/ec2/model/AcceleratorCount.h>
20#include <aws/ec2/model/AcceleratorTotalMemoryMiB.h>
21#include <aws/ec2/model/NetworkBandwidthGbps.h>
22#include <aws/ec2/model/CpuManufacturer.h>
23#include <aws/core/utils/memory/stl/AWSString.h>
24#include <aws/ec2/model/InstanceGeneration.h>
25#include <aws/ec2/model/LocalStorageType.h>
26#include <aws/ec2/model/AcceleratorType.h>
27#include <aws/ec2/model/AcceleratorManufacturer.h>
28#include <aws/ec2/model/AcceleratorName.h>
29#include <utility>
30
31namespace Aws
32{
33namespace Utils
34{
35namespace Xml
36{
37 class XmlNode;
38} // namespace Xml
39} // namespace Utils
40namespace EC2
41{
42namespace Model
43{
44
81 {
82 public:
83 AWS_EC2_API InstanceRequirements();
86
87 AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
88 AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
89
90
92
95 inline const VCpuCountRange& GetVCpuCount() const{ return m_vCpuCount; }
96 inline bool VCpuCountHasBeenSet() const { return m_vCpuCountHasBeenSet; }
97 inline void SetVCpuCount(const VCpuCountRange& value) { m_vCpuCountHasBeenSet = true; m_vCpuCount = value; }
98 inline void SetVCpuCount(VCpuCountRange&& value) { m_vCpuCountHasBeenSet = true; m_vCpuCount = std::move(value); }
99 inline InstanceRequirements& WithVCpuCount(const VCpuCountRange& value) { SetVCpuCount(value); return *this;}
100 inline InstanceRequirements& WithVCpuCount(VCpuCountRange&& value) { SetVCpuCount(std::move(value)); return *this;}
102
104
107 inline const MemoryMiB& GetMemoryMiB() const{ return m_memoryMiB; }
108 inline bool MemoryMiBHasBeenSet() const { return m_memoryMiBHasBeenSet; }
109 inline void SetMemoryMiB(const MemoryMiB& value) { m_memoryMiBHasBeenSet = true; m_memoryMiB = value; }
110 inline void SetMemoryMiB(MemoryMiB&& value) { m_memoryMiBHasBeenSet = true; m_memoryMiB = std::move(value); }
111 inline InstanceRequirements& WithMemoryMiB(const MemoryMiB& value) { SetMemoryMiB(value); return *this;}
112 inline InstanceRequirements& WithMemoryMiB(MemoryMiB&& value) { SetMemoryMiB(std::move(value)); return *this;}
114
116
126 inline const Aws::Vector<CpuManufacturer>& GetCpuManufacturers() const{ return m_cpuManufacturers; }
127 inline bool CpuManufacturersHasBeenSet() const { return m_cpuManufacturersHasBeenSet; }
128 inline void SetCpuManufacturers(const Aws::Vector<CpuManufacturer>& value) { m_cpuManufacturersHasBeenSet = true; m_cpuManufacturers = value; }
129 inline void SetCpuManufacturers(Aws::Vector<CpuManufacturer>&& value) { m_cpuManufacturersHasBeenSet = true; m_cpuManufacturers = std::move(value); }
132 inline InstanceRequirements& AddCpuManufacturers(const CpuManufacturer& value) { m_cpuManufacturersHasBeenSet = true; m_cpuManufacturers.push_back(value); return *this; }
133 inline InstanceRequirements& AddCpuManufacturers(CpuManufacturer&& value) { m_cpuManufacturersHasBeenSet = true; m_cpuManufacturers.push_back(std::move(value)); return *this; }
135
137
141 inline const MemoryGiBPerVCpu& GetMemoryGiBPerVCpu() const{ return m_memoryGiBPerVCpu; }
142 inline bool MemoryGiBPerVCpuHasBeenSet() const { return m_memoryGiBPerVCpuHasBeenSet; }
143 inline void SetMemoryGiBPerVCpu(const MemoryGiBPerVCpu& value) { m_memoryGiBPerVCpuHasBeenSet = true; m_memoryGiBPerVCpu = value; }
144 inline void SetMemoryGiBPerVCpu(MemoryGiBPerVCpu&& value) { m_memoryGiBPerVCpuHasBeenSet = true; m_memoryGiBPerVCpu = std::move(value); }
146 inline InstanceRequirements& WithMemoryGiBPerVCpu(MemoryGiBPerVCpu&& value) { SetMemoryGiBPerVCpu(std::move(value)); return *this;}
148
150
163 inline const Aws::Vector<Aws::String>& GetExcludedInstanceTypes() const{ return m_excludedInstanceTypes; }
164 inline bool ExcludedInstanceTypesHasBeenSet() const { return m_excludedInstanceTypesHasBeenSet; }
165 inline void SetExcludedInstanceTypes(const Aws::Vector<Aws::String>& value) { m_excludedInstanceTypesHasBeenSet = true; m_excludedInstanceTypes = value; }
166 inline void SetExcludedInstanceTypes(Aws::Vector<Aws::String>&& value) { m_excludedInstanceTypesHasBeenSet = true; m_excludedInstanceTypes = std::move(value); }
169 inline InstanceRequirements& AddExcludedInstanceTypes(const Aws::String& value) { m_excludedInstanceTypesHasBeenSet = true; m_excludedInstanceTypes.push_back(value); return *this; }
170 inline InstanceRequirements& AddExcludedInstanceTypes(Aws::String&& value) { m_excludedInstanceTypesHasBeenSet = true; m_excludedInstanceTypes.push_back(std::move(value)); return *this; }
171 inline InstanceRequirements& AddExcludedInstanceTypes(const char* value) { m_excludedInstanceTypesHasBeenSet = true; m_excludedInstanceTypes.push_back(value); return *this; }
173
175
186 inline const Aws::Vector<InstanceGeneration>& GetInstanceGenerations() const{ return m_instanceGenerations; }
187 inline bool InstanceGenerationsHasBeenSet() const { return m_instanceGenerationsHasBeenSet; }
188 inline void SetInstanceGenerations(const Aws::Vector<InstanceGeneration>& value) { m_instanceGenerationsHasBeenSet = true; m_instanceGenerations = value; }
189 inline void SetInstanceGenerations(Aws::Vector<InstanceGeneration>&& value) { m_instanceGenerationsHasBeenSet = true; m_instanceGenerations = std::move(value); }
192 inline InstanceRequirements& AddInstanceGenerations(const InstanceGeneration& value) { m_instanceGenerationsHasBeenSet = true; m_instanceGenerations.push_back(value); return *this; }
193 inline InstanceRequirements& AddInstanceGenerations(InstanceGeneration&& value) { m_instanceGenerationsHasBeenSet = true; m_instanceGenerations.push_back(std::move(value)); return *this; }
195
197
224 inline int GetSpotMaxPricePercentageOverLowestPrice() const{ return m_spotMaxPricePercentageOverLowestPrice; }
225 inline bool SpotMaxPricePercentageOverLowestPriceHasBeenSet() const { return m_spotMaxPricePercentageOverLowestPriceHasBeenSet; }
226 inline void SetSpotMaxPricePercentageOverLowestPrice(int value) { m_spotMaxPricePercentageOverLowestPriceHasBeenSet = true; m_spotMaxPricePercentageOverLowestPrice = value; }
229
231
249 inline int GetOnDemandMaxPricePercentageOverLowestPrice() const{ return m_onDemandMaxPricePercentageOverLowestPrice; }
250 inline bool OnDemandMaxPricePercentageOverLowestPriceHasBeenSet() const { return m_onDemandMaxPricePercentageOverLowestPriceHasBeenSet; }
251 inline void SetOnDemandMaxPricePercentageOverLowestPrice(int value) { m_onDemandMaxPricePercentageOverLowestPriceHasBeenSet = true; m_onDemandMaxPricePercentageOverLowestPrice = value; }
254
256
264 inline const BareMetal& GetBareMetal() const{ return m_bareMetal; }
265 inline bool BareMetalHasBeenSet() const { return m_bareMetalHasBeenSet; }
266 inline void SetBareMetal(const BareMetal& value) { m_bareMetalHasBeenSet = true; m_bareMetal = value; }
267 inline void SetBareMetal(BareMetal&& value) { m_bareMetalHasBeenSet = true; m_bareMetal = std::move(value); }
268 inline InstanceRequirements& WithBareMetal(const BareMetal& value) { SetBareMetal(value); return *this;}
269 inline InstanceRequirements& WithBareMetal(BareMetal&& value) { SetBareMetal(std::move(value)); return *this;}
271
273
283 inline const BurstablePerformance& GetBurstablePerformance() const{ return m_burstablePerformance; }
284 inline bool BurstablePerformanceHasBeenSet() const { return m_burstablePerformanceHasBeenSet; }
285 inline void SetBurstablePerformance(const BurstablePerformance& value) { m_burstablePerformanceHasBeenSet = true; m_burstablePerformance = value; }
286 inline void SetBurstablePerformance(BurstablePerformance&& value) { m_burstablePerformanceHasBeenSet = true; m_burstablePerformance = std::move(value); }
290
292
298 inline bool GetRequireHibernateSupport() const{ return m_requireHibernateSupport; }
299 inline bool RequireHibernateSupportHasBeenSet() const { return m_requireHibernateSupportHasBeenSet; }
300 inline void SetRequireHibernateSupport(bool value) { m_requireHibernateSupportHasBeenSet = true; m_requireHibernateSupport = value; }
303
305
309 inline const NetworkInterfaceCount& GetNetworkInterfaceCount() const{ return m_networkInterfaceCount; }
310 inline bool NetworkInterfaceCountHasBeenSet() const { return m_networkInterfaceCountHasBeenSet; }
311 inline void SetNetworkInterfaceCount(const NetworkInterfaceCount& value) { m_networkInterfaceCountHasBeenSet = true; m_networkInterfaceCount = value; }
312 inline void SetNetworkInterfaceCount(NetworkInterfaceCount&& value) { m_networkInterfaceCountHasBeenSet = true; m_networkInterfaceCount = std::move(value); }
316
318
329 inline const LocalStorage& GetLocalStorage() const{ return m_localStorage; }
330 inline bool LocalStorageHasBeenSet() const { return m_localStorageHasBeenSet; }
331 inline void SetLocalStorage(const LocalStorage& value) { m_localStorageHasBeenSet = true; m_localStorage = value; }
332 inline void SetLocalStorage(LocalStorage&& value) { m_localStorageHasBeenSet = true; m_localStorage = std::move(value); }
333 inline InstanceRequirements& WithLocalStorage(const LocalStorage& value) { SetLocalStorage(value); return *this;}
334 inline InstanceRequirements& WithLocalStorage(LocalStorage&& value) { SetLocalStorage(std::move(value)); return *this;}
336
338
345 inline const Aws::Vector<LocalStorageType>& GetLocalStorageTypes() const{ return m_localStorageTypes; }
346 inline bool LocalStorageTypesHasBeenSet() const { return m_localStorageTypesHasBeenSet; }
347 inline void SetLocalStorageTypes(const Aws::Vector<LocalStorageType>& value) { m_localStorageTypesHasBeenSet = true; m_localStorageTypes = value; }
348 inline void SetLocalStorageTypes(Aws::Vector<LocalStorageType>&& value) { m_localStorageTypesHasBeenSet = true; m_localStorageTypes = std::move(value); }
351 inline InstanceRequirements& AddLocalStorageTypes(const LocalStorageType& value) { m_localStorageTypesHasBeenSet = true; m_localStorageTypes.push_back(value); return *this; }
352 inline InstanceRequirements& AddLocalStorageTypes(LocalStorageType&& value) { m_localStorageTypesHasBeenSet = true; m_localStorageTypes.push_back(std::move(value)); return *this; }
354
356
360 inline const TotalLocalStorageGB& GetTotalLocalStorageGB() const{ return m_totalLocalStorageGB; }
361 inline bool TotalLocalStorageGBHasBeenSet() const { return m_totalLocalStorageGBHasBeenSet; }
362 inline void SetTotalLocalStorageGB(const TotalLocalStorageGB& value) { m_totalLocalStorageGBHasBeenSet = true; m_totalLocalStorageGB = value; }
363 inline void SetTotalLocalStorageGB(TotalLocalStorageGB&& value) { m_totalLocalStorageGBHasBeenSet = true; m_totalLocalStorageGB = std::move(value); }
367
369
376 inline const BaselineEbsBandwidthMbps& GetBaselineEbsBandwidthMbps() const{ return m_baselineEbsBandwidthMbps; }
377 inline bool BaselineEbsBandwidthMbpsHasBeenSet() const { return m_baselineEbsBandwidthMbpsHasBeenSet; }
378 inline void SetBaselineEbsBandwidthMbps(const BaselineEbsBandwidthMbps& value) { m_baselineEbsBandwidthMbpsHasBeenSet = true; m_baselineEbsBandwidthMbps = value; }
379 inline void SetBaselineEbsBandwidthMbps(BaselineEbsBandwidthMbps&& value) { m_baselineEbsBandwidthMbpsHasBeenSet = true; m_baselineEbsBandwidthMbps = std::move(value); }
383
385
391 inline const Aws::Vector<AcceleratorType>& GetAcceleratorTypes() const{ return m_acceleratorTypes; }
392 inline bool AcceleratorTypesHasBeenSet() const { return m_acceleratorTypesHasBeenSet; }
393 inline void SetAcceleratorTypes(const Aws::Vector<AcceleratorType>& value) { m_acceleratorTypesHasBeenSet = true; m_acceleratorTypes = value; }
394 inline void SetAcceleratorTypes(Aws::Vector<AcceleratorType>&& value) { m_acceleratorTypesHasBeenSet = true; m_acceleratorTypes = std::move(value); }
397 inline InstanceRequirements& AddAcceleratorTypes(const AcceleratorType& value) { m_acceleratorTypesHasBeenSet = true; m_acceleratorTypes.push_back(value); return *this; }
398 inline InstanceRequirements& AddAcceleratorTypes(AcceleratorType&& value) { m_acceleratorTypesHasBeenSet = true; m_acceleratorTypes.push_back(std::move(value)); return *this; }
400
402
408 inline const AcceleratorCount& GetAcceleratorCount() const{ return m_acceleratorCount; }
409 inline bool AcceleratorCountHasBeenSet() const { return m_acceleratorCountHasBeenSet; }
410 inline void SetAcceleratorCount(const AcceleratorCount& value) { m_acceleratorCountHasBeenSet = true; m_acceleratorCount = value; }
411 inline void SetAcceleratorCount(AcceleratorCount&& value) { m_acceleratorCountHasBeenSet = true; m_acceleratorCount = std::move(value); }
413 inline InstanceRequirements& WithAcceleratorCount(AcceleratorCount&& value) { SetAcceleratorCount(std::move(value)); return *this;}
415
417
427 inline const Aws::Vector<AcceleratorManufacturer>& GetAcceleratorManufacturers() const{ return m_acceleratorManufacturers; }
428 inline bool AcceleratorManufacturersHasBeenSet() const { return m_acceleratorManufacturersHasBeenSet; }
429 inline void SetAcceleratorManufacturers(const Aws::Vector<AcceleratorManufacturer>& value) { m_acceleratorManufacturersHasBeenSet = true; m_acceleratorManufacturers = value; }
430 inline void SetAcceleratorManufacturers(Aws::Vector<AcceleratorManufacturer>&& value) { m_acceleratorManufacturersHasBeenSet = true; m_acceleratorManufacturers = std::move(value); }
433 inline InstanceRequirements& AddAcceleratorManufacturers(const AcceleratorManufacturer& value) { m_acceleratorManufacturersHasBeenSet = true; m_acceleratorManufacturers.push_back(value); return *this; }
434 inline InstanceRequirements& AddAcceleratorManufacturers(AcceleratorManufacturer&& value) { m_acceleratorManufacturersHasBeenSet = true; m_acceleratorManufacturers.push_back(std::move(value)); return *this; }
436
438
456 inline const Aws::Vector<AcceleratorName>& GetAcceleratorNames() const{ return m_acceleratorNames; }
457 inline bool AcceleratorNamesHasBeenSet() const { return m_acceleratorNamesHasBeenSet; }
458 inline void SetAcceleratorNames(const Aws::Vector<AcceleratorName>& value) { m_acceleratorNamesHasBeenSet = true; m_acceleratorNames = value; }
459 inline void SetAcceleratorNames(Aws::Vector<AcceleratorName>&& value) { m_acceleratorNamesHasBeenSet = true; m_acceleratorNames = std::move(value); }
462 inline InstanceRequirements& AddAcceleratorNames(const AcceleratorName& value) { m_acceleratorNamesHasBeenSet = true; m_acceleratorNames.push_back(value); return *this; }
463 inline InstanceRequirements& AddAcceleratorNames(AcceleratorName&& value) { m_acceleratorNamesHasBeenSet = true; m_acceleratorNames.push_back(std::move(value)); return *this; }
465
467
471 inline const AcceleratorTotalMemoryMiB& GetAcceleratorTotalMemoryMiB() const{ return m_acceleratorTotalMemoryMiB; }
472 inline bool AcceleratorTotalMemoryMiBHasBeenSet() const { return m_acceleratorTotalMemoryMiBHasBeenSet; }
473 inline void SetAcceleratorTotalMemoryMiB(const AcceleratorTotalMemoryMiB& value) { m_acceleratorTotalMemoryMiBHasBeenSet = true; m_acceleratorTotalMemoryMiB = value; }
474 inline void SetAcceleratorTotalMemoryMiB(AcceleratorTotalMemoryMiB&& value) { m_acceleratorTotalMemoryMiBHasBeenSet = true; m_acceleratorTotalMemoryMiB = std::move(value); }
478
480
484 inline const NetworkBandwidthGbps& GetNetworkBandwidthGbps() const{ return m_networkBandwidthGbps; }
485 inline bool NetworkBandwidthGbpsHasBeenSet() const { return m_networkBandwidthGbpsHasBeenSet; }
486 inline void SetNetworkBandwidthGbps(const NetworkBandwidthGbps& value) { m_networkBandwidthGbpsHasBeenSet = true; m_networkBandwidthGbps = value; }
487 inline void SetNetworkBandwidthGbps(NetworkBandwidthGbps&& value) { m_networkBandwidthGbpsHasBeenSet = true; m_networkBandwidthGbps = std::move(value); }
491
493
507 inline const Aws::Vector<Aws::String>& GetAllowedInstanceTypes() const{ return m_allowedInstanceTypes; }
508 inline bool AllowedInstanceTypesHasBeenSet() const { return m_allowedInstanceTypesHasBeenSet; }
509 inline void SetAllowedInstanceTypes(const Aws::Vector<Aws::String>& value) { m_allowedInstanceTypesHasBeenSet = true; m_allowedInstanceTypes = value; }
510 inline void SetAllowedInstanceTypes(Aws::Vector<Aws::String>&& value) { m_allowedInstanceTypesHasBeenSet = true; m_allowedInstanceTypes = std::move(value); }
513 inline InstanceRequirements& AddAllowedInstanceTypes(const Aws::String& value) { m_allowedInstanceTypesHasBeenSet = true; m_allowedInstanceTypes.push_back(value); return *this; }
514 inline InstanceRequirements& AddAllowedInstanceTypes(Aws::String&& value) { m_allowedInstanceTypesHasBeenSet = true; m_allowedInstanceTypes.push_back(std::move(value)); return *this; }
515 inline InstanceRequirements& AddAllowedInstanceTypes(const char* value) { m_allowedInstanceTypesHasBeenSet = true; m_allowedInstanceTypes.push_back(value); return *this; }
517
519
541 inline int GetMaxSpotPriceAsPercentageOfOptimalOnDemandPrice() const{ return m_maxSpotPriceAsPercentageOfOptimalOnDemandPrice; }
542 inline bool MaxSpotPriceAsPercentageOfOptimalOnDemandPriceHasBeenSet() const { return m_maxSpotPriceAsPercentageOfOptimalOnDemandPriceHasBeenSet; }
543 inline void SetMaxSpotPriceAsPercentageOfOptimalOnDemandPrice(int value) { m_maxSpotPriceAsPercentageOfOptimalOnDemandPriceHasBeenSet = true; m_maxSpotPriceAsPercentageOfOptimalOnDemandPrice = value; }
546 private:
547
548 VCpuCountRange m_vCpuCount;
549 bool m_vCpuCountHasBeenSet = false;
550
551 MemoryMiB m_memoryMiB;
552 bool m_memoryMiBHasBeenSet = false;
553
554 Aws::Vector<CpuManufacturer> m_cpuManufacturers;
555 bool m_cpuManufacturersHasBeenSet = false;
556
557 MemoryGiBPerVCpu m_memoryGiBPerVCpu;
558 bool m_memoryGiBPerVCpuHasBeenSet = false;
559
560 Aws::Vector<Aws::String> m_excludedInstanceTypes;
561 bool m_excludedInstanceTypesHasBeenSet = false;
562
563 Aws::Vector<InstanceGeneration> m_instanceGenerations;
564 bool m_instanceGenerationsHasBeenSet = false;
565
566 int m_spotMaxPricePercentageOverLowestPrice;
567 bool m_spotMaxPricePercentageOverLowestPriceHasBeenSet = false;
568
569 int m_onDemandMaxPricePercentageOverLowestPrice;
570 bool m_onDemandMaxPricePercentageOverLowestPriceHasBeenSet = false;
571
572 BareMetal m_bareMetal;
573 bool m_bareMetalHasBeenSet = false;
574
575 BurstablePerformance m_burstablePerformance;
576 bool m_burstablePerformanceHasBeenSet = false;
577
578 bool m_requireHibernateSupport;
579 bool m_requireHibernateSupportHasBeenSet = false;
580
581 NetworkInterfaceCount m_networkInterfaceCount;
582 bool m_networkInterfaceCountHasBeenSet = false;
583
584 LocalStorage m_localStorage;
585 bool m_localStorageHasBeenSet = false;
586
587 Aws::Vector<LocalStorageType> m_localStorageTypes;
588 bool m_localStorageTypesHasBeenSet = false;
589
590 TotalLocalStorageGB m_totalLocalStorageGB;
591 bool m_totalLocalStorageGBHasBeenSet = false;
592
593 BaselineEbsBandwidthMbps m_baselineEbsBandwidthMbps;
594 bool m_baselineEbsBandwidthMbpsHasBeenSet = false;
595
596 Aws::Vector<AcceleratorType> m_acceleratorTypes;
597 bool m_acceleratorTypesHasBeenSet = false;
598
599 AcceleratorCount m_acceleratorCount;
600 bool m_acceleratorCountHasBeenSet = false;
601
602 Aws::Vector<AcceleratorManufacturer> m_acceleratorManufacturers;
603 bool m_acceleratorManufacturersHasBeenSet = false;
604
605 Aws::Vector<AcceleratorName> m_acceleratorNames;
606 bool m_acceleratorNamesHasBeenSet = false;
607
608 AcceleratorTotalMemoryMiB m_acceleratorTotalMemoryMiB;
609 bool m_acceleratorTotalMemoryMiBHasBeenSet = false;
610
611 NetworkBandwidthGbps m_networkBandwidthGbps;
612 bool m_networkBandwidthGbpsHasBeenSet = false;
613
614 Aws::Vector<Aws::String> m_allowedInstanceTypes;
615 bool m_allowedInstanceTypesHasBeenSet = false;
616
617 int m_maxSpotPriceAsPercentageOfOptimalOnDemandPrice;
618 bool m_maxSpotPriceAsPercentageOfOptimalOnDemandPriceHasBeenSet = false;
619 };
620
621} // namespace Model
622} // namespace EC2
623} // namespace Aws
InstanceRequirements & AddAcceleratorManufacturers(AcceleratorManufacturer &&value)
void SetTotalLocalStorageGB(TotalLocalStorageGB &&value)
const Aws::Vector< AcceleratorType > & GetAcceleratorTypes() const
void SetExcludedInstanceTypes(const Aws::Vector< Aws::String > &value)
void SetAcceleratorNames(Aws::Vector< AcceleratorName > &&value)
const Aws::Vector< Aws::String > & GetExcludedInstanceTypes() const
InstanceRequirements & WithBareMetal(BareMetal &&value)
void SetMaxSpotPriceAsPercentageOfOptimalOnDemandPrice(int value)
void SetTotalLocalStorageGB(const TotalLocalStorageGB &value)
const LocalStorage & GetLocalStorage() const
void SetAcceleratorNames(const Aws::Vector< AcceleratorName > &value)
void SetBaselineEbsBandwidthMbps(BaselineEbsBandwidthMbps &&value)
void SetNetworkInterfaceCount(NetworkInterfaceCount &&value)
InstanceRequirements & WithAcceleratorTypes(const Aws::Vector< AcceleratorType > &value)
const Aws::Vector< Aws::String > & GetAllowedInstanceTypes() const
void SetInstanceGenerations(const Aws::Vector< InstanceGeneration > &value)
const NetworkInterfaceCount & GetNetworkInterfaceCount() const
void SetBurstablePerformance(BurstablePerformance &&value)
AWS_EC2_API InstanceRequirements(const Aws::Utils::Xml::XmlNode &xmlNode)
void SetLocalStorageTypes(const Aws::Vector< LocalStorageType > &value)
InstanceRequirements & WithNetworkInterfaceCount(NetworkInterfaceCount &&value)
InstanceRequirements & WithAllowedInstanceTypes(const Aws::Vector< Aws::String > &value)
InstanceRequirements & AddAllowedInstanceTypes(Aws::String &&value)
InstanceRequirements & WithLocalStorage(const LocalStorage &value)
void SetMemoryGiBPerVCpu(const MemoryGiBPerVCpu &value)
InstanceRequirements & AddCpuManufacturers(CpuManufacturer &&value)
const NetworkBandwidthGbps & GetNetworkBandwidthGbps() const
InstanceRequirements & WithCpuManufacturers(Aws::Vector< CpuManufacturer > &&value)
InstanceRequirements & AddAcceleratorNames(AcceleratorName &&value)
InstanceRequirements & AddExcludedInstanceTypes(Aws::String &&value)
InstanceRequirements & AddAcceleratorNames(const AcceleratorName &value)
InstanceRequirements & WithNetworkBandwidthGbps(NetworkBandwidthGbps &&value)
void SetLocalStorage(const LocalStorage &value)
InstanceRequirements & WithAcceleratorNames(Aws::Vector< AcceleratorName > &&value)
InstanceRequirements & WithBareMetal(const BareMetal &value)
void SetAcceleratorTypes(const Aws::Vector< AcceleratorType > &value)
void SetBaselineEbsBandwidthMbps(const BaselineEbsBandwidthMbps &value)
void SetAcceleratorManufacturers(Aws::Vector< AcceleratorManufacturer > &&value)
InstanceRequirements & WithCpuManufacturers(const Aws::Vector< CpuManufacturer > &value)
const Aws::Vector< LocalStorageType > & GetLocalStorageTypes() const
void SetExcludedInstanceTypes(Aws::Vector< Aws::String > &&value)
InstanceRequirements & AddAcceleratorTypes(const AcceleratorType &value)
void SetLocalStorageTypes(Aws::Vector< LocalStorageType > &&value)
InstanceRequirements & WithMemoryMiB(const MemoryMiB &value)
InstanceRequirements & WithNetworkInterfaceCount(const NetworkInterfaceCount &value)
InstanceRequirements & WithTotalLocalStorageGB(TotalLocalStorageGB &&value)
InstanceRequirements & WithAcceleratorManufacturers(const Aws::Vector< AcceleratorManufacturer > &value)
InstanceRequirements & WithBurstablePerformance(BurstablePerformance &&value)
void SetAcceleratorCount(AcceleratorCount &&value)
void SetAcceleratorCount(const AcceleratorCount &value)
InstanceRequirements & WithNetworkBandwidthGbps(const NetworkBandwidthGbps &value)
InstanceRequirements & WithMaxSpotPriceAsPercentageOfOptimalOnDemandPrice(int value)
void SetAcceleratorTotalMemoryMiB(const AcceleratorTotalMemoryMiB &value)
void SetBareMetal(const BareMetal &value)
InstanceRequirements & WithBaselineEbsBandwidthMbps(BaselineEbsBandwidthMbps &&value)
InstanceRequirements & WithAcceleratorManufacturers(Aws::Vector< AcceleratorManufacturer > &&value)
void SetCpuManufacturers(Aws::Vector< CpuManufacturer > &&value)
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
void SetAllowedInstanceTypes(const Aws::Vector< Aws::String > &value)
const Aws::Vector< AcceleratorName > & GetAcceleratorNames() const
InstanceRequirements & WithOnDemandMaxPricePercentageOverLowestPrice(int value)
InstanceRequirements & AddLocalStorageTypes(LocalStorageType &&value)
InstanceRequirements & WithLocalStorageTypes(Aws::Vector< LocalStorageType > &&value)
InstanceRequirements & AddCpuManufacturers(const CpuManufacturer &value)
InstanceRequirements & WithVCpuCount(const VCpuCountRange &value)
InstanceRequirements & WithAcceleratorCount(AcceleratorCount &&value)
void SetVCpuCount(const VCpuCountRange &value)
AWS_EC2_API InstanceRequirements & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
void SetNetworkInterfaceCount(const NetworkInterfaceCount &value)
const BaselineEbsBandwidthMbps & GetBaselineEbsBandwidthMbps() const
void SetNetworkBandwidthGbps(NetworkBandwidthGbps &&value)
InstanceRequirements & WithInstanceGenerations(Aws::Vector< InstanceGeneration > &&value)
InstanceRequirements & AddAllowedInstanceTypes(const Aws::String &value)
const BurstablePerformance & GetBurstablePerformance() const
const TotalLocalStorageGB & GetTotalLocalStorageGB() const
InstanceRequirements & WithAcceleratorCount(const AcceleratorCount &value)
void SetAcceleratorTypes(Aws::Vector< AcceleratorType > &&value)
void SetMemoryMiB(const MemoryMiB &value)
void SetBurstablePerformance(const BurstablePerformance &value)
void SetVCpuCount(VCpuCountRange &&value)
const VCpuCountRange & GetVCpuCount() const
InstanceRequirements & WithLocalStorage(LocalStorage &&value)
void SetCpuManufacturers(const Aws::Vector< CpuManufacturer > &value)
InstanceRequirements & WithMemoryMiB(MemoryMiB &&value)
const AcceleratorTotalMemoryMiB & GetAcceleratorTotalMemoryMiB() const
InstanceRequirements & AddAcceleratorTypes(AcceleratorType &&value)
InstanceRequirements & WithRequireHibernateSupport(bool value)
void SetNetworkBandwidthGbps(const NetworkBandwidthGbps &value)
InstanceRequirements & WithTotalLocalStorageGB(const TotalLocalStorageGB &value)
InstanceRequirements & WithAcceleratorTotalMemoryMiB(const AcceleratorTotalMemoryMiB &value)
InstanceRequirements & WithVCpuCount(VCpuCountRange &&value)
InstanceRequirements & WithLocalStorageTypes(const Aws::Vector< LocalStorageType > &value)
InstanceRequirements & WithAcceleratorTypes(Aws::Vector< AcceleratorType > &&value)
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
InstanceRequirements & WithAcceleratorNames(const Aws::Vector< AcceleratorName > &value)
InstanceRequirements & WithAcceleratorTotalMemoryMiB(AcceleratorTotalMemoryMiB &&value)
InstanceRequirements & AddInstanceGenerations(InstanceGeneration &&value)
InstanceRequirements & WithExcludedInstanceTypes(const Aws::Vector< Aws::String > &value)
InstanceRequirements & WithExcludedInstanceTypes(Aws::Vector< Aws::String > &&value)
const Aws::Vector< AcceleratorManufacturer > & GetAcceleratorManufacturers() const
const Aws::Vector< CpuManufacturer > & GetCpuManufacturers() const
InstanceRequirements & WithSpotMaxPricePercentageOverLowestPrice(int value)
void SetAcceleratorTotalMemoryMiB(AcceleratorTotalMemoryMiB &&value)
const Aws::Vector< InstanceGeneration > & GetInstanceGenerations() const
InstanceRequirements & WithInstanceGenerations(const Aws::Vector< InstanceGeneration > &value)
InstanceRequirements & AddExcludedInstanceTypes(const char *value)
void SetAllowedInstanceTypes(Aws::Vector< Aws::String > &&value)
InstanceRequirements & AddAcceleratorManufacturers(const AcceleratorManufacturer &value)
InstanceRequirements & AddExcludedInstanceTypes(const Aws::String &value)
InstanceRequirements & WithAllowedInstanceTypes(Aws::Vector< Aws::String > &&value)
const AcceleratorCount & GetAcceleratorCount() const
InstanceRequirements & AddAllowedInstanceTypes(const char *value)
InstanceRequirements & WithMemoryGiBPerVCpu(const MemoryGiBPerVCpu &value)
InstanceRequirements & WithMemoryGiBPerVCpu(MemoryGiBPerVCpu &&value)
InstanceRequirements & WithBaselineEbsBandwidthMbps(const BaselineEbsBandwidthMbps &value)
InstanceRequirements & AddLocalStorageTypes(const LocalStorageType &value)
InstanceRequirements & WithBurstablePerformance(const BurstablePerformance &value)
InstanceRequirements & AddInstanceGenerations(const InstanceGeneration &value)
const MemoryGiBPerVCpu & GetMemoryGiBPerVCpu() const
void SetInstanceGenerations(Aws::Vector< InstanceGeneration > &&value)
void SetAcceleratorManufacturers(const Aws::Vector< AcceleratorManufacturer > &value)
void SetMemoryGiBPerVCpu(MemoryGiBPerVCpu &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
std::basic_ostream< char, std::char_traits< char > > OStream