AWS SDK for C++

AWS SDK for C++ Version 1.11.908

Loading...
Searching...
No Matches
ServiceManagedEc2InstanceCapabilities.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/deadline/Deadline_EXPORTS.h>
10#include <aws/deadline/model/AcceleratorCapabilities.h>
11#include <aws/deadline/model/CpuArchitectureType.h>
12#include <aws/deadline/model/Ec2EbsVolume.h>
13#include <aws/deadline/model/FleetAmountCapability.h>
14#include <aws/deadline/model/FleetAttributeCapability.h>
15#include <aws/deadline/model/FleetSoftwareAddOn.h>
16#include <aws/deadline/model/MemoryMiBRange.h>
17#include <aws/deadline/model/ServiceManagedFleetOperatingSystemFamily.h>
18#include <aws/deadline/model/VCpuCountRange.h>
19
20#include <utility>
21
22namespace Aws {
23namespace Utils {
24namespace Json {
25class JsonValue;
26class JsonView;
27} // namespace Json
28} // namespace Utils
29namespace deadline {
30namespace Model {
31
38 public:
39 AWS_DEADLINE_API ServiceManagedEc2InstanceCapabilities() = default;
42 AWS_DEADLINE_API Aws::Utils::Json::JsonValue Jsonize() const;
43
45
48 inline const VCpuCountRange& GetVCpuCount() const { return m_vCpuCount; }
49 inline bool VCpuCountHasBeenSet() const { return m_vCpuCountHasBeenSet; }
50 template <typename VCpuCountT = VCpuCountRange>
51 void SetVCpuCount(VCpuCountT&& value) {
52 m_vCpuCountHasBeenSet = true;
53 m_vCpuCount = std::forward<VCpuCountT>(value);
54 }
55 template <typename VCpuCountT = VCpuCountRange>
57 SetVCpuCount(std::forward<VCpuCountT>(value));
58 return *this;
59 }
61
63
66 inline const MemoryMiBRange& GetMemoryMiB() const { return m_memoryMiB; }
67 inline bool MemoryMiBHasBeenSet() const { return m_memoryMiBHasBeenSet; }
68 template <typename MemoryMiBT = MemoryMiBRange>
69 void SetMemoryMiB(MemoryMiBT&& value) {
70 m_memoryMiBHasBeenSet = true;
71 m_memoryMiB = std::forward<MemoryMiBT>(value);
72 }
73 template <typename MemoryMiBT = MemoryMiBRange>
75 SetMemoryMiB(std::forward<MemoryMiBT>(value));
76 return *this;
77 }
79
81
84 inline ServiceManagedFleetOperatingSystemFamily GetOsFamily() const { return m_osFamily; }
85 inline bool OsFamilyHasBeenSet() const { return m_osFamilyHasBeenSet; }
87 m_osFamilyHasBeenSet = true;
88 m_osFamily = value;
89 }
91 SetOsFamily(value);
92 return *this;
93 }
95
97
100 inline CpuArchitectureType GetCpuArchitectureType() const { return m_cpuArchitectureType; }
101 inline bool CpuArchitectureTypeHasBeenSet() const { return m_cpuArchitectureTypeHasBeenSet; }
103 m_cpuArchitectureTypeHasBeenSet = true;
104 m_cpuArchitectureType = value;
105 }
108 return *this;
109 }
111
113
116 inline const Ec2EbsVolume& GetRootEbsVolume() const { return m_rootEbsVolume; }
117 inline bool RootEbsVolumeHasBeenSet() const { return m_rootEbsVolumeHasBeenSet; }
118 template <typename RootEbsVolumeT = Ec2EbsVolume>
119 void SetRootEbsVolume(RootEbsVolumeT&& value) {
120 m_rootEbsVolumeHasBeenSet = true;
121 m_rootEbsVolume = std::forward<RootEbsVolumeT>(value);
122 }
123 template <typename RootEbsVolumeT = Ec2EbsVolume>
125 SetRootEbsVolume(std::forward<RootEbsVolumeT>(value));
126 return *this;
127 }
129
131
135 inline const AcceleratorCapabilities& GetAcceleratorCapabilities() const { return m_acceleratorCapabilities; }
136 inline bool AcceleratorCapabilitiesHasBeenSet() const { return m_acceleratorCapabilitiesHasBeenSet; }
137 template <typename AcceleratorCapabilitiesT = AcceleratorCapabilities>
138 void SetAcceleratorCapabilities(AcceleratorCapabilitiesT&& value) {
139 m_acceleratorCapabilitiesHasBeenSet = true;
140 m_acceleratorCapabilities = std::forward<AcceleratorCapabilitiesT>(value);
141 }
142 template <typename AcceleratorCapabilitiesT = AcceleratorCapabilities>
144 SetAcceleratorCapabilities(std::forward<AcceleratorCapabilitiesT>(value));
145 return *this;
146 }
148
150
153 inline const Aws::Vector<Aws::String>& GetAllowedInstanceTypes() const { return m_allowedInstanceTypes; }
154 inline bool AllowedInstanceTypesHasBeenSet() const { return m_allowedInstanceTypesHasBeenSet; }
155 template <typename AllowedInstanceTypesT = Aws::Vector<Aws::String>>
156 void SetAllowedInstanceTypes(AllowedInstanceTypesT&& value) {
157 m_allowedInstanceTypesHasBeenSet = true;
158 m_allowedInstanceTypes = std::forward<AllowedInstanceTypesT>(value);
159 }
160 template <typename AllowedInstanceTypesT = Aws::Vector<Aws::String>>
162 SetAllowedInstanceTypes(std::forward<AllowedInstanceTypesT>(value));
163 return *this;
164 }
165 template <typename AllowedInstanceTypesT = Aws::String>
167 m_allowedInstanceTypesHasBeenSet = true;
168 m_allowedInstanceTypes.emplace_back(std::forward<AllowedInstanceTypesT>(value));
169 return *this;
170 }
172
174
177 inline const Aws::Vector<Aws::String>& GetExcludedInstanceTypes() const { return m_excludedInstanceTypes; }
178 inline bool ExcludedInstanceTypesHasBeenSet() const { return m_excludedInstanceTypesHasBeenSet; }
179 template <typename ExcludedInstanceTypesT = Aws::Vector<Aws::String>>
180 void SetExcludedInstanceTypes(ExcludedInstanceTypesT&& value) {
181 m_excludedInstanceTypesHasBeenSet = true;
182 m_excludedInstanceTypes = std::forward<ExcludedInstanceTypesT>(value);
183 }
184 template <typename ExcludedInstanceTypesT = Aws::Vector<Aws::String>>
186 SetExcludedInstanceTypes(std::forward<ExcludedInstanceTypesT>(value));
187 return *this;
188 }
189 template <typename ExcludedInstanceTypesT = Aws::String>
191 m_excludedInstanceTypesHasBeenSet = true;
192 m_excludedInstanceTypes.emplace_back(std::forward<ExcludedInstanceTypesT>(value));
193 return *this;
194 }
196
198
201 inline const Aws::Vector<FleetAmountCapability>& GetCustomAmounts() const { return m_customAmounts; }
202 inline bool CustomAmountsHasBeenSet() const { return m_customAmountsHasBeenSet; }
203 template <typename CustomAmountsT = Aws::Vector<FleetAmountCapability>>
204 void SetCustomAmounts(CustomAmountsT&& value) {
205 m_customAmountsHasBeenSet = true;
206 m_customAmounts = std::forward<CustomAmountsT>(value);
207 }
208 template <typename CustomAmountsT = Aws::Vector<FleetAmountCapability>>
210 SetCustomAmounts(std::forward<CustomAmountsT>(value));
211 return *this;
212 }
213 template <typename CustomAmountsT = FleetAmountCapability>
215 m_customAmountsHasBeenSet = true;
216 m_customAmounts.emplace_back(std::forward<CustomAmountsT>(value));
217 return *this;
218 }
220
222
225 inline const Aws::Vector<FleetAttributeCapability>& GetCustomAttributes() const { return m_customAttributes; }
226 inline bool CustomAttributesHasBeenSet() const { return m_customAttributesHasBeenSet; }
227 template <typename CustomAttributesT = Aws::Vector<FleetAttributeCapability>>
228 void SetCustomAttributes(CustomAttributesT&& value) {
229 m_customAttributesHasBeenSet = true;
230 m_customAttributes = std::forward<CustomAttributesT>(value);
231 }
232 template <typename CustomAttributesT = Aws::Vector<FleetAttributeCapability>>
234 SetCustomAttributes(std::forward<CustomAttributesT>(value));
235 return *this;
236 }
237 template <typename CustomAttributesT = FleetAttributeCapability>
239 m_customAttributesHasBeenSet = true;
240 m_customAttributes.emplace_back(std::forward<CustomAttributesT>(value));
241 return *this;
242 }
244
246
250 inline const Aws::Vector<FleetSoftwareAddOn>& GetSoftwareAddOns() const { return m_softwareAddOns; }
251 inline bool SoftwareAddOnsHasBeenSet() const { return m_softwareAddOnsHasBeenSet; }
252 template <typename SoftwareAddOnsT = Aws::Vector<FleetSoftwareAddOn>>
253 void SetSoftwareAddOns(SoftwareAddOnsT&& value) {
254 m_softwareAddOnsHasBeenSet = true;
255 m_softwareAddOns = std::forward<SoftwareAddOnsT>(value);
256 }
257 template <typename SoftwareAddOnsT = Aws::Vector<FleetSoftwareAddOn>>
259 SetSoftwareAddOns(std::forward<SoftwareAddOnsT>(value));
260 return *this;
261 }
262 template <typename SoftwareAddOnsT = FleetSoftwareAddOn>
264 m_softwareAddOnsHasBeenSet = true;
265 m_softwareAddOns.emplace_back(std::forward<SoftwareAddOnsT>(value));
266 return *this;
267 }
269 private:
270 VCpuCountRange m_vCpuCount;
271
272 MemoryMiBRange m_memoryMiB;
273
275
277
278 Ec2EbsVolume m_rootEbsVolume;
279
280 AcceleratorCapabilities m_acceleratorCapabilities;
281
282 Aws::Vector<Aws::String> m_allowedInstanceTypes;
283
284 Aws::Vector<Aws::String> m_excludedInstanceTypes;
285
287
288 Aws::Vector<FleetAttributeCapability> m_customAttributes;
289
290 Aws::Vector<FleetSoftwareAddOn> m_softwareAddOns;
291 bool m_vCpuCountHasBeenSet = false;
292 bool m_memoryMiBHasBeenSet = false;
293 bool m_osFamilyHasBeenSet = false;
294 bool m_cpuArchitectureTypeHasBeenSet = false;
295 bool m_rootEbsVolumeHasBeenSet = false;
296 bool m_acceleratorCapabilitiesHasBeenSet = false;
297 bool m_allowedInstanceTypesHasBeenSet = false;
298 bool m_excludedInstanceTypesHasBeenSet = false;
299 bool m_customAmountsHasBeenSet = false;
300 bool m_customAttributesHasBeenSet = false;
301 bool m_softwareAddOnsHasBeenSet = false;
302};
303
304} // namespace Model
305} // namespace deadline
306} // 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 & WithSoftwareAddOns(SoftwareAddOnsT &&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 & AddSoftwareAddOns(SoftwareAddOnsT &&value)
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