7#include <aws/ec2/EC2_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSStreamFwd.h>
9#include <aws/core/utils/memory/stl/AWSString.h>
10#include <aws/ec2/model/LaunchTemplateIamInstanceProfileSpecification.h>
11#include <aws/core/utils/memory/stl/AWSVector.h>
12#include <aws/ec2/model/InstanceType.h>
13#include <aws/ec2/model/LaunchTemplatesMonitoring.h>
14#include <aws/ec2/model/LaunchTemplatePlacement.h>
15#include <aws/ec2/model/ShutdownBehavior.h>
16#include <aws/ec2/model/LaunchTemplateInstanceMarketOptions.h>
17#include <aws/ec2/model/CreditSpecification.h>
18#include <aws/ec2/model/LaunchTemplateCpuOptions.h>
19#include <aws/ec2/model/LaunchTemplateCapacityReservationSpecificationResponse.h>
20#include <aws/ec2/model/LaunchTemplateHibernationOptions.h>
21#include <aws/ec2/model/LaunchTemplateInstanceMetadataOptions.h>
22#include <aws/ec2/model/LaunchTemplateEnclaveOptions.h>
23#include <aws/ec2/model/InstanceRequirements.h>
24#include <aws/ec2/model/LaunchTemplatePrivateDnsNameOptions.h>
25#include <aws/ec2/model/LaunchTemplateInstanceMaintenanceOptions.h>
26#include <aws/ec2/model/LaunchTemplateBlockDeviceMapping.h>
27#include <aws/ec2/model/LaunchTemplateInstanceNetworkInterfaceSpecification.h>
28#include <aws/ec2/model/LaunchTemplateTagSpecification.h>
29#include <aws/ec2/model/ElasticGpuSpecificationResponse.h>
30#include <aws/ec2/model/LaunchTemplateElasticInferenceAcceleratorResponse.h>
31#include <aws/ec2/model/LaunchTemplateLicenseConfiguration.h>
72 inline void SetKernelId(
const char* value) { m_kernelIdHasBeenSet =
true; m_kernelId.assign(value); }
84 inline void SetEbsOptimized(
bool value) { m_ebsOptimizedHasBeenSet =
true; m_ebsOptimized = value; }
148 inline void SetImageId(
const char* value) { m_imageIdHasBeenSet =
true; m_imageId.assign(value); }
174 inline void SetKeyName(
const char* value) { m_keyNameHasBeenSet =
true; m_keyName.assign(value); }
212 inline void SetRamDiskId(
const char* value) { m_ramDiskIdHasBeenSet =
true; m_ramDiskId.assign(value); }
250 inline void SetUserData(
const char* value) { m_userDataHasBeenSet =
true; m_userData.assign(value); }
497 inline void SetDisableApiStop(
bool value) { m_disableApiStopHasBeenSet =
true; m_disableApiStop = value; }
503 bool m_kernelIdHasBeenSet =
false;
506 bool m_ebsOptimizedHasBeenSet =
false;
509 bool m_iamInstanceProfileHasBeenSet =
false;
512 bool m_blockDeviceMappingsHasBeenSet =
false;
515 bool m_networkInterfacesHasBeenSet =
false;
518 bool m_imageIdHasBeenSet =
false;
521 bool m_instanceTypeHasBeenSet =
false;
524 bool m_keyNameHasBeenSet =
false;
527 bool m_monitoringHasBeenSet =
false;
530 bool m_placementHasBeenSet =
false;
533 bool m_ramDiskIdHasBeenSet =
false;
535 bool m_disableApiTermination;
536 bool m_disableApiTerminationHasBeenSet =
false;
539 bool m_instanceInitiatedShutdownBehaviorHasBeenSet =
false;
542 bool m_userDataHasBeenSet =
false;
545 bool m_tagSpecificationsHasBeenSet =
false;
548 bool m_elasticGpuSpecificationsHasBeenSet =
false;
551 bool m_elasticInferenceAcceleratorsHasBeenSet =
false;
554 bool m_securityGroupIdsHasBeenSet =
false;
557 bool m_securityGroupsHasBeenSet =
false;
560 bool m_instanceMarketOptionsHasBeenSet =
false;
563 bool m_creditSpecificationHasBeenSet =
false;
566 bool m_cpuOptionsHasBeenSet =
false;
569 bool m_capacityReservationSpecificationHasBeenSet =
false;
572 bool m_licenseSpecificationsHasBeenSet =
false;
575 bool m_hibernationOptionsHasBeenSet =
false;
578 bool m_metadataOptionsHasBeenSet =
false;
581 bool m_enclaveOptionsHasBeenSet =
false;
584 bool m_instanceRequirementsHasBeenSet =
false;
587 bool m_privateDnsNameOptionsHasBeenSet =
false;
590 bool m_maintenanceOptionsHasBeenSet =
false;
592 bool m_disableApiStop;
593 bool m_disableApiStopHasBeenSet =
false;
ResponseLaunchTemplateData & AddElasticGpuSpecifications(ElasticGpuSpecificationResponse &&value)
const LaunchTemplateCpuOptions & GetCpuOptions() const
ResponseLaunchTemplateData & WithHibernationOptions(LaunchTemplateHibernationOptions &&value)
void SetMaintenanceOptions(LaunchTemplateInstanceMaintenanceOptions &&value)
const LaunchTemplatesMonitoring & GetMonitoring() const
AWS_EC2_API ResponseLaunchTemplateData & operator=(const Aws::Utils::Xml::XmlNode &xmlNode)
ResponseLaunchTemplateData & WithInstanceRequirements(InstanceRequirements &&value)
ResponseLaunchTemplateData & WithPrivateDnsNameOptions(const LaunchTemplatePrivateDnsNameOptions &value)
void SetUserData(const Aws::String &value)
const ShutdownBehavior & GetInstanceInitiatedShutdownBehavior() const
const Aws::String & GetImageId() const
void SetElasticGpuSpecifications(const Aws::Vector< ElasticGpuSpecificationResponse > &value)
ResponseLaunchTemplateData & WithCpuOptions(LaunchTemplateCpuOptions &&value)
ResponseLaunchTemplateData & WithNetworkInterfaces(const Aws::Vector< LaunchTemplateInstanceNetworkInterfaceSpecification > &value)
ResponseLaunchTemplateData & AddSecurityGroupIds(Aws::String &&value)
void SetImageId(const char *value)
void SetPrivateDnsNameOptions(LaunchTemplatePrivateDnsNameOptions &&value)
bool MaintenanceOptionsHasBeenSet() const
const InstanceRequirements & GetInstanceRequirements() const
void SetMonitoring(LaunchTemplatesMonitoring &&value)
ResponseLaunchTemplateData & WithNetworkInterfaces(Aws::Vector< LaunchTemplateInstanceNetworkInterfaceSpecification > &&value)
const LaunchTemplateInstanceMetadataOptions & GetMetadataOptions() const
ResponseLaunchTemplateData & AddSecurityGroups(Aws::String &&value)
ResponseLaunchTemplateData & WithCreditSpecification(const CreditSpecification &value)
void SetEnclaveOptions(const LaunchTemplateEnclaveOptions &value)
const LaunchTemplateInstanceMaintenanceOptions & GetMaintenanceOptions() const
void SetCapacityReservationSpecification(const LaunchTemplateCapacityReservationSpecificationResponse &value)
ResponseLaunchTemplateData & AddNetworkInterfaces(LaunchTemplateInstanceNetworkInterfaceSpecification &&value)
ResponseLaunchTemplateData & WithImageId(const Aws::String &value)
void SetSecurityGroupIds(Aws::Vector< Aws::String > &&value)
ResponseLaunchTemplateData & WithRamDiskId(Aws::String &&value)
bool GetDisableApiStop() const
void SetNetworkInterfaces(const Aws::Vector< LaunchTemplateInstanceNetworkInterfaceSpecification > &value)
bool UserDataHasBeenSet() const
bool CpuOptionsHasBeenSet() const
const LaunchTemplatePrivateDnsNameOptions & GetPrivateDnsNameOptions() const
const LaunchTemplateInstanceMarketOptions & GetInstanceMarketOptions() const
void SetEbsOptimized(bool value)
void SetCreditSpecification(const CreditSpecification &value)
bool KernelIdHasBeenSet() const
void SetBlockDeviceMappings(Aws::Vector< LaunchTemplateBlockDeviceMapping > &&value)
ResponseLaunchTemplateData & WithKernelId(const Aws::String &value)
void SetPrivateDnsNameOptions(const LaunchTemplatePrivateDnsNameOptions &value)
void SetInstanceMarketOptions(LaunchTemplateInstanceMarketOptions &&value)
const Aws::Vector< LaunchTemplateBlockDeviceMapping > & GetBlockDeviceMappings() const
ResponseLaunchTemplateData & WithMonitoring(const LaunchTemplatesMonitoring &value)
bool ElasticInferenceAcceleratorsHasBeenSet() const
void SetInstanceMarketOptions(const LaunchTemplateInstanceMarketOptions &value)
bool NetworkInterfacesHasBeenSet() const
void SetCreditSpecification(CreditSpecification &&value)
void SetInstanceType(InstanceType &&value)
ResponseLaunchTemplateData & WithEnclaveOptions(const LaunchTemplateEnclaveOptions &value)
void SetInstanceRequirements(InstanceRequirements &&value)
AWS_EC2_API ResponseLaunchTemplateData(const Aws::Utils::Xml::XmlNode &xmlNode)
ResponseLaunchTemplateData & WithKeyName(const Aws::String &value)
void SetKernelId(const Aws::String &value)
ResponseLaunchTemplateData & AddBlockDeviceMappings(const LaunchTemplateBlockDeviceMapping &value)
ResponseLaunchTemplateData & WithSecurityGroupIds(const Aws::Vector< Aws::String > &value)
AWS_EC2_API void OutputToStream(Aws::OStream &ostream, const char *location, unsigned index, const char *locationValue) const
bool HibernationOptionsHasBeenSet() const
const Aws::Vector< LaunchTemplateLicenseConfiguration > & GetLicenseSpecifications() const
void SetLicenseSpecifications(Aws::Vector< LaunchTemplateLicenseConfiguration > &&value)
ResponseLaunchTemplateData & WithDisableApiTermination(bool value)
const CreditSpecification & GetCreditSpecification() const
void SetBlockDeviceMappings(const Aws::Vector< LaunchTemplateBlockDeviceMapping > &value)
bool MetadataOptionsHasBeenSet() const
const Aws::String & GetKernelId() const
void SetIamInstanceProfile(LaunchTemplateIamInstanceProfileSpecification &&value)
ResponseLaunchTemplateData & WithLicenseSpecifications(const Aws::Vector< LaunchTemplateLicenseConfiguration > &value)
ResponseLaunchTemplateData & WithIamInstanceProfile(LaunchTemplateIamInstanceProfileSpecification &&value)
ResponseLaunchTemplateData & WithHibernationOptions(const LaunchTemplateHibernationOptions &value)
bool LicenseSpecificationsHasBeenSet() const
const Aws::Vector< ElasticGpuSpecificationResponse > & GetElasticGpuSpecifications() const
ResponseLaunchTemplateData & WithDisableApiStop(bool value)
ResponseLaunchTemplateData & WithInstanceMarketOptions(LaunchTemplateInstanceMarketOptions &&value)
void SetHibernationOptions(const LaunchTemplateHibernationOptions &value)
ResponseLaunchTemplateData & WithSecurityGroupIds(Aws::Vector< Aws::String > &&value)
void SetRamDiskId(const Aws::String &value)
ResponseLaunchTemplateData & WithMetadataOptions(LaunchTemplateInstanceMetadataOptions &&value)
void SetSecurityGroups(Aws::Vector< Aws::String > &&value)
void SetIamInstanceProfile(const LaunchTemplateIamInstanceProfileSpecification &value)
void SetMonitoring(const LaunchTemplatesMonitoring &value)
AWS_EC2_API ResponseLaunchTemplateData()
ResponseLaunchTemplateData & AddSecurityGroupIds(const Aws::String &value)
const LaunchTemplateIamInstanceProfileSpecification & GetIamInstanceProfile() const
ResponseLaunchTemplateData & AddSecurityGroups(const char *value)
ResponseLaunchTemplateData & WithKeyName(const char *value)
ResponseLaunchTemplateData & WithCapacityReservationSpecification(const LaunchTemplateCapacityReservationSpecificationResponse &value)
void SetElasticGpuSpecifications(Aws::Vector< ElasticGpuSpecificationResponse > &&value)
void SetInstanceType(const InstanceType &value)
ResponseLaunchTemplateData & WithImageId(Aws::String &&value)
void SetInstanceInitiatedShutdownBehavior(ShutdownBehavior &&value)
void SetKernelId(const char *value)
ResponseLaunchTemplateData & WithInstanceType(InstanceType &&value)
void SetHibernationOptions(LaunchTemplateHibernationOptions &&value)
void SetImageId(Aws::String &&value)
bool InstanceMarketOptionsHasBeenSet() const
void SetEnclaveOptions(LaunchTemplateEnclaveOptions &&value)
const Aws::Vector< LaunchTemplateElasticInferenceAcceleratorResponse > & GetElasticInferenceAccelerators() const
ResponseLaunchTemplateData & WithTagSpecifications(const Aws::Vector< LaunchTemplateTagSpecification > &value)
ResponseLaunchTemplateData & WithPlacement(LaunchTemplatePlacement &&value)
bool SecurityGroupsHasBeenSet() const
ResponseLaunchTemplateData & WithSecurityGroups(Aws::Vector< Aws::String > &&value)
bool InstanceRequirementsHasBeenSet() const
ResponseLaunchTemplateData & WithRamDiskId(const Aws::String &value)
void SetPlacement(const LaunchTemplatePlacement &value)
bool EbsOptimizedHasBeenSet() const
void SetMaintenanceOptions(const LaunchTemplateInstanceMaintenanceOptions &value)
ResponseLaunchTemplateData & WithKeyName(Aws::String &&value)
bool SecurityGroupIdsHasBeenSet() const
bool CreditSpecificationHasBeenSet() const
ResponseLaunchTemplateData & WithPrivateDnsNameOptions(LaunchTemplatePrivateDnsNameOptions &&value)
ResponseLaunchTemplateData & WithElasticInferenceAccelerators(Aws::Vector< LaunchTemplateElasticInferenceAcceleratorResponse > &&value)
AWS_EC2_API void OutputToStream(Aws::OStream &oStream, const char *location) const
ResponseLaunchTemplateData & WithElasticGpuSpecifications(Aws::Vector< ElasticGpuSpecificationResponse > &&value)
bool GetDisableApiTermination() const
ResponseLaunchTemplateData & AddElasticGpuSpecifications(const ElasticGpuSpecificationResponse &value)
void SetUserData(const char *value)
void SetKeyName(const Aws::String &value)
void SetElasticInferenceAccelerators(const Aws::Vector< LaunchTemplateElasticInferenceAcceleratorResponse > &value)
const Aws::Vector< Aws::String > & GetSecurityGroups() const
ResponseLaunchTemplateData & WithBlockDeviceMappings(const Aws::Vector< LaunchTemplateBlockDeviceMapping > &value)
ResponseLaunchTemplateData & WithMetadataOptions(const LaunchTemplateInstanceMetadataOptions &value)
ResponseLaunchTemplateData & AddTagSpecifications(LaunchTemplateTagSpecification &&value)
bool TagSpecificationsHasBeenSet() const
ResponseLaunchTemplateData & WithMaintenanceOptions(const LaunchTemplateInstanceMaintenanceOptions &value)
ResponseLaunchTemplateData & AddSecurityGroups(const Aws::String &value)
ResponseLaunchTemplateData & WithCpuOptions(const LaunchTemplateCpuOptions &value)
void SetUserData(Aws::String &&value)
bool DisableApiStopHasBeenSet() const
bool InstanceInitiatedShutdownBehaviorHasBeenSet() const
const Aws::Vector< LaunchTemplateTagSpecification > & GetTagSpecifications() const
void SetCpuOptions(const LaunchTemplateCpuOptions &value)
void SetMetadataOptions(LaunchTemplateInstanceMetadataOptions &&value)
bool MonitoringHasBeenSet() const
bool RamDiskIdHasBeenSet() const
ResponseLaunchTemplateData & WithRamDiskId(const char *value)
void SetCpuOptions(LaunchTemplateCpuOptions &&value)
void SetElasticInferenceAccelerators(Aws::Vector< LaunchTemplateElasticInferenceAcceleratorResponse > &&value)
ResponseLaunchTemplateData & WithInstanceInitiatedShutdownBehavior(ShutdownBehavior &&value)
ResponseLaunchTemplateData & WithMaintenanceOptions(LaunchTemplateInstanceMaintenanceOptions &&value)
void SetCapacityReservationSpecification(LaunchTemplateCapacityReservationSpecificationResponse &&value)
ResponseLaunchTemplateData & WithSecurityGroups(const Aws::Vector< Aws::String > &value)
ResponseLaunchTemplateData & AddNetworkInterfaces(const LaunchTemplateInstanceNetworkInterfaceSpecification &value)
void SetMetadataOptions(const LaunchTemplateInstanceMetadataOptions &value)
void SetNetworkInterfaces(Aws::Vector< LaunchTemplateInstanceNetworkInterfaceSpecification > &&value)
ResponseLaunchTemplateData & WithInstanceMarketOptions(const LaunchTemplateInstanceMarketOptions &value)
ResponseLaunchTemplateData & WithPlacement(const LaunchTemplatePlacement &value)
void SetInstanceRequirements(const InstanceRequirements &value)
ResponseLaunchTemplateData & AddBlockDeviceMappings(LaunchTemplateBlockDeviceMapping &&value)
ResponseLaunchTemplateData & WithUserData(const char *value)
void SetRamDiskId(const char *value)
const InstanceType & GetInstanceType() const
ResponseLaunchTemplateData & WithCapacityReservationSpecification(LaunchTemplateCapacityReservationSpecificationResponse &&value)
bool BlockDeviceMappingsHasBeenSet() const
ResponseLaunchTemplateData & WithLicenseSpecifications(Aws::Vector< LaunchTemplateLicenseConfiguration > &&value)
ResponseLaunchTemplateData & WithElasticInferenceAccelerators(const Aws::Vector< LaunchTemplateElasticInferenceAcceleratorResponse > &value)
void SetKeyName(Aws::String &&value)
ResponseLaunchTemplateData & WithInstanceType(const InstanceType &value)
bool ImageIdHasBeenSet() const
ResponseLaunchTemplateData & WithUserData(Aws::String &&value)
void SetKeyName(const char *value)
void SetRamDiskId(Aws::String &&value)
bool IamInstanceProfileHasBeenSet() const
bool PrivateDnsNameOptionsHasBeenSet() const
ResponseLaunchTemplateData & WithElasticGpuSpecifications(const Aws::Vector< ElasticGpuSpecificationResponse > &value)
ResponseLaunchTemplateData & WithInstanceRequirements(const InstanceRequirements &value)
bool KeyNameHasBeenSet() const
ResponseLaunchTemplateData & WithBlockDeviceMappings(Aws::Vector< LaunchTemplateBlockDeviceMapping > &&value)
bool ElasticGpuSpecificationsHasBeenSet() const
bool CapacityReservationSpecificationHasBeenSet() const
ResponseLaunchTemplateData & WithIamInstanceProfile(const LaunchTemplateIamInstanceProfileSpecification &value)
ResponseLaunchTemplateData & WithUserData(const Aws::String &value)
ResponseLaunchTemplateData & WithKernelId(Aws::String &&value)
void SetKernelId(Aws::String &&value)
void SetDisableApiStop(bool value)
void SetImageId(const Aws::String &value)
void SetTagSpecifications(Aws::Vector< LaunchTemplateTagSpecification > &&value)
const Aws::Vector< Aws::String > & GetSecurityGroupIds() const
const LaunchTemplatePlacement & GetPlacement() const
void SetPlacement(LaunchTemplatePlacement &&value)
bool GetEbsOptimized() const
bool DisableApiTerminationHasBeenSet() const
ResponseLaunchTemplateData & WithEbsOptimized(bool value)
ResponseLaunchTemplateData & WithCreditSpecification(CreditSpecification &&value)
ResponseLaunchTemplateData & AddElasticInferenceAccelerators(const LaunchTemplateElasticInferenceAcceleratorResponse &value)
const Aws::Vector< LaunchTemplateInstanceNetworkInterfaceSpecification > & GetNetworkInterfaces() const
ResponseLaunchTemplateData & AddElasticInferenceAccelerators(LaunchTemplateElasticInferenceAcceleratorResponse &&value)
const LaunchTemplateCapacityReservationSpecificationResponse & GetCapacityReservationSpecification() const
bool PlacementHasBeenSet() const
void SetSecurityGroups(const Aws::Vector< Aws::String > &value)
const Aws::String & GetKeyName() const
ResponseLaunchTemplateData & AddTagSpecifications(const LaunchTemplateTagSpecification &value)
ResponseLaunchTemplateData & WithInstanceInitiatedShutdownBehavior(const ShutdownBehavior &value)
ResponseLaunchTemplateData & AddLicenseSpecifications(LaunchTemplateLicenseConfiguration &&value)
const Aws::String & GetRamDiskId() const
bool EnclaveOptionsHasBeenSet() const
void SetLicenseSpecifications(const Aws::Vector< LaunchTemplateLicenseConfiguration > &value)
ResponseLaunchTemplateData & WithEnclaveOptions(LaunchTemplateEnclaveOptions &&value)
ResponseLaunchTemplateData & AddLicenseSpecifications(const LaunchTemplateLicenseConfiguration &value)
bool InstanceTypeHasBeenSet() const
ResponseLaunchTemplateData & WithImageId(const char *value)
const Aws::String & GetUserData() const
void SetDisableApiTermination(bool value)
const LaunchTemplateEnclaveOptions & GetEnclaveOptions() const
void SetSecurityGroupIds(const Aws::Vector< Aws::String > &value)
ResponseLaunchTemplateData & AddSecurityGroupIds(const char *value)
const LaunchTemplateHibernationOptions & GetHibernationOptions() const
ResponseLaunchTemplateData & WithMonitoring(LaunchTemplatesMonitoring &&value)
ResponseLaunchTemplateData & WithKernelId(const char *value)
void SetTagSpecifications(const Aws::Vector< LaunchTemplateTagSpecification > &value)
void SetInstanceInitiatedShutdownBehavior(const ShutdownBehavior &value)
ResponseLaunchTemplateData & WithTagSpecifications(Aws::Vector< LaunchTemplateTagSpecification > &&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