AWS SDK for C++

AWS SDK for C++ Version 1.11.748

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/MemoryMiBRange.h>
16#include <aws/deadline/model/ServiceManagedFleetOperatingSystemFamily.h>
17#include <aws/deadline/model/VCpuCountRange.h>
18
19#include <utility>
20
21namespace Aws {
22namespace Utils {
23namespace Json {
24class JsonValue;
25class JsonView;
26} // namespace Json
27} // namespace Utils
28namespace deadline {
29namespace Model {
30
37 public:
38 AWS_DEADLINE_API ServiceManagedEc2InstanceCapabilities() = default;
41 AWS_DEADLINE_API Aws::Utils::Json::JsonValue Jsonize() const;
42
44
47 inline const VCpuCountRange& GetVCpuCount() const { return m_vCpuCount; }
48 inline bool VCpuCountHasBeenSet() const { return m_vCpuCountHasBeenSet; }
49 template <typename VCpuCountT = VCpuCountRange>
50 void SetVCpuCount(VCpuCountT&& value) {
51 m_vCpuCountHasBeenSet = true;
52 m_vCpuCount = std::forward<VCpuCountT>(value);
53 }
54 template <typename VCpuCountT = VCpuCountRange>
56 SetVCpuCount(std::forward<VCpuCountT>(value));
57 return *this;
58 }
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) {
69 m_memoryMiBHasBeenSet = true;
70 m_memoryMiB = std::forward<MemoryMiBT>(value);
71 }
72 template <typename MemoryMiBT = MemoryMiBRange>
74 SetMemoryMiB(std::forward<MemoryMiBT>(value));
75 return *this;
76 }
78
80
83 inline ServiceManagedFleetOperatingSystemFamily GetOsFamily() const { return m_osFamily; }
84 inline bool OsFamilyHasBeenSet() const { return m_osFamilyHasBeenSet; }
86 m_osFamilyHasBeenSet = true;
87 m_osFamily = value;
88 }
90 SetOsFamily(value);
91 return *this;
92 }
94
96
99 inline CpuArchitectureType GetCpuArchitectureType() const { return m_cpuArchitectureType; }
100 inline bool CpuArchitectureTypeHasBeenSet() const { return m_cpuArchitectureTypeHasBeenSet; }
102 m_cpuArchitectureTypeHasBeenSet = true;
103 m_cpuArchitectureType = value;
104 }
107 return *this;
108 }
110
112
115 inline const Ec2EbsVolume& GetRootEbsVolume() const { return m_rootEbsVolume; }
116 inline bool RootEbsVolumeHasBeenSet() const { return m_rootEbsVolumeHasBeenSet; }
117 template <typename RootEbsVolumeT = Ec2EbsVolume>
118 void SetRootEbsVolume(RootEbsVolumeT&& value) {
119 m_rootEbsVolumeHasBeenSet = true;
120 m_rootEbsVolume = std::forward<RootEbsVolumeT>(value);
121 }
122 template <typename RootEbsVolumeT = Ec2EbsVolume>
124 SetRootEbsVolume(std::forward<RootEbsVolumeT>(value));
125 return *this;
126 }
128
130
134 inline const AcceleratorCapabilities& GetAcceleratorCapabilities() const { return m_acceleratorCapabilities; }
135 inline bool AcceleratorCapabilitiesHasBeenSet() const { return m_acceleratorCapabilitiesHasBeenSet; }
136 template <typename AcceleratorCapabilitiesT = AcceleratorCapabilities>
137 void SetAcceleratorCapabilities(AcceleratorCapabilitiesT&& value) {
138 m_acceleratorCapabilitiesHasBeenSet = true;
139 m_acceleratorCapabilities = std::forward<AcceleratorCapabilitiesT>(value);
140 }
141 template <typename AcceleratorCapabilitiesT = AcceleratorCapabilities>
143 SetAcceleratorCapabilities(std::forward<AcceleratorCapabilitiesT>(value));
144 return *this;
145 }
147
149
152 inline const Aws::Vector<Aws::String>& GetAllowedInstanceTypes() const { return m_allowedInstanceTypes; }
153 inline bool AllowedInstanceTypesHasBeenSet() const { return m_allowedInstanceTypesHasBeenSet; }
154 template <typename AllowedInstanceTypesT = Aws::Vector<Aws::String>>
155 void SetAllowedInstanceTypes(AllowedInstanceTypesT&& value) {
156 m_allowedInstanceTypesHasBeenSet = true;
157 m_allowedInstanceTypes = std::forward<AllowedInstanceTypesT>(value);
158 }
159 template <typename AllowedInstanceTypesT = Aws::Vector<Aws::String>>
161 SetAllowedInstanceTypes(std::forward<AllowedInstanceTypesT>(value));
162 return *this;
163 }
164 template <typename AllowedInstanceTypesT = Aws::String>
166 m_allowedInstanceTypesHasBeenSet = true;
167 m_allowedInstanceTypes.emplace_back(std::forward<AllowedInstanceTypesT>(value));
168 return *this;
169 }
171
173
176 inline const Aws::Vector<Aws::String>& GetExcludedInstanceTypes() const { return m_excludedInstanceTypes; }
177 inline bool ExcludedInstanceTypesHasBeenSet() const { return m_excludedInstanceTypesHasBeenSet; }
178 template <typename ExcludedInstanceTypesT = Aws::Vector<Aws::String>>
179 void SetExcludedInstanceTypes(ExcludedInstanceTypesT&& value) {
180 m_excludedInstanceTypesHasBeenSet = true;
181 m_excludedInstanceTypes = std::forward<ExcludedInstanceTypesT>(value);
182 }
183 template <typename ExcludedInstanceTypesT = Aws::Vector<Aws::String>>
185 SetExcludedInstanceTypes(std::forward<ExcludedInstanceTypesT>(value));
186 return *this;
187 }
188 template <typename ExcludedInstanceTypesT = Aws::String>
190 m_excludedInstanceTypesHasBeenSet = true;
191 m_excludedInstanceTypes.emplace_back(std::forward<ExcludedInstanceTypesT>(value));
192 return *this;
193 }
195
197
200 inline const Aws::Vector<FleetAmountCapability>& GetCustomAmounts() const { return m_customAmounts; }
201 inline bool CustomAmountsHasBeenSet() const { return m_customAmountsHasBeenSet; }
202 template <typename CustomAmountsT = Aws::Vector<FleetAmountCapability>>
203 void SetCustomAmounts(CustomAmountsT&& value) {
204 m_customAmountsHasBeenSet = true;
205 m_customAmounts = std::forward<CustomAmountsT>(value);
206 }
207 template <typename CustomAmountsT = Aws::Vector<FleetAmountCapability>>
209 SetCustomAmounts(std::forward<CustomAmountsT>(value));
210 return *this;
211 }
212 template <typename CustomAmountsT = FleetAmountCapability>
214 m_customAmountsHasBeenSet = true;
215 m_customAmounts.emplace_back(std::forward<CustomAmountsT>(value));
216 return *this;
217 }
219
221
224 inline const Aws::Vector<FleetAttributeCapability>& GetCustomAttributes() const { return m_customAttributes; }
225 inline bool CustomAttributesHasBeenSet() const { return m_customAttributesHasBeenSet; }
226 template <typename CustomAttributesT = Aws::Vector<FleetAttributeCapability>>
227 void SetCustomAttributes(CustomAttributesT&& value) {
228 m_customAttributesHasBeenSet = true;
229 m_customAttributes = std::forward<CustomAttributesT>(value);
230 }
231 template <typename CustomAttributesT = Aws::Vector<FleetAttributeCapability>>
233 SetCustomAttributes(std::forward<CustomAttributesT>(value));
234 return *this;
235 }
236 template <typename CustomAttributesT = FleetAttributeCapability>
238 m_customAttributesHasBeenSet = true;
239 m_customAttributes.emplace_back(std::forward<CustomAttributesT>(value));
240 return *this;
241 }
243 private:
244 VCpuCountRange m_vCpuCount;
245
246 MemoryMiBRange m_memoryMiB;
247
249
251
252 Ec2EbsVolume m_rootEbsVolume;
253
254 AcceleratorCapabilities m_acceleratorCapabilities;
255
256 Aws::Vector<Aws::String> m_allowedInstanceTypes;
257
258 Aws::Vector<Aws::String> m_excludedInstanceTypes;
259
261
262 Aws::Vector<FleetAttributeCapability> m_customAttributes;
263 bool m_vCpuCountHasBeenSet = false;
264 bool m_memoryMiBHasBeenSet = false;
265 bool m_osFamilyHasBeenSet = false;
266 bool m_cpuArchitectureTypeHasBeenSet = false;
267 bool m_rootEbsVolumeHasBeenSet = false;
268 bool m_acceleratorCapabilitiesHasBeenSet = false;
269 bool m_allowedInstanceTypesHasBeenSet = false;
270 bool m_excludedInstanceTypesHasBeenSet = false;
271 bool m_customAmountsHasBeenSet = false;
272 bool m_customAttributesHasBeenSet = false;
273};
274
275} // namespace Model
276} // namespace deadline
277} // 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