AWS SDK for C++

AWS SDK for C++ Version 1.11.612

Loading...
Searching...
No Matches
ServiceManagedEc2InstanceCapabilities.h
1
6#pragma once
7#include <aws/deadline/Deadline_EXPORTS.h>
8#include <aws/deadline/model/VCpuCountRange.h>
9#include <aws/deadline/model/MemoryMiBRange.h>
10#include <aws/deadline/model/ServiceManagedFleetOperatingSystemFamily.h>
11#include <aws/deadline/model/CpuArchitectureType.h>
12#include <aws/deadline/model/Ec2EbsVolume.h>
13#include <aws/deadline/model/AcceleratorCapabilities.h>
14#include <aws/core/utils/memory/stl/AWSVector.h>
15#include <aws/core/utils/memory/stl/AWSString.h>
16#include <aws/deadline/model/FleetAmountCapability.h>
17#include <aws/deadline/model/FleetAttributeCapability.h>
18#include <utility>
19
20namespace Aws
21{
22namespace Utils
23{
24namespace Json
25{
26 class JsonValue;
27 class JsonView;
28} // namespace Json
29} // namespace Utils
30namespace deadline
31{
32namespace Model
33{
34
41 {
42 public:
43 AWS_DEADLINE_API ServiceManagedEc2InstanceCapabilities() = default;
46 AWS_DEADLINE_API Aws::Utils::Json::JsonValue Jsonize() const;
47
48
50
53 inline const VCpuCountRange& GetVCpuCount() const { return m_vCpuCount; }
54 inline bool VCpuCountHasBeenSet() const { return m_vCpuCountHasBeenSet; }
55 template<typename VCpuCountT = VCpuCountRange>
56 void SetVCpuCount(VCpuCountT&& value) { m_vCpuCountHasBeenSet = true; m_vCpuCount = std::forward<VCpuCountT>(value); }
57 template<typename VCpuCountT = VCpuCountRange>
58 ServiceManagedEc2InstanceCapabilities& WithVCpuCount(VCpuCountT&& value) { SetVCpuCount(std::forward<VCpuCountT>(value)); return *this;}
60
62
65 inline const MemoryMiBRange& GetMemoryMiB() const { return m_memoryMiB; }
66 inline bool MemoryMiBHasBeenSet() const { return m_memoryMiBHasBeenSet; }
67 template<typename MemoryMiBT = MemoryMiBRange>
68 void SetMemoryMiB(MemoryMiBT&& value) { m_memoryMiBHasBeenSet = true; m_memoryMiB = std::forward<MemoryMiBT>(value); }
69 template<typename MemoryMiBT = MemoryMiBRange>
70 ServiceManagedEc2InstanceCapabilities& WithMemoryMiB(MemoryMiBT&& value) { SetMemoryMiB(std::forward<MemoryMiBT>(value)); return *this;}
72
74
77 inline ServiceManagedFleetOperatingSystemFamily GetOsFamily() const { return m_osFamily; }
78 inline bool OsFamilyHasBeenSet() const { return m_osFamilyHasBeenSet; }
79 inline void SetOsFamily(ServiceManagedFleetOperatingSystemFamily value) { m_osFamilyHasBeenSet = true; m_osFamily = value; }
82
84
87 inline CpuArchitectureType GetCpuArchitectureType() const { return m_cpuArchitectureType; }
88 inline bool CpuArchitectureTypeHasBeenSet() const { return m_cpuArchitectureTypeHasBeenSet; }
89 inline void SetCpuArchitectureType(CpuArchitectureType value) { m_cpuArchitectureTypeHasBeenSet = true; m_cpuArchitectureType = value; }
92
94
97 inline const Ec2EbsVolume& GetRootEbsVolume() const { return m_rootEbsVolume; }
98 inline bool RootEbsVolumeHasBeenSet() const { return m_rootEbsVolumeHasBeenSet; }
99 template<typename RootEbsVolumeT = Ec2EbsVolume>
100 void SetRootEbsVolume(RootEbsVolumeT&& value) { m_rootEbsVolumeHasBeenSet = true; m_rootEbsVolume = std::forward<RootEbsVolumeT>(value); }
101 template<typename RootEbsVolumeT = Ec2EbsVolume>
102 ServiceManagedEc2InstanceCapabilities& WithRootEbsVolume(RootEbsVolumeT&& value) { SetRootEbsVolume(std::forward<RootEbsVolumeT>(value)); return *this;}
104
106
110 inline const AcceleratorCapabilities& GetAcceleratorCapabilities() const { return m_acceleratorCapabilities; }
111 inline bool AcceleratorCapabilitiesHasBeenSet() const { return m_acceleratorCapabilitiesHasBeenSet; }
112 template<typename AcceleratorCapabilitiesT = AcceleratorCapabilities>
113 void SetAcceleratorCapabilities(AcceleratorCapabilitiesT&& value) { m_acceleratorCapabilitiesHasBeenSet = true; m_acceleratorCapabilities = std::forward<AcceleratorCapabilitiesT>(value); }
114 template<typename AcceleratorCapabilitiesT = AcceleratorCapabilities>
115 ServiceManagedEc2InstanceCapabilities& WithAcceleratorCapabilities(AcceleratorCapabilitiesT&& value) { SetAcceleratorCapabilities(std::forward<AcceleratorCapabilitiesT>(value)); return *this;}
117
119
122 inline const Aws::Vector<Aws::String>& GetAllowedInstanceTypes() const { return m_allowedInstanceTypes; }
123 inline bool AllowedInstanceTypesHasBeenSet() const { return m_allowedInstanceTypesHasBeenSet; }
124 template<typename AllowedInstanceTypesT = Aws::Vector<Aws::String>>
125 void SetAllowedInstanceTypes(AllowedInstanceTypesT&& value) { m_allowedInstanceTypesHasBeenSet = true; m_allowedInstanceTypes = std::forward<AllowedInstanceTypesT>(value); }
126 template<typename AllowedInstanceTypesT = Aws::Vector<Aws::String>>
127 ServiceManagedEc2InstanceCapabilities& WithAllowedInstanceTypes(AllowedInstanceTypesT&& value) { SetAllowedInstanceTypes(std::forward<AllowedInstanceTypesT>(value)); return *this;}
128 template<typename AllowedInstanceTypesT = Aws::String>
129 ServiceManagedEc2InstanceCapabilities& AddAllowedInstanceTypes(AllowedInstanceTypesT&& value) { m_allowedInstanceTypesHasBeenSet = true; m_allowedInstanceTypes.emplace_back(std::forward<AllowedInstanceTypesT>(value)); return *this; }
131
133
136 inline const Aws::Vector<Aws::String>& GetExcludedInstanceTypes() const { return m_excludedInstanceTypes; }
137 inline bool ExcludedInstanceTypesHasBeenSet() const { return m_excludedInstanceTypesHasBeenSet; }
138 template<typename ExcludedInstanceTypesT = Aws::Vector<Aws::String>>
139 void SetExcludedInstanceTypes(ExcludedInstanceTypesT&& value) { m_excludedInstanceTypesHasBeenSet = true; m_excludedInstanceTypes = std::forward<ExcludedInstanceTypesT>(value); }
140 template<typename ExcludedInstanceTypesT = Aws::Vector<Aws::String>>
141 ServiceManagedEc2InstanceCapabilities& WithExcludedInstanceTypes(ExcludedInstanceTypesT&& value) { SetExcludedInstanceTypes(std::forward<ExcludedInstanceTypesT>(value)); return *this;}
142 template<typename ExcludedInstanceTypesT = Aws::String>
143 ServiceManagedEc2InstanceCapabilities& AddExcludedInstanceTypes(ExcludedInstanceTypesT&& value) { m_excludedInstanceTypesHasBeenSet = true; m_excludedInstanceTypes.emplace_back(std::forward<ExcludedInstanceTypesT>(value)); return *this; }
145
147
150 inline const Aws::Vector<FleetAmountCapability>& GetCustomAmounts() const { return m_customAmounts; }
151 inline bool CustomAmountsHasBeenSet() const { return m_customAmountsHasBeenSet; }
152 template<typename CustomAmountsT = Aws::Vector<FleetAmountCapability>>
153 void SetCustomAmounts(CustomAmountsT&& value) { m_customAmountsHasBeenSet = true; m_customAmounts = std::forward<CustomAmountsT>(value); }
154 template<typename CustomAmountsT = Aws::Vector<FleetAmountCapability>>
155 ServiceManagedEc2InstanceCapabilities& WithCustomAmounts(CustomAmountsT&& value) { SetCustomAmounts(std::forward<CustomAmountsT>(value)); return *this;}
156 template<typename CustomAmountsT = FleetAmountCapability>
157 ServiceManagedEc2InstanceCapabilities& AddCustomAmounts(CustomAmountsT&& value) { m_customAmountsHasBeenSet = true; m_customAmounts.emplace_back(std::forward<CustomAmountsT>(value)); return *this; }
159
161
164 inline const Aws::Vector<FleetAttributeCapability>& GetCustomAttributes() const { return m_customAttributes; }
165 inline bool CustomAttributesHasBeenSet() const { return m_customAttributesHasBeenSet; }
166 template<typename CustomAttributesT = Aws::Vector<FleetAttributeCapability>>
167 void SetCustomAttributes(CustomAttributesT&& value) { m_customAttributesHasBeenSet = true; m_customAttributes = std::forward<CustomAttributesT>(value); }
168 template<typename CustomAttributesT = Aws::Vector<FleetAttributeCapability>>
169 ServiceManagedEc2InstanceCapabilities& WithCustomAttributes(CustomAttributesT&& value) { SetCustomAttributes(std::forward<CustomAttributesT>(value)); return *this;}
170 template<typename CustomAttributesT = FleetAttributeCapability>
171 ServiceManagedEc2InstanceCapabilities& AddCustomAttributes(CustomAttributesT&& value) { m_customAttributesHasBeenSet = true; m_customAttributes.emplace_back(std::forward<CustomAttributesT>(value)); return *this; }
173 private:
174
175 VCpuCountRange m_vCpuCount;
176 bool m_vCpuCountHasBeenSet = false;
177
178 MemoryMiBRange m_memoryMiB;
179 bool m_memoryMiBHasBeenSet = false;
180
182 bool m_osFamilyHasBeenSet = false;
183
185 bool m_cpuArchitectureTypeHasBeenSet = false;
186
187 Ec2EbsVolume m_rootEbsVolume;
188 bool m_rootEbsVolumeHasBeenSet = false;
189
190 AcceleratorCapabilities m_acceleratorCapabilities;
191 bool m_acceleratorCapabilitiesHasBeenSet = false;
192
193 Aws::Vector<Aws::String> m_allowedInstanceTypes;
194 bool m_allowedInstanceTypesHasBeenSet = false;
195
196 Aws::Vector<Aws::String> m_excludedInstanceTypes;
197 bool m_excludedInstanceTypesHasBeenSet = false;
198
200 bool m_customAmountsHasBeenSet = false;
201
202 Aws::Vector<FleetAttributeCapability> m_customAttributes;
203 bool m_customAttributesHasBeenSet = false;
204 };
205
206} // namespace Model
207} // namespace deadline
208} // namespace Aws
ServiceManagedEc2InstanceCapabilities & WithAllowedInstanceTypes(AllowedInstanceTypesT &&value)
ServiceManagedEc2InstanceCapabilities & AddCustomAmounts(CustomAmountsT &&value)
ServiceManagedEc2InstanceCapabilities & AddExcludedInstanceTypes(ExcludedInstanceTypesT &&value)
AWS_DEADLINE_API ServiceManagedEc2InstanceCapabilities & operator=(Aws::Utils::Json::JsonView jsonValue)
ServiceManagedEc2InstanceCapabilities & WithCustomAttributes(CustomAttributesT &&value)
ServiceManagedEc2InstanceCapabilities & AddAllowedInstanceTypes(AllowedInstanceTypesT &&value)
ServiceManagedEc2InstanceCapabilities & WithCpuArchitectureType(CpuArchitectureType value)
ServiceManagedEc2InstanceCapabilities & AddCustomAttributes(CustomAttributesT &&value)
ServiceManagedEc2InstanceCapabilities & WithRootEbsVolume(RootEbsVolumeT &&value)
ServiceManagedEc2InstanceCapabilities & WithExcludedInstanceTypes(ExcludedInstanceTypesT &&value)
const Aws::Vector< FleetAttributeCapability > & GetCustomAttributes() const
ServiceManagedEc2InstanceCapabilities & WithOsFamily(ServiceManagedFleetOperatingSystemFamily value)
ServiceManagedEc2InstanceCapabilities & WithVCpuCount(VCpuCountT &&value)
AWS_DEADLINE_API Aws::Utils::Json::JsonValue Jsonize() const
ServiceManagedEc2InstanceCapabilities & WithMemoryMiB(MemoryMiBT &&value)
const Aws::Vector< FleetAmountCapability > & GetCustomAmounts() const
ServiceManagedEc2InstanceCapabilities & WithAcceleratorCapabilities(AcceleratorCapabilitiesT &&value)
ServiceManagedEc2InstanceCapabilities & WithCustomAmounts(CustomAmountsT &&value)
AWS_DEADLINE_API ServiceManagedEc2InstanceCapabilities(Aws::Utils::Json::JsonView jsonValue)
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue