AWS SDK for C++

AWS SDK for C++ Version 1.11.752

Loading...
Searching...
No Matches
InstanceRequirementsRequest.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSString.h>
8#include <aws/core/utils/memory/stl/AWSVector.h>
9#include <aws/ecs/ECS_EXPORTS.h>
10#include <aws/ecs/model/AcceleratorCountRequest.h>
11#include <aws/ecs/model/AcceleratorManufacturer.h>
12#include <aws/ecs/model/AcceleratorName.h>
13#include <aws/ecs/model/AcceleratorTotalMemoryMiBRequest.h>
14#include <aws/ecs/model/AcceleratorType.h>
15#include <aws/ecs/model/BareMetal.h>
16#include <aws/ecs/model/BaselineEbsBandwidthMbpsRequest.h>
17#include <aws/ecs/model/BurstablePerformance.h>
18#include <aws/ecs/model/CpuManufacturer.h>
19#include <aws/ecs/model/InstanceGeneration.h>
20#include <aws/ecs/model/LocalStorage.h>
21#include <aws/ecs/model/LocalStorageType.h>
22#include <aws/ecs/model/MemoryGiBPerVCpuRequest.h>
23#include <aws/ecs/model/MemoryMiBRequest.h>
24#include <aws/ecs/model/NetworkBandwidthGbpsRequest.h>
25#include <aws/ecs/model/NetworkInterfaceCountRequest.h>
26#include <aws/ecs/model/TotalLocalStorageGBRequest.h>
27#include <aws/ecs/model/VCpuCountRangeRequest.h>
28
29#include <utility>
30
31namespace Aws {
32namespace Utils {
33namespace Json {
34class JsonValue;
35class JsonView;
36} // namespace Json
37} // namespace Utils
38namespace ECS {
39namespace Model {
40
52 public:
53 AWS_ECS_API InstanceRequirementsRequest() = default;
57
59
63 inline const VCpuCountRangeRequest& GetVCpuCount() const { return m_vCpuCount; }
64 inline bool VCpuCountHasBeenSet() const { return m_vCpuCountHasBeenSet; }
65 template <typename VCpuCountT = VCpuCountRangeRequest>
66 void SetVCpuCount(VCpuCountT&& value) {
67 m_vCpuCountHasBeenSet = true;
68 m_vCpuCount = std::forward<VCpuCountT>(value);
69 }
70 template <typename VCpuCountT = VCpuCountRangeRequest>
72 SetVCpuCount(std::forward<VCpuCountT>(value));
73 return *this;
74 }
76
78
82 inline const MemoryMiBRequest& GetMemoryMiB() const { return m_memoryMiB; }
83 inline bool MemoryMiBHasBeenSet() const { return m_memoryMiBHasBeenSet; }
84 template <typename MemoryMiBT = MemoryMiBRequest>
85 void SetMemoryMiB(MemoryMiBT&& value) {
86 m_memoryMiBHasBeenSet = true;
87 m_memoryMiB = std::forward<MemoryMiBT>(value);
88 }
89 template <typename MemoryMiBT = MemoryMiBRequest>
91 SetMemoryMiB(std::forward<MemoryMiBT>(value));
92 return *this;
93 }
95
97
102 inline const Aws::Vector<CpuManufacturer>& GetCpuManufacturers() const { return m_cpuManufacturers; }
103 inline bool CpuManufacturersHasBeenSet() const { return m_cpuManufacturersHasBeenSet; }
104 template <typename CpuManufacturersT = Aws::Vector<CpuManufacturer>>
105 void SetCpuManufacturers(CpuManufacturersT&& value) {
106 m_cpuManufacturersHasBeenSet = true;
107 m_cpuManufacturers = std::forward<CpuManufacturersT>(value);
108 }
109 template <typename CpuManufacturersT = Aws::Vector<CpuManufacturer>>
111 SetCpuManufacturers(std::forward<CpuManufacturersT>(value));
112 return *this;
113 }
115 m_cpuManufacturersHasBeenSet = true;
116 m_cpuManufacturers.push_back(value);
117 return *this;
118 }
120
122
127 inline const MemoryGiBPerVCpuRequest& GetMemoryGiBPerVCpu() const { return m_memoryGiBPerVCpu; }
128 inline bool MemoryGiBPerVCpuHasBeenSet() const { return m_memoryGiBPerVCpuHasBeenSet; }
129 template <typename MemoryGiBPerVCpuT = MemoryGiBPerVCpuRequest>
130 void SetMemoryGiBPerVCpu(MemoryGiBPerVCpuT&& value) {
131 m_memoryGiBPerVCpuHasBeenSet = true;
132 m_memoryGiBPerVCpu = std::forward<MemoryGiBPerVCpuT>(value);
133 }
134 template <typename MemoryGiBPerVCpuT = MemoryGiBPerVCpuRequest>
136 SetMemoryGiBPerVCpu(std::forward<MemoryGiBPerVCpuT>(value));
137 return *this;
138 }
140
142
147 inline const Aws::Vector<Aws::String>& GetExcludedInstanceTypes() const { return m_excludedInstanceTypes; }
148 inline bool ExcludedInstanceTypesHasBeenSet() const { return m_excludedInstanceTypesHasBeenSet; }
149 template <typename ExcludedInstanceTypesT = Aws::Vector<Aws::String>>
150 void SetExcludedInstanceTypes(ExcludedInstanceTypesT&& value) {
151 m_excludedInstanceTypesHasBeenSet = true;
152 m_excludedInstanceTypes = std::forward<ExcludedInstanceTypesT>(value);
153 }
154 template <typename ExcludedInstanceTypesT = Aws::Vector<Aws::String>>
156 SetExcludedInstanceTypes(std::forward<ExcludedInstanceTypesT>(value));
157 return *this;
158 }
159 template <typename ExcludedInstanceTypesT = Aws::String>
160 InstanceRequirementsRequest& AddExcludedInstanceTypes(ExcludedInstanceTypesT&& value) {
161 m_excludedInstanceTypesHasBeenSet = true;
162 m_excludedInstanceTypes.emplace_back(std::forward<ExcludedInstanceTypesT>(value));
163 return *this;
164 }
166
168
173 inline const Aws::Vector<InstanceGeneration>& GetInstanceGenerations() const { return m_instanceGenerations; }
174 inline bool InstanceGenerationsHasBeenSet() const { return m_instanceGenerationsHasBeenSet; }
175 template <typename InstanceGenerationsT = Aws::Vector<InstanceGeneration>>
176 void SetInstanceGenerations(InstanceGenerationsT&& value) {
177 m_instanceGenerationsHasBeenSet = true;
178 m_instanceGenerations = std::forward<InstanceGenerationsT>(value);
179 }
180 template <typename InstanceGenerationsT = Aws::Vector<InstanceGeneration>>
182 SetInstanceGenerations(std::forward<InstanceGenerationsT>(value));
183 return *this;
184 }
186 m_instanceGenerationsHasBeenSet = true;
187 m_instanceGenerations.push_back(value);
188 return *this;
189 }
191
193
198 inline int GetSpotMaxPricePercentageOverLowestPrice() const { return m_spotMaxPricePercentageOverLowestPrice; }
199 inline bool SpotMaxPricePercentageOverLowestPriceHasBeenSet() const { return m_spotMaxPricePercentageOverLowestPriceHasBeenSet; }
201 m_spotMaxPricePercentageOverLowestPriceHasBeenSet = true;
202 m_spotMaxPricePercentageOverLowestPrice = value;
203 }
206 return *this;
207 }
209
211
222 inline int GetOnDemandMaxPricePercentageOverLowestPrice() const { return m_onDemandMaxPricePercentageOverLowestPrice; }
223 inline bool OnDemandMaxPricePercentageOverLowestPriceHasBeenSet() const { return m_onDemandMaxPricePercentageOverLowestPriceHasBeenSet; }
225 m_onDemandMaxPricePercentageOverLowestPriceHasBeenSet = true;
226 m_onDemandMaxPricePercentageOverLowestPrice = value;
227 }
230 return *this;
231 }
233
235
240 inline BareMetal GetBareMetal() const { return m_bareMetal; }
241 inline bool BareMetalHasBeenSet() const { return m_bareMetalHasBeenSet; }
242 inline void SetBareMetal(BareMetal value) {
243 m_bareMetalHasBeenSet = true;
244 m_bareMetal = value;
245 }
247 SetBareMetal(value);
248 return *this;
249 }
251
253
259 inline BurstablePerformance GetBurstablePerformance() const { return m_burstablePerformance; }
260 inline bool BurstablePerformanceHasBeenSet() const { return m_burstablePerformanceHasBeenSet; }
262 m_burstablePerformanceHasBeenSet = true;
263 m_burstablePerformance = value;
264 }
267 return *this;
268 }
270
272
277 inline bool GetRequireHibernateSupport() const { return m_requireHibernateSupport; }
278 inline bool RequireHibernateSupportHasBeenSet() const { return m_requireHibernateSupportHasBeenSet; }
279 inline void SetRequireHibernateSupport(bool value) {
280 m_requireHibernateSupportHasBeenSet = true;
281 m_requireHibernateSupport = value;
282 }
285 return *this;
286 }
288
290
294 inline const NetworkInterfaceCountRequest& GetNetworkInterfaceCount() const { return m_networkInterfaceCount; }
295 inline bool NetworkInterfaceCountHasBeenSet() const { return m_networkInterfaceCountHasBeenSet; }
296 template <typename NetworkInterfaceCountT = NetworkInterfaceCountRequest>
297 void SetNetworkInterfaceCount(NetworkInterfaceCountT&& value) {
298 m_networkInterfaceCountHasBeenSet = true;
299 m_networkInterfaceCount = std::forward<NetworkInterfaceCountT>(value);
300 }
301 template <typename NetworkInterfaceCountT = NetworkInterfaceCountRequest>
303 SetNetworkInterfaceCount(std::forward<NetworkInterfaceCountT>(value));
304 return *this;
305 }
307
309
314 inline LocalStorage GetLocalStorage() const { return m_localStorage; }
315 inline bool LocalStorageHasBeenSet() const { return m_localStorageHasBeenSet; }
316 inline void SetLocalStorage(LocalStorage value) {
317 m_localStorageHasBeenSet = true;
318 m_localStorage = value;
319 }
321 SetLocalStorage(value);
322 return *this;
323 }
325
327
331 inline const Aws::Vector<LocalStorageType>& GetLocalStorageTypes() const { return m_localStorageTypes; }
332 inline bool LocalStorageTypesHasBeenSet() const { return m_localStorageTypesHasBeenSet; }
333 template <typename LocalStorageTypesT = Aws::Vector<LocalStorageType>>
334 void SetLocalStorageTypes(LocalStorageTypesT&& value) {
335 m_localStorageTypesHasBeenSet = true;
336 m_localStorageTypes = std::forward<LocalStorageTypesT>(value);
337 }
338 template <typename LocalStorageTypesT = Aws::Vector<LocalStorageType>>
340 SetLocalStorageTypes(std::forward<LocalStorageTypesT>(value));
341 return *this;
342 }
344 m_localStorageTypesHasBeenSet = true;
345 m_localStorageTypes.push_back(value);
346 return *this;
347 }
349
351
355 inline const TotalLocalStorageGBRequest& GetTotalLocalStorageGB() const { return m_totalLocalStorageGB; }
356 inline bool TotalLocalStorageGBHasBeenSet() const { return m_totalLocalStorageGBHasBeenSet; }
357 template <typename TotalLocalStorageGBT = TotalLocalStorageGBRequest>
358 void SetTotalLocalStorageGB(TotalLocalStorageGBT&& value) {
359 m_totalLocalStorageGBHasBeenSet = true;
360 m_totalLocalStorageGB = std::forward<TotalLocalStorageGBT>(value);
361 }
362 template <typename TotalLocalStorageGBT = TotalLocalStorageGBRequest>
364 SetTotalLocalStorageGB(std::forward<TotalLocalStorageGBT>(value));
365 return *this;
366 }
368
370
374 inline const BaselineEbsBandwidthMbpsRequest& GetBaselineEbsBandwidthMbps() const { return m_baselineEbsBandwidthMbps; }
375 inline bool BaselineEbsBandwidthMbpsHasBeenSet() const { return m_baselineEbsBandwidthMbpsHasBeenSet; }
376 template <typename BaselineEbsBandwidthMbpsT = BaselineEbsBandwidthMbpsRequest>
377 void SetBaselineEbsBandwidthMbps(BaselineEbsBandwidthMbpsT&& value) {
378 m_baselineEbsBandwidthMbpsHasBeenSet = true;
379 m_baselineEbsBandwidthMbps = std::forward<BaselineEbsBandwidthMbpsT>(value);
380 }
381 template <typename BaselineEbsBandwidthMbpsT = BaselineEbsBandwidthMbpsRequest>
382 InstanceRequirementsRequest& WithBaselineEbsBandwidthMbps(BaselineEbsBandwidthMbpsT&& value) {
383 SetBaselineEbsBandwidthMbps(std::forward<BaselineEbsBandwidthMbpsT>(value));
384 return *this;
385 }
387
389
394 inline const Aws::Vector<AcceleratorType>& GetAcceleratorTypes() const { return m_acceleratorTypes; }
395 inline bool AcceleratorTypesHasBeenSet() const { return m_acceleratorTypesHasBeenSet; }
396 template <typename AcceleratorTypesT = Aws::Vector<AcceleratorType>>
397 void SetAcceleratorTypes(AcceleratorTypesT&& value) {
398 m_acceleratorTypesHasBeenSet = true;
399 m_acceleratorTypes = std::forward<AcceleratorTypesT>(value);
400 }
401 template <typename AcceleratorTypesT = Aws::Vector<AcceleratorType>>
403 SetAcceleratorTypes(std::forward<AcceleratorTypesT>(value));
404 return *this;
405 }
407 m_acceleratorTypesHasBeenSet = true;
408 m_acceleratorTypes.push_back(value);
409 return *this;
410 }
412
414
419 inline const AcceleratorCountRequest& GetAcceleratorCount() const { return m_acceleratorCount; }
420 inline bool AcceleratorCountHasBeenSet() const { return m_acceleratorCountHasBeenSet; }
421 template <typename AcceleratorCountT = AcceleratorCountRequest>
422 void SetAcceleratorCount(AcceleratorCountT&& value) {
423 m_acceleratorCountHasBeenSet = true;
424 m_acceleratorCount = std::forward<AcceleratorCountT>(value);
425 }
426 template <typename AcceleratorCountT = AcceleratorCountRequest>
428 SetAcceleratorCount(std::forward<AcceleratorCountT>(value));
429 return *this;
430 }
432
434
439 inline const Aws::Vector<AcceleratorManufacturer>& GetAcceleratorManufacturers() const { return m_acceleratorManufacturers; }
440 inline bool AcceleratorManufacturersHasBeenSet() const { return m_acceleratorManufacturersHasBeenSet; }
441 template <typename AcceleratorManufacturersT = Aws::Vector<AcceleratorManufacturer>>
442 void SetAcceleratorManufacturers(AcceleratorManufacturersT&& value) {
443 m_acceleratorManufacturersHasBeenSet = true;
444 m_acceleratorManufacturers = std::forward<AcceleratorManufacturersT>(value);
445 }
446 template <typename AcceleratorManufacturersT = Aws::Vector<AcceleratorManufacturer>>
447 InstanceRequirementsRequest& WithAcceleratorManufacturers(AcceleratorManufacturersT&& value) {
448 SetAcceleratorManufacturers(std::forward<AcceleratorManufacturersT>(value));
449 return *this;
450 }
452 m_acceleratorManufacturersHasBeenSet = true;
453 m_acceleratorManufacturers.push_back(value);
454 return *this;
455 }
457
459
464 inline const Aws::Vector<AcceleratorName>& GetAcceleratorNames() const { return m_acceleratorNames; }
465 inline bool AcceleratorNamesHasBeenSet() const { return m_acceleratorNamesHasBeenSet; }
466 template <typename AcceleratorNamesT = Aws::Vector<AcceleratorName>>
467 void SetAcceleratorNames(AcceleratorNamesT&& value) {
468 m_acceleratorNamesHasBeenSet = true;
469 m_acceleratorNames = std::forward<AcceleratorNamesT>(value);
470 }
471 template <typename AcceleratorNamesT = Aws::Vector<AcceleratorName>>
473 SetAcceleratorNames(std::forward<AcceleratorNamesT>(value));
474 return *this;
475 }
477 m_acceleratorNamesHasBeenSet = true;
478 m_acceleratorNames.push_back(value);
479 return *this;
480 }
482
484
488 inline const AcceleratorTotalMemoryMiBRequest& GetAcceleratorTotalMemoryMiB() const { return m_acceleratorTotalMemoryMiB; }
489 inline bool AcceleratorTotalMemoryMiBHasBeenSet() const { return m_acceleratorTotalMemoryMiBHasBeenSet; }
490 template <typename AcceleratorTotalMemoryMiBT = AcceleratorTotalMemoryMiBRequest>
491 void SetAcceleratorTotalMemoryMiB(AcceleratorTotalMemoryMiBT&& value) {
492 m_acceleratorTotalMemoryMiBHasBeenSet = true;
493 m_acceleratorTotalMemoryMiB = std::forward<AcceleratorTotalMemoryMiBT>(value);
494 }
495 template <typename AcceleratorTotalMemoryMiBT = AcceleratorTotalMemoryMiBRequest>
496 InstanceRequirementsRequest& WithAcceleratorTotalMemoryMiB(AcceleratorTotalMemoryMiBT&& value) {
497 SetAcceleratorTotalMemoryMiB(std::forward<AcceleratorTotalMemoryMiBT>(value));
498 return *this;
499 }
501
503
507 inline const NetworkBandwidthGbpsRequest& GetNetworkBandwidthGbps() const { return m_networkBandwidthGbps; }
508 inline bool NetworkBandwidthGbpsHasBeenSet() const { return m_networkBandwidthGbpsHasBeenSet; }
509 template <typename NetworkBandwidthGbpsT = NetworkBandwidthGbpsRequest>
510 void SetNetworkBandwidthGbps(NetworkBandwidthGbpsT&& value) {
511 m_networkBandwidthGbpsHasBeenSet = true;
512 m_networkBandwidthGbps = std::forward<NetworkBandwidthGbpsT>(value);
513 }
514 template <typename NetworkBandwidthGbpsT = NetworkBandwidthGbpsRequest>
516 SetNetworkBandwidthGbps(std::forward<NetworkBandwidthGbpsT>(value));
517 return *this;
518 }
520
522
527 inline const Aws::Vector<Aws::String>& GetAllowedInstanceTypes() const { return m_allowedInstanceTypes; }
528 inline bool AllowedInstanceTypesHasBeenSet() const { return m_allowedInstanceTypesHasBeenSet; }
529 template <typename AllowedInstanceTypesT = Aws::Vector<Aws::String>>
530 void SetAllowedInstanceTypes(AllowedInstanceTypesT&& value) {
531 m_allowedInstanceTypesHasBeenSet = true;
532 m_allowedInstanceTypes = std::forward<AllowedInstanceTypesT>(value);
533 }
534 template <typename AllowedInstanceTypesT = Aws::Vector<Aws::String>>
536 SetAllowedInstanceTypes(std::forward<AllowedInstanceTypesT>(value));
537 return *this;
538 }
539 template <typename AllowedInstanceTypesT = Aws::String>
540 InstanceRequirementsRequest& AddAllowedInstanceTypes(AllowedInstanceTypesT&& value) {
541 m_allowedInstanceTypesHasBeenSet = true;
542 m_allowedInstanceTypes.emplace_back(std::forward<AllowedInstanceTypesT>(value));
543 return *this;
544 }
546
548
552 inline int GetMaxSpotPriceAsPercentageOfOptimalOnDemandPrice() const { return m_maxSpotPriceAsPercentageOfOptimalOnDemandPrice; }
554 return m_maxSpotPriceAsPercentageOfOptimalOnDemandPriceHasBeenSet;
555 }
557 m_maxSpotPriceAsPercentageOfOptimalOnDemandPriceHasBeenSet = true;
558 m_maxSpotPriceAsPercentageOfOptimalOnDemandPrice = value;
559 }
562 return *this;
563 }
565 private:
566 VCpuCountRangeRequest m_vCpuCount;
567
568 MemoryMiBRequest m_memoryMiB;
569
570 Aws::Vector<CpuManufacturer> m_cpuManufacturers;
571
572 MemoryGiBPerVCpuRequest m_memoryGiBPerVCpu;
573
574 Aws::Vector<Aws::String> m_excludedInstanceTypes;
575
576 Aws::Vector<InstanceGeneration> m_instanceGenerations;
577
578 int m_spotMaxPricePercentageOverLowestPrice{0};
579
580 int m_onDemandMaxPricePercentageOverLowestPrice{0};
581
582 BareMetal m_bareMetal{BareMetal::NOT_SET};
583
585
586 bool m_requireHibernateSupport{false};
587
588 NetworkInterfaceCountRequest m_networkInterfaceCount;
589
590 LocalStorage m_localStorage{LocalStorage::NOT_SET};
591
592 Aws::Vector<LocalStorageType> m_localStorageTypes;
593
594 TotalLocalStorageGBRequest m_totalLocalStorageGB;
595
596 BaselineEbsBandwidthMbpsRequest m_baselineEbsBandwidthMbps;
597
598 Aws::Vector<AcceleratorType> m_acceleratorTypes;
599
600 AcceleratorCountRequest m_acceleratorCount;
601
602 Aws::Vector<AcceleratorManufacturer> m_acceleratorManufacturers;
603
604 Aws::Vector<AcceleratorName> m_acceleratorNames;
605
606 AcceleratorTotalMemoryMiBRequest m_acceleratorTotalMemoryMiB;
607
608 NetworkBandwidthGbpsRequest m_networkBandwidthGbps;
609
610 Aws::Vector<Aws::String> m_allowedInstanceTypes;
611
612 int m_maxSpotPriceAsPercentageOfOptimalOnDemandPrice{0};
613 bool m_vCpuCountHasBeenSet = false;
614 bool m_memoryMiBHasBeenSet = false;
615 bool m_cpuManufacturersHasBeenSet = false;
616 bool m_memoryGiBPerVCpuHasBeenSet = false;
617 bool m_excludedInstanceTypesHasBeenSet = false;
618 bool m_instanceGenerationsHasBeenSet = false;
619 bool m_spotMaxPricePercentageOverLowestPriceHasBeenSet = false;
620 bool m_onDemandMaxPricePercentageOverLowestPriceHasBeenSet = false;
621 bool m_bareMetalHasBeenSet = false;
622 bool m_burstablePerformanceHasBeenSet = false;
623 bool m_requireHibernateSupportHasBeenSet = false;
624 bool m_networkInterfaceCountHasBeenSet = false;
625 bool m_localStorageHasBeenSet = false;
626 bool m_localStorageTypesHasBeenSet = false;
627 bool m_totalLocalStorageGBHasBeenSet = false;
628 bool m_baselineEbsBandwidthMbpsHasBeenSet = false;
629 bool m_acceleratorTypesHasBeenSet = false;
630 bool m_acceleratorCountHasBeenSet = false;
631 bool m_acceleratorManufacturersHasBeenSet = false;
632 bool m_acceleratorNamesHasBeenSet = false;
633 bool m_acceleratorTotalMemoryMiBHasBeenSet = false;
634 bool m_networkBandwidthGbpsHasBeenSet = false;
635 bool m_allowedInstanceTypesHasBeenSet = false;
636 bool m_maxSpotPriceAsPercentageOfOptimalOnDemandPriceHasBeenSet = false;
637};
638
639} // namespace Model
640} // namespace ECS
641} // namespace Aws
const Aws::Vector< InstanceGeneration > & GetInstanceGenerations() const
const Aws::Vector< AcceleratorManufacturer > & GetAcceleratorManufacturers() const
void SetTotalLocalStorageGB(TotalLocalStorageGBT &&value)
void SetAcceleratorTotalMemoryMiB(AcceleratorTotalMemoryMiBT &&value)
const AcceleratorTotalMemoryMiBRequest & GetAcceleratorTotalMemoryMiB() const
InstanceRequirementsRequest & AddLocalStorageTypes(LocalStorageType value)
const Aws::Vector< Aws::String > & GetAllowedInstanceTypes() const
InstanceRequirementsRequest & WithOnDemandMaxPricePercentageOverLowestPrice(int value)
InstanceRequirementsRequest & WithRequireHibernateSupport(bool value)
InstanceRequirementsRequest & WithCpuManufacturers(CpuManufacturersT &&value)
InstanceRequirementsRequest & WithVCpuCount(VCpuCountT &&value)
const TotalLocalStorageGBRequest & GetTotalLocalStorageGB() const
InstanceRequirementsRequest & WithSpotMaxPricePercentageOverLowestPrice(int value)
void SetNetworkInterfaceCount(NetworkInterfaceCountT &&value)
InstanceRequirementsRequest & WithExcludedInstanceTypes(ExcludedInstanceTypesT &&value)
InstanceRequirementsRequest & WithAcceleratorTotalMemoryMiB(AcceleratorTotalMemoryMiBT &&value)
void SetInstanceGenerations(InstanceGenerationsT &&value)
InstanceRequirementsRequest & WithMemoryMiB(MemoryMiBT &&value)
const BaselineEbsBandwidthMbpsRequest & GetBaselineEbsBandwidthMbps() const
InstanceRequirementsRequest & AddCpuManufacturers(CpuManufacturer value)
const Aws::Vector< Aws::String > & GetExcludedInstanceTypes() const
InstanceRequirementsRequest & AddInstanceGenerations(InstanceGeneration value)
InstanceRequirementsRequest & WithAcceleratorTypes(AcceleratorTypesT &&value)
const VCpuCountRangeRequest & GetVCpuCount() const
InstanceRequirementsRequest & AddExcludedInstanceTypes(ExcludedInstanceTypesT &&value)
const Aws::Vector< AcceleratorType > & GetAcceleratorTypes() const
InstanceRequirementsRequest & WithBaselineEbsBandwidthMbps(BaselineEbsBandwidthMbpsT &&value)
AWS_ECS_API InstanceRequirementsRequest()=default
InstanceRequirementsRequest & AddAcceleratorManufacturers(AcceleratorManufacturer value)
void SetAcceleratorManufacturers(AcceleratorManufacturersT &&value)
InstanceRequirementsRequest & WithAcceleratorCount(AcceleratorCountT &&value)
InstanceRequirementsRequest & WithBareMetal(BareMetal value)
InstanceRequirementsRequest & WithNetworkInterfaceCount(NetworkInterfaceCountT &&value)
void SetExcludedInstanceTypes(ExcludedInstanceTypesT &&value)
InstanceRequirementsRequest & AddAllowedInstanceTypes(AllowedInstanceTypesT &&value)
InstanceRequirementsRequest & AddAcceleratorNames(AcceleratorName value)
InstanceRequirementsRequest & WithMaxSpotPriceAsPercentageOfOptimalOnDemandPrice(int value)
InstanceRequirementsRequest & WithAcceleratorNames(AcceleratorNamesT &&value)
const NetworkBandwidthGbpsRequest & GetNetworkBandwidthGbps() const
InstanceRequirementsRequest & WithMemoryGiBPerVCpu(MemoryGiBPerVCpuT &&value)
const AcceleratorCountRequest & GetAcceleratorCount() const
void SetNetworkBandwidthGbps(NetworkBandwidthGbpsT &&value)
const Aws::Vector< CpuManufacturer > & GetCpuManufacturers() const
void SetBaselineEbsBandwidthMbps(BaselineEbsBandwidthMbpsT &&value)
const NetworkInterfaceCountRequest & GetNetworkInterfaceCount() const
InstanceRequirementsRequest & WithTotalLocalStorageGB(TotalLocalStorageGBT &&value)
InstanceRequirementsRequest & WithLocalStorageTypes(LocalStorageTypesT &&value)
InstanceRequirementsRequest & WithLocalStorage(LocalStorage value)
InstanceRequirementsRequest & WithAcceleratorManufacturers(AcceleratorManufacturersT &&value)
InstanceRequirementsRequest & WithInstanceGenerations(InstanceGenerationsT &&value)
InstanceRequirementsRequest & WithBurstablePerformance(BurstablePerformance value)
AWS_ECS_API InstanceRequirementsRequest & operator=(Aws::Utils::Json::JsonView jsonValue)
InstanceRequirementsRequest & WithNetworkBandwidthGbps(NetworkBandwidthGbpsT &&value)
const Aws::Vector< AcceleratorName > & GetAcceleratorNames() const
InstanceRequirementsRequest & WithAllowedInstanceTypes(AllowedInstanceTypesT &&value)
AWS_ECS_API Aws::Utils::Json::JsonValue Jsonize() const
void SetAllowedInstanceTypes(AllowedInstanceTypesT &&value)
const Aws::Vector< LocalStorageType > & GetLocalStorageTypes() const
AWS_ECS_API InstanceRequirementsRequest(Aws::Utils::Json::JsonView jsonValue)
const MemoryGiBPerVCpuRequest & GetMemoryGiBPerVCpu() const
InstanceRequirementsRequest & AddAcceleratorTypes(AcceleratorType value)
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue