AWS SDK for C++

AWS SDK for C++ Version 1.11.716

Loading...
Searching...
No Matches
ScheduledInstancesLaunchSpecification.h
1
6#pragma once
7#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/memory/stl/AWSVector.h>
10#include <aws/ec2/EC2_EXPORTS.h>
11#include <aws/ec2/model/ScheduledInstancesBlockDeviceMapping.h>
12#include <aws/ec2/model/ScheduledInstancesIamInstanceProfile.h>
13#include <aws/ec2/model/ScheduledInstancesMonitoring.h>
14#include <aws/ec2/model/ScheduledInstancesNetworkInterface.h>
15#include <aws/ec2/model/ScheduledInstancesPlacement.h>
16
17#include <utility>
18
19namespace Aws {
20namespace Utils {
21namespace Xml {
22class XmlNode;
23} // namespace Xml
24} // namespace Utils
25namespace EC2 {
26namespace Model {
27
37 public:
41
42 AWS_EC2_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
43 AWS_EC2_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
44
46
49 inline const Aws::Vector<ScheduledInstancesBlockDeviceMapping>& GetBlockDeviceMappings() const { return m_blockDeviceMappings; }
50 inline bool BlockDeviceMappingsHasBeenSet() const { return m_blockDeviceMappingsHasBeenSet; }
51 template <typename BlockDeviceMappingsT = Aws::Vector<ScheduledInstancesBlockDeviceMapping>>
52 void SetBlockDeviceMappings(BlockDeviceMappingsT&& value) {
53 m_blockDeviceMappingsHasBeenSet = true;
54 m_blockDeviceMappings = std::forward<BlockDeviceMappingsT>(value);
55 }
56 template <typename BlockDeviceMappingsT = Aws::Vector<ScheduledInstancesBlockDeviceMapping>>
58 SetBlockDeviceMappings(std::forward<BlockDeviceMappingsT>(value));
59 return *this;
60 }
61 template <typename BlockDeviceMappingsT = ScheduledInstancesBlockDeviceMapping>
63 m_blockDeviceMappingsHasBeenSet = true;
64 m_blockDeviceMappings.emplace_back(std::forward<BlockDeviceMappingsT>(value));
65 return *this;
66 }
68
70
77 inline bool GetEbsOptimized() const { return m_ebsOptimized; }
78 inline bool EbsOptimizedHasBeenSet() const { return m_ebsOptimizedHasBeenSet; }
79 inline void SetEbsOptimized(bool value) {
80 m_ebsOptimizedHasBeenSet = true;
81 m_ebsOptimized = value;
82 }
84 SetEbsOptimized(value);
85 return *this;
86 }
88
90
93 inline const ScheduledInstancesIamInstanceProfile& GetIamInstanceProfile() const { return m_iamInstanceProfile; }
94 inline bool IamInstanceProfileHasBeenSet() const { return m_iamInstanceProfileHasBeenSet; }
95 template <typename IamInstanceProfileT = ScheduledInstancesIamInstanceProfile>
96 void SetIamInstanceProfile(IamInstanceProfileT&& value) {
97 m_iamInstanceProfileHasBeenSet = true;
98 m_iamInstanceProfile = std::forward<IamInstanceProfileT>(value);
99 }
100 template <typename IamInstanceProfileT = ScheduledInstancesIamInstanceProfile>
102 SetIamInstanceProfile(std::forward<IamInstanceProfileT>(value));
103 return *this;
104 }
106
108
111 inline const Aws::String& GetImageId() const { return m_imageId; }
112 inline bool ImageIdHasBeenSet() const { return m_imageIdHasBeenSet; }
113 template <typename ImageIdT = Aws::String>
114 void SetImageId(ImageIdT&& value) {
115 m_imageIdHasBeenSet = true;
116 m_imageId = std::forward<ImageIdT>(value);
117 }
118 template <typename ImageIdT = Aws::String>
120 SetImageId(std::forward<ImageIdT>(value));
121 return *this;
122 }
124
126
129 inline const Aws::String& GetInstanceType() const { return m_instanceType; }
130 inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; }
131 template <typename InstanceTypeT = Aws::String>
132 void SetInstanceType(InstanceTypeT&& value) {
133 m_instanceTypeHasBeenSet = true;
134 m_instanceType = std::forward<InstanceTypeT>(value);
135 }
136 template <typename InstanceTypeT = Aws::String>
138 SetInstanceType(std::forward<InstanceTypeT>(value));
139 return *this;
140 }
142
144
147 inline const Aws::String& GetKernelId() const { return m_kernelId; }
148 inline bool KernelIdHasBeenSet() const { return m_kernelIdHasBeenSet; }
149 template <typename KernelIdT = Aws::String>
150 void SetKernelId(KernelIdT&& value) {
151 m_kernelIdHasBeenSet = true;
152 m_kernelId = std::forward<KernelIdT>(value);
153 }
154 template <typename KernelIdT = Aws::String>
156 SetKernelId(std::forward<KernelIdT>(value));
157 return *this;
158 }
160
162
165 inline const Aws::String& GetKeyName() const { return m_keyName; }
166 inline bool KeyNameHasBeenSet() const { return m_keyNameHasBeenSet; }
167 template <typename KeyNameT = Aws::String>
168 void SetKeyName(KeyNameT&& value) {
169 m_keyNameHasBeenSet = true;
170 m_keyName = std::forward<KeyNameT>(value);
171 }
172 template <typename KeyNameT = Aws::String>
174 SetKeyName(std::forward<KeyNameT>(value));
175 return *this;
176 }
178
180
183 inline const ScheduledInstancesMonitoring& GetMonitoring() const { return m_monitoring; }
184 inline bool MonitoringHasBeenSet() const { return m_monitoringHasBeenSet; }
185 template <typename MonitoringT = ScheduledInstancesMonitoring>
186 void SetMonitoring(MonitoringT&& value) {
187 m_monitoringHasBeenSet = true;
188 m_monitoring = std::forward<MonitoringT>(value);
189 }
190 template <typename MonitoringT = ScheduledInstancesMonitoring>
192 SetMonitoring(std::forward<MonitoringT>(value));
193 return *this;
194 }
196
198
201 inline const Aws::Vector<ScheduledInstancesNetworkInterface>& GetNetworkInterfaces() const { return m_networkInterfaces; }
202 inline bool NetworkInterfacesHasBeenSet() const { return m_networkInterfacesHasBeenSet; }
203 template <typename NetworkInterfacesT = Aws::Vector<ScheduledInstancesNetworkInterface>>
204 void SetNetworkInterfaces(NetworkInterfacesT&& value) {
205 m_networkInterfacesHasBeenSet = true;
206 m_networkInterfaces = std::forward<NetworkInterfacesT>(value);
207 }
208 template <typename NetworkInterfacesT = Aws::Vector<ScheduledInstancesNetworkInterface>>
210 SetNetworkInterfaces(std::forward<NetworkInterfacesT>(value));
211 return *this;
212 }
213 template <typename NetworkInterfacesT = ScheduledInstancesNetworkInterface>
215 m_networkInterfacesHasBeenSet = true;
216 m_networkInterfaces.emplace_back(std::forward<NetworkInterfacesT>(value));
217 return *this;
218 }
220
222
225 inline const ScheduledInstancesPlacement& GetPlacement() const { return m_placement; }
226 inline bool PlacementHasBeenSet() const { return m_placementHasBeenSet; }
227 template <typename PlacementT = ScheduledInstancesPlacement>
228 void SetPlacement(PlacementT&& value) {
229 m_placementHasBeenSet = true;
230 m_placement = std::forward<PlacementT>(value);
231 }
232 template <typename PlacementT = ScheduledInstancesPlacement>
234 SetPlacement(std::forward<PlacementT>(value));
235 return *this;
236 }
238
240
243 inline const Aws::String& GetRamdiskId() const { return m_ramdiskId; }
244 inline bool RamdiskIdHasBeenSet() const { return m_ramdiskIdHasBeenSet; }
245 template <typename RamdiskIdT = Aws::String>
246 void SetRamdiskId(RamdiskIdT&& value) {
247 m_ramdiskIdHasBeenSet = true;
248 m_ramdiskId = std::forward<RamdiskIdT>(value);
249 }
250 template <typename RamdiskIdT = Aws::String>
252 SetRamdiskId(std::forward<RamdiskIdT>(value));
253 return *this;
254 }
256
258
261 inline const Aws::Vector<Aws::String>& GetSecurityGroupIds() const { return m_securityGroupIds; }
262 inline bool SecurityGroupIdsHasBeenSet() const { return m_securityGroupIdsHasBeenSet; }
263 template <typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
264 void SetSecurityGroupIds(SecurityGroupIdsT&& value) {
265 m_securityGroupIdsHasBeenSet = true;
266 m_securityGroupIds = std::forward<SecurityGroupIdsT>(value);
267 }
268 template <typename SecurityGroupIdsT = Aws::Vector<Aws::String>>
270 SetSecurityGroupIds(std::forward<SecurityGroupIdsT>(value));
271 return *this;
272 }
273 template <typename SecurityGroupIdsT = Aws::String>
275 m_securityGroupIdsHasBeenSet = true;
276 m_securityGroupIds.emplace_back(std::forward<SecurityGroupIdsT>(value));
277 return *this;
278 }
280
282
285 inline const Aws::String& GetSubnetId() const { return m_subnetId; }
286 inline bool SubnetIdHasBeenSet() const { return m_subnetIdHasBeenSet; }
287 template <typename SubnetIdT = Aws::String>
288 void SetSubnetId(SubnetIdT&& value) {
289 m_subnetIdHasBeenSet = true;
290 m_subnetId = std::forward<SubnetIdT>(value);
291 }
292 template <typename SubnetIdT = Aws::String>
294 SetSubnetId(std::forward<SubnetIdT>(value));
295 return *this;
296 }
298
300
303 inline const Aws::String& GetUserData() const { return m_userData; }
304 inline bool UserDataHasBeenSet() const { return m_userDataHasBeenSet; }
305 template <typename UserDataT = Aws::String>
306 void SetUserData(UserDataT&& value) {
307 m_userDataHasBeenSet = true;
308 m_userData = std::forward<UserDataT>(value);
309 }
310 template <typename UserDataT = Aws::String>
312 SetUserData(std::forward<UserDataT>(value));
313 return *this;
314 }
316 private:
318
319 bool m_ebsOptimized{false};
320
321 ScheduledInstancesIamInstanceProfile m_iamInstanceProfile;
322
323 Aws::String m_imageId;
324
325 Aws::String m_instanceType;
326
327 Aws::String m_kernelId;
328
329 Aws::String m_keyName;
330
331 ScheduledInstancesMonitoring m_monitoring;
332
334
335 ScheduledInstancesPlacement m_placement;
336
337 Aws::String m_ramdiskId;
338
339 Aws::Vector<Aws::String> m_securityGroupIds;
340
341 Aws::String m_subnetId;
342
343 Aws::String m_userData;
344 bool m_blockDeviceMappingsHasBeenSet = false;
345 bool m_ebsOptimizedHasBeenSet = false;
346 bool m_iamInstanceProfileHasBeenSet = false;
347 bool m_imageIdHasBeenSet = false;
348 bool m_instanceTypeHasBeenSet = false;
349 bool m_kernelIdHasBeenSet = false;
350 bool m_keyNameHasBeenSet = false;
351 bool m_monitoringHasBeenSet = false;
352 bool m_networkInterfacesHasBeenSet = false;
353 bool m_placementHasBeenSet = false;
354 bool m_ramdiskIdHasBeenSet = false;
355 bool m_securityGroupIdsHasBeenSet = false;
356 bool m_subnetIdHasBeenSet = false;
357 bool m_userDataHasBeenSet = false;
358};
359
360} // namespace Model
361} // namespace EC2
362} // namespace Aws
const Aws::Vector< ScheduledInstancesNetworkInterface > & GetNetworkInterfaces() const
ScheduledInstancesLaunchSpecification & AddNetworkInterfaces(NetworkInterfacesT &&value)
ScheduledInstancesLaunchSpecification & WithNetworkInterfaces(NetworkInterfacesT &&value)
ScheduledInstancesLaunchSpecification & AddBlockDeviceMappings(BlockDeviceMappingsT &&value)
ScheduledInstancesLaunchSpecification & WithBlockDeviceMappings(BlockDeviceMappingsT &&value)
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
ScheduledInstancesLaunchSpecification & WithRamdiskId(RamdiskIdT &&value)
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
ScheduledInstancesLaunchSpecification & WithImageId(ImageIdT &&value)
ScheduledInstancesLaunchSpecification & AddSecurityGroupIds(SecurityGroupIdsT &&value)
ScheduledInstancesLaunchSpecification & WithPlacement(PlacementT &&value)
ScheduledInstancesLaunchSpecification & WithInstanceType(InstanceTypeT &&value)
ScheduledInstancesLaunchSpecification & WithSecurityGroupIds(SecurityGroupIdsT &&value)
AWS_EC2_API ScheduledInstancesLaunchSpecification & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
const ScheduledInstancesIamInstanceProfile & GetIamInstanceProfile() const
ScheduledInstancesLaunchSpecification & WithMonitoring(MonitoringT &&value)
ScheduledInstancesLaunchSpecification & WithUserData(UserDataT &&value)
const Aws::Vector< ScheduledInstancesBlockDeviceMapping > & GetBlockDeviceMappings() const
ScheduledInstancesLaunchSpecification & WithEbsOptimized(bool value)
ScheduledInstancesLaunchSpecification & WithKeyName(KeyNameT &&value)
ScheduledInstancesLaunchSpecification & WithIamInstanceProfile(IamInstanceProfileT &&value)
AWS_EC2_API ScheduledInstancesLaunchSpecification(const Aws::Utils::Xml::XmlNode &xmlNode)
ScheduledInstancesLaunchSpecification & WithSubnetId(SubnetIdT &&value)
ScheduledInstancesLaunchSpecification & WithKernelId(KernelIdT &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
std::basic_ostream< char, std::char_traits< char > > OStream