AWS SDK for C++

AWS SDK for C++ Version 1.11.607

Loading...
Searching...
No Matches
LaunchConfiguration.h
1
6#pragma once
7#include <aws/autoscaling/AutoScaling_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/core/utils/memory/stl/AWSVector.h>
11#include <aws/autoscaling/model/InstanceMonitoring.h>
12#include <aws/core/utils/DateTime.h>
13#include <aws/autoscaling/model/InstanceMetadataOptions.h>
14#include <aws/autoscaling/model/BlockDeviceMapping.h>
15#include <utility>
16
17namespace Aws
18{
19namespace Utils
20{
21namespace Xml
22{
23 class XmlNode;
24} // namespace Xml
25} // namespace Utils
26namespace AutoScaling
27{
28namespace Model
29{
30
37 {
38 public:
39 AWS_AUTOSCALING_API LaunchConfiguration() = default;
40 AWS_AUTOSCALING_API LaunchConfiguration(const Aws::Utils::Xml::XmlNode& xmlNode);
41 AWS_AUTOSCALING_API LaunchConfiguration& operator=(const Aws::Utils::Xml::XmlNode& xmlNode);
42
43 AWS_AUTOSCALING_API void OutputToStream(Aws::OStream& ostream, const char* location, unsigned index, const char* locationValue) const;
44 AWS_AUTOSCALING_API void OutputToStream(Aws::OStream& oStream, const char* location) const;
45
46
48
51 inline const Aws::String& GetLaunchConfigurationName() const { return m_launchConfigurationName; }
52 inline bool LaunchConfigurationNameHasBeenSet() const { return m_launchConfigurationNameHasBeenSet; }
53 template<typename LaunchConfigurationNameT = Aws::String>
54 void SetLaunchConfigurationName(LaunchConfigurationNameT&& value) { m_launchConfigurationNameHasBeenSet = true; m_launchConfigurationName = std::forward<LaunchConfigurationNameT>(value); }
55 template<typename LaunchConfigurationNameT = Aws::String>
56 LaunchConfiguration& WithLaunchConfigurationName(LaunchConfigurationNameT&& value) { SetLaunchConfigurationName(std::forward<LaunchConfigurationNameT>(value)); return *this;}
58
60
63 inline const Aws::String& GetLaunchConfigurationARN() const { return m_launchConfigurationARN; }
64 inline bool LaunchConfigurationARNHasBeenSet() const { return m_launchConfigurationARNHasBeenSet; }
65 template<typename LaunchConfigurationARNT = Aws::String>
66 void SetLaunchConfigurationARN(LaunchConfigurationARNT&& value) { m_launchConfigurationARNHasBeenSet = true; m_launchConfigurationARN = std::forward<LaunchConfigurationARNT>(value); }
67 template<typename LaunchConfigurationARNT = Aws::String>
68 LaunchConfiguration& WithLaunchConfigurationARN(LaunchConfigurationARNT&& value) { SetLaunchConfigurationARN(std::forward<LaunchConfigurationARNT>(value)); return *this;}
70
72
78 inline const Aws::String& GetImageId() const { return m_imageId; }
79 inline bool ImageIdHasBeenSet() const { return m_imageIdHasBeenSet; }
80 template<typename ImageIdT = Aws::String>
81 void SetImageId(ImageIdT&& value) { m_imageIdHasBeenSet = true; m_imageId = std::forward<ImageIdT>(value); }
82 template<typename ImageIdT = Aws::String>
83 LaunchConfiguration& WithImageId(ImageIdT&& value) { SetImageId(std::forward<ImageIdT>(value)); return *this;}
85
87
93 inline const Aws::String& GetKeyName() const { return m_keyName; }
94 inline bool KeyNameHasBeenSet() const { return m_keyNameHasBeenSet; }
95 template<typename KeyNameT = Aws::String>
96 void SetKeyName(KeyNameT&& value) { m_keyNameHasBeenSet = true; m_keyName = std::forward<KeyNameT>(value); }
97 template<typename KeyNameT = Aws::String>
98 LaunchConfiguration& WithKeyName(KeyNameT&& value) { SetKeyName(std::forward<KeyNameT>(value)); return *this;}
100
102
109 inline const Aws::Vector<Aws::String>& GetSecurityGroups() const { return m_securityGroups; }
110 inline bool SecurityGroupsHasBeenSet() const { return m_securityGroupsHasBeenSet; }
111 template<typename SecurityGroupsT = Aws::Vector<Aws::String>>
112 void SetSecurityGroups(SecurityGroupsT&& value) { m_securityGroupsHasBeenSet = true; m_securityGroups = std::forward<SecurityGroupsT>(value); }
113 template<typename SecurityGroupsT = Aws::Vector<Aws::String>>
114 LaunchConfiguration& WithSecurityGroups(SecurityGroupsT&& value) { SetSecurityGroups(std::forward<SecurityGroupsT>(value)); return *this;}
115 template<typename SecurityGroupsT = Aws::String>
116 LaunchConfiguration& AddSecurityGroups(SecurityGroupsT&& value) { m_securityGroupsHasBeenSet = true; m_securityGroups.emplace_back(std::forward<SecurityGroupsT>(value)); return *this; }
118
120
123 inline const Aws::String& GetClassicLinkVPCId() const { return m_classicLinkVPCId; }
124 inline bool ClassicLinkVPCIdHasBeenSet() const { return m_classicLinkVPCIdHasBeenSet; }
125 template<typename ClassicLinkVPCIdT = Aws::String>
126 void SetClassicLinkVPCId(ClassicLinkVPCIdT&& value) { m_classicLinkVPCIdHasBeenSet = true; m_classicLinkVPCId = std::forward<ClassicLinkVPCIdT>(value); }
127 template<typename ClassicLinkVPCIdT = Aws::String>
128 LaunchConfiguration& WithClassicLinkVPCId(ClassicLinkVPCIdT&& value) { SetClassicLinkVPCId(std::forward<ClassicLinkVPCIdT>(value)); return *this;}
130
132
135 inline const Aws::Vector<Aws::String>& GetClassicLinkVPCSecurityGroups() const { return m_classicLinkVPCSecurityGroups; }
136 inline bool ClassicLinkVPCSecurityGroupsHasBeenSet() const { return m_classicLinkVPCSecurityGroupsHasBeenSet; }
137 template<typename ClassicLinkVPCSecurityGroupsT = Aws::Vector<Aws::String>>
138 void SetClassicLinkVPCSecurityGroups(ClassicLinkVPCSecurityGroupsT&& value) { m_classicLinkVPCSecurityGroupsHasBeenSet = true; m_classicLinkVPCSecurityGroups = std::forward<ClassicLinkVPCSecurityGroupsT>(value); }
139 template<typename ClassicLinkVPCSecurityGroupsT = Aws::Vector<Aws::String>>
140 LaunchConfiguration& WithClassicLinkVPCSecurityGroups(ClassicLinkVPCSecurityGroupsT&& value) { SetClassicLinkVPCSecurityGroups(std::forward<ClassicLinkVPCSecurityGroupsT>(value)); return *this;}
141 template<typename ClassicLinkVPCSecurityGroupsT = Aws::String>
142 LaunchConfiguration& AddClassicLinkVPCSecurityGroups(ClassicLinkVPCSecurityGroupsT&& value) { m_classicLinkVPCSecurityGroupsHasBeenSet = true; m_classicLinkVPCSecurityGroups.emplace_back(std::forward<ClassicLinkVPCSecurityGroupsT>(value)); return *this; }
144
146
155 inline const Aws::String& GetUserData() const { return m_userData; }
156 inline bool UserDataHasBeenSet() const { return m_userDataHasBeenSet; }
157 template<typename UserDataT = Aws::String>
158 void SetUserData(UserDataT&& value) { m_userDataHasBeenSet = true; m_userData = std::forward<UserDataT>(value); }
159 template<typename UserDataT = Aws::String>
160 LaunchConfiguration& WithUserData(UserDataT&& value) { SetUserData(std::forward<UserDataT>(value)); return *this;}
162
164
170 inline const Aws::String& GetInstanceType() const { return m_instanceType; }
171 inline bool InstanceTypeHasBeenSet() const { return m_instanceTypeHasBeenSet; }
172 template<typename InstanceTypeT = Aws::String>
173 void SetInstanceType(InstanceTypeT&& value) { m_instanceTypeHasBeenSet = true; m_instanceType = std::forward<InstanceTypeT>(value); }
174 template<typename InstanceTypeT = Aws::String>
175 LaunchConfiguration& WithInstanceType(InstanceTypeT&& value) { SetInstanceType(std::forward<InstanceTypeT>(value)); return *this;}
177
179
182 inline const Aws::String& GetKernelId() const { return m_kernelId; }
183 inline bool KernelIdHasBeenSet() const { return m_kernelIdHasBeenSet; }
184 template<typename KernelIdT = Aws::String>
185 void SetKernelId(KernelIdT&& value) { m_kernelIdHasBeenSet = true; m_kernelId = std::forward<KernelIdT>(value); }
186 template<typename KernelIdT = Aws::String>
187 LaunchConfiguration& WithKernelId(KernelIdT&& value) { SetKernelId(std::forward<KernelIdT>(value)); return *this;}
189
191
194 inline const Aws::String& GetRamdiskId() const { return m_ramdiskId; }
195 inline bool RamdiskIdHasBeenSet() const { return m_ramdiskIdHasBeenSet; }
196 template<typename RamdiskIdT = Aws::String>
197 void SetRamdiskId(RamdiskIdT&& value) { m_ramdiskIdHasBeenSet = true; m_ramdiskId = std::forward<RamdiskIdT>(value); }
198 template<typename RamdiskIdT = Aws::String>
199 LaunchConfiguration& WithRamdiskId(RamdiskIdT&& value) { SetRamdiskId(std::forward<RamdiskIdT>(value)); return *this;}
201
203
210 inline const Aws::Vector<BlockDeviceMapping>& GetBlockDeviceMappings() const { return m_blockDeviceMappings; }
211 inline bool BlockDeviceMappingsHasBeenSet() const { return m_blockDeviceMappingsHasBeenSet; }
212 template<typename BlockDeviceMappingsT = Aws::Vector<BlockDeviceMapping>>
213 void SetBlockDeviceMappings(BlockDeviceMappingsT&& value) { m_blockDeviceMappingsHasBeenSet = true; m_blockDeviceMappings = std::forward<BlockDeviceMappingsT>(value); }
214 template<typename BlockDeviceMappingsT = Aws::Vector<BlockDeviceMapping>>
215 LaunchConfiguration& WithBlockDeviceMappings(BlockDeviceMappingsT&& value) { SetBlockDeviceMappings(std::forward<BlockDeviceMappingsT>(value)); return *this;}
216 template<typename BlockDeviceMappingsT = BlockDeviceMapping>
217 LaunchConfiguration& AddBlockDeviceMappings(BlockDeviceMappingsT&& value) { m_blockDeviceMappingsHasBeenSet = true; m_blockDeviceMappings.emplace_back(std::forward<BlockDeviceMappingsT>(value)); return *this; }
219
221
229 inline const InstanceMonitoring& GetInstanceMonitoring() const { return m_instanceMonitoring; }
230 inline bool InstanceMonitoringHasBeenSet() const { return m_instanceMonitoringHasBeenSet; }
231 template<typename InstanceMonitoringT = InstanceMonitoring>
232 void SetInstanceMonitoring(InstanceMonitoringT&& value) { m_instanceMonitoringHasBeenSet = true; m_instanceMonitoring = std::forward<InstanceMonitoringT>(value); }
233 template<typename InstanceMonitoringT = InstanceMonitoring>
234 LaunchConfiguration& WithInstanceMonitoring(InstanceMonitoringT&& value) { SetInstanceMonitoring(std::forward<InstanceMonitoringT>(value)); return *this;}
236
238
246 inline const Aws::String& GetSpotPrice() const { return m_spotPrice; }
247 inline bool SpotPriceHasBeenSet() const { return m_spotPriceHasBeenSet; }
248 template<typename SpotPriceT = Aws::String>
249 void SetSpotPrice(SpotPriceT&& value) { m_spotPriceHasBeenSet = true; m_spotPrice = std::forward<SpotPriceT>(value); }
250 template<typename SpotPriceT = Aws::String>
251 LaunchConfiguration& WithSpotPrice(SpotPriceT&& value) { SetSpotPrice(std::forward<SpotPriceT>(value)); return *this;}
253
255
263 inline const Aws::String& GetIamInstanceProfile() const { return m_iamInstanceProfile; }
264 inline bool IamInstanceProfileHasBeenSet() const { return m_iamInstanceProfileHasBeenSet; }
265 template<typename IamInstanceProfileT = Aws::String>
266 void SetIamInstanceProfile(IamInstanceProfileT&& value) { m_iamInstanceProfileHasBeenSet = true; m_iamInstanceProfile = std::forward<IamInstanceProfileT>(value); }
267 template<typename IamInstanceProfileT = Aws::String>
268 LaunchConfiguration& WithIamInstanceProfile(IamInstanceProfileT&& value) { SetIamInstanceProfile(std::forward<IamInstanceProfileT>(value)); return *this;}
270
272
275 inline const Aws::Utils::DateTime& GetCreatedTime() const { return m_createdTime; }
276 inline bool CreatedTimeHasBeenSet() const { return m_createdTimeHasBeenSet; }
277 template<typename CreatedTimeT = Aws::Utils::DateTime>
278 void SetCreatedTime(CreatedTimeT&& value) { m_createdTimeHasBeenSet = true; m_createdTime = std::forward<CreatedTimeT>(value); }
279 template<typename CreatedTimeT = Aws::Utils::DateTime>
280 LaunchConfiguration& WithCreatedTime(CreatedTimeT&& value) { SetCreatedTime(std::forward<CreatedTimeT>(value)); return *this;}
282
284
290 inline bool GetEbsOptimized() const { return m_ebsOptimized; }
291 inline bool EbsOptimizedHasBeenSet() const { return m_ebsOptimizedHasBeenSet; }
292 inline void SetEbsOptimized(bool value) { m_ebsOptimizedHasBeenSet = true; m_ebsOptimized = value; }
293 inline LaunchConfiguration& WithEbsOptimized(bool value) { SetEbsOptimized(value); return *this;}
295
297
308 inline bool GetAssociatePublicIpAddress() const { return m_associatePublicIpAddress; }
309 inline bool AssociatePublicIpAddressHasBeenSet() const { return m_associatePublicIpAddressHasBeenSet; }
310 inline void SetAssociatePublicIpAddress(bool value) { m_associatePublicIpAddressHasBeenSet = true; m_associatePublicIpAddress = value; }
313
315
320 inline const Aws::String& GetPlacementTenancy() const { return m_placementTenancy; }
321 inline bool PlacementTenancyHasBeenSet() const { return m_placementTenancyHasBeenSet; }
322 template<typename PlacementTenancyT = Aws::String>
323 void SetPlacementTenancy(PlacementTenancyT&& value) { m_placementTenancyHasBeenSet = true; m_placementTenancy = std::forward<PlacementTenancyT>(value); }
324 template<typename PlacementTenancyT = Aws::String>
325 LaunchConfiguration& WithPlacementTenancy(PlacementTenancyT&& value) { SetPlacementTenancy(std::forward<PlacementTenancyT>(value)); return *this;}
327
329
335 inline const InstanceMetadataOptions& GetMetadataOptions() const { return m_metadataOptions; }
336 inline bool MetadataOptionsHasBeenSet() const { return m_metadataOptionsHasBeenSet; }
337 template<typename MetadataOptionsT = InstanceMetadataOptions>
338 void SetMetadataOptions(MetadataOptionsT&& value) { m_metadataOptionsHasBeenSet = true; m_metadataOptions = std::forward<MetadataOptionsT>(value); }
339 template<typename MetadataOptionsT = InstanceMetadataOptions>
340 LaunchConfiguration& WithMetadataOptions(MetadataOptionsT&& value) { SetMetadataOptions(std::forward<MetadataOptionsT>(value)); return *this;}
342 private:
343
344 Aws::String m_launchConfigurationName;
345 bool m_launchConfigurationNameHasBeenSet = false;
346
347 Aws::String m_launchConfigurationARN;
348 bool m_launchConfigurationARNHasBeenSet = false;
349
350 Aws::String m_imageId;
351 bool m_imageIdHasBeenSet = false;
352
353 Aws::String m_keyName;
354 bool m_keyNameHasBeenSet = false;
355
356 Aws::Vector<Aws::String> m_securityGroups;
357 bool m_securityGroupsHasBeenSet = false;
358
359 Aws::String m_classicLinkVPCId;
360 bool m_classicLinkVPCIdHasBeenSet = false;
361
362 Aws::Vector<Aws::String> m_classicLinkVPCSecurityGroups;
363 bool m_classicLinkVPCSecurityGroupsHasBeenSet = false;
364
365 Aws::String m_userData;
366 bool m_userDataHasBeenSet = false;
367
368 Aws::String m_instanceType;
369 bool m_instanceTypeHasBeenSet = false;
370
371 Aws::String m_kernelId;
372 bool m_kernelIdHasBeenSet = false;
373
374 Aws::String m_ramdiskId;
375 bool m_ramdiskIdHasBeenSet = false;
376
377 Aws::Vector<BlockDeviceMapping> m_blockDeviceMappings;
378 bool m_blockDeviceMappingsHasBeenSet = false;
379
380 InstanceMonitoring m_instanceMonitoring;
381 bool m_instanceMonitoringHasBeenSet = false;
382
383 Aws::String m_spotPrice;
384 bool m_spotPriceHasBeenSet = false;
385
386 Aws::String m_iamInstanceProfile;
387 bool m_iamInstanceProfileHasBeenSet = false;
388
389 Aws::Utils::DateTime m_createdTime{};
390 bool m_createdTimeHasBeenSet = false;
391
392 bool m_ebsOptimized{false};
393 bool m_ebsOptimizedHasBeenSet = false;
394
395 bool m_associatePublicIpAddress{false};
396 bool m_associatePublicIpAddressHasBeenSet = false;
397
398 Aws::String m_placementTenancy;
399 bool m_placementTenancyHasBeenSet = false;
400
401 InstanceMetadataOptions m_metadataOptions;
402 bool m_metadataOptionsHasBeenSet = false;
403 };
404
405} // namespace Model
406} // namespace AutoScaling
407} // namespace Aws
const Aws::Utils::DateTime & GetCreatedTime() const
LaunchConfiguration & WithMetadataOptions(MetadataOptionsT &&value)
LaunchConfiguration & AddClassicLinkVPCSecurityGroups(ClassicLinkVPCSecurityGroupsT &&value)
void SetClassicLinkVPCSecurityGroups(ClassicLinkVPCSecurityGroupsT &&value)
LaunchConfiguration & WithInstanceMonitoring(InstanceMonitoringT &&value)
LaunchConfiguration & WithKernelId(KernelIdT &&value)
LaunchConfiguration & WithKeyName(KeyNameT &&value)
void SetMetadataOptions(MetadataOptionsT &&value)
const Aws::Vector< BlockDeviceMapping > & GetBlockDeviceMappings() const
LaunchConfiguration & WithInstanceType(InstanceTypeT &&value)
const InstanceMonitoring & GetInstanceMonitoring() const
const Aws::String & GetLaunchConfigurationARN() const
void SetLaunchConfigurationName(LaunchConfigurationNameT &&value)
LaunchConfiguration & WithIamInstanceProfile(IamInstanceProfileT &&value)
LaunchConfiguration & WithLaunchConfigurationName(LaunchConfigurationNameT &&value)
LaunchConfiguration & WithImageId(ImageIdT &&value)
LaunchConfiguration & WithUserData(UserDataT &&value)
void SetLaunchConfigurationARN(LaunchConfigurationARNT &&value)
void SetBlockDeviceMappings(BlockDeviceMappingsT &&value)
void SetIamInstanceProfile(IamInstanceProfileT &&value)
LaunchConfiguration & AddSecurityGroups(SecurityGroupsT &&value)
AWS_AUTOSCALING_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
AWS_AUTOSCALING_API void OutputToStream(Aws::OStream &oStream, const char *location) const
void SetPlacementTenancy(PlacementTenancyT &&value)
LaunchConfiguration & WithSecurityGroups(SecurityGroupsT &&value)
void SetClassicLinkVPCId(ClassicLinkVPCIdT &&value)
void SetInstanceMonitoring(InstanceMonitoringT &&value)
AWS_AUTOSCALING_API LaunchConfiguration & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
const Aws::String & GetLaunchConfigurationName() const
LaunchConfiguration & WithAssociatePublicIpAddress(bool value)
LaunchConfiguration & WithLaunchConfigurationARN(LaunchConfigurationARNT &&value)
LaunchConfiguration & WithSpotPrice(SpotPriceT &&value)
const InstanceMetadataOptions & GetMetadataOptions() const
LaunchConfiguration & WithBlockDeviceMappings(BlockDeviceMappingsT &&value)
const Aws::Vector< Aws::String > & GetSecurityGroups() const
AWS_AUTOSCALING_API LaunchConfiguration()=default
LaunchConfiguration & AddBlockDeviceMappings(BlockDeviceMappingsT &&value)
const Aws::Vector< Aws::String > & GetClassicLinkVPCSecurityGroups() const
LaunchConfiguration & WithCreatedTime(CreatedTimeT &&value)
LaunchConfiguration & WithEbsOptimized(bool value)
LaunchConfiguration & WithPlacementTenancy(PlacementTenancyT &&value)
LaunchConfiguration & WithClassicLinkVPCSecurityGroups(ClassicLinkVPCSecurityGroupsT &&value)
LaunchConfiguration & WithClassicLinkVPCId(ClassicLinkVPCIdT &&value)
AWS_AUTOSCALING_API LaunchConfiguration(const Aws::Utils::Xml::XmlNode &xmlNode)
LaunchConfiguration & WithRamdiskId(RamdiskIdT &&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