LaunchTemplateProps Struct
Properties of a LaunchTemplate.
Example
declare const instanceType: ec2.InstanceType;
const pg = new ec2.PlacementGroup(this, 'test-pg', {
strategy: ec2.PlacementGroupStrategy.SPREAD,
});
new ec2.LaunchTemplate(this, 'LaunchTemplate', {
instanceType,
machineImage: ec2.MachineImage.latestAmazonLinux2023(),
placementGroup: pg,
});
Properties
associatePublicIpAddressoptionalbooleanassociate_public_ip_addressoptionalboolassociatePublicIpAddressoptionalBooleanAssociatePublicIpAddressoptionalboolAssociatePublicIpAddressoptional*bool#Default: Use subnet settings
blockDevicesoptionalBlockDevice[]block_devicesoptionaltyping.List[BlockDevice]blockDevicesoptionalList<BlockDevice>BlockDevicesoptionalBlockDevice[]BlockDevicesoptional*[]BlockDevice#Default: Uses the block device mapping of the AMI
notes
Each instance that is launched has an associated root device volume, either an Amazon EBS volume or an instance store volume. You can use block device mappings to specify additional EBS volumes or instance store volumes to attach to an instance when it is launched.
cpuCreditsoptionalCpuCreditscpu_creditsoptionalCpuCreditscpuCreditsoptionalCpuCreditsCpuCreditsoptionalCpuCreditsCpuCreditsoptionalCpuCredits#Default: No credit type is specified in the Launch Template.
cpuOptionsoptionalLaunchTemplateCpuOptionscpu_optionsoptionalLaunchTemplateCpuOptionscpuOptionsoptionalLaunchTemplateCpuOptionsCpuOptionsoptionalLaunchTemplateCpuOptionsCpuOptionsoptionalLaunchTemplateCpuOptions#Default: The CPU options are not specified in the launch template.
detailedMonitoringoptionalbooleandetailed_monitoringoptionalbooldetailedMonitoringoptionalBooleanDetailedMonitoringoptionalboolDetailedMonitoringoptional*bool#Default: False - Detailed monitoring is disabled.
disableApiTerminationoptionalbooleandisable_api_terminationoptionalbooldisableApiTerminationoptionalBooleanDisableApiTerminationoptionalboolDisableApiTerminationoptional*bool#Default: The API termination setting is not specified in the Launch Template.
otherwise, you can.
ebsOptimizedoptionalbooleanebs_optimizedoptionalboolebsOptimizedoptionalBooleanEbsOptimizedoptionalboolEbsOptimizedoptional*bool#Default: EBS optimization is not specified in the launch template.
notes
This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal Amazon EBS I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS-optimized instance.
hibernationConfiguredoptionalbooleanhibernation_configuredoptionalboolhibernationConfiguredoptionalBooleanHibernationConfiguredoptionalboolHibernationConfiguredoptional*bool#Default: Hibernation configuration is not specified in the launch template; defaulting to false.
httpEndpointoptionalbooleanhttp_endpointoptionalboolhttpEndpointoptionalBooleanHttpEndpointoptionalboolHttpEndpointoptional*bool= true#httpProtocolIpv6optionalbooleanhttp_protocol_ipv6optionalboolhttpProtocolIpv6optionalBooleanHttpProtocolIpv6optionalboolHttpProtocolIpv6optional*bool= true#httpPutResponseHopLimitoptionalnumberhttp_put_response_hop_limitoptionalint | floathttpPutResponseHopLimitoptionalNumberHttpPutResponseHopLimitoptionaldoubleHttpPutResponseHopLimitoptional*float64= 1#The larger the number, the further instance metadata requests can travel.
httpTokensoptionalLaunchTemplateHttpTokenshttp_tokensoptionalLaunchTemplateHttpTokenshttpTokensoptionalLaunchTemplateHttpTokensHttpTokensoptionalLaunchTemplateHttpTokensHttpTokensoptionalLaunchTemplateHttpTokens#Default: LaunchTemplateHttpTokens.OPTIONAL
The default state is optional if not specified. However, if requireImdsv2 is true, the state must be required.
instanceInitiatedShutdownBehavioroptionalInstanceInitiatedShutdownBehaviorinstance_initiated_shutdown_behavioroptionalInstanceInitiatedShutdownBehaviorinstanceInitiatedShutdownBehavioroptionalInstanceInitiatedShutdownBehaviorInstanceInitiatedShutdownBehavioroptionalInstanceInitiatedShutdownBehaviorInstanceInitiatedShutdownBehavioroptionalInstanceInitiatedShutdownBehavior#Default: Shutdown behavior is not specified in the launch template; defaults to STOP.
instanceMetadataTagsoptionalbooleaninstance_metadata_tagsoptionalboolinstanceMetadataTagsoptionalBooleanInstanceMetadataTagsoptionalboolInstanceMetadataTagsoptional*bool= false#Set to disabled to turn off access to instance tags from the instance metadata.
instanceProfileoptionalIInstanceProfileinstance_profileoptionalIInstanceProfileinstanceProfileoptionalIInstanceProfileInstanceProfileoptionalIInstanceProfileInstanceProfileoptionalIInstanceProfile#Default: No instance profile
Note: You can provide an instanceProfile or a role, but not both.
instanceTypeoptionalInstanceTypeinstance_typeoptionalInstanceTypeinstanceTypeoptionalInstanceTypeInstanceTypeoptionalInstanceTypeInstanceTypeoptionalInstanceType#Default: This Launch Template does not specify a default Instance Type.
keyNameoptionalstringkey_nameoptionalstrkeyNameoptionalStringKeyNameoptionalstringKeyNameoptional*stringdeprecated#Default: No SSH access will be possible.
keyPairoptionalIKeyPairkey_pairoptionalIKeyPairkeyPairoptionalIKeyPairKeyPairoptionalIKeyPairKeyPairoptionalIKeyPair#Default: No SSH access will be possible.
launchTemplateNameoptionalstringlaunch_template_nameoptionalstrlaunchTemplateNameoptionalStringLaunchTemplateNameoptionalstringLaunchTemplateNameoptional*string#Default: Automatically generated name
machineImageoptionalIMachineImagemachine_imageoptionalIMachineImagemachineImageoptionalIMachineImageMachineImageoptionalIMachineImageMachineImageoptionalIMachineImage#Default: This Launch Template does not specify a default AMI.
nitroEnclaveEnabledoptionalbooleannitro_enclave_enabledoptionalboolnitroEnclaveEnabledoptionalBooleanNitroEnclaveEnabledoptionalboolNitroEnclaveEnabledoptional*bool#Default: Enablement of Nitro enclaves is not specified in the launch template; defaulting to false.
otherwise, it is not enabled for AWS Nitro Enclaves.
placementGroupoptionalIPlacementGroupRefplacement_groupoptionalIPlacementGroupRefplacementGroupoptionalIPlacementGroupRefPlacementGroupoptionalIPlacementGroupRefPlacementGroupoptionalIPlacementGroupRef#Default: no placement group will be used for this launch template.
requireImdsv2optionalbooleanrequire_imdsv2optionalboolrequireImdsv2optionalBooleanRequireImdsv2optionalboolRequireImdsv2optional*bool= false#Default: No new role is created.
The role must be assumable by the service principal ec2.amazonaws.com. Note: You can provide an instanceProfile or a role, but not both.
example
const role = new iam.Role(this, 'MyRole', {
assumedBy: new iam.ServicePrincipal('ec2.amazonaws.com')
});
securityGroupoptionalISecurityGroupsecurity_groupoptionalISecurityGroupsecurityGroupoptionalISecurityGroupSecurityGroupoptionalISecurityGroupSecurityGroupoptionalISecurityGroup#Default: No security group is assigned.
spotOptionsoptionalLaunchTemplateSpotOptionsspot_optionsoptionalLaunchTemplateSpotOptionsspotOptionsoptionalLaunchTemplateSpotOptionsSpotOptionsoptionalLaunchTemplateSpotOptionsSpotOptionsoptionalLaunchTemplateSpotOptions#Default: Instance launched with this template will not be spot instances.
userDataoptionalUserDatauser_dataoptionalUserDatauserDataoptionalUserDataUserDataoptionalUserDataUserDataoptionalUserData#Default: This Launch Template creates a UserData based on the type of provided machineImage; no UserData is created if a machineImage is not provided
versionDescriptionoptionalstringversion_descriptionoptionalstrversionDescriptionoptionalStringVersionDescriptionoptionalstringVersionDescriptionoptional*string#Default: No description
The version description must be maximum 255 characters long.