AWS SDK for C++

AWS SDK for C++ Version 1.11.606

Loading...
Searching...
No Matches
InstanceRequirementsRequest.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/VCpuCountRangeRequest.h>
10#include <aws/ec2/model/MemoryMiBRequest.h>
11#include <aws/core/utils/memory/stl/AWSVector.h>
12#include <aws/ec2/model/MemoryGiBPerVCpuRequest.h>
13#include <aws/ec2/model/BareMetal.h>
14#include <aws/ec2/model/BurstablePerformance.h>
15#include <aws/ec2/model/NetworkInterfaceCountRequest.h>
16#include <aws/ec2/model/LocalStorage.h>
17#include <aws/ec2/model/TotalLocalStorageGBRequest.h>
18#include <aws/ec2/model/BaselineEbsBandwidthMbpsRequest.h>
19#include <aws/ec2/model/AcceleratorCountRequest.h>
20#include <aws/ec2/model/AcceleratorTotalMemoryMiBRequest.h>
21#include <aws/ec2/model/NetworkBandwidthGbpsRequest.h>
22#include <aws/ec2/model/BaselinePerformanceFactorsRequest.h>
23#include <aws/ec2/model/CpuManufacturer.h>
24#include <aws/core/utils/memory/stl/AWSString.h>
25#include <aws/ec2/model/InstanceGeneration.h>
26#include <aws/ec2/model/LocalStorageType.h>
27#include <aws/ec2/model/AcceleratorType.h>
28#include <aws/ec2/model/AcceleratorManufacturer.h>
29#include <aws/ec2/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 EC2
42{
43namespace Model
44{
45
81 {
82 public:
83 AWS_EC2_API InstanceRequirementsRequest() = default;
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 VCpuCountRangeRequest& GetVCpuCount() const { return m_vCpuCount; }
96 inline bool VCpuCountHasBeenSet() const { return m_vCpuCountHasBeenSet; }
97 template<typename VCpuCountT = VCpuCountRangeRequest>
98 void SetVCpuCount(VCpuCountT&& value) { m_vCpuCountHasBeenSet = true; m_vCpuCount = std::forward<VCpuCountT>(value); }
99 template<typename VCpuCountT = VCpuCountRangeRequest>
100 InstanceRequirementsRequest& WithVCpuCount(VCpuCountT&& value) { SetVCpuCount(std::forward<VCpuCountT>(value)); return *this;}
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) { m_memoryMiBHasBeenSet = true; m_memoryMiB = std::forward<MemoryMiBT>(value); }
111 template<typename MemoryMiBT = MemoryMiBRequest>
112 InstanceRequirementsRequest& WithMemoryMiB(MemoryMiBT&& value) { SetMemoryMiB(std::forward<MemoryMiBT>(value)); return *this;}
114
116
127 inline const Aws::Vector<CpuManufacturer>& GetCpuManufacturers() const { return m_cpuManufacturers; }
128 inline bool CpuManufacturersHasBeenSet() const { return m_cpuManufacturersHasBeenSet; }
129 template<typename CpuManufacturersT = Aws::Vector<CpuManufacturer>>
130 void SetCpuManufacturers(CpuManufacturersT&& value) { m_cpuManufacturersHasBeenSet = true; m_cpuManufacturers = std::forward<CpuManufacturersT>(value); }
131 template<typename CpuManufacturersT = Aws::Vector<CpuManufacturer>>
132 InstanceRequirementsRequest& WithCpuManufacturers(CpuManufacturersT&& value) { SetCpuManufacturers(std::forward<CpuManufacturersT>(value)); return *this;}
133 inline InstanceRequirementsRequest& AddCpuManufacturers(CpuManufacturer value) { m_cpuManufacturersHasBeenSet = true; m_cpuManufacturers.push_back(value); return *this; }
135
137
141 inline const MemoryGiBPerVCpuRequest& GetMemoryGiBPerVCpu() const { return m_memoryGiBPerVCpu; }
142 inline bool MemoryGiBPerVCpuHasBeenSet() const { return m_memoryGiBPerVCpuHasBeenSet; }
143 template<typename MemoryGiBPerVCpuT = MemoryGiBPerVCpuRequest>
144 void SetMemoryGiBPerVCpu(MemoryGiBPerVCpuT&& value) { m_memoryGiBPerVCpuHasBeenSet = true; m_memoryGiBPerVCpu = std::forward<MemoryGiBPerVCpuT>(value); }
145 template<typename MemoryGiBPerVCpuT = MemoryGiBPerVCpuRequest>
146 InstanceRequirementsRequest& WithMemoryGiBPerVCpu(MemoryGiBPerVCpuT&& value) { SetMemoryGiBPerVCpu(std::forward<MemoryGiBPerVCpuT>(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 template<typename ExcludedInstanceTypesT = Aws::Vector<Aws::String>>
166 void SetExcludedInstanceTypes(ExcludedInstanceTypesT&& value) { m_excludedInstanceTypesHasBeenSet = true; m_excludedInstanceTypes = std::forward<ExcludedInstanceTypesT>(value); }
167 template<typename ExcludedInstanceTypesT = Aws::Vector<Aws::String>>
168 InstanceRequirementsRequest& WithExcludedInstanceTypes(ExcludedInstanceTypesT&& value) { SetExcludedInstanceTypes(std::forward<ExcludedInstanceTypesT>(value)); return *this;}
169 template<typename ExcludedInstanceTypesT = Aws::String>
170 InstanceRequirementsRequest& AddExcludedInstanceTypes(ExcludedInstanceTypesT&& value) { m_excludedInstanceTypesHasBeenSet = true; m_excludedInstanceTypes.emplace_back(std::forward<ExcludedInstanceTypesT>(value)); return *this; }
172
174
185 inline const Aws::Vector<InstanceGeneration>& GetInstanceGenerations() const { return m_instanceGenerations; }
186 inline bool InstanceGenerationsHasBeenSet() const { return m_instanceGenerationsHasBeenSet; }
187 template<typename InstanceGenerationsT = Aws::Vector<InstanceGeneration>>
188 void SetInstanceGenerations(InstanceGenerationsT&& value) { m_instanceGenerationsHasBeenSet = true; m_instanceGenerations = std::forward<InstanceGenerationsT>(value); }
189 template<typename InstanceGenerationsT = Aws::Vector<InstanceGeneration>>
190 InstanceRequirementsRequest& WithInstanceGenerations(InstanceGenerationsT&& value) { SetInstanceGenerations(std::forward<InstanceGenerationsT>(value)); return *this;}
191 inline InstanceRequirementsRequest& AddInstanceGenerations(InstanceGeneration value) { m_instanceGenerationsHasBeenSet = true; m_instanceGenerations.push_back(value); return *this; }
193
195
222 inline int GetSpotMaxPricePercentageOverLowestPrice() const { return m_spotMaxPricePercentageOverLowestPrice; }
223 inline bool SpotMaxPricePercentageOverLowestPriceHasBeenSet() const { return m_spotMaxPricePercentageOverLowestPriceHasBeenSet; }
224 inline void SetSpotMaxPricePercentageOverLowestPrice(int value) { m_spotMaxPricePercentageOverLowestPriceHasBeenSet = true; m_spotMaxPricePercentageOverLowestPrice = value; }
227
229
247 inline int GetOnDemandMaxPricePercentageOverLowestPrice() const { return m_onDemandMaxPricePercentageOverLowestPrice; }
248 inline bool OnDemandMaxPricePercentageOverLowestPriceHasBeenSet() const { return m_onDemandMaxPricePercentageOverLowestPriceHasBeenSet; }
249 inline void SetOnDemandMaxPricePercentageOverLowestPrice(int value) { m_onDemandMaxPricePercentageOverLowestPriceHasBeenSet = true; m_onDemandMaxPricePercentageOverLowestPrice = value; }
252
254
262 inline BareMetal GetBareMetal() const { return m_bareMetal; }
263 inline bool BareMetalHasBeenSet() const { return m_bareMetalHasBeenSet; }
264 inline void SetBareMetal(BareMetal value) { m_bareMetalHasBeenSet = true; m_bareMetal = value; }
265 inline InstanceRequirementsRequest& WithBareMetal(BareMetal value) { SetBareMetal(value); return *this;}
267
269
279 inline BurstablePerformance GetBurstablePerformance() const { return m_burstablePerformance; }
280 inline bool BurstablePerformanceHasBeenSet() const { return m_burstablePerformanceHasBeenSet; }
281 inline void SetBurstablePerformance(BurstablePerformance value) { m_burstablePerformanceHasBeenSet = true; m_burstablePerformance = value; }
284
286
292 inline bool GetRequireHibernateSupport() const { return m_requireHibernateSupport; }
293 inline bool RequireHibernateSupportHasBeenSet() const { return m_requireHibernateSupportHasBeenSet; }
294 inline void SetRequireHibernateSupport(bool value) { m_requireHibernateSupportHasBeenSet = true; m_requireHibernateSupport = value; }
297
299
303 inline const NetworkInterfaceCountRequest& GetNetworkInterfaceCount() const { return m_networkInterfaceCount; }
304 inline bool NetworkInterfaceCountHasBeenSet() const { return m_networkInterfaceCountHasBeenSet; }
305 template<typename NetworkInterfaceCountT = NetworkInterfaceCountRequest>
306 void SetNetworkInterfaceCount(NetworkInterfaceCountT&& value) { m_networkInterfaceCountHasBeenSet = true; m_networkInterfaceCount = std::forward<NetworkInterfaceCountT>(value); }
307 template<typename NetworkInterfaceCountT = NetworkInterfaceCountRequest>
308 InstanceRequirementsRequest& WithNetworkInterfaceCount(NetworkInterfaceCountT&& value) { SetNetworkInterfaceCount(std::forward<NetworkInterfaceCountT>(value)); return *this;}
310
312
323 inline LocalStorage GetLocalStorage() const { return m_localStorage; }
324 inline bool LocalStorageHasBeenSet() const { return m_localStorageHasBeenSet; }
325 inline void SetLocalStorage(LocalStorage value) { m_localStorageHasBeenSet = true; m_localStorage = value; }
328
330
337 inline const Aws::Vector<LocalStorageType>& GetLocalStorageTypes() const { return m_localStorageTypes; }
338 inline bool LocalStorageTypesHasBeenSet() const { return m_localStorageTypesHasBeenSet; }
339 template<typename LocalStorageTypesT = Aws::Vector<LocalStorageType>>
340 void SetLocalStorageTypes(LocalStorageTypesT&& value) { m_localStorageTypesHasBeenSet = true; m_localStorageTypes = std::forward<LocalStorageTypesT>(value); }
341 template<typename LocalStorageTypesT = Aws::Vector<LocalStorageType>>
342 InstanceRequirementsRequest& WithLocalStorageTypes(LocalStorageTypesT&& value) { SetLocalStorageTypes(std::forward<LocalStorageTypesT>(value)); return *this;}
343 inline InstanceRequirementsRequest& AddLocalStorageTypes(LocalStorageType value) { m_localStorageTypesHasBeenSet = true; m_localStorageTypes.push_back(value); return *this; }
345
347
351 inline const TotalLocalStorageGBRequest& GetTotalLocalStorageGB() const { return m_totalLocalStorageGB; }
352 inline bool TotalLocalStorageGBHasBeenSet() const { return m_totalLocalStorageGBHasBeenSet; }
353 template<typename TotalLocalStorageGBT = TotalLocalStorageGBRequest>
354 void SetTotalLocalStorageGB(TotalLocalStorageGBT&& value) { m_totalLocalStorageGBHasBeenSet = true; m_totalLocalStorageGB = std::forward<TotalLocalStorageGBT>(value); }
355 template<typename TotalLocalStorageGBT = TotalLocalStorageGBRequest>
356 InstanceRequirementsRequest& WithTotalLocalStorageGB(TotalLocalStorageGBT&& value) { SetTotalLocalStorageGB(std::forward<TotalLocalStorageGBT>(value)); return *this;}
358
360
367 inline const BaselineEbsBandwidthMbpsRequest& GetBaselineEbsBandwidthMbps() const { return m_baselineEbsBandwidthMbps; }
368 inline bool BaselineEbsBandwidthMbpsHasBeenSet() const { return m_baselineEbsBandwidthMbpsHasBeenSet; }
369 template<typename BaselineEbsBandwidthMbpsT = BaselineEbsBandwidthMbpsRequest>
370 void SetBaselineEbsBandwidthMbps(BaselineEbsBandwidthMbpsT&& value) { m_baselineEbsBandwidthMbpsHasBeenSet = true; m_baselineEbsBandwidthMbps = std::forward<BaselineEbsBandwidthMbpsT>(value); }
371 template<typename BaselineEbsBandwidthMbpsT = BaselineEbsBandwidthMbpsRequest>
372 InstanceRequirementsRequest& WithBaselineEbsBandwidthMbps(BaselineEbsBandwidthMbpsT&& value) { SetBaselineEbsBandwidthMbps(std::forward<BaselineEbsBandwidthMbpsT>(value)); return *this;}
374
376
383 inline const Aws::Vector<AcceleratorType>& GetAcceleratorTypes() const { return m_acceleratorTypes; }
384 inline bool AcceleratorTypesHasBeenSet() const { return m_acceleratorTypesHasBeenSet; }
385 template<typename AcceleratorTypesT = Aws::Vector<AcceleratorType>>
386 void SetAcceleratorTypes(AcceleratorTypesT&& value) { m_acceleratorTypesHasBeenSet = true; m_acceleratorTypes = std::forward<AcceleratorTypesT>(value); }
387 template<typename AcceleratorTypesT = Aws::Vector<AcceleratorType>>
388 InstanceRequirementsRequest& WithAcceleratorTypes(AcceleratorTypesT&& value) { SetAcceleratorTypes(std::forward<AcceleratorTypesT>(value)); return *this;}
389 inline InstanceRequirementsRequest& AddAcceleratorTypes(AcceleratorType value) { m_acceleratorTypesHasBeenSet = true; m_acceleratorTypes.push_back(value); return *this; }
391
393
399 inline const AcceleratorCountRequest& GetAcceleratorCount() const { return m_acceleratorCount; }
400 inline bool AcceleratorCountHasBeenSet() const { return m_acceleratorCountHasBeenSet; }
401 template<typename AcceleratorCountT = AcceleratorCountRequest>
402 void SetAcceleratorCount(AcceleratorCountT&& value) { m_acceleratorCountHasBeenSet = true; m_acceleratorCount = std::forward<AcceleratorCountT>(value); }
403 template<typename AcceleratorCountT = AcceleratorCountRequest>
404 InstanceRequirementsRequest& WithAcceleratorCount(AcceleratorCountT&& value) { SetAcceleratorCount(std::forward<AcceleratorCountT>(value)); return *this;}
406
408
418 inline const Aws::Vector<AcceleratorManufacturer>& GetAcceleratorManufacturers() const { return m_acceleratorManufacturers; }
419 inline bool AcceleratorManufacturersHasBeenSet() const { return m_acceleratorManufacturersHasBeenSet; }
420 template<typename AcceleratorManufacturersT = Aws::Vector<AcceleratorManufacturer>>
421 void SetAcceleratorManufacturers(AcceleratorManufacturersT&& value) { m_acceleratorManufacturersHasBeenSet = true; m_acceleratorManufacturers = std::forward<AcceleratorManufacturersT>(value); }
422 template<typename AcceleratorManufacturersT = Aws::Vector<AcceleratorManufacturer>>
423 InstanceRequirementsRequest& WithAcceleratorManufacturers(AcceleratorManufacturersT&& value) { SetAcceleratorManufacturers(std::forward<AcceleratorManufacturersT>(value)); return *this;}
424 inline InstanceRequirementsRequest& AddAcceleratorManufacturers(AcceleratorManufacturer value) { m_acceleratorManufacturersHasBeenSet = true; m_acceleratorManufacturers.push_back(value); return *this; }
426
428
446 inline const Aws::Vector<AcceleratorName>& GetAcceleratorNames() const { return m_acceleratorNames; }
447 inline bool AcceleratorNamesHasBeenSet() const { return m_acceleratorNamesHasBeenSet; }
448 template<typename AcceleratorNamesT = Aws::Vector<AcceleratorName>>
449 void SetAcceleratorNames(AcceleratorNamesT&& value) { m_acceleratorNamesHasBeenSet = true; m_acceleratorNames = std::forward<AcceleratorNamesT>(value); }
450 template<typename AcceleratorNamesT = Aws::Vector<AcceleratorName>>
451 InstanceRequirementsRequest& WithAcceleratorNames(AcceleratorNamesT&& value) { SetAcceleratorNames(std::forward<AcceleratorNamesT>(value)); return *this;}
452 inline InstanceRequirementsRequest& AddAcceleratorNames(AcceleratorName value) { m_acceleratorNamesHasBeenSet = true; m_acceleratorNames.push_back(value); return *this; }
454
456
460 inline const AcceleratorTotalMemoryMiBRequest& GetAcceleratorTotalMemoryMiB() const { return m_acceleratorTotalMemoryMiB; }
461 inline bool AcceleratorTotalMemoryMiBHasBeenSet() const { return m_acceleratorTotalMemoryMiBHasBeenSet; }
462 template<typename AcceleratorTotalMemoryMiBT = AcceleratorTotalMemoryMiBRequest>
463 void SetAcceleratorTotalMemoryMiB(AcceleratorTotalMemoryMiBT&& value) { m_acceleratorTotalMemoryMiBHasBeenSet = true; m_acceleratorTotalMemoryMiB = std::forward<AcceleratorTotalMemoryMiBT>(value); }
464 template<typename AcceleratorTotalMemoryMiBT = AcceleratorTotalMemoryMiBRequest>
465 InstanceRequirementsRequest& WithAcceleratorTotalMemoryMiB(AcceleratorTotalMemoryMiBT&& value) { SetAcceleratorTotalMemoryMiB(std::forward<AcceleratorTotalMemoryMiBT>(value)); return *this;}
467
469
476 inline const NetworkBandwidthGbpsRequest& GetNetworkBandwidthGbps() const { return m_networkBandwidthGbps; }
477 inline bool NetworkBandwidthGbpsHasBeenSet() const { return m_networkBandwidthGbpsHasBeenSet; }
478 template<typename NetworkBandwidthGbpsT = NetworkBandwidthGbpsRequest>
479 void SetNetworkBandwidthGbps(NetworkBandwidthGbpsT&& value) { m_networkBandwidthGbpsHasBeenSet = true; m_networkBandwidthGbps = std::forward<NetworkBandwidthGbpsT>(value); }
480 template<typename NetworkBandwidthGbpsT = NetworkBandwidthGbpsRequest>
481 InstanceRequirementsRequest& WithNetworkBandwidthGbps(NetworkBandwidthGbpsT&& value) { SetNetworkBandwidthGbps(std::forward<NetworkBandwidthGbpsT>(value)); return *this;}
483
485
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 InstanceRequirementsRequest& WithAllowedInstanceTypes(AllowedInstanceTypesT&& value) { SetAllowedInstanceTypes(std::forward<AllowedInstanceTypesT>(value)); return *this;}
505 template<typename AllowedInstanceTypesT = Aws::String>
506 InstanceRequirementsRequest& AddAllowedInstanceTypes(AllowedInstanceTypesT&& value) { m_allowedInstanceTypesHasBeenSet = true; m_allowedInstanceTypes.emplace_back(std::forward<AllowedInstanceTypesT>(value)); return *this; }
508
510
532 inline int GetMaxSpotPriceAsPercentageOfOptimalOnDemandPrice() const { return m_maxSpotPriceAsPercentageOfOptimalOnDemandPrice; }
533 inline bool MaxSpotPriceAsPercentageOfOptimalOnDemandPriceHasBeenSet() const { return m_maxSpotPriceAsPercentageOfOptimalOnDemandPriceHasBeenSet; }
534 inline void SetMaxSpotPriceAsPercentageOfOptimalOnDemandPrice(int value) { m_maxSpotPriceAsPercentageOfOptimalOnDemandPriceHasBeenSet = true; m_maxSpotPriceAsPercentageOfOptimalOnDemandPrice = value; }
537
539
549 inline const BaselinePerformanceFactorsRequest& GetBaselinePerformanceFactors() const { return m_baselinePerformanceFactors; }
550 inline bool BaselinePerformanceFactorsHasBeenSet() const { return m_baselinePerformanceFactorsHasBeenSet; }
551 template<typename BaselinePerformanceFactorsT = BaselinePerformanceFactorsRequest>
552 void SetBaselinePerformanceFactors(BaselinePerformanceFactorsT&& value) { m_baselinePerformanceFactorsHasBeenSet = true; m_baselinePerformanceFactors = std::forward<BaselinePerformanceFactorsT>(value); }
553 template<typename BaselinePerformanceFactorsT = BaselinePerformanceFactorsRequest>
554 InstanceRequirementsRequest& WithBaselinePerformanceFactors(BaselinePerformanceFactorsT&& value) { SetBaselinePerformanceFactors(std::forward<BaselinePerformanceFactorsT>(value)); return *this;}
556 private:
557
558 VCpuCountRangeRequest m_vCpuCount;
559 bool m_vCpuCountHasBeenSet = false;
560
561 MemoryMiBRequest m_memoryMiB;
562 bool m_memoryMiBHasBeenSet = false;
563
564 Aws::Vector<CpuManufacturer> m_cpuManufacturers;
565 bool m_cpuManufacturersHasBeenSet = false;
566
567 MemoryGiBPerVCpuRequest m_memoryGiBPerVCpu;
568 bool m_memoryGiBPerVCpuHasBeenSet = false;
569
570 Aws::Vector<Aws::String> m_excludedInstanceTypes;
571 bool m_excludedInstanceTypesHasBeenSet = false;
572
573 Aws::Vector<InstanceGeneration> m_instanceGenerations;
574 bool m_instanceGenerationsHasBeenSet = false;
575
576 int m_spotMaxPricePercentageOverLowestPrice{0};
577 bool m_spotMaxPricePercentageOverLowestPriceHasBeenSet = false;
578
579 int m_onDemandMaxPricePercentageOverLowestPrice{0};
580 bool m_onDemandMaxPricePercentageOverLowestPriceHasBeenSet = false;
581
582 BareMetal m_bareMetal{BareMetal::NOT_SET};
583 bool m_bareMetalHasBeenSet = false;
584
586 bool m_burstablePerformanceHasBeenSet = false;
587
588 bool m_requireHibernateSupport{false};
589 bool m_requireHibernateSupportHasBeenSet = false;
590
591 NetworkInterfaceCountRequest m_networkInterfaceCount;
592 bool m_networkInterfaceCountHasBeenSet = false;
593
594 LocalStorage m_localStorage{LocalStorage::NOT_SET};
595 bool m_localStorageHasBeenSet = false;
596
597 Aws::Vector<LocalStorageType> m_localStorageTypes;
598 bool m_localStorageTypesHasBeenSet = false;
599
600 TotalLocalStorageGBRequest m_totalLocalStorageGB;
601 bool m_totalLocalStorageGBHasBeenSet = false;
602
603 BaselineEbsBandwidthMbpsRequest m_baselineEbsBandwidthMbps;
604 bool m_baselineEbsBandwidthMbpsHasBeenSet = false;
605
606 Aws::Vector<AcceleratorType> m_acceleratorTypes;
607 bool m_acceleratorTypesHasBeenSet = false;
608
609 AcceleratorCountRequest m_acceleratorCount;
610 bool m_acceleratorCountHasBeenSet = false;
611
612 Aws::Vector<AcceleratorManufacturer> m_acceleratorManufacturers;
613 bool m_acceleratorManufacturersHasBeenSet = false;
614
615 Aws::Vector<AcceleratorName> m_acceleratorNames;
616 bool m_acceleratorNamesHasBeenSet = false;
617
618 AcceleratorTotalMemoryMiBRequest m_acceleratorTotalMemoryMiB;
619 bool m_acceleratorTotalMemoryMiBHasBeenSet = false;
620
621 NetworkBandwidthGbpsRequest m_networkBandwidthGbps;
622 bool m_networkBandwidthGbpsHasBeenSet = false;
623
624 Aws::Vector<Aws::String> m_allowedInstanceTypes;
625 bool m_allowedInstanceTypesHasBeenSet = false;
626
627 int m_maxSpotPriceAsPercentageOfOptimalOnDemandPrice{0};
628 bool m_maxSpotPriceAsPercentageOfOptimalOnDemandPriceHasBeenSet = false;
629
630 BaselinePerformanceFactorsRequest m_baselinePerformanceFactors;
631 bool m_baselinePerformanceFactorsHasBeenSet = false;
632 };
633
634} // namespace Model
635} // namespace EC2
636} // 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
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