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>
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>
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>
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>
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>
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>>
115 template<
typename SecurityGroupsT = Aws::String>
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>
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>>
141 template<
typename ClassicLinkVPCSecurityGroupsT = Aws::String>
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>
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>
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>
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>
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>>
216 template<
typename BlockDeviceMappingsT = BlockDeviceMapping>
231 template<
typename InstanceMonitoringT = InstanceMonitoring>
232 void SetInstanceMonitoring(InstanceMonitoringT&& value) { m_instanceMonitoringHasBeenSet =
true; m_instanceMonitoring = std::forward<InstanceMonitoringT>(value); }
233 template<
typename InstanceMonitoringT = InstanceMonitoring>
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>
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>
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>
292 inline void SetEbsOptimized(
bool value) { m_ebsOptimizedHasBeenSet =
true; m_ebsOptimized = value; }
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>
337 template<
typename MetadataOptionsT = InstanceMetadataOptions>
338 void SetMetadataOptions(MetadataOptionsT&& value) { m_metadataOptionsHasBeenSet =
true; m_metadataOptions = std::forward<MetadataOptionsT>(value); }
339 template<
typename MetadataOptionsT = InstanceMetadataOptions>
345 bool m_launchConfigurationNameHasBeenSet =
false;
348 bool m_launchConfigurationARNHasBeenSet =
false;
351 bool m_imageIdHasBeenSet =
false;
354 bool m_keyNameHasBeenSet =
false;
357 bool m_securityGroupsHasBeenSet =
false;
360 bool m_classicLinkVPCIdHasBeenSet =
false;
363 bool m_classicLinkVPCSecurityGroupsHasBeenSet =
false;
366 bool m_userDataHasBeenSet =
false;
369 bool m_instanceTypeHasBeenSet =
false;
372 bool m_kernelIdHasBeenSet =
false;
375 bool m_ramdiskIdHasBeenSet =
false;
378 bool m_blockDeviceMappingsHasBeenSet =
false;
381 bool m_instanceMonitoringHasBeenSet =
false;
384 bool m_spotPriceHasBeenSet =
false;
387 bool m_iamInstanceProfileHasBeenSet =
false;
390 bool m_createdTimeHasBeenSet =
false;
392 bool m_ebsOptimized{
false};
393 bool m_ebsOptimizedHasBeenSet =
false;
395 bool m_associatePublicIpAddress{
false};
396 bool m_associatePublicIpAddressHasBeenSet =
false;
399 bool m_placementTenancyHasBeenSet =
false;
401 InstanceMetadataOptions m_metadataOptions;
402 bool m_metadataOptionsHasBeenSet =
false;
bool MetadataOptionsHasBeenSet() const
bool GetAssociatePublicIpAddress() const
void SetImageId(ImageIdT &&value)
const Aws::Utils::DateTime & GetCreatedTime() const
LaunchConfiguration & WithMetadataOptions(MetadataOptionsT &&value)
const Aws::String & GetPlacementTenancy() const
const Aws::String & GetKeyName() const
LaunchConfiguration & AddClassicLinkVPCSecurityGroups(ClassicLinkVPCSecurityGroupsT &&value)
const Aws::String & GetRamdiskId() const
void SetClassicLinkVPCSecurityGroups(ClassicLinkVPCSecurityGroupsT &&value)
LaunchConfiguration & WithInstanceMonitoring(InstanceMonitoringT &&value)
LaunchConfiguration & WithKernelId(KernelIdT &&value)
void SetRamdiskId(RamdiskIdT &&value)
LaunchConfiguration & WithKeyName(KeyNameT &&value)
const Aws::String & GetKernelId() const
const Aws::String & GetInstanceType() const
void SetMetadataOptions(MetadataOptionsT &&value)
bool SecurityGroupsHasBeenSet() const
bool GetEbsOptimized() const
bool InstanceTypeHasBeenSet() const
bool KeyNameHasBeenSet() const
const Aws::Vector< BlockDeviceMapping > & GetBlockDeviceMappings() const
LaunchConfiguration & WithInstanceType(InstanceTypeT &&value)
bool KernelIdHasBeenSet() const
bool AssociatePublicIpAddressHasBeenSet() const
bool BlockDeviceMappingsHasBeenSet() const
const InstanceMonitoring & GetInstanceMonitoring() const
const Aws::String & GetLaunchConfigurationARN() const
bool IamInstanceProfileHasBeenSet() const
void SetLaunchConfigurationName(LaunchConfigurationNameT &&value)
void SetUserData(UserDataT &&value)
LaunchConfiguration & WithIamInstanceProfile(IamInstanceProfileT &&value)
void SetInstanceType(InstanceTypeT &&value)
LaunchConfiguration & WithLaunchConfigurationName(LaunchConfigurationNameT &&value)
const Aws::String & GetSpotPrice() const
bool ClassicLinkVPCIdHasBeenSet() const
const Aws::String & GetIamInstanceProfile() const
void SetCreatedTime(CreatedTimeT &&value)
LaunchConfiguration & WithImageId(ImageIdT &&value)
const Aws::String & GetImageId() const
LaunchConfiguration & WithUserData(UserDataT &&value)
void SetLaunchConfigurationARN(LaunchConfigurationARNT &&value)
void SetBlockDeviceMappings(BlockDeviceMappingsT &&value)
bool ClassicLinkVPCSecurityGroupsHasBeenSet() const
void SetIamInstanceProfile(IamInstanceProfileT &&value)
void SetAssociatePublicIpAddress(bool value)
bool UserDataHasBeenSet() const
LaunchConfiguration & AddSecurityGroups(SecurityGroupsT &&value)
AWS_AUTOSCALING_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
const Aws::String & GetUserData() const
AWS_AUTOSCALING_API void OutputToStream(Aws::OStream &oStream, const char *location) const
void SetPlacementTenancy(PlacementTenancyT &&value)
LaunchConfiguration & WithSecurityGroups(SecurityGroupsT &&value)
void SetSpotPrice(SpotPriceT &&value)
void SetClassicLinkVPCId(ClassicLinkVPCIdT &&value)
void SetInstanceMonitoring(InstanceMonitoringT &&value)
bool LaunchConfigurationARNHasBeenSet() const
AWS_AUTOSCALING_API LaunchConfiguration & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
bool InstanceMonitoringHasBeenSet() const
const Aws::String & GetLaunchConfigurationName() const
LaunchConfiguration & WithAssociatePublicIpAddress(bool value)
const Aws::String & GetClassicLinkVPCId() const
LaunchConfiguration & WithLaunchConfigurationARN(LaunchConfigurationARNT &&value)
LaunchConfiguration & WithSpotPrice(SpotPriceT &&value)
void SetKernelId(KernelIdT &&value)
const InstanceMetadataOptions & GetMetadataOptions() const
bool ImageIdHasBeenSet() const
LaunchConfiguration & WithBlockDeviceMappings(BlockDeviceMappingsT &&value)
bool CreatedTimeHasBeenSet() const
const Aws::Vector< Aws::String > & GetSecurityGroups() const
bool SpotPriceHasBeenSet() const
void SetKeyName(KeyNameT &&value)
AWS_AUTOSCALING_API LaunchConfiguration()=default
LaunchConfiguration & AddBlockDeviceMappings(BlockDeviceMappingsT &&value)
bool LaunchConfigurationNameHasBeenSet() const
const Aws::Vector< Aws::String > & GetClassicLinkVPCSecurityGroups() const
bool RamdiskIdHasBeenSet() const
bool PlacementTenancyHasBeenSet() 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)
void SetSecurityGroups(SecurityGroupsT &&value)
LaunchConfiguration & WithRamdiskId(RamdiskIdT &&value)
void SetEbsOptimized(bool value)
bool EbsOptimizedHasBeenSet() const
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