7#include <aws/autoscaling/AutoScaling_EXPORTS.h>
8#include <aws/autoscaling/model/BlockDeviceMapping.h>
9#include <aws/autoscaling/model/InstanceMetadataOptions.h>
10#include <aws/autoscaling/model/InstanceMonitoring.h>
11#include <aws/core/utils/DateTime.h>
12#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
13#include <aws/core/utils/memory/stl/AWSString.h>
14#include <aws/core/utils/memory/stl/AWSVector.h>
24namespace AutoScaling {
47 template <
typename LaunchConfigurationNameT = Aws::String>
49 m_launchConfigurationNameHasBeenSet =
true;
50 m_launchConfigurationName = std::forward<LaunchConfigurationNameT>(value);
52 template <
typename LaunchConfigurationNameT = Aws::String>
65 template <
typename LaunchConfigurationARNT = Aws::String>
67 m_launchConfigurationARNHasBeenSet =
true;
68 m_launchConfigurationARN = std::forward<LaunchConfigurationARNT>(value);
70 template <
typename LaunchConfigurationARNT = Aws::String>
86 template <
typename ImageIdT = Aws::String>
88 m_imageIdHasBeenSet =
true;
89 m_imageId = std::forward<ImageIdT>(value);
91 template <
typename ImageIdT = Aws::String>
107 template <
typename KeyNameT = Aws::String>
109 m_keyNameHasBeenSet =
true;
110 m_keyName = std::forward<KeyNameT>(value);
112 template <
typename KeyNameT = Aws::String>
129 template <
typename SecurityGroupsT = Aws::Vector<Aws::String>>
131 m_securityGroupsHasBeenSet =
true;
132 m_securityGroups = std::forward<SecurityGroupsT>(value);
134 template <
typename SecurityGroupsT = Aws::Vector<Aws::String>>
139 template <
typename SecurityGroupsT = Aws::String>
141 m_securityGroupsHasBeenSet =
true;
142 m_securityGroups.emplace_back(std::forward<SecurityGroupsT>(value));
153 template <
typename ClassicLinkVPCIdT = Aws::String>
155 m_classicLinkVPCIdHasBeenSet =
true;
156 m_classicLinkVPCId = std::forward<ClassicLinkVPCIdT>(value);
158 template <
typename ClassicLinkVPCIdT = Aws::String>
171 template <
typename ClassicLinkVPCSecurityGroupsT = Aws::Vector<Aws::String>>
173 m_classicLinkVPCSecurityGroupsHasBeenSet =
true;
174 m_classicLinkVPCSecurityGroups = std::forward<ClassicLinkVPCSecurityGroupsT>(value);
176 template <
typename ClassicLinkVPCSecurityGroupsT = Aws::Vector<Aws::String>>
181 template <
typename ClassicLinkVPCSecurityGroupsT = Aws::String>
183 m_classicLinkVPCSecurityGroupsHasBeenSet =
true;
184 m_classicLinkVPCSecurityGroups.emplace_back(std::forward<ClassicLinkVPCSecurityGroupsT>(value));
201 template <
typename UserDataT = Aws::String>
203 m_userDataHasBeenSet =
true;
204 m_userData = std::forward<UserDataT>(value);
206 template <
typename UserDataT = Aws::String>
222 template <
typename InstanceTypeT = Aws::String>
224 m_instanceTypeHasBeenSet =
true;
225 m_instanceType = std::forward<InstanceTypeT>(value);
227 template <
typename InstanceTypeT = Aws::String>
240 template <
typename KernelIdT = Aws::String>
242 m_kernelIdHasBeenSet =
true;
243 m_kernelId = std::forward<KernelIdT>(value);
245 template <
typename KernelIdT = Aws::String>
258 template <
typename RamdiskIdT = Aws::String>
260 m_ramdiskIdHasBeenSet =
true;
261 m_ramdiskId = std::forward<RamdiskIdT>(value);
263 template <
typename RamdiskIdT = Aws::String>
280 template <
typename BlockDeviceMappingsT = Aws::Vector<BlockDeviceMapping>>
282 m_blockDeviceMappingsHasBeenSet =
true;
283 m_blockDeviceMappings = std::forward<BlockDeviceMappingsT>(value);
285 template <
typename BlockDeviceMappingsT = Aws::Vector<BlockDeviceMapping>>
290 template <
typename BlockDeviceMappingsT = BlockDeviceMapping>
292 m_blockDeviceMappingsHasBeenSet =
true;
293 m_blockDeviceMappings.emplace_back(std::forward<BlockDeviceMappingsT>(value));
309 template <
typename InstanceMonitoringT = InstanceMonitoring>
311 m_instanceMonitoringHasBeenSet =
true;
312 m_instanceMonitoring = std::forward<InstanceMonitoringT>(value);
314 template <
typename InstanceMonitoringT = InstanceMonitoring>
332 template <
typename SpotPriceT = Aws::String>
334 m_spotPriceHasBeenSet =
true;
335 m_spotPrice = std::forward<SpotPriceT>(value);
337 template <
typename SpotPriceT = Aws::String>
355 template <
typename IamInstanceProfileT = Aws::String>
357 m_iamInstanceProfileHasBeenSet =
true;
358 m_iamInstanceProfile = std::forward<IamInstanceProfileT>(value);
360 template <
typename IamInstanceProfileT = Aws::String>
373 template <
typename CreatedTimeT = Aws::Utils::DateTime>
375 m_createdTimeHasBeenSet =
true;
376 m_createdTime = std::forward<CreatedTimeT>(value);
378 template <
typename CreatedTimeT = Aws::Utils::DateTime>
395 m_ebsOptimizedHasBeenSet =
true;
396 m_ebsOptimized = value;
419 m_associatePublicIpAddressHasBeenSet =
true;
420 m_associatePublicIpAddress = value;
436 template <
typename PlacementTenancyT = Aws::String>
438 m_placementTenancyHasBeenSet =
true;
439 m_placementTenancy = std::forward<PlacementTenancyT>(value);
441 template <
typename PlacementTenancyT = Aws::String>
457 template <
typename MetadataOptionsT = InstanceMetadataOptions>
459 m_metadataOptionsHasBeenSet =
true;
460 m_metadataOptions = std::forward<MetadataOptionsT>(value);
462 template <
typename MetadataOptionsT = InstanceMetadataOptions>
501 bool m_ebsOptimized{
false};
503 bool m_associatePublicIpAddress{
false};
507 InstanceMetadataOptions m_metadataOptions;
508 bool m_launchConfigurationNameHasBeenSet =
false;
509 bool m_launchConfigurationARNHasBeenSet =
false;
510 bool m_imageIdHasBeenSet =
false;
511 bool m_keyNameHasBeenSet =
false;
512 bool m_securityGroupsHasBeenSet =
false;
513 bool m_classicLinkVPCIdHasBeenSet =
false;
514 bool m_classicLinkVPCSecurityGroupsHasBeenSet =
false;
515 bool m_userDataHasBeenSet =
false;
516 bool m_instanceTypeHasBeenSet =
false;
517 bool m_kernelIdHasBeenSet =
false;
518 bool m_ramdiskIdHasBeenSet =
false;
519 bool m_blockDeviceMappingsHasBeenSet =
false;
520 bool m_instanceMonitoringHasBeenSet =
false;
521 bool m_spotPriceHasBeenSet =
false;
522 bool m_iamInstanceProfileHasBeenSet =
false;
523 bool m_createdTimeHasBeenSet =
false;
524 bool m_ebsOptimizedHasBeenSet =
false;
525 bool m_associatePublicIpAddressHasBeenSet =
false;
526 bool m_placementTenancyHasBeenSet =
false;
527 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