1. Packages
  2. AWS Classic
  3. API Docs
  4. ec2
  5. LaunchTemplate

Try AWS Native preview for resources not in the classic version.

AWS Classic v6.40.0 published on Wednesday, Jun 12, 2024 by Pulumi

aws.ec2.LaunchTemplate

Explore with Pulumi AI

aws logo

Try AWS Native preview for resources not in the classic version.

AWS Classic v6.40.0 published on Wednesday, Jun 12, 2024 by Pulumi

    Provides an EC2 launch template resource. Can be used to create instances or auto scaling groups.

    Create LaunchTemplate Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new LaunchTemplate(name: string, args?: LaunchTemplateArgs, opts?: CustomResourceOptions);
    @overload
    def LaunchTemplate(resource_name: str,
                       args: Optional[LaunchTemplateArgs] = None,
                       opts: Optional[ResourceOptions] = None)
    
    @overload
    def LaunchTemplate(resource_name: str,
                       opts: Optional[ResourceOptions] = None,
                       block_device_mappings: Optional[Sequence[LaunchTemplateBlockDeviceMappingArgs]] = None,
                       capacity_reservation_specification: Optional[LaunchTemplateCapacityReservationSpecificationArgs] = None,
                       cpu_options: Optional[LaunchTemplateCpuOptionsArgs] = None,
                       credit_specification: Optional[LaunchTemplateCreditSpecificationArgs] = None,
                       default_version: Optional[int] = None,
                       description: Optional[str] = None,
                       disable_api_stop: Optional[bool] = None,
                       disable_api_termination: Optional[bool] = None,
                       ebs_optimized: Optional[str] = None,
                       elastic_gpu_specifications: Optional[Sequence[LaunchTemplateElasticGpuSpecificationArgs]] = None,
                       elastic_inference_accelerator: Optional[LaunchTemplateElasticInferenceAcceleratorArgs] = None,
                       enclave_options: Optional[LaunchTemplateEnclaveOptionsArgs] = None,
                       hibernation_options: Optional[LaunchTemplateHibernationOptionsArgs] = None,
                       iam_instance_profile: Optional[LaunchTemplateIamInstanceProfileArgs] = None,
                       image_id: Optional[str] = None,
                       instance_initiated_shutdown_behavior: Optional[str] = None,
                       instance_market_options: Optional[LaunchTemplateInstanceMarketOptionsArgs] = None,
                       instance_requirements: Optional[LaunchTemplateInstanceRequirementsArgs] = None,
                       instance_type: Optional[str] = None,
                       kernel_id: Optional[str] = None,
                       key_name: Optional[str] = None,
                       license_specifications: Optional[Sequence[LaunchTemplateLicenseSpecificationArgs]] = None,
                       maintenance_options: Optional[LaunchTemplateMaintenanceOptionsArgs] = None,
                       metadata_options: Optional[LaunchTemplateMetadataOptionsArgs] = None,
                       monitoring: Optional[LaunchTemplateMonitoringArgs] = None,
                       name: Optional[str] = None,
                       name_prefix: Optional[str] = None,
                       network_interfaces: Optional[Sequence[LaunchTemplateNetworkInterfaceArgs]] = None,
                       placement: Optional[LaunchTemplatePlacementArgs] = None,
                       private_dns_name_options: Optional[LaunchTemplatePrivateDnsNameOptionsArgs] = None,
                       ram_disk_id: Optional[str] = None,
                       security_group_names: Optional[Sequence[str]] = None,
                       tag_specifications: Optional[Sequence[LaunchTemplateTagSpecificationArgs]] = None,
                       tags: Optional[Mapping[str, str]] = None,
                       update_default_version: Optional[bool] = None,
                       user_data: Optional[str] = None,
                       vpc_security_group_ids: Optional[Sequence[str]] = None)
    func NewLaunchTemplate(ctx *Context, name string, args *LaunchTemplateArgs, opts ...ResourceOption) (*LaunchTemplate, error)
    public LaunchTemplate(string name, LaunchTemplateArgs? args = null, CustomResourceOptions? opts = null)
    public LaunchTemplate(String name, LaunchTemplateArgs args)
    public LaunchTemplate(String name, LaunchTemplateArgs args, CustomResourceOptions options)
    
    type: aws:ec2:LaunchTemplate
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args LaunchTemplateArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args LaunchTemplateArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args LaunchTemplateArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args LaunchTemplateArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args LaunchTemplateArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Example

    The following reference example uses placeholder values for all input properties.

    var launchTemplateResource = new Aws.Ec2.LaunchTemplate("launchTemplateResource", new()
    {
        BlockDeviceMappings = new[]
        {
            new Aws.Ec2.Inputs.LaunchTemplateBlockDeviceMappingArgs
            {
                DeviceName = "string",
                Ebs = new Aws.Ec2.Inputs.LaunchTemplateBlockDeviceMappingEbsArgs
                {
                    DeleteOnTermination = "string",
                    Encrypted = "string",
                    Iops = 0,
                    KmsKeyId = "string",
                    SnapshotId = "string",
                    Throughput = 0,
                    VolumeSize = 0,
                    VolumeType = "string",
                },
                NoDevice = "string",
                VirtualName = "string",
            },
        },
        CapacityReservationSpecification = new Aws.Ec2.Inputs.LaunchTemplateCapacityReservationSpecificationArgs
        {
            CapacityReservationPreference = "string",
            CapacityReservationTarget = new Aws.Ec2.Inputs.LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetArgs
            {
                CapacityReservationId = "string",
                CapacityReservationResourceGroupArn = "string",
            },
        },
        CpuOptions = new Aws.Ec2.Inputs.LaunchTemplateCpuOptionsArgs
        {
            AmdSevSnp = "string",
            CoreCount = 0,
            ThreadsPerCore = 0,
        },
        CreditSpecification = new Aws.Ec2.Inputs.LaunchTemplateCreditSpecificationArgs
        {
            CpuCredits = "string",
        },
        DefaultVersion = 0,
        Description = "string",
        DisableApiStop = false,
        DisableApiTermination = false,
        EbsOptimized = "string",
        ElasticGpuSpecifications = new[]
        {
            new Aws.Ec2.Inputs.LaunchTemplateElasticGpuSpecificationArgs
            {
                Type = "string",
            },
        },
        ElasticInferenceAccelerator = new Aws.Ec2.Inputs.LaunchTemplateElasticInferenceAcceleratorArgs
        {
            Type = "string",
        },
        EnclaveOptions = new Aws.Ec2.Inputs.LaunchTemplateEnclaveOptionsArgs
        {
            Enabled = false,
        },
        HibernationOptions = new Aws.Ec2.Inputs.LaunchTemplateHibernationOptionsArgs
        {
            Configured = false,
        },
        IamInstanceProfile = new Aws.Ec2.Inputs.LaunchTemplateIamInstanceProfileArgs
        {
            Arn = "string",
            Name = "string",
        },
        ImageId = "string",
        InstanceInitiatedShutdownBehavior = "string",
        InstanceMarketOptions = new Aws.Ec2.Inputs.LaunchTemplateInstanceMarketOptionsArgs
        {
            MarketType = "string",
            SpotOptions = new Aws.Ec2.Inputs.LaunchTemplateInstanceMarketOptionsSpotOptionsArgs
            {
                BlockDurationMinutes = 0,
                InstanceInterruptionBehavior = "string",
                MaxPrice = "string",
                SpotInstanceType = "string",
                ValidUntil = "string",
            },
        },
        InstanceRequirements = new Aws.Ec2.Inputs.LaunchTemplateInstanceRequirementsArgs
        {
            MemoryMib = new Aws.Ec2.Inputs.LaunchTemplateInstanceRequirementsMemoryMibArgs
            {
                Min = 0,
                Max = 0,
            },
            VcpuCount = new Aws.Ec2.Inputs.LaunchTemplateInstanceRequirementsVcpuCountArgs
            {
                Min = 0,
                Max = 0,
            },
            AllowedInstanceTypes = new[]
            {
                "string",
            },
            LocalStorageTypes = new[]
            {
                "string",
            },
            AcceleratorTypes = new[]
            {
                "string",
            },
            AcceleratorCount = new Aws.Ec2.Inputs.LaunchTemplateInstanceRequirementsAcceleratorCountArgs
            {
                Max = 0,
                Min = 0,
            },
            BareMetal = "string",
            BaselineEbsBandwidthMbps = new Aws.Ec2.Inputs.LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsArgs
            {
                Max = 0,
                Min = 0,
            },
            BurstablePerformance = "string",
            CpuManufacturers = new[]
            {
                "string",
            },
            ExcludedInstanceTypes = new[]
            {
                "string",
            },
            InstanceGenerations = new[]
            {
                "string",
            },
            LocalStorage = "string",
            AcceleratorTotalMemoryMib = new Aws.Ec2.Inputs.LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibArgs
            {
                Max = 0,
                Min = 0,
            },
            MemoryGibPerVcpu = new Aws.Ec2.Inputs.LaunchTemplateInstanceRequirementsMemoryGibPerVcpuArgs
            {
                Max = 0,
                Min = 0,
            },
            AcceleratorNames = new[]
            {
                "string",
            },
            NetworkBandwidthGbps = new Aws.Ec2.Inputs.LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsArgs
            {
                Max = 0,
                Min = 0,
            },
            NetworkInterfaceCount = new Aws.Ec2.Inputs.LaunchTemplateInstanceRequirementsNetworkInterfaceCountArgs
            {
                Max = 0,
                Min = 0,
            },
            OnDemandMaxPricePercentageOverLowestPrice = 0,
            RequireHibernateSupport = false,
            SpotMaxPricePercentageOverLowestPrice = 0,
            TotalLocalStorageGb = new Aws.Ec2.Inputs.LaunchTemplateInstanceRequirementsTotalLocalStorageGbArgs
            {
                Max = 0,
                Min = 0,
            },
            AcceleratorManufacturers = new[]
            {
                "string",
            },
        },
        InstanceType = "string",
        KernelId = "string",
        KeyName = "string",
        LicenseSpecifications = new[]
        {
            new Aws.Ec2.Inputs.LaunchTemplateLicenseSpecificationArgs
            {
                LicenseConfigurationArn = "string",
            },
        },
        MaintenanceOptions = new Aws.Ec2.Inputs.LaunchTemplateMaintenanceOptionsArgs
        {
            AutoRecovery = "string",
        },
        MetadataOptions = new Aws.Ec2.Inputs.LaunchTemplateMetadataOptionsArgs
        {
            HttpEndpoint = "string",
            HttpProtocolIpv6 = "string",
            HttpPutResponseHopLimit = 0,
            HttpTokens = "string",
            InstanceMetadataTags = "string",
        },
        Monitoring = new Aws.Ec2.Inputs.LaunchTemplateMonitoringArgs
        {
            Enabled = false,
        },
        Name = "string",
        NamePrefix = "string",
        NetworkInterfaces = new[]
        {
            new Aws.Ec2.Inputs.LaunchTemplateNetworkInterfaceArgs
            {
                AssociateCarrierIpAddress = "string",
                AssociatePublicIpAddress = "string",
                DeleteOnTermination = "string",
                Description = "string",
                DeviceIndex = 0,
                InterfaceType = "string",
                Ipv4AddressCount = 0,
                Ipv4Addresses = new[]
                {
                    "string",
                },
                Ipv4PrefixCount = 0,
                Ipv4Prefixes = new[]
                {
                    "string",
                },
                Ipv6AddressCount = 0,
                Ipv6Addresses = new[]
                {
                    "string",
                },
                Ipv6PrefixCount = 0,
                Ipv6Prefixes = new[]
                {
                    "string",
                },
                NetworkCardIndex = 0,
                NetworkInterfaceId = "string",
                PrivateIpAddress = "string",
                SecurityGroups = new[]
                {
                    "string",
                },
                SubnetId = "string",
            },
        },
        Placement = new Aws.Ec2.Inputs.LaunchTemplatePlacementArgs
        {
            Affinity = "string",
            AvailabilityZone = "string",
            GroupName = "string",
            HostId = "string",
            HostResourceGroupArn = "string",
            PartitionNumber = 0,
            SpreadDomain = "string",
            Tenancy = "string",
        },
        PrivateDnsNameOptions = new Aws.Ec2.Inputs.LaunchTemplatePrivateDnsNameOptionsArgs
        {
            EnableResourceNameDnsARecord = false,
            EnableResourceNameDnsAaaaRecord = false,
            HostnameType = "string",
        },
        RamDiskId = "string",
        SecurityGroupNames = new[]
        {
            "string",
        },
        TagSpecifications = new[]
        {
            new Aws.Ec2.Inputs.LaunchTemplateTagSpecificationArgs
            {
                ResourceType = "string",
                Tags = 
                {
                    { "string", "string" },
                },
            },
        },
        Tags = 
        {
            { "string", "string" },
        },
        UpdateDefaultVersion = false,
        UserData = "string",
        VpcSecurityGroupIds = new[]
        {
            "string",
        },
    });
    
    example, err := ec2.NewLaunchTemplate(ctx, "launchTemplateResource", &ec2.LaunchTemplateArgs{
    	BlockDeviceMappings: ec2.LaunchTemplateBlockDeviceMappingArray{
    		&ec2.LaunchTemplateBlockDeviceMappingArgs{
    			DeviceName: pulumi.String("string"),
    			Ebs: &ec2.LaunchTemplateBlockDeviceMappingEbsArgs{
    				DeleteOnTermination: pulumi.String("string"),
    				Encrypted:           pulumi.String("string"),
    				Iops:                pulumi.Int(0),
    				KmsKeyId:            pulumi.String("string"),
    				SnapshotId:          pulumi.String("string"),
    				Throughput:          pulumi.Int(0),
    				VolumeSize:          pulumi.Int(0),
    				VolumeType:          pulumi.String("string"),
    			},
    			NoDevice:    pulumi.String("string"),
    			VirtualName: pulumi.String("string"),
    		},
    	},
    	CapacityReservationSpecification: &ec2.LaunchTemplateCapacityReservationSpecificationArgs{
    		CapacityReservationPreference: pulumi.String("string"),
    		CapacityReservationTarget: &ec2.LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetArgs{
    			CapacityReservationId:               pulumi.String("string"),
    			CapacityReservationResourceGroupArn: pulumi.String("string"),
    		},
    	},
    	CpuOptions: &ec2.LaunchTemplateCpuOptionsArgs{
    		AmdSevSnp:      pulumi.String("string"),
    		CoreCount:      pulumi.Int(0),
    		ThreadsPerCore: pulumi.Int(0),
    	},
    	CreditSpecification: &ec2.LaunchTemplateCreditSpecificationArgs{
    		CpuCredits: pulumi.String("string"),
    	},
    	DefaultVersion:        pulumi.Int(0),
    	Description:           pulumi.String("string"),
    	DisableApiStop:        pulumi.Bool(false),
    	DisableApiTermination: pulumi.Bool(false),
    	EbsOptimized:          pulumi.String("string"),
    	ElasticGpuSpecifications: ec2.LaunchTemplateElasticGpuSpecificationArray{
    		&ec2.LaunchTemplateElasticGpuSpecificationArgs{
    			Type: pulumi.String("string"),
    		},
    	},
    	ElasticInferenceAccelerator: &ec2.LaunchTemplateElasticInferenceAcceleratorArgs{
    		Type: pulumi.String("string"),
    	},
    	EnclaveOptions: &ec2.LaunchTemplateEnclaveOptionsArgs{
    		Enabled: pulumi.Bool(false),
    	},
    	HibernationOptions: &ec2.LaunchTemplateHibernationOptionsArgs{
    		Configured: pulumi.Bool(false),
    	},
    	IamInstanceProfile: &ec2.LaunchTemplateIamInstanceProfileArgs{
    		Arn:  pulumi.String("string"),
    		Name: pulumi.String("string"),
    	},
    	ImageId:                           pulumi.String("string"),
    	InstanceInitiatedShutdownBehavior: pulumi.String("string"),
    	InstanceMarketOptions: &ec2.LaunchTemplateInstanceMarketOptionsArgs{
    		MarketType: pulumi.String("string"),
    		SpotOptions: &ec2.LaunchTemplateInstanceMarketOptionsSpotOptionsArgs{
    			BlockDurationMinutes:         pulumi.Int(0),
    			InstanceInterruptionBehavior: pulumi.String("string"),
    			MaxPrice:                     pulumi.String("string"),
    			SpotInstanceType:             pulumi.String("string"),
    			ValidUntil:                   pulumi.String("string"),
    		},
    	},
    	InstanceRequirements: &ec2.LaunchTemplateInstanceRequirementsArgs{
    		MemoryMib: &ec2.LaunchTemplateInstanceRequirementsMemoryMibArgs{
    			Min: pulumi.Int(0),
    			Max: pulumi.Int(0),
    		},
    		VcpuCount: &ec2.LaunchTemplateInstanceRequirementsVcpuCountArgs{
    			Min: pulumi.Int(0),
    			Max: pulumi.Int(0),
    		},
    		AllowedInstanceTypes: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		LocalStorageTypes: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		AcceleratorTypes: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		AcceleratorCount: &ec2.LaunchTemplateInstanceRequirementsAcceleratorCountArgs{
    			Max: pulumi.Int(0),
    			Min: pulumi.Int(0),
    		},
    		BareMetal: pulumi.String("string"),
    		BaselineEbsBandwidthMbps: &ec2.LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsArgs{
    			Max: pulumi.Int(0),
    			Min: pulumi.Int(0),
    		},
    		BurstablePerformance: pulumi.String("string"),
    		CpuManufacturers: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		ExcludedInstanceTypes: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		InstanceGenerations: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		LocalStorage: pulumi.String("string"),
    		AcceleratorTotalMemoryMib: &ec2.LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibArgs{
    			Max: pulumi.Int(0),
    			Min: pulumi.Int(0),
    		},
    		MemoryGibPerVcpu: &ec2.LaunchTemplateInstanceRequirementsMemoryGibPerVcpuArgs{
    			Max: pulumi.Float64(0),
    			Min: pulumi.Float64(0),
    		},
    		AcceleratorNames: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		NetworkBandwidthGbps: &ec2.LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsArgs{
    			Max: pulumi.Float64(0),
    			Min: pulumi.Float64(0),
    		},
    		NetworkInterfaceCount: &ec2.LaunchTemplateInstanceRequirementsNetworkInterfaceCountArgs{
    			Max: pulumi.Int(0),
    			Min: pulumi.Int(0),
    		},
    		OnDemandMaxPricePercentageOverLowestPrice: pulumi.Int(0),
    		RequireHibernateSupport:                   pulumi.Bool(false),
    		SpotMaxPricePercentageOverLowestPrice:     pulumi.Int(0),
    		TotalLocalStorageGb: &ec2.LaunchTemplateInstanceRequirementsTotalLocalStorageGbArgs{
    			Max: pulumi.Float64(0),
    			Min: pulumi.Float64(0),
    		},
    		AcceleratorManufacturers: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    	},
    	InstanceType: pulumi.String("string"),
    	KernelId:     pulumi.String("string"),
    	KeyName:      pulumi.String("string"),
    	LicenseSpecifications: ec2.LaunchTemplateLicenseSpecificationArray{
    		&ec2.LaunchTemplateLicenseSpecificationArgs{
    			LicenseConfigurationArn: pulumi.String("string"),
    		},
    	},
    	MaintenanceOptions: &ec2.LaunchTemplateMaintenanceOptionsArgs{
    		AutoRecovery: pulumi.String("string"),
    	},
    	MetadataOptions: &ec2.LaunchTemplateMetadataOptionsArgs{
    		HttpEndpoint:            pulumi.String("string"),
    		HttpProtocolIpv6:        pulumi.String("string"),
    		HttpPutResponseHopLimit: pulumi.Int(0),
    		HttpTokens:              pulumi.String("string"),
    		InstanceMetadataTags:    pulumi.String("string"),
    	},
    	Monitoring: &ec2.LaunchTemplateMonitoringArgs{
    		Enabled: pulumi.Bool(false),
    	},
    	Name:       pulumi.String("string"),
    	NamePrefix: pulumi.String("string"),
    	NetworkInterfaces: ec2.LaunchTemplateNetworkInterfaceArray{
    		&ec2.LaunchTemplateNetworkInterfaceArgs{
    			AssociateCarrierIpAddress: pulumi.String("string"),
    			AssociatePublicIpAddress:  pulumi.String("string"),
    			DeleteOnTermination:       pulumi.String("string"),
    			Description:               pulumi.String("string"),
    			DeviceIndex:               pulumi.Int(0),
    			InterfaceType:             pulumi.String("string"),
    			Ipv4AddressCount:          pulumi.Int(0),
    			Ipv4Addresses: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			Ipv4PrefixCount: pulumi.Int(0),
    			Ipv4Prefixes: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			Ipv6AddressCount: pulumi.Int(0),
    			Ipv6Addresses: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			Ipv6PrefixCount: pulumi.Int(0),
    			Ipv6Prefixes: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			NetworkCardIndex:   pulumi.Int(0),
    			NetworkInterfaceId: pulumi.String("string"),
    			PrivateIpAddress:   pulumi.String("string"),
    			SecurityGroups: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			SubnetId: pulumi.String("string"),
    		},
    	},
    	Placement: &ec2.LaunchTemplatePlacementArgs{
    		Affinity:             pulumi.String("string"),
    		AvailabilityZone:     pulumi.String("string"),
    		GroupName:            pulumi.String("string"),
    		HostId:               pulumi.String("string"),
    		HostResourceGroupArn: pulumi.String("string"),
    		PartitionNumber:      pulumi.Int(0),
    		SpreadDomain:         pulumi.String("string"),
    		Tenancy:              pulumi.String("string"),
    	},
    	PrivateDnsNameOptions: &ec2.LaunchTemplatePrivateDnsNameOptionsArgs{
    		EnableResourceNameDnsARecord:    pulumi.Bool(false),
    		EnableResourceNameDnsAaaaRecord: pulumi.Bool(false),
    		HostnameType:                    pulumi.String("string"),
    	},
    	RamDiskId: pulumi.String("string"),
    	SecurityGroupNames: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	TagSpecifications: ec2.LaunchTemplateTagSpecificationArray{
    		&ec2.LaunchTemplateTagSpecificationArgs{
    			ResourceType: pulumi.String("string"),
    			Tags: pulumi.StringMap{
    				"string": pulumi.String("string"),
    			},
    		},
    	},
    	Tags: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    	UpdateDefaultVersion: pulumi.Bool(false),
    	UserData:             pulumi.String("string"),
    	VpcSecurityGroupIds: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    })
    
    var launchTemplateResource = new LaunchTemplate("launchTemplateResource", LaunchTemplateArgs.builder()
        .blockDeviceMappings(LaunchTemplateBlockDeviceMappingArgs.builder()
            .deviceName("string")
            .ebs(LaunchTemplateBlockDeviceMappingEbsArgs.builder()
                .deleteOnTermination("string")
                .encrypted("string")
                .iops(0)
                .kmsKeyId("string")
                .snapshotId("string")
                .throughput(0)
                .volumeSize(0)
                .volumeType("string")
                .build())
            .noDevice("string")
            .virtualName("string")
            .build())
        .capacityReservationSpecification(LaunchTemplateCapacityReservationSpecificationArgs.builder()
            .capacityReservationPreference("string")
            .capacityReservationTarget(LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetArgs.builder()
                .capacityReservationId("string")
                .capacityReservationResourceGroupArn("string")
                .build())
            .build())
        .cpuOptions(LaunchTemplateCpuOptionsArgs.builder()
            .amdSevSnp("string")
            .coreCount(0)
            .threadsPerCore(0)
            .build())
        .creditSpecification(LaunchTemplateCreditSpecificationArgs.builder()
            .cpuCredits("string")
            .build())
        .defaultVersion(0)
        .description("string")
        .disableApiStop(false)
        .disableApiTermination(false)
        .ebsOptimized("string")
        .elasticGpuSpecifications(LaunchTemplateElasticGpuSpecificationArgs.builder()
            .type("string")
            .build())
        .elasticInferenceAccelerator(LaunchTemplateElasticInferenceAcceleratorArgs.builder()
            .type("string")
            .build())
        .enclaveOptions(LaunchTemplateEnclaveOptionsArgs.builder()
            .enabled(false)
            .build())
        .hibernationOptions(LaunchTemplateHibernationOptionsArgs.builder()
            .configured(false)
            .build())
        .iamInstanceProfile(LaunchTemplateIamInstanceProfileArgs.builder()
            .arn("string")
            .name("string")
            .build())
        .imageId("string")
        .instanceInitiatedShutdownBehavior("string")
        .instanceMarketOptions(LaunchTemplateInstanceMarketOptionsArgs.builder()
            .marketType("string")
            .spotOptions(LaunchTemplateInstanceMarketOptionsSpotOptionsArgs.builder()
                .blockDurationMinutes(0)
                .instanceInterruptionBehavior("string")
                .maxPrice("string")
                .spotInstanceType("string")
                .validUntil("string")
                .build())
            .build())
        .instanceRequirements(LaunchTemplateInstanceRequirementsArgs.builder()
            .memoryMib(LaunchTemplateInstanceRequirementsMemoryMibArgs.builder()
                .min(0)
                .max(0)
                .build())
            .vcpuCount(LaunchTemplateInstanceRequirementsVcpuCountArgs.builder()
                .min(0)
                .max(0)
                .build())
            .allowedInstanceTypes("string")
            .localStorageTypes("string")
            .acceleratorTypes("string")
            .acceleratorCount(LaunchTemplateInstanceRequirementsAcceleratorCountArgs.builder()
                .max(0)
                .min(0)
                .build())
            .bareMetal("string")
            .baselineEbsBandwidthMbps(LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsArgs.builder()
                .max(0)
                .min(0)
                .build())
            .burstablePerformance("string")
            .cpuManufacturers("string")
            .excludedInstanceTypes("string")
            .instanceGenerations("string")
            .localStorage("string")
            .acceleratorTotalMemoryMib(LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibArgs.builder()
                .max(0)
                .min(0)
                .build())
            .memoryGibPerVcpu(LaunchTemplateInstanceRequirementsMemoryGibPerVcpuArgs.builder()
                .max(0)
                .min(0)
                .build())
            .acceleratorNames("string")
            .networkBandwidthGbps(LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsArgs.builder()
                .max(0)
                .min(0)
                .build())
            .networkInterfaceCount(LaunchTemplateInstanceRequirementsNetworkInterfaceCountArgs.builder()
                .max(0)
                .min(0)
                .build())
            .onDemandMaxPricePercentageOverLowestPrice(0)
            .requireHibernateSupport(false)
            .spotMaxPricePercentageOverLowestPrice(0)
            .totalLocalStorageGb(LaunchTemplateInstanceRequirementsTotalLocalStorageGbArgs.builder()
                .max(0)
                .min(0)
                .build())
            .acceleratorManufacturers("string")
            .build())
        .instanceType("string")
        .kernelId("string")
        .keyName("string")
        .licenseSpecifications(LaunchTemplateLicenseSpecificationArgs.builder()
            .licenseConfigurationArn("string")
            .build())
        .maintenanceOptions(LaunchTemplateMaintenanceOptionsArgs.builder()
            .autoRecovery("string")
            .build())
        .metadataOptions(LaunchTemplateMetadataOptionsArgs.builder()
            .httpEndpoint("string")
            .httpProtocolIpv6("string")
            .httpPutResponseHopLimit(0)
            .httpTokens("string")
            .instanceMetadataTags("string")
            .build())
        .monitoring(LaunchTemplateMonitoringArgs.builder()
            .enabled(false)
            .build())
        .name("string")
        .namePrefix("string")
        .networkInterfaces(LaunchTemplateNetworkInterfaceArgs.builder()
            .associateCarrierIpAddress("string")
            .associatePublicIpAddress("string")
            .deleteOnTermination("string")
            .description("string")
            .deviceIndex(0)
            .interfaceType("string")
            .ipv4AddressCount(0)
            .ipv4Addresses("string")
            .ipv4PrefixCount(0)
            .ipv4Prefixes("string")
            .ipv6AddressCount(0)
            .ipv6Addresses("string")
            .ipv6PrefixCount(0)
            .ipv6Prefixes("string")
            .networkCardIndex(0)
            .networkInterfaceId("string")
            .privateIpAddress("string")
            .securityGroups("string")
            .subnetId("string")
            .build())
        .placement(LaunchTemplatePlacementArgs.builder()
            .affinity("string")
            .availabilityZone("string")
            .groupName("string")
            .hostId("string")
            .hostResourceGroupArn("string")
            .partitionNumber(0)
            .spreadDomain("string")
            .tenancy("string")
            .build())
        .privateDnsNameOptions(LaunchTemplatePrivateDnsNameOptionsArgs.builder()
            .enableResourceNameDnsARecord(false)
            .enableResourceNameDnsAaaaRecord(false)
            .hostnameType("string")
            .build())
        .ramDiskId("string")
        .securityGroupNames("string")
        .tagSpecifications(LaunchTemplateTagSpecificationArgs.builder()
            .resourceType("string")
            .tags(Map.of("string", "string"))
            .build())
        .tags(Map.of("string", "string"))
        .updateDefaultVersion(false)
        .userData("string")
        .vpcSecurityGroupIds("string")
        .build());
    
    launch_template_resource = aws.ec2.LaunchTemplate("launchTemplateResource",
        block_device_mappings=[aws.ec2.LaunchTemplateBlockDeviceMappingArgs(
            device_name="string",
            ebs=aws.ec2.LaunchTemplateBlockDeviceMappingEbsArgs(
                delete_on_termination="string",
                encrypted="string",
                iops=0,
                kms_key_id="string",
                snapshot_id="string",
                throughput=0,
                volume_size=0,
                volume_type="string",
            ),
            no_device="string",
            virtual_name="string",
        )],
        capacity_reservation_specification=aws.ec2.LaunchTemplateCapacityReservationSpecificationArgs(
            capacity_reservation_preference="string",
            capacity_reservation_target=aws.ec2.LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetArgs(
                capacity_reservation_id="string",
                capacity_reservation_resource_group_arn="string",
            ),
        ),
        cpu_options=aws.ec2.LaunchTemplateCpuOptionsArgs(
            amd_sev_snp="string",
            core_count=0,
            threads_per_core=0,
        ),
        credit_specification=aws.ec2.LaunchTemplateCreditSpecificationArgs(
            cpu_credits="string",
        ),
        default_version=0,
        description="string",
        disable_api_stop=False,
        disable_api_termination=False,
        ebs_optimized="string",
        elastic_gpu_specifications=[aws.ec2.LaunchTemplateElasticGpuSpecificationArgs(
            type="string",
        )],
        elastic_inference_accelerator=aws.ec2.LaunchTemplateElasticInferenceAcceleratorArgs(
            type="string",
        ),
        enclave_options=aws.ec2.LaunchTemplateEnclaveOptionsArgs(
            enabled=False,
        ),
        hibernation_options=aws.ec2.LaunchTemplateHibernationOptionsArgs(
            configured=False,
        ),
        iam_instance_profile=aws.ec2.LaunchTemplateIamInstanceProfileArgs(
            arn="string",
            name="string",
        ),
        image_id="string",
        instance_initiated_shutdown_behavior="string",
        instance_market_options=aws.ec2.LaunchTemplateInstanceMarketOptionsArgs(
            market_type="string",
            spot_options=aws.ec2.LaunchTemplateInstanceMarketOptionsSpotOptionsArgs(
                block_duration_minutes=0,
                instance_interruption_behavior="string",
                max_price="string",
                spot_instance_type="string",
                valid_until="string",
            ),
        ),
        instance_requirements=aws.ec2.LaunchTemplateInstanceRequirementsArgs(
            memory_mib=aws.ec2.LaunchTemplateInstanceRequirementsMemoryMibArgs(
                min=0,
                max=0,
            ),
            vcpu_count=aws.ec2.LaunchTemplateInstanceRequirementsVcpuCountArgs(
                min=0,
                max=0,
            ),
            allowed_instance_types=["string"],
            local_storage_types=["string"],
            accelerator_types=["string"],
            accelerator_count=aws.ec2.LaunchTemplateInstanceRequirementsAcceleratorCountArgs(
                max=0,
                min=0,
            ),
            bare_metal="string",
            baseline_ebs_bandwidth_mbps=aws.ec2.LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsArgs(
                max=0,
                min=0,
            ),
            burstable_performance="string",
            cpu_manufacturers=["string"],
            excluded_instance_types=["string"],
            instance_generations=["string"],
            local_storage="string",
            accelerator_total_memory_mib=aws.ec2.LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibArgs(
                max=0,
                min=0,
            ),
            memory_gib_per_vcpu=aws.ec2.LaunchTemplateInstanceRequirementsMemoryGibPerVcpuArgs(
                max=0,
                min=0,
            ),
            accelerator_names=["string"],
            network_bandwidth_gbps=aws.ec2.LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsArgs(
                max=0,
                min=0,
            ),
            network_interface_count=aws.ec2.LaunchTemplateInstanceRequirementsNetworkInterfaceCountArgs(
                max=0,
                min=0,
            ),
            on_demand_max_price_percentage_over_lowest_price=0,
            require_hibernate_support=False,
            spot_max_price_percentage_over_lowest_price=0,
            total_local_storage_gb=aws.ec2.LaunchTemplateInstanceRequirementsTotalLocalStorageGbArgs(
                max=0,
                min=0,
            ),
            accelerator_manufacturers=["string"],
        ),
        instance_type="string",
        kernel_id="string",
        key_name="string",
        license_specifications=[aws.ec2.LaunchTemplateLicenseSpecificationArgs(
            license_configuration_arn="string",
        )],
        maintenance_options=aws.ec2.LaunchTemplateMaintenanceOptionsArgs(
            auto_recovery="string",
        ),
        metadata_options=aws.ec2.LaunchTemplateMetadataOptionsArgs(
            http_endpoint="string",
            http_protocol_ipv6="string",
            http_put_response_hop_limit=0,
            http_tokens="string",
            instance_metadata_tags="string",
        ),
        monitoring=aws.ec2.LaunchTemplateMonitoringArgs(
            enabled=False,
        ),
        name="string",
        name_prefix="string",
        network_interfaces=[aws.ec2.LaunchTemplateNetworkInterfaceArgs(
            associate_carrier_ip_address="string",
            associate_public_ip_address="string",
            delete_on_termination="string",
            description="string",
            device_index=0,
            interface_type="string",
            ipv4_address_count=0,
            ipv4_addresses=["string"],
            ipv4_prefix_count=0,
            ipv4_prefixes=["string"],
            ipv6_address_count=0,
            ipv6_addresses=["string"],
            ipv6_prefix_count=0,
            ipv6_prefixes=["string"],
            network_card_index=0,
            network_interface_id="string",
            private_ip_address="string",
            security_groups=["string"],
            subnet_id="string",
        )],
        placement=aws.ec2.LaunchTemplatePlacementArgs(
            affinity="string",
            availability_zone="string",
            group_name="string",
            host_id="string",
            host_resource_group_arn="string",
            partition_number=0,
            spread_domain="string",
            tenancy="string",
        ),
        private_dns_name_options=aws.ec2.LaunchTemplatePrivateDnsNameOptionsArgs(
            enable_resource_name_dns_a_record=False,
            enable_resource_name_dns_aaaa_record=False,
            hostname_type="string",
        ),
        ram_disk_id="string",
        security_group_names=["string"],
        tag_specifications=[aws.ec2.LaunchTemplateTagSpecificationArgs(
            resource_type="string",
            tags={
                "string": "string",
            },
        )],
        tags={
            "string": "string",
        },
        update_default_version=False,
        user_data="string",
        vpc_security_group_ids=["string"])
    
    const launchTemplateResource = new aws.ec2.LaunchTemplate("launchTemplateResource", {
        blockDeviceMappings: [{
            deviceName: "string",
            ebs: {
                deleteOnTermination: "string",
                encrypted: "string",
                iops: 0,
                kmsKeyId: "string",
                snapshotId: "string",
                throughput: 0,
                volumeSize: 0,
                volumeType: "string",
            },
            noDevice: "string",
            virtualName: "string",
        }],
        capacityReservationSpecification: {
            capacityReservationPreference: "string",
            capacityReservationTarget: {
                capacityReservationId: "string",
                capacityReservationResourceGroupArn: "string",
            },
        },
        cpuOptions: {
            amdSevSnp: "string",
            coreCount: 0,
            threadsPerCore: 0,
        },
        creditSpecification: {
            cpuCredits: "string",
        },
        defaultVersion: 0,
        description: "string",
        disableApiStop: false,
        disableApiTermination: false,
        ebsOptimized: "string",
        elasticGpuSpecifications: [{
            type: "string",
        }],
        elasticInferenceAccelerator: {
            type: "string",
        },
        enclaveOptions: {
            enabled: false,
        },
        hibernationOptions: {
            configured: false,
        },
        iamInstanceProfile: {
            arn: "string",
            name: "string",
        },
        imageId: "string",
        instanceInitiatedShutdownBehavior: "string",
        instanceMarketOptions: {
            marketType: "string",
            spotOptions: {
                blockDurationMinutes: 0,
                instanceInterruptionBehavior: "string",
                maxPrice: "string",
                spotInstanceType: "string",
                validUntil: "string",
            },
        },
        instanceRequirements: {
            memoryMib: {
                min: 0,
                max: 0,
            },
            vcpuCount: {
                min: 0,
                max: 0,
            },
            allowedInstanceTypes: ["string"],
            localStorageTypes: ["string"],
            acceleratorTypes: ["string"],
            acceleratorCount: {
                max: 0,
                min: 0,
            },
            bareMetal: "string",
            baselineEbsBandwidthMbps: {
                max: 0,
                min: 0,
            },
            burstablePerformance: "string",
            cpuManufacturers: ["string"],
            excludedInstanceTypes: ["string"],
            instanceGenerations: ["string"],
            localStorage: "string",
            acceleratorTotalMemoryMib: {
                max: 0,
                min: 0,
            },
            memoryGibPerVcpu: {
                max: 0,
                min: 0,
            },
            acceleratorNames: ["string"],
            networkBandwidthGbps: {
                max: 0,
                min: 0,
            },
            networkInterfaceCount: {
                max: 0,
                min: 0,
            },
            onDemandMaxPricePercentageOverLowestPrice: 0,
            requireHibernateSupport: false,
            spotMaxPricePercentageOverLowestPrice: 0,
            totalLocalStorageGb: {
                max: 0,
                min: 0,
            },
            acceleratorManufacturers: ["string"],
        },
        instanceType: "string",
        kernelId: "string",
        keyName: "string",
        licenseSpecifications: [{
            licenseConfigurationArn: "string",
        }],
        maintenanceOptions: {
            autoRecovery: "string",
        },
        metadataOptions: {
            httpEndpoint: "string",
            httpProtocolIpv6: "string",
            httpPutResponseHopLimit: 0,
            httpTokens: "string",
            instanceMetadataTags: "string",
        },
        monitoring: {
            enabled: false,
        },
        name: "string",
        namePrefix: "string",
        networkInterfaces: [{
            associateCarrierIpAddress: "string",
            associatePublicIpAddress: "string",
            deleteOnTermination: "string",
            description: "string",
            deviceIndex: 0,
            interfaceType: "string",
            ipv4AddressCount: 0,
            ipv4Addresses: ["string"],
            ipv4PrefixCount: 0,
            ipv4Prefixes: ["string"],
            ipv6AddressCount: 0,
            ipv6Addresses: ["string"],
            ipv6PrefixCount: 0,
            ipv6Prefixes: ["string"],
            networkCardIndex: 0,
            networkInterfaceId: "string",
            privateIpAddress: "string",
            securityGroups: ["string"],
            subnetId: "string",
        }],
        placement: {
            affinity: "string",
            availabilityZone: "string",
            groupName: "string",
            hostId: "string",
            hostResourceGroupArn: "string",
            partitionNumber: 0,
            spreadDomain: "string",
            tenancy: "string",
        },
        privateDnsNameOptions: {
            enableResourceNameDnsARecord: false,
            enableResourceNameDnsAaaaRecord: false,
            hostnameType: "string",
        },
        ramDiskId: "string",
        securityGroupNames: ["string"],
        tagSpecifications: [{
            resourceType: "string",
            tags: {
                string: "string",
            },
        }],
        tags: {
            string: "string",
        },
        updateDefaultVersion: false,
        userData: "string",
        vpcSecurityGroupIds: ["string"],
    });
    
    type: aws:ec2:LaunchTemplate
    properties:
        blockDeviceMappings:
            - deviceName: string
              ebs:
                deleteOnTermination: string
                encrypted: string
                iops: 0
                kmsKeyId: string
                snapshotId: string
                throughput: 0
                volumeSize: 0
                volumeType: string
              noDevice: string
              virtualName: string
        capacityReservationSpecification:
            capacityReservationPreference: string
            capacityReservationTarget:
                capacityReservationId: string
                capacityReservationResourceGroupArn: string
        cpuOptions:
            amdSevSnp: string
            coreCount: 0
            threadsPerCore: 0
        creditSpecification:
            cpuCredits: string
        defaultVersion: 0
        description: string
        disableApiStop: false
        disableApiTermination: false
        ebsOptimized: string
        elasticGpuSpecifications:
            - type: string
        elasticInferenceAccelerator:
            type: string
        enclaveOptions:
            enabled: false
        hibernationOptions:
            configured: false
        iamInstanceProfile:
            arn: string
            name: string
        imageId: string
        instanceInitiatedShutdownBehavior: string
        instanceMarketOptions:
            marketType: string
            spotOptions:
                blockDurationMinutes: 0
                instanceInterruptionBehavior: string
                maxPrice: string
                spotInstanceType: string
                validUntil: string
        instanceRequirements:
            acceleratorCount:
                max: 0
                min: 0
            acceleratorManufacturers:
                - string
            acceleratorNames:
                - string
            acceleratorTotalMemoryMib:
                max: 0
                min: 0
            acceleratorTypes:
                - string
            allowedInstanceTypes:
                - string
            bareMetal: string
            baselineEbsBandwidthMbps:
                max: 0
                min: 0
            burstablePerformance: string
            cpuManufacturers:
                - string
            excludedInstanceTypes:
                - string
            instanceGenerations:
                - string
            localStorage: string
            localStorageTypes:
                - string
            memoryGibPerVcpu:
                max: 0
                min: 0
            memoryMib:
                max: 0
                min: 0
            networkBandwidthGbps:
                max: 0
                min: 0
            networkInterfaceCount:
                max: 0
                min: 0
            onDemandMaxPricePercentageOverLowestPrice: 0
            requireHibernateSupport: false
            spotMaxPricePercentageOverLowestPrice: 0
            totalLocalStorageGb:
                max: 0
                min: 0
            vcpuCount:
                max: 0
                min: 0
        instanceType: string
        kernelId: string
        keyName: string
        licenseSpecifications:
            - licenseConfigurationArn: string
        maintenanceOptions:
            autoRecovery: string
        metadataOptions:
            httpEndpoint: string
            httpProtocolIpv6: string
            httpPutResponseHopLimit: 0
            httpTokens: string
            instanceMetadataTags: string
        monitoring:
            enabled: false
        name: string
        namePrefix: string
        networkInterfaces:
            - associateCarrierIpAddress: string
              associatePublicIpAddress: string
              deleteOnTermination: string
              description: string
              deviceIndex: 0
              interfaceType: string
              ipv4AddressCount: 0
              ipv4Addresses:
                - string
              ipv4PrefixCount: 0
              ipv4Prefixes:
                - string
              ipv6AddressCount: 0
              ipv6Addresses:
                - string
              ipv6PrefixCount: 0
              ipv6Prefixes:
                - string
              networkCardIndex: 0
              networkInterfaceId: string
              privateIpAddress: string
              securityGroups:
                - string
              subnetId: string
        placement:
            affinity: string
            availabilityZone: string
            groupName: string
            hostId: string
            hostResourceGroupArn: string
            partitionNumber: 0
            spreadDomain: string
            tenancy: string
        privateDnsNameOptions:
            enableResourceNameDnsARecord: false
            enableResourceNameDnsAaaaRecord: false
            hostnameType: string
        ramDiskId: string
        securityGroupNames:
            - string
        tagSpecifications:
            - resourceType: string
              tags:
                string: string
        tags:
            string: string
        updateDefaultVersion: false
        userData: string
        vpcSecurityGroupIds:
            - string
    

    LaunchTemplate Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    The LaunchTemplate resource accepts the following input properties:

    BlockDeviceMappings List<LaunchTemplateBlockDeviceMapping>
    Specify volumes to attach to the instance besides the volumes specified by the AMI. See Block Devices below for details.
    CapacityReservationSpecification LaunchTemplateCapacityReservationSpecification
    Targeting for EC2 capacity reservations. See Capacity Reservation Specification below for more details.
    CpuOptions LaunchTemplateCpuOptions
    The CPU options for the instance. See CPU Options below for more details.
    CreditSpecification LaunchTemplateCreditSpecification
    Customize the credit specification of the instance. See Credit Specification below for more details.
    DefaultVersion int
    Default Version of the launch template.
    Description string
    Description of the launch template.
    DisableApiStop bool
    If true, enables EC2 Instance Stop Protection.
    DisableApiTermination bool
    If true, enables EC2 Instance Termination Protection
    EbsOptimized string
    If true, the launched EC2 instance will be EBS-optimized.
    ElasticGpuSpecifications List<LaunchTemplateElasticGpuSpecification>
    The elastic GPU to attach to the instance. See Elastic GPU below for more details.
    ElasticInferenceAccelerator LaunchTemplateElasticInferenceAccelerator
    Configuration block containing an Elastic Inference Accelerator to attach to the instance. See Elastic Inference Accelerator below for more details.
    EnclaveOptions LaunchTemplateEnclaveOptions
    Enable Nitro Enclaves on launched instances. See Enclave Options below for more details.
    HibernationOptions LaunchTemplateHibernationOptions
    The hibernation options for the instance. See Hibernation Options below for more details.
    IamInstanceProfile LaunchTemplateIamInstanceProfile
    The IAM Instance Profile to launch the instance with. See Instance Profile below for more details.
    ImageId string
    The AMI from which to launch the instance.
    InstanceInitiatedShutdownBehavior string
    Shutdown behavior for the instance. Can be stop or terminate. (Default: stop).
    InstanceMarketOptions LaunchTemplateInstanceMarketOptions
    The market (purchasing) option for the instance. See Market Options below for details.
    InstanceRequirements LaunchTemplateInstanceRequirements
    The attribute requirements for the type of instance. If present then instance_type cannot be present.
    InstanceType string
    The type of the instance. If present then instance_requirements cannot be present.
    KernelId string
    The kernel ID.
    KeyName string
    The key name to use for the instance.
    LicenseSpecifications List<LaunchTemplateLicenseSpecification>
    A list of license specifications to associate with. See License Specification below for more details.
    MaintenanceOptions LaunchTemplateMaintenanceOptions
    The maintenance options for the instance. See Maintenance Options below for more details.
    MetadataOptions LaunchTemplateMetadataOptions
    Customize the metadata options for the instance. See Metadata Options below for more details.
    Monitoring LaunchTemplateMonitoring
    The monitoring option for the instance. See Monitoring below for more details.
    Name string
    The name of the launch template. If you leave this blank, the provider will auto-generate a unique name.
    NamePrefix string
    Creates a unique name beginning with the specified prefix. Conflicts with name.
    NetworkInterfaces List<LaunchTemplateNetworkInterface>
    Customize network interfaces to be attached at instance boot time. See Network Interfaces below for more details.
    Placement LaunchTemplatePlacement
    The placement of the instance. See Placement below for more details.
    PrivateDnsNameOptions LaunchTemplatePrivateDnsNameOptions
    The options for the instance hostname. The default values are inherited from the subnet. See Private DNS Name Options below for more details.
    RamDiskId string
    The ID of the RAM disk.
    SecurityGroupNames List<string>
    A list of security group names to associate with. If you are creating Instances in a VPC, use vpc_security_group_ids instead.
    TagSpecifications List<LaunchTemplateTagSpecification>
    The tags to apply to the resources during launch. See Tag Specifications below for more details. Default tags are currently not propagated to ASG created resources so you may wish to inject your default tags into this variable against the relevant child resource types created.
    Tags Dictionary<string, string>
    A map of tags to assign to the launch template. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    UpdateDefaultVersion bool
    Whether to update Default Version each update. Conflicts with default_version.
    UserData string
    The base64-encoded user data to provide when launching the instance.
    VpcSecurityGroupIds List<string>
    A list of security group IDs to associate with. Conflicts with network_interfaces.security_groups
    BlockDeviceMappings []LaunchTemplateBlockDeviceMappingArgs
    Specify volumes to attach to the instance besides the volumes specified by the AMI. See Block Devices below for details.
    CapacityReservationSpecification LaunchTemplateCapacityReservationSpecificationArgs
    Targeting for EC2 capacity reservations. See Capacity Reservation Specification below for more details.
    CpuOptions LaunchTemplateCpuOptionsArgs
    The CPU options for the instance. See CPU Options below for more details.
    CreditSpecification LaunchTemplateCreditSpecificationArgs
    Customize the credit specification of the instance. See Credit Specification below for more details.
    DefaultVersion int
    Default Version of the launch template.
    Description string
    Description of the launch template.
    DisableApiStop bool
    If true, enables EC2 Instance Stop Protection.
    DisableApiTermination bool
    If true, enables EC2 Instance Termination Protection
    EbsOptimized string
    If true, the launched EC2 instance will be EBS-optimized.
    ElasticGpuSpecifications []LaunchTemplateElasticGpuSpecificationArgs
    The elastic GPU to attach to the instance. See Elastic GPU below for more details.
    ElasticInferenceAccelerator LaunchTemplateElasticInferenceAcceleratorArgs
    Configuration block containing an Elastic Inference Accelerator to attach to the instance. See Elastic Inference Accelerator below for more details.
    EnclaveOptions LaunchTemplateEnclaveOptionsArgs
    Enable Nitro Enclaves on launched instances. See Enclave Options below for more details.
    HibernationOptions LaunchTemplateHibernationOptionsArgs
    The hibernation options for the instance. See Hibernation Options below for more details.
    IamInstanceProfile LaunchTemplateIamInstanceProfileArgs
    The IAM Instance Profile to launch the instance with. See Instance Profile below for more details.
    ImageId string
    The AMI from which to launch the instance.
    InstanceInitiatedShutdownBehavior string
    Shutdown behavior for the instance. Can be stop or terminate. (Default: stop).
    InstanceMarketOptions LaunchTemplateInstanceMarketOptionsArgs
    The market (purchasing) option for the instance. See Market Options below for details.
    InstanceRequirements LaunchTemplateInstanceRequirementsArgs
    The attribute requirements for the type of instance. If present then instance_type cannot be present.
    InstanceType string
    The type of the instance. If present then instance_requirements cannot be present.
    KernelId string
    The kernel ID.
    KeyName string
    The key name to use for the instance.
    LicenseSpecifications []LaunchTemplateLicenseSpecificationArgs
    A list of license specifications to associate with. See License Specification below for more details.
    MaintenanceOptions LaunchTemplateMaintenanceOptionsArgs
    The maintenance options for the instance. See Maintenance Options below for more details.
    MetadataOptions LaunchTemplateMetadataOptionsArgs
    Customize the metadata options for the instance. See Metadata Options below for more details.
    Monitoring LaunchTemplateMonitoringArgs
    The monitoring option for the instance. See Monitoring below for more details.
    Name string
    The name of the launch template. If you leave this blank, the provider will auto-generate a unique name.
    NamePrefix string
    Creates a unique name beginning with the specified prefix. Conflicts with name.
    NetworkInterfaces []LaunchTemplateNetworkInterfaceArgs
    Customize network interfaces to be attached at instance boot time. See Network Interfaces below for more details.
    Placement LaunchTemplatePlacementArgs
    The placement of the instance. See Placement below for more details.
    PrivateDnsNameOptions LaunchTemplatePrivateDnsNameOptionsArgs
    The options for the instance hostname. The default values are inherited from the subnet. See Private DNS Name Options below for more details.
    RamDiskId string
    The ID of the RAM disk.
    SecurityGroupNames []string
    A list of security group names to associate with. If you are creating Instances in a VPC, use vpc_security_group_ids instead.
    TagSpecifications []LaunchTemplateTagSpecificationArgs
    The tags to apply to the resources during launch. See Tag Specifications below for more details. Default tags are currently not propagated to ASG created resources so you may wish to inject your default tags into this variable against the relevant child resource types created.
    Tags map[string]string
    A map of tags to assign to the launch template. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    UpdateDefaultVersion bool
    Whether to update Default Version each update. Conflicts with default_version.
    UserData string
    The base64-encoded user data to provide when launching the instance.
    VpcSecurityGroupIds []string
    A list of security group IDs to associate with. Conflicts with network_interfaces.security_groups
    blockDeviceMappings List<LaunchTemplateBlockDeviceMapping>
    Specify volumes to attach to the instance besides the volumes specified by the AMI. See Block Devices below for details.
    capacityReservationSpecification LaunchTemplateCapacityReservationSpecification
    Targeting for EC2 capacity reservations. See Capacity Reservation Specification below for more details.
    cpuOptions LaunchTemplateCpuOptions
    The CPU options for the instance. See CPU Options below for more details.
    creditSpecification LaunchTemplateCreditSpecification
    Customize the credit specification of the instance. See Credit Specification below for more details.
    defaultVersion Integer
    Default Version of the launch template.
    description String
    Description of the launch template.
    disableApiStop Boolean
    If true, enables EC2 Instance Stop Protection.
    disableApiTermination Boolean
    If true, enables EC2 Instance Termination Protection
    ebsOptimized String
    If true, the launched EC2 instance will be EBS-optimized.
    elasticGpuSpecifications List<LaunchTemplateElasticGpuSpecification>
    The elastic GPU to attach to the instance. See Elastic GPU below for more details.
    elasticInferenceAccelerator LaunchTemplateElasticInferenceAccelerator
    Configuration block containing an Elastic Inference Accelerator to attach to the instance. See Elastic Inference Accelerator below for more details.
    enclaveOptions LaunchTemplateEnclaveOptions
    Enable Nitro Enclaves on launched instances. See Enclave Options below for more details.
    hibernationOptions LaunchTemplateHibernationOptions
    The hibernation options for the instance. See Hibernation Options below for more details.
    iamInstanceProfile LaunchTemplateIamInstanceProfile
    The IAM Instance Profile to launch the instance with. See Instance Profile below for more details.
    imageId String
    The AMI from which to launch the instance.
    instanceInitiatedShutdownBehavior String
    Shutdown behavior for the instance. Can be stop or terminate. (Default: stop).
    instanceMarketOptions LaunchTemplateInstanceMarketOptions
    The market (purchasing) option for the instance. See Market Options below for details.
    instanceRequirements LaunchTemplateInstanceRequirements
    The attribute requirements for the type of instance. If present then instance_type cannot be present.
    instanceType String
    The type of the instance. If present then instance_requirements cannot be present.
    kernelId String
    The kernel ID.
    keyName String
    The key name to use for the instance.
    licenseSpecifications List<LaunchTemplateLicenseSpecification>
    A list of license specifications to associate with. See License Specification below for more details.
    maintenanceOptions LaunchTemplateMaintenanceOptions
    The maintenance options for the instance. See Maintenance Options below for more details.
    metadataOptions LaunchTemplateMetadataOptions
    Customize the metadata options for the instance. See Metadata Options below for more details.
    monitoring LaunchTemplateMonitoring
    The monitoring option for the instance. See Monitoring below for more details.
    name String
    The name of the launch template. If you leave this blank, the provider will auto-generate a unique name.
    namePrefix String
    Creates a unique name beginning with the specified prefix. Conflicts with name.
    networkInterfaces List<LaunchTemplateNetworkInterface>
    Customize network interfaces to be attached at instance boot time. See Network Interfaces below for more details.
    placement LaunchTemplatePlacement
    The placement of the instance. See Placement below for more details.
    privateDnsNameOptions LaunchTemplatePrivateDnsNameOptions
    The options for the instance hostname. The default values are inherited from the subnet. See Private DNS Name Options below for more details.
    ramDiskId String
    The ID of the RAM disk.
    securityGroupNames List<String>
    A list of security group names to associate with. If you are creating Instances in a VPC, use vpc_security_group_ids instead.
    tagSpecifications List<LaunchTemplateTagSpecification>
    The tags to apply to the resources during launch. See Tag Specifications below for more details. Default tags are currently not propagated to ASG created resources so you may wish to inject your default tags into this variable against the relevant child resource types created.
    tags Map<String,String>
    A map of tags to assign to the launch template. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    updateDefaultVersion Boolean
    Whether to update Default Version each update. Conflicts with default_version.
    userData String
    The base64-encoded user data to provide when launching the instance.
    vpcSecurityGroupIds List<String>
    A list of security group IDs to associate with. Conflicts with network_interfaces.security_groups
    blockDeviceMappings LaunchTemplateBlockDeviceMapping[]
    Specify volumes to attach to the instance besides the volumes specified by the AMI. See Block Devices below for details.
    capacityReservationSpecification LaunchTemplateCapacityReservationSpecification
    Targeting for EC2 capacity reservations. See Capacity Reservation Specification below for more details.
    cpuOptions LaunchTemplateCpuOptions
    The CPU options for the instance. See CPU Options below for more details.
    creditSpecification LaunchTemplateCreditSpecification
    Customize the credit specification of the instance. See Credit Specification below for more details.
    defaultVersion number
    Default Version of the launch template.
    description string
    Description of the launch template.
    disableApiStop boolean
    If true, enables EC2 Instance Stop Protection.
    disableApiTermination boolean
    If true, enables EC2 Instance Termination Protection
    ebsOptimized string
    If true, the launched EC2 instance will be EBS-optimized.
    elasticGpuSpecifications LaunchTemplateElasticGpuSpecification[]
    The elastic GPU to attach to the instance. See Elastic GPU below for more details.
    elasticInferenceAccelerator LaunchTemplateElasticInferenceAccelerator
    Configuration block containing an Elastic Inference Accelerator to attach to the instance. See Elastic Inference Accelerator below for more details.
    enclaveOptions LaunchTemplateEnclaveOptions
    Enable Nitro Enclaves on launched instances. See Enclave Options below for more details.
    hibernationOptions LaunchTemplateHibernationOptions
    The hibernation options for the instance. See Hibernation Options below for more details.
    iamInstanceProfile LaunchTemplateIamInstanceProfile
    The IAM Instance Profile to launch the instance with. See Instance Profile below for more details.
    imageId string
    The AMI from which to launch the instance.
    instanceInitiatedShutdownBehavior string
    Shutdown behavior for the instance. Can be stop or terminate. (Default: stop).
    instanceMarketOptions LaunchTemplateInstanceMarketOptions
    The market (purchasing) option for the instance. See Market Options below for details.
    instanceRequirements LaunchTemplateInstanceRequirements
    The attribute requirements for the type of instance. If present then instance_type cannot be present.
    instanceType string
    The type of the instance. If present then instance_requirements cannot be present.
    kernelId string
    The kernel ID.
    keyName string
    The key name to use for the instance.
    licenseSpecifications LaunchTemplateLicenseSpecification[]
    A list of license specifications to associate with. See License Specification below for more details.
    maintenanceOptions LaunchTemplateMaintenanceOptions
    The maintenance options for the instance. See Maintenance Options below for more details.
    metadataOptions LaunchTemplateMetadataOptions
    Customize the metadata options for the instance. See Metadata Options below for more details.
    monitoring LaunchTemplateMonitoring
    The monitoring option for the instance. See Monitoring below for more details.
    name string
    The name of the launch template. If you leave this blank, the provider will auto-generate a unique name.
    namePrefix string
    Creates a unique name beginning with the specified prefix. Conflicts with name.
    networkInterfaces LaunchTemplateNetworkInterface[]
    Customize network interfaces to be attached at instance boot time. See Network Interfaces below for more details.
    placement LaunchTemplatePlacement
    The placement of the instance. See Placement below for more details.
    privateDnsNameOptions LaunchTemplatePrivateDnsNameOptions
    The options for the instance hostname. The default values are inherited from the subnet. See Private DNS Name Options below for more details.
    ramDiskId string
    The ID of the RAM disk.
    securityGroupNames string[]
    A list of security group names to associate with. If you are creating Instances in a VPC, use vpc_security_group_ids instead.
    tagSpecifications LaunchTemplateTagSpecification[]
    The tags to apply to the resources during launch. See Tag Specifications below for more details. Default tags are currently not propagated to ASG created resources so you may wish to inject your default tags into this variable against the relevant child resource types created.
    tags {[key: string]: string}
    A map of tags to assign to the launch template. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    updateDefaultVersion boolean
    Whether to update Default Version each update. Conflicts with default_version.
    userData string
    The base64-encoded user data to provide when launching the instance.
    vpcSecurityGroupIds string[]
    A list of security group IDs to associate with. Conflicts with network_interfaces.security_groups
    block_device_mappings Sequence[LaunchTemplateBlockDeviceMappingArgs]
    Specify volumes to attach to the instance besides the volumes specified by the AMI. See Block Devices below for details.
    capacity_reservation_specification LaunchTemplateCapacityReservationSpecificationArgs
    Targeting for EC2 capacity reservations. See Capacity Reservation Specification below for more details.
    cpu_options LaunchTemplateCpuOptionsArgs
    The CPU options for the instance. See CPU Options below for more details.
    credit_specification LaunchTemplateCreditSpecificationArgs
    Customize the credit specification of the instance. See Credit Specification below for more details.
    default_version int
    Default Version of the launch template.
    description str
    Description of the launch template.
    disable_api_stop bool
    If true, enables EC2 Instance Stop Protection.
    disable_api_termination bool
    If true, enables EC2 Instance Termination Protection
    ebs_optimized str
    If true, the launched EC2 instance will be EBS-optimized.
    elastic_gpu_specifications Sequence[LaunchTemplateElasticGpuSpecificationArgs]
    The elastic GPU to attach to the instance. See Elastic GPU below for more details.
    elastic_inference_accelerator LaunchTemplateElasticInferenceAcceleratorArgs
    Configuration block containing an Elastic Inference Accelerator to attach to the instance. See Elastic Inference Accelerator below for more details.
    enclave_options LaunchTemplateEnclaveOptionsArgs
    Enable Nitro Enclaves on launched instances. See Enclave Options below for more details.
    hibernation_options LaunchTemplateHibernationOptionsArgs
    The hibernation options for the instance. See Hibernation Options below for more details.
    iam_instance_profile LaunchTemplateIamInstanceProfileArgs
    The IAM Instance Profile to launch the instance with. See Instance Profile below for more details.
    image_id str
    The AMI from which to launch the instance.
    instance_initiated_shutdown_behavior str
    Shutdown behavior for the instance. Can be stop or terminate. (Default: stop).
    instance_market_options LaunchTemplateInstanceMarketOptionsArgs
    The market (purchasing) option for the instance. See Market Options below for details.
    instance_requirements LaunchTemplateInstanceRequirementsArgs
    The attribute requirements for the type of instance. If present then instance_type cannot be present.
    instance_type str
    The type of the instance. If present then instance_requirements cannot be present.
    kernel_id str
    The kernel ID.
    key_name str
    The key name to use for the instance.
    license_specifications Sequence[LaunchTemplateLicenseSpecificationArgs]
    A list of license specifications to associate with. See License Specification below for more details.
    maintenance_options LaunchTemplateMaintenanceOptionsArgs
    The maintenance options for the instance. See Maintenance Options below for more details.
    metadata_options LaunchTemplateMetadataOptionsArgs
    Customize the metadata options for the instance. See Metadata Options below for more details.
    monitoring LaunchTemplateMonitoringArgs
    The monitoring option for the instance. See Monitoring below for more details.
    name str
    The name of the launch template. If you leave this blank, the provider will auto-generate a unique name.
    name_prefix str
    Creates a unique name beginning with the specified prefix. Conflicts with name.
    network_interfaces Sequence[LaunchTemplateNetworkInterfaceArgs]
    Customize network interfaces to be attached at instance boot time. See Network Interfaces below for more details.
    placement LaunchTemplatePlacementArgs
    The placement of the instance. See Placement below for more details.
    private_dns_name_options LaunchTemplatePrivateDnsNameOptionsArgs
    The options for the instance hostname. The default values are inherited from the subnet. See Private DNS Name Options below for more details.
    ram_disk_id str
    The ID of the RAM disk.
    security_group_names Sequence[str]
    A list of security group names to associate with. If you are creating Instances in a VPC, use vpc_security_group_ids instead.
    tag_specifications Sequence[LaunchTemplateTagSpecificationArgs]
    The tags to apply to the resources during launch. See Tag Specifications below for more details. Default tags are currently not propagated to ASG created resources so you may wish to inject your default tags into this variable against the relevant child resource types created.
    tags Mapping[str, str]
    A map of tags to assign to the launch template. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    update_default_version bool
    Whether to update Default Version each update. Conflicts with default_version.
    user_data str
    The base64-encoded user data to provide when launching the instance.
    vpc_security_group_ids Sequence[str]
    A list of security group IDs to associate with. Conflicts with network_interfaces.security_groups
    blockDeviceMappings List<Property Map>
    Specify volumes to attach to the instance besides the volumes specified by the AMI. See Block Devices below for details.
    capacityReservationSpecification Property Map
    Targeting for EC2 capacity reservations. See Capacity Reservation Specification below for more details.
    cpuOptions Property Map
    The CPU options for the instance. See CPU Options below for more details.
    creditSpecification Property Map
    Customize the credit specification of the instance. See Credit Specification below for more details.
    defaultVersion Number
    Default Version of the launch template.
    description String
    Description of the launch template.
    disableApiStop Boolean
    If true, enables EC2 Instance Stop Protection.
    disableApiTermination Boolean
    If true, enables EC2 Instance Termination Protection
    ebsOptimized String
    If true, the launched EC2 instance will be EBS-optimized.
    elasticGpuSpecifications List<Property Map>
    The elastic GPU to attach to the instance. See Elastic GPU below for more details.
    elasticInferenceAccelerator Property Map
    Configuration block containing an Elastic Inference Accelerator to attach to the instance. See Elastic Inference Accelerator below for more details.
    enclaveOptions Property Map
    Enable Nitro Enclaves on launched instances. See Enclave Options below for more details.
    hibernationOptions Property Map
    The hibernation options for the instance. See Hibernation Options below for more details.
    iamInstanceProfile Property Map
    The IAM Instance Profile to launch the instance with. See Instance Profile below for more details.
    imageId String
    The AMI from which to launch the instance.
    instanceInitiatedShutdownBehavior String
    Shutdown behavior for the instance. Can be stop or terminate. (Default: stop).
    instanceMarketOptions Property Map
    The market (purchasing) option for the instance. See Market Options below for details.
    instanceRequirements Property Map
    The attribute requirements for the type of instance. If present then instance_type cannot be present.
    instanceType String
    The type of the instance. If present then instance_requirements cannot be present.
    kernelId String
    The kernel ID.
    keyName String
    The key name to use for the instance.
    licenseSpecifications List<Property Map>
    A list of license specifications to associate with. See License Specification below for more details.
    maintenanceOptions Property Map
    The maintenance options for the instance. See Maintenance Options below for more details.
    metadataOptions Property Map
    Customize the metadata options for the instance. See Metadata Options below for more details.
    monitoring Property Map
    The monitoring option for the instance. See Monitoring below for more details.
    name String
    The name of the launch template. If you leave this blank, the provider will auto-generate a unique name.
    namePrefix String
    Creates a unique name beginning with the specified prefix. Conflicts with name.
    networkInterfaces List<Property Map>
    Customize network interfaces to be attached at instance boot time. See Network Interfaces below for more details.
    placement Property Map
    The placement of the instance. See Placement below for more details.
    privateDnsNameOptions Property Map
    The options for the instance hostname. The default values are inherited from the subnet. See Private DNS Name Options below for more details.
    ramDiskId String
    The ID of the RAM disk.
    securityGroupNames List<String>
    A list of security group names to associate with. If you are creating Instances in a VPC, use vpc_security_group_ids instead.
    tagSpecifications List<Property Map>
    The tags to apply to the resources during launch. See Tag Specifications below for more details. Default tags are currently not propagated to ASG created resources so you may wish to inject your default tags into this variable against the relevant child resource types created.
    tags Map<String>
    A map of tags to assign to the launch template. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    updateDefaultVersion Boolean
    Whether to update Default Version each update. Conflicts with default_version.
    userData String
    The base64-encoded user data to provide when launching the instance.
    vpcSecurityGroupIds List<String>
    A list of security group IDs to associate with. Conflicts with network_interfaces.security_groups

    Outputs

    All input properties are implicitly available as output properties. Additionally, the LaunchTemplate resource produces the following output properties:

    Arn string
    Amazon Resource Name (ARN) of the launch template.
    Id string
    The provider-assigned unique ID for this managed resource.
    LatestVersion int
    The latest version of the launch template.
    TagsAll Dictionary<string, string>
    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    Arn string
    Amazon Resource Name (ARN) of the launch template.
    Id string
    The provider-assigned unique ID for this managed resource.
    LatestVersion int
    The latest version of the launch template.
    TagsAll map[string]string
    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    arn String
    Amazon Resource Name (ARN) of the launch template.
    id String
    The provider-assigned unique ID for this managed resource.
    latestVersion Integer
    The latest version of the launch template.
    tagsAll Map<String,String>
    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    arn string
    Amazon Resource Name (ARN) of the launch template.
    id string
    The provider-assigned unique ID for this managed resource.
    latestVersion number
    The latest version of the launch template.
    tagsAll {[key: string]: string}
    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    arn str
    Amazon Resource Name (ARN) of the launch template.
    id str
    The provider-assigned unique ID for this managed resource.
    latest_version int
    The latest version of the launch template.
    tags_all Mapping[str, str]
    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    arn String
    Amazon Resource Name (ARN) of the launch template.
    id String
    The provider-assigned unique ID for this managed resource.
    latestVersion Number
    The latest version of the launch template.
    tagsAll Map<String>
    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    Look up Existing LaunchTemplate Resource

    Get an existing LaunchTemplate resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: LaunchTemplateState, opts?: CustomResourceOptions): LaunchTemplate
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            arn: Optional[str] = None,
            block_device_mappings: Optional[Sequence[LaunchTemplateBlockDeviceMappingArgs]] = None,
            capacity_reservation_specification: Optional[LaunchTemplateCapacityReservationSpecificationArgs] = None,
            cpu_options: Optional[LaunchTemplateCpuOptionsArgs] = None,
            credit_specification: Optional[LaunchTemplateCreditSpecificationArgs] = None,
            default_version: Optional[int] = None,
            description: Optional[str] = None,
            disable_api_stop: Optional[bool] = None,
            disable_api_termination: Optional[bool] = None,
            ebs_optimized: Optional[str] = None,
            elastic_gpu_specifications: Optional[Sequence[LaunchTemplateElasticGpuSpecificationArgs]] = None,
            elastic_inference_accelerator: Optional[LaunchTemplateElasticInferenceAcceleratorArgs] = None,
            enclave_options: Optional[LaunchTemplateEnclaveOptionsArgs] = None,
            hibernation_options: Optional[LaunchTemplateHibernationOptionsArgs] = None,
            iam_instance_profile: Optional[LaunchTemplateIamInstanceProfileArgs] = None,
            image_id: Optional[str] = None,
            instance_initiated_shutdown_behavior: Optional[str] = None,
            instance_market_options: Optional[LaunchTemplateInstanceMarketOptionsArgs] = None,
            instance_requirements: Optional[LaunchTemplateInstanceRequirementsArgs] = None,
            instance_type: Optional[str] = None,
            kernel_id: Optional[str] = None,
            key_name: Optional[str] = None,
            latest_version: Optional[int] = None,
            license_specifications: Optional[Sequence[LaunchTemplateLicenseSpecificationArgs]] = None,
            maintenance_options: Optional[LaunchTemplateMaintenanceOptionsArgs] = None,
            metadata_options: Optional[LaunchTemplateMetadataOptionsArgs] = None,
            monitoring: Optional[LaunchTemplateMonitoringArgs] = None,
            name: Optional[str] = None,
            name_prefix: Optional[str] = None,
            network_interfaces: Optional[Sequence[LaunchTemplateNetworkInterfaceArgs]] = None,
            placement: Optional[LaunchTemplatePlacementArgs] = None,
            private_dns_name_options: Optional[LaunchTemplatePrivateDnsNameOptionsArgs] = None,
            ram_disk_id: Optional[str] = None,
            security_group_names: Optional[Sequence[str]] = None,
            tag_specifications: Optional[Sequence[LaunchTemplateTagSpecificationArgs]] = None,
            tags: Optional[Mapping[str, str]] = None,
            tags_all: Optional[Mapping[str, str]] = None,
            update_default_version: Optional[bool] = None,
            user_data: Optional[str] = None,
            vpc_security_group_ids: Optional[Sequence[str]] = None) -> LaunchTemplate
    func GetLaunchTemplate(ctx *Context, name string, id IDInput, state *LaunchTemplateState, opts ...ResourceOption) (*LaunchTemplate, error)
    public static LaunchTemplate Get(string name, Input<string> id, LaunchTemplateState? state, CustomResourceOptions? opts = null)
    public static LaunchTemplate get(String name, Output<String> id, LaunchTemplateState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    Arn string
    Amazon Resource Name (ARN) of the launch template.
    BlockDeviceMappings List<LaunchTemplateBlockDeviceMapping>
    Specify volumes to attach to the instance besides the volumes specified by the AMI. See Block Devices below for details.
    CapacityReservationSpecification LaunchTemplateCapacityReservationSpecification
    Targeting for EC2 capacity reservations. See Capacity Reservation Specification below for more details.
    CpuOptions LaunchTemplateCpuOptions
    The CPU options for the instance. See CPU Options below for more details.
    CreditSpecification LaunchTemplateCreditSpecification
    Customize the credit specification of the instance. See Credit Specification below for more details.
    DefaultVersion int
    Default Version of the launch template.
    Description string
    Description of the launch template.
    DisableApiStop bool
    If true, enables EC2 Instance Stop Protection.
    DisableApiTermination bool
    If true, enables EC2 Instance Termination Protection
    EbsOptimized string
    If true, the launched EC2 instance will be EBS-optimized.
    ElasticGpuSpecifications List<LaunchTemplateElasticGpuSpecification>
    The elastic GPU to attach to the instance. See Elastic GPU below for more details.
    ElasticInferenceAccelerator LaunchTemplateElasticInferenceAccelerator
    Configuration block containing an Elastic Inference Accelerator to attach to the instance. See Elastic Inference Accelerator below for more details.
    EnclaveOptions LaunchTemplateEnclaveOptions
    Enable Nitro Enclaves on launched instances. See Enclave Options below for more details.
    HibernationOptions LaunchTemplateHibernationOptions
    The hibernation options for the instance. See Hibernation Options below for more details.
    IamInstanceProfile LaunchTemplateIamInstanceProfile
    The IAM Instance Profile to launch the instance with. See Instance Profile below for more details.
    ImageId string
    The AMI from which to launch the instance.
    InstanceInitiatedShutdownBehavior string
    Shutdown behavior for the instance. Can be stop or terminate. (Default: stop).
    InstanceMarketOptions LaunchTemplateInstanceMarketOptions
    The market (purchasing) option for the instance. See Market Options below for details.
    InstanceRequirements LaunchTemplateInstanceRequirements
    The attribute requirements for the type of instance. If present then instance_type cannot be present.
    InstanceType string
    The type of the instance. If present then instance_requirements cannot be present.
    KernelId string
    The kernel ID.
    KeyName string
    The key name to use for the instance.
    LatestVersion int
    The latest version of the launch template.
    LicenseSpecifications List<LaunchTemplateLicenseSpecification>
    A list of license specifications to associate with. See License Specification below for more details.
    MaintenanceOptions LaunchTemplateMaintenanceOptions
    The maintenance options for the instance. See Maintenance Options below for more details.
    MetadataOptions LaunchTemplateMetadataOptions
    Customize the metadata options for the instance. See Metadata Options below for more details.
    Monitoring LaunchTemplateMonitoring
    The monitoring option for the instance. See Monitoring below for more details.
    Name string
    The name of the launch template. If you leave this blank, the provider will auto-generate a unique name.
    NamePrefix string
    Creates a unique name beginning with the specified prefix. Conflicts with name.
    NetworkInterfaces List<LaunchTemplateNetworkInterface>
    Customize network interfaces to be attached at instance boot time. See Network Interfaces below for more details.
    Placement LaunchTemplatePlacement
    The placement of the instance. See Placement below for more details.
    PrivateDnsNameOptions LaunchTemplatePrivateDnsNameOptions
    The options for the instance hostname. The default values are inherited from the subnet. See Private DNS Name Options below for more details.
    RamDiskId string
    The ID of the RAM disk.
    SecurityGroupNames List<string>
    A list of security group names to associate with. If you are creating Instances in a VPC, use vpc_security_group_ids instead.
    TagSpecifications List<LaunchTemplateTagSpecification>
    The tags to apply to the resources during launch. See Tag Specifications below for more details. Default tags are currently not propagated to ASG created resources so you may wish to inject your default tags into this variable against the relevant child resource types created.
    Tags Dictionary<string, string>
    A map of tags to assign to the launch template. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    TagsAll Dictionary<string, string>
    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    UpdateDefaultVersion bool
    Whether to update Default Version each update. Conflicts with default_version.
    UserData string
    The base64-encoded user data to provide when launching the instance.
    VpcSecurityGroupIds List<string>
    A list of security group IDs to associate with. Conflicts with network_interfaces.security_groups
    Arn string
    Amazon Resource Name (ARN) of the launch template.
    BlockDeviceMappings []LaunchTemplateBlockDeviceMappingArgs
    Specify volumes to attach to the instance besides the volumes specified by the AMI. See Block Devices below for details.
    CapacityReservationSpecification LaunchTemplateCapacityReservationSpecificationArgs
    Targeting for EC2 capacity reservations. See Capacity Reservation Specification below for more details.
    CpuOptions LaunchTemplateCpuOptionsArgs
    The CPU options for the instance. See CPU Options below for more details.
    CreditSpecification LaunchTemplateCreditSpecificationArgs
    Customize the credit specification of the instance. See Credit Specification below for more details.
    DefaultVersion int
    Default Version of the launch template.
    Description string
    Description of the launch template.
    DisableApiStop bool
    If true, enables EC2 Instance Stop Protection.
    DisableApiTermination bool
    If true, enables EC2 Instance Termination Protection
    EbsOptimized string
    If true, the launched EC2 instance will be EBS-optimized.
    ElasticGpuSpecifications []LaunchTemplateElasticGpuSpecificationArgs
    The elastic GPU to attach to the instance. See Elastic GPU below for more details.
    ElasticInferenceAccelerator LaunchTemplateElasticInferenceAcceleratorArgs
    Configuration block containing an Elastic Inference Accelerator to attach to the instance. See Elastic Inference Accelerator below for more details.
    EnclaveOptions LaunchTemplateEnclaveOptionsArgs
    Enable Nitro Enclaves on launched instances. See Enclave Options below for more details.
    HibernationOptions LaunchTemplateHibernationOptionsArgs
    The hibernation options for the instance. See Hibernation Options below for more details.
    IamInstanceProfile LaunchTemplateIamInstanceProfileArgs
    The IAM Instance Profile to launch the instance with. See Instance Profile below for more details.
    ImageId string
    The AMI from which to launch the instance.
    InstanceInitiatedShutdownBehavior string
    Shutdown behavior for the instance. Can be stop or terminate. (Default: stop).
    InstanceMarketOptions LaunchTemplateInstanceMarketOptionsArgs
    The market (purchasing) option for the instance. See Market Options below for details.
    InstanceRequirements LaunchTemplateInstanceRequirementsArgs
    The attribute requirements for the type of instance. If present then instance_type cannot be present.
    InstanceType string
    The type of the instance. If present then instance_requirements cannot be present.
    KernelId string
    The kernel ID.
    KeyName string
    The key name to use for the instance.
    LatestVersion int
    The latest version of the launch template.
    LicenseSpecifications []LaunchTemplateLicenseSpecificationArgs
    A list of license specifications to associate with. See License Specification below for more details.
    MaintenanceOptions LaunchTemplateMaintenanceOptionsArgs
    The maintenance options for the instance. See Maintenance Options below for more details.
    MetadataOptions LaunchTemplateMetadataOptionsArgs
    Customize the metadata options for the instance. See Metadata Options below for more details.
    Monitoring LaunchTemplateMonitoringArgs
    The monitoring option for the instance. See Monitoring below for more details.
    Name string
    The name of the launch template. If you leave this blank, the provider will auto-generate a unique name.
    NamePrefix string
    Creates a unique name beginning with the specified prefix. Conflicts with name.
    NetworkInterfaces []LaunchTemplateNetworkInterfaceArgs
    Customize network interfaces to be attached at instance boot time. See Network Interfaces below for more details.
    Placement LaunchTemplatePlacementArgs
    The placement of the instance. See Placement below for more details.
    PrivateDnsNameOptions LaunchTemplatePrivateDnsNameOptionsArgs
    The options for the instance hostname. The default values are inherited from the subnet. See Private DNS Name Options below for more details.
    RamDiskId string
    The ID of the RAM disk.
    SecurityGroupNames []string
    A list of security group names to associate with. If you are creating Instances in a VPC, use vpc_security_group_ids instead.
    TagSpecifications []LaunchTemplateTagSpecificationArgs
    The tags to apply to the resources during launch. See Tag Specifications below for more details. Default tags are currently not propagated to ASG created resources so you may wish to inject your default tags into this variable against the relevant child resource types created.
    Tags map[string]string
    A map of tags to assign to the launch template. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    TagsAll map[string]string
    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    UpdateDefaultVersion bool
    Whether to update Default Version each update. Conflicts with default_version.
    UserData string
    The base64-encoded user data to provide when launching the instance.
    VpcSecurityGroupIds []string
    A list of security group IDs to associate with. Conflicts with network_interfaces.security_groups
    arn String
    Amazon Resource Name (ARN) of the launch template.
    blockDeviceMappings List<LaunchTemplateBlockDeviceMapping>
    Specify volumes to attach to the instance besides the volumes specified by the AMI. See Block Devices below for details.
    capacityReservationSpecification LaunchTemplateCapacityReservationSpecification
    Targeting for EC2 capacity reservations. See Capacity Reservation Specification below for more details.
    cpuOptions LaunchTemplateCpuOptions
    The CPU options for the instance. See CPU Options below for more details.
    creditSpecification LaunchTemplateCreditSpecification
    Customize the credit specification of the instance. See Credit Specification below for more details.
    defaultVersion Integer
    Default Version of the launch template.
    description String
    Description of the launch template.
    disableApiStop Boolean
    If true, enables EC2 Instance Stop Protection.
    disableApiTermination Boolean
    If true, enables EC2 Instance Termination Protection
    ebsOptimized String
    If true, the launched EC2 instance will be EBS-optimized.
    elasticGpuSpecifications List<LaunchTemplateElasticGpuSpecification>
    The elastic GPU to attach to the instance. See Elastic GPU below for more details.
    elasticInferenceAccelerator LaunchTemplateElasticInferenceAccelerator
    Configuration block containing an Elastic Inference Accelerator to attach to the instance. See Elastic Inference Accelerator below for more details.
    enclaveOptions LaunchTemplateEnclaveOptions
    Enable Nitro Enclaves on launched instances. See Enclave Options below for more details.
    hibernationOptions LaunchTemplateHibernationOptions
    The hibernation options for the instance. See Hibernation Options below for more details.
    iamInstanceProfile LaunchTemplateIamInstanceProfile
    The IAM Instance Profile to launch the instance with. See Instance Profile below for more details.
    imageId String
    The AMI from which to launch the instance.
    instanceInitiatedShutdownBehavior String
    Shutdown behavior for the instance. Can be stop or terminate. (Default: stop).
    instanceMarketOptions LaunchTemplateInstanceMarketOptions
    The market (purchasing) option for the instance. See Market Options below for details.
    instanceRequirements LaunchTemplateInstanceRequirements
    The attribute requirements for the type of instance. If present then instance_type cannot be present.
    instanceType String
    The type of the instance. If present then instance_requirements cannot be present.
    kernelId String
    The kernel ID.
    keyName String
    The key name to use for the instance.
    latestVersion Integer
    The latest version of the launch template.
    licenseSpecifications List<LaunchTemplateLicenseSpecification>
    A list of license specifications to associate with. See License Specification below for more details.
    maintenanceOptions LaunchTemplateMaintenanceOptions
    The maintenance options for the instance. See Maintenance Options below for more details.
    metadataOptions LaunchTemplateMetadataOptions
    Customize the metadata options for the instance. See Metadata Options below for more details.
    monitoring LaunchTemplateMonitoring
    The monitoring option for the instance. See Monitoring below for more details.
    name String
    The name of the launch template. If you leave this blank, the provider will auto-generate a unique name.
    namePrefix String
    Creates a unique name beginning with the specified prefix. Conflicts with name.
    networkInterfaces List<LaunchTemplateNetworkInterface>
    Customize network interfaces to be attached at instance boot time. See Network Interfaces below for more details.
    placement LaunchTemplatePlacement
    The placement of the instance. See Placement below for more details.
    privateDnsNameOptions LaunchTemplatePrivateDnsNameOptions
    The options for the instance hostname. The default values are inherited from the subnet. See Private DNS Name Options below for more details.
    ramDiskId String
    The ID of the RAM disk.
    securityGroupNames List<String>
    A list of security group names to associate with. If you are creating Instances in a VPC, use vpc_security_group_ids instead.
    tagSpecifications List<LaunchTemplateTagSpecification>
    The tags to apply to the resources during launch. See Tag Specifications below for more details. Default tags are currently not propagated to ASG created resources so you may wish to inject your default tags into this variable against the relevant child resource types created.
    tags Map<String,String>
    A map of tags to assign to the launch template. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    tagsAll Map<String,String>
    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    updateDefaultVersion Boolean
    Whether to update Default Version each update. Conflicts with default_version.
    userData String
    The base64-encoded user data to provide when launching the instance.
    vpcSecurityGroupIds List<String>
    A list of security group IDs to associate with. Conflicts with network_interfaces.security_groups
    arn string
    Amazon Resource Name (ARN) of the launch template.
    blockDeviceMappings LaunchTemplateBlockDeviceMapping[]
    Specify volumes to attach to the instance besides the volumes specified by the AMI. See Block Devices below for details.
    capacityReservationSpecification LaunchTemplateCapacityReservationSpecification
    Targeting for EC2 capacity reservations. See Capacity Reservation Specification below for more details.
    cpuOptions LaunchTemplateCpuOptions
    The CPU options for the instance. See CPU Options below for more details.
    creditSpecification LaunchTemplateCreditSpecification
    Customize the credit specification of the instance. See Credit Specification below for more details.
    defaultVersion number
    Default Version of the launch template.
    description string
    Description of the launch template.
    disableApiStop boolean
    If true, enables EC2 Instance Stop Protection.
    disableApiTermination boolean
    If true, enables EC2 Instance Termination Protection
    ebsOptimized string
    If true, the launched EC2 instance will be EBS-optimized.
    elasticGpuSpecifications LaunchTemplateElasticGpuSpecification[]
    The elastic GPU to attach to the instance. See Elastic GPU below for more details.
    elasticInferenceAccelerator LaunchTemplateElasticInferenceAccelerator
    Configuration block containing an Elastic Inference Accelerator to attach to the instance. See Elastic Inference Accelerator below for more details.
    enclaveOptions LaunchTemplateEnclaveOptions
    Enable Nitro Enclaves on launched instances. See Enclave Options below for more details.
    hibernationOptions LaunchTemplateHibernationOptions
    The hibernation options for the instance. See Hibernation Options below for more details.
    iamInstanceProfile LaunchTemplateIamInstanceProfile
    The IAM Instance Profile to launch the instance with. See Instance Profile below for more details.
    imageId string
    The AMI from which to launch the instance.
    instanceInitiatedShutdownBehavior string
    Shutdown behavior for the instance. Can be stop or terminate. (Default: stop).
    instanceMarketOptions LaunchTemplateInstanceMarketOptions
    The market (purchasing) option for the instance. See Market Options below for details.
    instanceRequirements LaunchTemplateInstanceRequirements
    The attribute requirements for the type of instance. If present then instance_type cannot be present.
    instanceType string
    The type of the instance. If present then instance_requirements cannot be present.
    kernelId string
    The kernel ID.
    keyName string
    The key name to use for the instance.
    latestVersion number
    The latest version of the launch template.
    licenseSpecifications LaunchTemplateLicenseSpecification[]
    A list of license specifications to associate with. See License Specification below for more details.
    maintenanceOptions LaunchTemplateMaintenanceOptions
    The maintenance options for the instance. See Maintenance Options below for more details.
    metadataOptions LaunchTemplateMetadataOptions
    Customize the metadata options for the instance. See Metadata Options below for more details.
    monitoring LaunchTemplateMonitoring
    The monitoring option for the instance. See Monitoring below for more details.
    name string
    The name of the launch template. If you leave this blank, the provider will auto-generate a unique name.
    namePrefix string
    Creates a unique name beginning with the specified prefix. Conflicts with name.
    networkInterfaces LaunchTemplateNetworkInterface[]
    Customize network interfaces to be attached at instance boot time. See Network Interfaces below for more details.
    placement LaunchTemplatePlacement
    The placement of the instance. See Placement below for more details.
    privateDnsNameOptions LaunchTemplatePrivateDnsNameOptions
    The options for the instance hostname. The default values are inherited from the subnet. See Private DNS Name Options below for more details.
    ramDiskId string
    The ID of the RAM disk.
    securityGroupNames string[]
    A list of security group names to associate with. If you are creating Instances in a VPC, use vpc_security_group_ids instead.
    tagSpecifications LaunchTemplateTagSpecification[]
    The tags to apply to the resources during launch. See Tag Specifications below for more details. Default tags are currently not propagated to ASG created resources so you may wish to inject your default tags into this variable against the relevant child resource types created.
    tags {[key: string]: string}
    A map of tags to assign to the launch template. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    tagsAll {[key: string]: string}
    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    updateDefaultVersion boolean
    Whether to update Default Version each update. Conflicts with default_version.
    userData string
    The base64-encoded user data to provide when launching the instance.
    vpcSecurityGroupIds string[]
    A list of security group IDs to associate with. Conflicts with network_interfaces.security_groups
    arn str
    Amazon Resource Name (ARN) of the launch template.
    block_device_mappings Sequence[LaunchTemplateBlockDeviceMappingArgs]
    Specify volumes to attach to the instance besides the volumes specified by the AMI. See Block Devices below for details.
    capacity_reservation_specification LaunchTemplateCapacityReservationSpecificationArgs
    Targeting for EC2 capacity reservations. See Capacity Reservation Specification below for more details.
    cpu_options LaunchTemplateCpuOptionsArgs
    The CPU options for the instance. See CPU Options below for more details.
    credit_specification LaunchTemplateCreditSpecificationArgs
    Customize the credit specification of the instance. See Credit Specification below for more details.
    default_version int
    Default Version of the launch template.
    description str
    Description of the launch template.
    disable_api_stop bool
    If true, enables EC2 Instance Stop Protection.
    disable_api_termination bool
    If true, enables EC2 Instance Termination Protection
    ebs_optimized str
    If true, the launched EC2 instance will be EBS-optimized.
    elastic_gpu_specifications Sequence[LaunchTemplateElasticGpuSpecificationArgs]
    The elastic GPU to attach to the instance. See Elastic GPU below for more details.
    elastic_inference_accelerator LaunchTemplateElasticInferenceAcceleratorArgs
    Configuration block containing an Elastic Inference Accelerator to attach to the instance. See Elastic Inference Accelerator below for more details.
    enclave_options LaunchTemplateEnclaveOptionsArgs
    Enable Nitro Enclaves on launched instances. See Enclave Options below for more details.
    hibernation_options LaunchTemplateHibernationOptionsArgs
    The hibernation options for the instance. See Hibernation Options below for more details.
    iam_instance_profile LaunchTemplateIamInstanceProfileArgs
    The IAM Instance Profile to launch the instance with. See Instance Profile below for more details.
    image_id str
    The AMI from which to launch the instance.
    instance_initiated_shutdown_behavior str
    Shutdown behavior for the instance. Can be stop or terminate. (Default: stop).
    instance_market_options LaunchTemplateInstanceMarketOptionsArgs
    The market (purchasing) option for the instance. See Market Options below for details.
    instance_requirements LaunchTemplateInstanceRequirementsArgs
    The attribute requirements for the type of instance. If present then instance_type cannot be present.
    instance_type str
    The type of the instance. If present then instance_requirements cannot be present.
    kernel_id str
    The kernel ID.
    key_name str
    The key name to use for the instance.
    latest_version int
    The latest version of the launch template.
    license_specifications Sequence[LaunchTemplateLicenseSpecificationArgs]
    A list of license specifications to associate with. See License Specification below for more details.
    maintenance_options LaunchTemplateMaintenanceOptionsArgs
    The maintenance options for the instance. See Maintenance Options below for more details.
    metadata_options LaunchTemplateMetadataOptionsArgs
    Customize the metadata options for the instance. See Metadata Options below for more details.
    monitoring LaunchTemplateMonitoringArgs
    The monitoring option for the instance. See Monitoring below for more details.
    name str
    The name of the launch template. If you leave this blank, the provider will auto-generate a unique name.
    name_prefix str
    Creates a unique name beginning with the specified prefix. Conflicts with name.
    network_interfaces Sequence[LaunchTemplateNetworkInterfaceArgs]
    Customize network interfaces to be attached at instance boot time. See Network Interfaces below for more details.
    placement LaunchTemplatePlacementArgs
    The placement of the instance. See Placement below for more details.
    private_dns_name_options LaunchTemplatePrivateDnsNameOptionsArgs
    The options for the instance hostname. The default values are inherited from the subnet. See Private DNS Name Options below for more details.
    ram_disk_id str
    The ID of the RAM disk.
    security_group_names Sequence[str]
    A list of security group names to associate with. If you are creating Instances in a VPC, use vpc_security_group_ids instead.
    tag_specifications Sequence[LaunchTemplateTagSpecificationArgs]
    The tags to apply to the resources during launch. See Tag Specifications below for more details. Default tags are currently not propagated to ASG created resources so you may wish to inject your default tags into this variable against the relevant child resource types created.
    tags Mapping[str, str]
    A map of tags to assign to the launch template. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    tags_all Mapping[str, str]
    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    update_default_version bool
    Whether to update Default Version each update. Conflicts with default_version.
    user_data str
    The base64-encoded user data to provide when launching the instance.
    vpc_security_group_ids Sequence[str]
    A list of security group IDs to associate with. Conflicts with network_interfaces.security_groups
    arn String
    Amazon Resource Name (ARN) of the launch template.
    blockDeviceMappings List<Property Map>
    Specify volumes to attach to the instance besides the volumes specified by the AMI. See Block Devices below for details.
    capacityReservationSpecification Property Map
    Targeting for EC2 capacity reservations. See Capacity Reservation Specification below for more details.
    cpuOptions Property Map
    The CPU options for the instance. See CPU Options below for more details.
    creditSpecification Property Map
    Customize the credit specification of the instance. See Credit Specification below for more details.
    defaultVersion Number
    Default Version of the launch template.
    description String
    Description of the launch template.
    disableApiStop Boolean
    If true, enables EC2 Instance Stop Protection.
    disableApiTermination Boolean
    If true, enables EC2 Instance Termination Protection
    ebsOptimized String
    If true, the launched EC2 instance will be EBS-optimized.
    elasticGpuSpecifications List<Property Map>
    The elastic GPU to attach to the instance. See Elastic GPU below for more details.
    elasticInferenceAccelerator Property Map
    Configuration block containing an Elastic Inference Accelerator to attach to the instance. See Elastic Inference Accelerator below for more details.
    enclaveOptions Property Map
    Enable Nitro Enclaves on launched instances. See Enclave Options below for more details.
    hibernationOptions Property Map
    The hibernation options for the instance. See Hibernation Options below for more details.
    iamInstanceProfile Property Map
    The IAM Instance Profile to launch the instance with. See Instance Profile below for more details.
    imageId String
    The AMI from which to launch the instance.
    instanceInitiatedShutdownBehavior String
    Shutdown behavior for the instance. Can be stop or terminate. (Default: stop).
    instanceMarketOptions Property Map
    The market (purchasing) option for the instance. See Market Options below for details.
    instanceRequirements Property Map
    The attribute requirements for the type of instance. If present then instance_type cannot be present.
    instanceType String
    The type of the instance. If present then instance_requirements cannot be present.
    kernelId String
    The kernel ID.
    keyName String
    The key name to use for the instance.
    latestVersion Number
    The latest version of the launch template.
    licenseSpecifications List<Property Map>
    A list of license specifications to associate with. See License Specification below for more details.
    maintenanceOptions Property Map
    The maintenance options for the instance. See Maintenance Options below for more details.
    metadataOptions Property Map
    Customize the metadata options for the instance. See Metadata Options below for more details.
    monitoring Property Map
    The monitoring option for the instance. See Monitoring below for more details.
    name String
    The name of the launch template. If you leave this blank, the provider will auto-generate a unique name.
    namePrefix String
    Creates a unique name beginning with the specified prefix. Conflicts with name.
    networkInterfaces List<Property Map>
    Customize network interfaces to be attached at instance boot time. See Network Interfaces below for more details.
    placement Property Map
    The placement of the instance. See Placement below for more details.
    privateDnsNameOptions Property Map
    The options for the instance hostname. The default values are inherited from the subnet. See Private DNS Name Options below for more details.
    ramDiskId String
    The ID of the RAM disk.
    securityGroupNames List<String>
    A list of security group names to associate with. If you are creating Instances in a VPC, use vpc_security_group_ids instead.
    tagSpecifications List<Property Map>
    The tags to apply to the resources during launch. See Tag Specifications below for more details. Default tags are currently not propagated to ASG created resources so you may wish to inject your default tags into this variable against the relevant child resource types created.
    tags Map<String>
    A map of tags to assign to the launch template. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
    tagsAll Map<String>
    A map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

    Deprecated: Please use tags instead.

    updateDefaultVersion Boolean
    Whether to update Default Version each update. Conflicts with default_version.
    userData String
    The base64-encoded user data to provide when launching the instance.
    vpcSecurityGroupIds List<String>
    A list of security group IDs to associate with. Conflicts with network_interfaces.security_groups

    Supporting Types

    LaunchTemplateBlockDeviceMapping, LaunchTemplateBlockDeviceMappingArgs

    DeviceName string
    The name of the device to mount.
    Ebs LaunchTemplateBlockDeviceMappingEbs
    Configure EBS volume properties.
    NoDevice string
    Suppresses the specified device included in the AMI's block device mapping.
    VirtualName string
    The Instance Store Device Name (e.g., "ephemeral0").
    DeviceName string
    The name of the device to mount.
    Ebs LaunchTemplateBlockDeviceMappingEbs
    Configure EBS volume properties.
    NoDevice string
    Suppresses the specified device included in the AMI's block device mapping.
    VirtualName string
    The Instance Store Device Name (e.g., "ephemeral0").
    deviceName String
    The name of the device to mount.
    ebs LaunchTemplateBlockDeviceMappingEbs
    Configure EBS volume properties.
    noDevice String
    Suppresses the specified device included in the AMI's block device mapping.
    virtualName String
    The Instance Store Device Name (e.g., "ephemeral0").
    deviceName string
    The name of the device to mount.
    ebs LaunchTemplateBlockDeviceMappingEbs
    Configure EBS volume properties.
    noDevice string
    Suppresses the specified device included in the AMI's block device mapping.
    virtualName string
    The Instance Store Device Name (e.g., "ephemeral0").
    device_name str
    The name of the device to mount.
    ebs LaunchTemplateBlockDeviceMappingEbs
    Configure EBS volume properties.
    no_device str
    Suppresses the specified device included in the AMI's block device mapping.
    virtual_name str
    The Instance Store Device Name (e.g., "ephemeral0").
    deviceName String
    The name of the device to mount.
    ebs Property Map
    Configure EBS volume properties.
    noDevice String
    Suppresses the specified device included in the AMI's block device mapping.
    virtualName String
    The Instance Store Device Name (e.g., "ephemeral0").

    LaunchTemplateBlockDeviceMappingEbs, LaunchTemplateBlockDeviceMappingEbsArgs

    DeleteOnTermination string
    Whether the volume should be destroyed on instance termination. See Preserving Amazon EBS Volumes on Instance Termination for more information.
    Encrypted string
    Enables EBS encryption on the volume. Cannot be used with snapshot_id.
    Iops int
    The amount of provisioned IOPS. This must be set with a volume_type of "io1/io2/gp3".
    KmsKeyId string
    The ARN of the AWS Key Management Service (AWS KMS) customer master key (CMK) to use when creating the encrypted volume. encrypted must be set to true when this is set.
    SnapshotId string
    The Snapshot ID to mount.
    Throughput int
    The throughput to provision for a gp3 volume in MiB/s (specified as an integer, e.g., 500), with a maximum of 1,000 MiB/s.
    VolumeSize int
    The size of the volume in gigabytes.
    VolumeType string
    The volume type. Can be one of standard, gp2, gp3, io1, io2, sc1 or st1.
    DeleteOnTermination string
    Whether the volume should be destroyed on instance termination. See Preserving Amazon EBS Volumes on Instance Termination for more information.
    Encrypted string
    Enables EBS encryption on the volume. Cannot be used with snapshot_id.
    Iops int
    The amount of provisioned IOPS. This must be set with a volume_type of "io1/io2/gp3".
    KmsKeyId string
    The ARN of the AWS Key Management Service (AWS KMS) customer master key (CMK) to use when creating the encrypted volume. encrypted must be set to true when this is set.
    SnapshotId string
    The Snapshot ID to mount.
    Throughput int
    The throughput to provision for a gp3 volume in MiB/s (specified as an integer, e.g., 500), with a maximum of 1,000 MiB/s.
    VolumeSize int
    The size of the volume in gigabytes.
    VolumeType string
    The volume type. Can be one of standard, gp2, gp3, io1, io2, sc1 or st1.
    deleteOnTermination String
    Whether the volume should be destroyed on instance termination. See Preserving Amazon EBS Volumes on Instance Termination for more information.
    encrypted String
    Enables EBS encryption on the volume. Cannot be used with snapshot_id.
    iops Integer
    The amount of provisioned IOPS. This must be set with a volume_type of "io1/io2/gp3".
    kmsKeyId String
    The ARN of the AWS Key Management Service (AWS KMS) customer master key (CMK) to use when creating the encrypted volume. encrypted must be set to true when this is set.
    snapshotId String
    The Snapshot ID to mount.
    throughput Integer
    The throughput to provision for a gp3 volume in MiB/s (specified as an integer, e.g., 500), with a maximum of 1,000 MiB/s.
    volumeSize Integer
    The size of the volume in gigabytes.
    volumeType String
    The volume type. Can be one of standard, gp2, gp3, io1, io2, sc1 or st1.
    deleteOnTermination string
    Whether the volume should be destroyed on instance termination. See Preserving Amazon EBS Volumes on Instance Termination for more information.
    encrypted string
    Enables EBS encryption on the volume. Cannot be used with snapshot_id.
    iops number
    The amount of provisioned IOPS. This must be set with a volume_type of "io1/io2/gp3".
    kmsKeyId string
    The ARN of the AWS Key Management Service (AWS KMS) customer master key (CMK) to use when creating the encrypted volume. encrypted must be set to true when this is set.
    snapshotId string
    The Snapshot ID to mount.
    throughput number
    The throughput to provision for a gp3 volume in MiB/s (specified as an integer, e.g., 500), with a maximum of 1,000 MiB/s.
    volumeSize number
    The size of the volume in gigabytes.
    volumeType string
    The volume type. Can be one of standard, gp2, gp3, io1, io2, sc1 or st1.
    delete_on_termination str
    Whether the volume should be destroyed on instance termination. See Preserving Amazon EBS Volumes on Instance Termination for more information.
    encrypted str
    Enables EBS encryption on the volume. Cannot be used with snapshot_id.
    iops int
    The amount of provisioned IOPS. This must be set with a volume_type of "io1/io2/gp3".
    kms_key_id str
    The ARN of the AWS Key Management Service (AWS KMS) customer master key (CMK) to use when creating the encrypted volume. encrypted must be set to true when this is set.
    snapshot_id str
    The Snapshot ID to mount.
    throughput int
    The throughput to provision for a gp3 volume in MiB/s (specified as an integer, e.g., 500), with a maximum of 1,000 MiB/s.
    volume_size int
    The size of the volume in gigabytes.
    volume_type str
    The volume type. Can be one of standard, gp2, gp3, io1, io2, sc1 or st1.
    deleteOnTermination String
    Whether the volume should be destroyed on instance termination. See Preserving Amazon EBS Volumes on Instance Termination for more information.
    encrypted String
    Enables EBS encryption on the volume. Cannot be used with snapshot_id.
    iops Number
    The amount of provisioned IOPS. This must be set with a volume_type of "io1/io2/gp3".
    kmsKeyId String
    The ARN of the AWS Key Management Service (AWS KMS) customer master key (CMK) to use when creating the encrypted volume. encrypted must be set to true when this is set.
    snapshotId String
    The Snapshot ID to mount.
    throughput Number
    The throughput to provision for a gp3 volume in MiB/s (specified as an integer, e.g., 500), with a maximum of 1,000 MiB/s.
    volumeSize Number
    The size of the volume in gigabytes.
    volumeType String
    The volume type. Can be one of standard, gp2, gp3, io1, io2, sc1 or st1.

    LaunchTemplateCapacityReservationSpecification, LaunchTemplateCapacityReservationSpecificationArgs

    CapacityReservationPreference string
    Indicates the instance's Capacity Reservation preferences. Can be open or none. (Default none).
    CapacityReservationTarget LaunchTemplateCapacityReservationSpecificationCapacityReservationTarget
    Used to target a specific Capacity Reservation:
    CapacityReservationPreference string
    Indicates the instance's Capacity Reservation preferences. Can be open or none. (Default none).
    CapacityReservationTarget LaunchTemplateCapacityReservationSpecificationCapacityReservationTarget
    Used to target a specific Capacity Reservation:
    capacityReservationPreference String
    Indicates the instance's Capacity Reservation preferences. Can be open or none. (Default none).
    capacityReservationTarget LaunchTemplateCapacityReservationSpecificationCapacityReservationTarget
    Used to target a specific Capacity Reservation:
    capacityReservationPreference string
    Indicates the instance's Capacity Reservation preferences. Can be open or none. (Default none).
    capacityReservationTarget LaunchTemplateCapacityReservationSpecificationCapacityReservationTarget
    Used to target a specific Capacity Reservation:
    capacity_reservation_preference str
    Indicates the instance's Capacity Reservation preferences. Can be open or none. (Default none).
    capacity_reservation_target LaunchTemplateCapacityReservationSpecificationCapacityReservationTarget
    Used to target a specific Capacity Reservation:
    capacityReservationPreference String
    Indicates the instance's Capacity Reservation preferences. Can be open or none. (Default none).
    capacityReservationTarget Property Map
    Used to target a specific Capacity Reservation:

    LaunchTemplateCapacityReservationSpecificationCapacityReservationTarget, LaunchTemplateCapacityReservationSpecificationCapacityReservationTargetArgs

    CapacityReservationId string
    The ID of the Capacity Reservation in which to run the instance.
    CapacityReservationResourceGroupArn string
    The ARN of the Capacity Reservation resource group in which to run the instance.
    CapacityReservationId string
    The ID of the Capacity Reservation in which to run the instance.
    CapacityReservationResourceGroupArn string
    The ARN of the Capacity Reservation resource group in which to run the instance.
    capacityReservationId String
    The ID of the Capacity Reservation in which to run the instance.
    capacityReservationResourceGroupArn String
    The ARN of the Capacity Reservation resource group in which to run the instance.
    capacityReservationId string
    The ID of the Capacity Reservation in which to run the instance.
    capacityReservationResourceGroupArn string
    The ARN of the Capacity Reservation resource group in which to run the instance.
    capacity_reservation_id str
    The ID of the Capacity Reservation in which to run the instance.
    capacity_reservation_resource_group_arn str
    The ARN of the Capacity Reservation resource group in which to run the instance.
    capacityReservationId String
    The ID of the Capacity Reservation in which to run the instance.
    capacityReservationResourceGroupArn String
    The ARN of the Capacity Reservation resource group in which to run the instance.

    LaunchTemplateCpuOptions, LaunchTemplateCpuOptionsArgs

    AmdSevSnp string
    Indicates whether to enable the instance for AMD SEV-SNP. AMD SEV-SNP is supported with M6a, R6a, and C6a instance types only. Valid values are enabled and disabled.
    CoreCount int
    The number of CPU cores for the instance.
    ThreadsPerCore int

    The number of threads per CPU core. To disable Intel Hyper-Threading Technology for the instance, specify a value of 1. Otherwise, specify the default value of 2.

    Both number of CPU cores and threads per core must be specified. Valid number of CPU cores and threads per core for the instance type can be found in the CPU Options Documentation

    AmdSevSnp string
    Indicates whether to enable the instance for AMD SEV-SNP. AMD SEV-SNP is supported with M6a, R6a, and C6a instance types only. Valid values are enabled and disabled.
    CoreCount int
    The number of CPU cores for the instance.
    ThreadsPerCore int

    The number of threads per CPU core. To disable Intel Hyper-Threading Technology for the instance, specify a value of 1. Otherwise, specify the default value of 2.

    Both number of CPU cores and threads per core must be specified. Valid number of CPU cores and threads per core for the instance type can be found in the CPU Options Documentation

    amdSevSnp String
    Indicates whether to enable the instance for AMD SEV-SNP. AMD SEV-SNP is supported with M6a, R6a, and C6a instance types only. Valid values are enabled and disabled.
    coreCount Integer
    The number of CPU cores for the instance.
    threadsPerCore Integer

    The number of threads per CPU core. To disable Intel Hyper-Threading Technology for the instance, specify a value of 1. Otherwise, specify the default value of 2.

    Both number of CPU cores and threads per core must be specified. Valid number of CPU cores and threads per core for the instance type can be found in the CPU Options Documentation

    amdSevSnp string
    Indicates whether to enable the instance for AMD SEV-SNP. AMD SEV-SNP is supported with M6a, R6a, and C6a instance types only. Valid values are enabled and disabled.
    coreCount number
    The number of CPU cores for the instance.
    threadsPerCore number

    The number of threads per CPU core. To disable Intel Hyper-Threading Technology for the instance, specify a value of 1. Otherwise, specify the default value of 2.

    Both number of CPU cores and threads per core must be specified. Valid number of CPU cores and threads per core for the instance type can be found in the CPU Options Documentation

    amd_sev_snp str
    Indicates whether to enable the instance for AMD SEV-SNP. AMD SEV-SNP is supported with M6a, R6a, and C6a instance types only. Valid values are enabled and disabled.
    core_count int
    The number of CPU cores for the instance.
    threads_per_core int

    The number of threads per CPU core. To disable Intel Hyper-Threading Technology for the instance, specify a value of 1. Otherwise, specify the default value of 2.

    Both number of CPU cores and threads per core must be specified. Valid number of CPU cores and threads per core for the instance type can be found in the CPU Options Documentation

    amdSevSnp String
    Indicates whether to enable the instance for AMD SEV-SNP. AMD SEV-SNP is supported with M6a, R6a, and C6a instance types only. Valid values are enabled and disabled.
    coreCount Number
    The number of CPU cores for the instance.
    threadsPerCore Number

    The number of threads per CPU core. To disable Intel Hyper-Threading Technology for the instance, specify a value of 1. Otherwise, specify the default value of 2.

    Both number of CPU cores and threads per core must be specified. Valid number of CPU cores and threads per core for the instance type can be found in the CPU Options Documentation

    LaunchTemplateCreditSpecification, LaunchTemplateCreditSpecificationArgs

    CpuCredits string
    The credit option for CPU usage. Can be standard or unlimited. T3 instances are launched as unlimited by default. T2 instances are launched as standard by default.
    CpuCredits string
    The credit option for CPU usage. Can be standard or unlimited. T3 instances are launched as unlimited by default. T2 instances are launched as standard by default.
    cpuCredits String
    The credit option for CPU usage. Can be standard or unlimited. T3 instances are launched as unlimited by default. T2 instances are launched as standard by default.
    cpuCredits string
    The credit option for CPU usage. Can be standard or unlimited. T3 instances are launched as unlimited by default. T2 instances are launched as standard by default.
    cpu_credits str
    The credit option for CPU usage. Can be standard or unlimited. T3 instances are launched as unlimited by default. T2 instances are launched as standard by default.
    cpuCredits String
    The credit option for CPU usage. Can be standard or unlimited. T3 instances are launched as unlimited by default. T2 instances are launched as standard by default.

    LaunchTemplateElasticGpuSpecification, LaunchTemplateElasticGpuSpecificationArgs

    LaunchTemplateElasticInferenceAccelerator, LaunchTemplateElasticInferenceAcceleratorArgs

    Type string
    Accelerator type.
    Type string
    Accelerator type.
    type String
    Accelerator type.
    type string
    Accelerator type.
    type str
    Accelerator type.
    type String
    Accelerator type.

    LaunchTemplateEnclaveOptions, LaunchTemplateEnclaveOptionsArgs

    Enabled bool

    If set to true, Nitro Enclaves will be enabled on the instance.

    For more information, see the documentation on Nitro Enclaves.

    Enabled bool

    If set to true, Nitro Enclaves will be enabled on the instance.

    For more information, see the documentation on Nitro Enclaves.

    enabled Boolean

    If set to true, Nitro Enclaves will be enabled on the instance.

    For more information, see the documentation on Nitro Enclaves.

    enabled boolean

    If set to true, Nitro Enclaves will be enabled on the instance.

    For more information, see the documentation on Nitro Enclaves.

    enabled bool

    If set to true, Nitro Enclaves will be enabled on the instance.

    For more information, see the documentation on Nitro Enclaves.

    enabled Boolean

    If set to true, Nitro Enclaves will be enabled on the instance.

    For more information, see the documentation on Nitro Enclaves.

    LaunchTemplateHibernationOptions, LaunchTemplateHibernationOptionsArgs

    Configured bool
    If set to true, the launched EC2 instance will hibernation enabled.
    Configured bool
    If set to true, the launched EC2 instance will hibernation enabled.
    configured Boolean
    If set to true, the launched EC2 instance will hibernation enabled.
    configured boolean
    If set to true, the launched EC2 instance will hibernation enabled.
    configured bool
    If set to true, the launched EC2 instance will hibernation enabled.
    configured Boolean
    If set to true, the launched EC2 instance will hibernation enabled.

    LaunchTemplateIamInstanceProfile, LaunchTemplateIamInstanceProfileArgs

    Arn string
    The Amazon Resource Name (ARN) of the instance profile. Conflicts with name.
    Name string
    The name of the instance profile.
    Arn string
    The Amazon Resource Name (ARN) of the instance profile. Conflicts with name.
    Name string
    The name of the instance profile.
    arn String
    The Amazon Resource Name (ARN) of the instance profile. Conflicts with name.
    name String
    The name of the instance profile.
    arn string
    The Amazon Resource Name (ARN) of the instance profile. Conflicts with name.
    name string
    The name of the instance profile.
    arn str
    The Amazon Resource Name (ARN) of the instance profile. Conflicts with name.
    name str
    The name of the instance profile.
    arn String
    The Amazon Resource Name (ARN) of the instance profile. Conflicts with name.
    name String
    The name of the instance profile.

    LaunchTemplateInstanceMarketOptions, LaunchTemplateInstanceMarketOptionsArgs

    marketType String
    The market type. Can be spot.
    spotOptions Property Map
    The options for Spot Instance

    LaunchTemplateInstanceMarketOptionsSpotOptions, LaunchTemplateInstanceMarketOptionsSpotOptionsArgs

    BlockDurationMinutes int
    The required duration in minutes. This value must be a multiple of 60.
    InstanceInterruptionBehavior string
    The behavior when a Spot Instance is interrupted. Can be hibernate, stop, or terminate. (Default: terminate).
    MaxPrice string
    The maximum hourly price you're willing to pay for the Spot Instances.
    SpotInstanceType string
    The Spot Instance request type. Can be one-time, or persistent.
    ValidUntil string
    The end date of the request.
    BlockDurationMinutes int
    The required duration in minutes. This value must be a multiple of 60.
    InstanceInterruptionBehavior string
    The behavior when a Spot Instance is interrupted. Can be hibernate, stop, or terminate. (Default: terminate).
    MaxPrice string
    The maximum hourly price you're willing to pay for the Spot Instances.
    SpotInstanceType string
    The Spot Instance request type. Can be one-time, or persistent.
    ValidUntil string
    The end date of the request.
    blockDurationMinutes Integer
    The required duration in minutes. This value must be a multiple of 60.
    instanceInterruptionBehavior String
    The behavior when a Spot Instance is interrupted. Can be hibernate, stop, or terminate. (Default: terminate).
    maxPrice String
    The maximum hourly price you're willing to pay for the Spot Instances.
    spotInstanceType String
    The Spot Instance request type. Can be one-time, or persistent.
    validUntil String
    The end date of the request.
    blockDurationMinutes number
    The required duration in minutes. This value must be a multiple of 60.
    instanceInterruptionBehavior string
    The behavior when a Spot Instance is interrupted. Can be hibernate, stop, or terminate. (Default: terminate).
    maxPrice string
    The maximum hourly price you're willing to pay for the Spot Instances.
    spotInstanceType string
    The Spot Instance request type. Can be one-time, or persistent.
    validUntil string
    The end date of the request.
    block_duration_minutes int
    The required duration in minutes. This value must be a multiple of 60.
    instance_interruption_behavior str
    The behavior when a Spot Instance is interrupted. Can be hibernate, stop, or terminate. (Default: terminate).
    max_price str
    The maximum hourly price you're willing to pay for the Spot Instances.
    spot_instance_type str
    The Spot Instance request type. Can be one-time, or persistent.
    valid_until str
    The end date of the request.
    blockDurationMinutes Number
    The required duration in minutes. This value must be a multiple of 60.
    instanceInterruptionBehavior String
    The behavior when a Spot Instance is interrupted. Can be hibernate, stop, or terminate. (Default: terminate).
    maxPrice String
    The maximum hourly price you're willing to pay for the Spot Instances.
    spotInstanceType String
    The Spot Instance request type. Can be one-time, or persistent.
    validUntil String
    The end date of the request.

    LaunchTemplateInstanceRequirements, LaunchTemplateInstanceRequirementsArgs

    MemoryMib LaunchTemplateInstanceRequirementsMemoryMib
    Block describing the minimum and maximum amount of memory (MiB). Default is no maximum.
    VcpuCount LaunchTemplateInstanceRequirementsVcpuCount
    Block describing the minimum and maximum number of vCPUs. Default is no maximum.
    AcceleratorCount LaunchTemplateInstanceRequirementsAcceleratorCount
    Block describing the minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips). Default is no minimum or maximum.
    AcceleratorManufacturers List<string>
    List of accelerator manufacturer names. Default is any manufacturer.

    Valid names:
    * amazon-web-services
    * amd
    * nvidia
    * xilinx
    
    AcceleratorNames List<string>
    List of accelerator names. Default is any acclerator.

    Valid names:
    * a100            - NVIDIA A100 GPUs
    * v100            - NVIDIA V100 GPUs
    * k80             - NVIDIA K80 GPUs
    * t4              - NVIDIA T4 GPUs
    * m60             - NVIDIA M60 GPUs
    * radeon-pro-v520 - AMD Radeon Pro V520 GPUs
    * vu9p            - Xilinx VU9P FPGAs
    
    AcceleratorTotalMemoryMib LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMib
    Block describing the minimum and maximum total memory of the accelerators. Default is no minimum or maximum.
    AcceleratorTypes List<string>
    List of accelerator types. Default is any accelerator type.

    Valid types:
    * fpga
    * gpu
    * inference
    
    AllowedInstanceTypes List<string>

    List of instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes. You can use strings with one or more wild cards, represented by an asterisk (*), to allow an instance type, size, or generation. The following are examples: m5.8xlarge, c5*.*, m5a.*, r*, *3*. For example, if you specify c5*, you are allowing the entire C5 instance family, which includes all C5a and C5n instance types. If you specify m5a.*, you are allowing all the M5a instance types, but not the M5n instance types. Maximum of 400 entries in the list; each entry is limited to 30 characters. Default is all instance types.

    NOTE: If you specify allowed_instance_types, you can't specify excluded_instance_types.

    BareMetal string
    Indicate whether bare metal instace types should be included, excluded, or required. Default is excluded.
    BaselineEbsBandwidthMbps LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbps
    Block describing the minimum and maximum baseline EBS bandwidth, in Mbps. Default is no minimum or maximum.
    BurstablePerformance string
    Indicate whether burstable performance instance types should be included, excluded, or required. Default is excluded.
    CpuManufacturers List<string>

    List of CPU manufacturer names. Default is any manufacturer.

    NOTE: Don't confuse the CPU hardware manufacturer with the CPU hardware architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template.

    Valid names:
    * amazon-web-services
    * amd
    * intel
    
    ExcludedInstanceTypes List<string>

    List of instance types to exclude. You can use strings with one or more wild cards, represented by an asterisk (*), to exclude an instance type, size, or generation. The following are examples: m5.8xlarge, c5*.*, m5a.*, r*, *3*. For example, if you specify c5*, you are excluding the entire C5 instance family, which includes all C5a and C5n instance types. If you specify m5a.*, you are excluding all the M5a instance types, but not the M5n instance types. Maximum of 400 entries in the list; each entry is limited to 30 characters. Default is no excluded instance types.

    NOTE: If you specify excluded_instance_types, you can't specify allowed_instance_types.

    InstanceGenerations List<string>
    List of instance generation names. Default is any generation.

    Valid names:
    * current  - Recommended for best performance.
    * previous - For existing applications optimized for older instance types.
    
    LocalStorage string
    Indicate whether instance types with local storage volumes are included, excluded, or required. Default is included.
    LocalStorageTypes List<string>
    List of local storage type names. Default any storage type.

    Value names:
    * hdd - hard disk drive
    * ssd - solid state drive
    
    MemoryGibPerVcpu LaunchTemplateInstanceRequirementsMemoryGibPerVcpu
    Block describing the minimum and maximum amount of memory (GiB) per vCPU. Default is no minimum or maximum.
    NetworkBandwidthGbps LaunchTemplateInstanceRequirementsNetworkBandwidthGbps
    Block describing the minimum and maximum amount of network bandwidth, in gigabits per second (Gbps). Default is no minimum or maximum.
    NetworkInterfaceCount LaunchTemplateInstanceRequirementsNetworkInterfaceCount
    Block describing the minimum and maximum number of network interfaces. Default is no minimum or maximum.
    OnDemandMaxPricePercentageOverLowestPrice int

    The price protection threshold for On-Demand Instances. This is the maximum you’ll pay for an On-Demand Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Default is 20.

    If you set DesiredCapacityType to vcpu or memory-mib, the price protection threshold is applied based on the per vCPU or per memory price instead of the per instance price.

    RequireHibernateSupport bool
    Indicate whether instance types must support On-Demand Instance Hibernation, either true or false. Default is false.
    SpotMaxPricePercentageOverLowestPrice int

    The price protection threshold for Spot Instances. This is the maximum you’ll pay for a Spot Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Default is 100.

    If you set DesiredCapacityType to vcpu or memory-mib, the price protection threshold is applied based on the per vCPU or per memory price instead of the per instance price.

    TotalLocalStorageGb LaunchTemplateInstanceRequirementsTotalLocalStorageGb
    Block describing the minimum and maximum total local storage (GB). Default is no minimum or maximum.
    MemoryMib LaunchTemplateInstanceRequirementsMemoryMib
    Block describing the minimum and maximum amount of memory (MiB). Default is no maximum.
    VcpuCount LaunchTemplateInstanceRequirementsVcpuCount
    Block describing the minimum and maximum number of vCPUs. Default is no maximum.
    AcceleratorCount LaunchTemplateInstanceRequirementsAcceleratorCount
    Block describing the minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips). Default is no minimum or maximum.
    AcceleratorManufacturers []string
    List of accelerator manufacturer names. Default is any manufacturer.

    Valid names:
    * amazon-web-services
    * amd
    * nvidia
    * xilinx
    
    AcceleratorNames []string
    List of accelerator names. Default is any acclerator.

    Valid names:
    * a100            - NVIDIA A100 GPUs
    * v100            - NVIDIA V100 GPUs
    * k80             - NVIDIA K80 GPUs
    * t4              - NVIDIA T4 GPUs
    * m60             - NVIDIA M60 GPUs
    * radeon-pro-v520 - AMD Radeon Pro V520 GPUs
    * vu9p            - Xilinx VU9P FPGAs
    
    AcceleratorTotalMemoryMib LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMib
    Block describing the minimum and maximum total memory of the accelerators. Default is no minimum or maximum.
    AcceleratorTypes []string
    List of accelerator types. Default is any accelerator type.

    Valid types:
    * fpga
    * gpu
    * inference
    
    AllowedInstanceTypes []string

    List of instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes. You can use strings with one or more wild cards, represented by an asterisk (*), to allow an instance type, size, or generation. The following are examples: m5.8xlarge, c5*.*, m5a.*, r*, *3*. For example, if you specify c5*, you are allowing the entire C5 instance family, which includes all C5a and C5n instance types. If you specify m5a.*, you are allowing all the M5a instance types, but not the M5n instance types. Maximum of 400 entries in the list; each entry is limited to 30 characters. Default is all instance types.

    NOTE: If you specify allowed_instance_types, you can't specify excluded_instance_types.

    BareMetal string
    Indicate whether bare metal instace types should be included, excluded, or required. Default is excluded.
    BaselineEbsBandwidthMbps LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbps
    Block describing the minimum and maximum baseline EBS bandwidth, in Mbps. Default is no minimum or maximum.
    BurstablePerformance string
    Indicate whether burstable performance instance types should be included, excluded, or required. Default is excluded.
    CpuManufacturers []string

    List of CPU manufacturer names. Default is any manufacturer.

    NOTE: Don't confuse the CPU hardware manufacturer with the CPU hardware architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template.

    Valid names:
    * amazon-web-services
    * amd
    * intel
    
    ExcludedInstanceTypes []string

    List of instance types to exclude. You can use strings with one or more wild cards, represented by an asterisk (*), to exclude an instance type, size, or generation. The following are examples: m5.8xlarge, c5*.*, m5a.*, r*, *3*. For example, if you specify c5*, you are excluding the entire C5 instance family, which includes all C5a and C5n instance types. If you specify m5a.*, you are excluding all the M5a instance types, but not the M5n instance types. Maximum of 400 entries in the list; each entry is limited to 30 characters. Default is no excluded instance types.

    NOTE: If you specify excluded_instance_types, you can't specify allowed_instance_types.

    InstanceGenerations []string
    List of instance generation names. Default is any generation.

    Valid names:
    * current  - Recommended for best performance.
    * previous - For existing applications optimized for older instance types.
    
    LocalStorage string
    Indicate whether instance types with local storage volumes are included, excluded, or required. Default is included.
    LocalStorageTypes []string
    List of local storage type names. Default any storage type.

    Value names:
    * hdd - hard disk drive
    * ssd - solid state drive
    
    MemoryGibPerVcpu LaunchTemplateInstanceRequirementsMemoryGibPerVcpu
    Block describing the minimum and maximum amount of memory (GiB) per vCPU. Default is no minimum or maximum.
    NetworkBandwidthGbps LaunchTemplateInstanceRequirementsNetworkBandwidthGbps
    Block describing the minimum and maximum amount of network bandwidth, in gigabits per second (Gbps). Default is no minimum or maximum.
    NetworkInterfaceCount LaunchTemplateInstanceRequirementsNetworkInterfaceCount
    Block describing the minimum and maximum number of network interfaces. Default is no minimum or maximum.
    OnDemandMaxPricePercentageOverLowestPrice int

    The price protection threshold for On-Demand Instances. This is the maximum you’ll pay for an On-Demand Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Default is 20.

    If you set DesiredCapacityType to vcpu or memory-mib, the price protection threshold is applied based on the per vCPU or per memory price instead of the per instance price.

    RequireHibernateSupport bool
    Indicate whether instance types must support On-Demand Instance Hibernation, either true or false. Default is false.
    SpotMaxPricePercentageOverLowestPrice int

    The price protection threshold for Spot Instances. This is the maximum you’ll pay for a Spot Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Default is 100.

    If you set DesiredCapacityType to vcpu or memory-mib, the price protection threshold is applied based on the per vCPU or per memory price instead of the per instance price.

    TotalLocalStorageGb LaunchTemplateInstanceRequirementsTotalLocalStorageGb
    Block describing the minimum and maximum total local storage (GB). Default is no minimum or maximum.
    memoryMib LaunchTemplateInstanceRequirementsMemoryMib
    Block describing the minimum and maximum amount of memory (MiB). Default is no maximum.
    vcpuCount LaunchTemplateInstanceRequirementsVcpuCount
    Block describing the minimum and maximum number of vCPUs. Default is no maximum.
    acceleratorCount LaunchTemplateInstanceRequirementsAcceleratorCount
    Block describing the minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips). Default is no minimum or maximum.
    acceleratorManufacturers List<String>
    List of accelerator manufacturer names. Default is any manufacturer.

    Valid names:
    * amazon-web-services
    * amd
    * nvidia
    * xilinx
    
    acceleratorNames List<String>
    List of accelerator names. Default is any acclerator.

    Valid names:
    * a100            - NVIDIA A100 GPUs
    * v100            - NVIDIA V100 GPUs
    * k80             - NVIDIA K80 GPUs
    * t4              - NVIDIA T4 GPUs
    * m60             - NVIDIA M60 GPUs
    * radeon-pro-v520 - AMD Radeon Pro V520 GPUs
    * vu9p            - Xilinx VU9P FPGAs
    
    acceleratorTotalMemoryMib LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMib
    Block describing the minimum and maximum total memory of the accelerators. Default is no minimum or maximum.
    acceleratorTypes List<String>
    List of accelerator types. Default is any accelerator type.

    Valid types:
    * fpga
    * gpu
    * inference
    
    allowedInstanceTypes List<String>

    List of instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes. You can use strings with one or more wild cards, represented by an asterisk (*), to allow an instance type, size, or generation. The following are examples: m5.8xlarge, c5*.*, m5a.*, r*, *3*. For example, if you specify c5*, you are allowing the entire C5 instance family, which includes all C5a and C5n instance types. If you specify m5a.*, you are allowing all the M5a instance types, but not the M5n instance types. Maximum of 400 entries in the list; each entry is limited to 30 characters. Default is all instance types.

    NOTE: If you specify allowed_instance_types, you can't specify excluded_instance_types.

    bareMetal String
    Indicate whether bare metal instace types should be included, excluded, or required. Default is excluded.
    baselineEbsBandwidthMbps LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbps
    Block describing the minimum and maximum baseline EBS bandwidth, in Mbps. Default is no minimum or maximum.
    burstablePerformance String
    Indicate whether burstable performance instance types should be included, excluded, or required. Default is excluded.
    cpuManufacturers List<String>

    List of CPU manufacturer names. Default is any manufacturer.

    NOTE: Don't confuse the CPU hardware manufacturer with the CPU hardware architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template.

    Valid names:
    * amazon-web-services
    * amd
    * intel
    
    excludedInstanceTypes List<String>

    List of instance types to exclude. You can use strings with one or more wild cards, represented by an asterisk (*), to exclude an instance type, size, or generation. The following are examples: m5.8xlarge, c5*.*, m5a.*, r*, *3*. For example, if you specify c5*, you are excluding the entire C5 instance family, which includes all C5a and C5n instance types. If you specify m5a.*, you are excluding all the M5a instance types, but not the M5n instance types. Maximum of 400 entries in the list; each entry is limited to 30 characters. Default is no excluded instance types.

    NOTE: If you specify excluded_instance_types, you can't specify allowed_instance_types.

    instanceGenerations List<String>
    List of instance generation names. Default is any generation.

    Valid names:
    * current  - Recommended for best performance.
    * previous - For existing applications optimized for older instance types.
    
    localStorage String
    Indicate whether instance types with local storage volumes are included, excluded, or required. Default is included.
    localStorageTypes List<String>
    List of local storage type names. Default any storage type.

    Value names:
    * hdd - hard disk drive
    * ssd - solid state drive
    
    memoryGibPerVcpu LaunchTemplateInstanceRequirementsMemoryGibPerVcpu
    Block describing the minimum and maximum amount of memory (GiB) per vCPU. Default is no minimum or maximum.
    networkBandwidthGbps LaunchTemplateInstanceRequirementsNetworkBandwidthGbps
    Block describing the minimum and maximum amount of network bandwidth, in gigabits per second (Gbps). Default is no minimum or maximum.
    networkInterfaceCount LaunchTemplateInstanceRequirementsNetworkInterfaceCount
    Block describing the minimum and maximum number of network interfaces. Default is no minimum or maximum.
    onDemandMaxPricePercentageOverLowestPrice Integer

    The price protection threshold for On-Demand Instances. This is the maximum you’ll pay for an On-Demand Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Default is 20.

    If you set DesiredCapacityType to vcpu or memory-mib, the price protection threshold is applied based on the per vCPU or per memory price instead of the per instance price.

    requireHibernateSupport Boolean
    Indicate whether instance types must support On-Demand Instance Hibernation, either true or false. Default is false.
    spotMaxPricePercentageOverLowestPrice Integer

    The price protection threshold for Spot Instances. This is the maximum you’ll pay for a Spot Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Default is 100.

    If you set DesiredCapacityType to vcpu or memory-mib, the price protection threshold is applied based on the per vCPU or per memory price instead of the per instance price.

    totalLocalStorageGb LaunchTemplateInstanceRequirementsTotalLocalStorageGb
    Block describing the minimum and maximum total local storage (GB). Default is no minimum or maximum.
    memoryMib LaunchTemplateInstanceRequirementsMemoryMib
    Block describing the minimum and maximum amount of memory (MiB). Default is no maximum.
    vcpuCount LaunchTemplateInstanceRequirementsVcpuCount
    Block describing the minimum and maximum number of vCPUs. Default is no maximum.
    acceleratorCount LaunchTemplateInstanceRequirementsAcceleratorCount
    Block describing the minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips). Default is no minimum or maximum.
    acceleratorManufacturers string[]
    List of accelerator manufacturer names. Default is any manufacturer.

    Valid names:
    * amazon-web-services
    * amd
    * nvidia
    * xilinx
    
    acceleratorNames string[]
    List of accelerator names. Default is any acclerator.

    Valid names:
    * a100            - NVIDIA A100 GPUs
    * v100            - NVIDIA V100 GPUs
    * k80             - NVIDIA K80 GPUs
    * t4              - NVIDIA T4 GPUs
    * m60             - NVIDIA M60 GPUs
    * radeon-pro-v520 - AMD Radeon Pro V520 GPUs
    * vu9p            - Xilinx VU9P FPGAs
    
    acceleratorTotalMemoryMib LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMib
    Block describing the minimum and maximum total memory of the accelerators. Default is no minimum or maximum.
    acceleratorTypes string[]
    List of accelerator types. Default is any accelerator type.

    Valid types:
    * fpga
    * gpu
    * inference
    
    allowedInstanceTypes string[]

    List of instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes. You can use strings with one or more wild cards, represented by an asterisk (*), to allow an instance type, size, or generation. The following are examples: m5.8xlarge, c5*.*, m5a.*, r*, *3*. For example, if you specify c5*, you are allowing the entire C5 instance family, which includes all C5a and C5n instance types. If you specify m5a.*, you are allowing all the M5a instance types, but not the M5n instance types. Maximum of 400 entries in the list; each entry is limited to 30 characters. Default is all instance types.

    NOTE: If you specify allowed_instance_types, you can't specify excluded_instance_types.

    bareMetal string
    Indicate whether bare metal instace types should be included, excluded, or required. Default is excluded.
    baselineEbsBandwidthMbps LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbps
    Block describing the minimum and maximum baseline EBS bandwidth, in Mbps. Default is no minimum or maximum.
    burstablePerformance string
    Indicate whether burstable performance instance types should be included, excluded, or required. Default is excluded.
    cpuManufacturers string[]

    List of CPU manufacturer names. Default is any manufacturer.

    NOTE: Don't confuse the CPU hardware manufacturer with the CPU hardware architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template.

    Valid names:
    * amazon-web-services
    * amd
    * intel
    
    excludedInstanceTypes string[]

    List of instance types to exclude. You can use strings with one or more wild cards, represented by an asterisk (*), to exclude an instance type, size, or generation. The following are examples: m5.8xlarge, c5*.*, m5a.*, r*, *3*. For example, if you specify c5*, you are excluding the entire C5 instance family, which includes all C5a and C5n instance types. If you specify m5a.*, you are excluding all the M5a instance types, but not the M5n instance types. Maximum of 400 entries in the list; each entry is limited to 30 characters. Default is no excluded instance types.

    NOTE: If you specify excluded_instance_types, you can't specify allowed_instance_types.

    instanceGenerations string[]
    List of instance generation names. Default is any generation.

    Valid names:
    * current  - Recommended for best performance.
    * previous - For existing applications optimized for older instance types.
    
    localStorage string
    Indicate whether instance types with local storage volumes are included, excluded, or required. Default is included.
    localStorageTypes string[]
    List of local storage type names. Default any storage type.

    Value names:
    * hdd - hard disk drive
    * ssd - solid state drive
    
    memoryGibPerVcpu LaunchTemplateInstanceRequirementsMemoryGibPerVcpu
    Block describing the minimum and maximum amount of memory (GiB) per vCPU. Default is no minimum or maximum.
    networkBandwidthGbps LaunchTemplateInstanceRequirementsNetworkBandwidthGbps
    Block describing the minimum and maximum amount of network bandwidth, in gigabits per second (Gbps). Default is no minimum or maximum.
    networkInterfaceCount LaunchTemplateInstanceRequirementsNetworkInterfaceCount
    Block describing the minimum and maximum number of network interfaces. Default is no minimum or maximum.
    onDemandMaxPricePercentageOverLowestPrice number

    The price protection threshold for On-Demand Instances. This is the maximum you’ll pay for an On-Demand Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Default is 20.

    If you set DesiredCapacityType to vcpu or memory-mib, the price protection threshold is applied based on the per vCPU or per memory price instead of the per instance price.

    requireHibernateSupport boolean
    Indicate whether instance types must support On-Demand Instance Hibernation, either true or false. Default is false.
    spotMaxPricePercentageOverLowestPrice number

    The price protection threshold for Spot Instances. This is the maximum you’ll pay for a Spot Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Default is 100.

    If you set DesiredCapacityType to vcpu or memory-mib, the price protection threshold is applied based on the per vCPU or per memory price instead of the per instance price.

    totalLocalStorageGb LaunchTemplateInstanceRequirementsTotalLocalStorageGb
    Block describing the minimum and maximum total local storage (GB). Default is no minimum or maximum.
    memory_mib LaunchTemplateInstanceRequirementsMemoryMib
    Block describing the minimum and maximum amount of memory (MiB). Default is no maximum.
    vcpu_count LaunchTemplateInstanceRequirementsVcpuCount
    Block describing the minimum and maximum number of vCPUs. Default is no maximum.
    accelerator_count LaunchTemplateInstanceRequirementsAcceleratorCount
    Block describing the minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips). Default is no minimum or maximum.
    accelerator_manufacturers Sequence[str]
    List of accelerator manufacturer names. Default is any manufacturer.

    Valid names:
    * amazon-web-services
    * amd
    * nvidia
    * xilinx
    
    accelerator_names Sequence[str]
    List of accelerator names. Default is any acclerator.

    Valid names:
    * a100            - NVIDIA A100 GPUs
    * v100            - NVIDIA V100 GPUs
    * k80             - NVIDIA K80 GPUs
    * t4              - NVIDIA T4 GPUs
    * m60             - NVIDIA M60 GPUs
    * radeon-pro-v520 - AMD Radeon Pro V520 GPUs
    * vu9p            - Xilinx VU9P FPGAs
    
    accelerator_total_memory_mib LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMib
    Block describing the minimum and maximum total memory of the accelerators. Default is no minimum or maximum.
    accelerator_types Sequence[str]
    List of accelerator types. Default is any accelerator type.

    Valid types:
    * fpga
    * gpu
    * inference
    
    allowed_instance_types Sequence[str]

    List of instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes. You can use strings with one or more wild cards, represented by an asterisk (*), to allow an instance type, size, or generation. The following are examples: m5.8xlarge, c5*.*, m5a.*, r*, *3*. For example, if you specify c5*, you are allowing the entire C5 instance family, which includes all C5a and C5n instance types. If you specify m5a.*, you are allowing all the M5a instance types, but not the M5n instance types. Maximum of 400 entries in the list; each entry is limited to 30 characters. Default is all instance types.

    NOTE: If you specify allowed_instance_types, you can't specify excluded_instance_types.

    bare_metal str
    Indicate whether bare metal instace types should be included, excluded, or required. Default is excluded.
    baseline_ebs_bandwidth_mbps LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbps
    Block describing the minimum and maximum baseline EBS bandwidth, in Mbps. Default is no minimum or maximum.
    burstable_performance str
    Indicate whether burstable performance instance types should be included, excluded, or required. Default is excluded.
    cpu_manufacturers Sequence[str]

    List of CPU manufacturer names. Default is any manufacturer.

    NOTE: Don't confuse the CPU hardware manufacturer with the CPU hardware architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template.

    Valid names:
    * amazon-web-services
    * amd
    * intel
    
    excluded_instance_types Sequence[str]

    List of instance types to exclude. You can use strings with one or more wild cards, represented by an asterisk (*), to exclude an instance type, size, or generation. The following are examples: m5.8xlarge, c5*.*, m5a.*, r*, *3*. For example, if you specify c5*, you are excluding the entire C5 instance family, which includes all C5a and C5n instance types. If you specify m5a.*, you are excluding all the M5a instance types, but not the M5n instance types. Maximum of 400 entries in the list; each entry is limited to 30 characters. Default is no excluded instance types.

    NOTE: If you specify excluded_instance_types, you can't specify allowed_instance_types.

    instance_generations Sequence[str]
    List of instance generation names. Default is any generation.

    Valid names:
    * current  - Recommended for best performance.
    * previous - For existing applications optimized for older instance types.
    
    local_storage str
    Indicate whether instance types with local storage volumes are included, excluded, or required. Default is included.
    local_storage_types Sequence[str]
    List of local storage type names. Default any storage type.

    Value names:
    * hdd - hard disk drive
    * ssd - solid state drive
    
    memory_gib_per_vcpu LaunchTemplateInstanceRequirementsMemoryGibPerVcpu
    Block describing the minimum and maximum amount of memory (GiB) per vCPU. Default is no minimum or maximum.
    network_bandwidth_gbps LaunchTemplateInstanceRequirementsNetworkBandwidthGbps
    Block describing the minimum and maximum amount of network bandwidth, in gigabits per second (Gbps). Default is no minimum or maximum.
    network_interface_count LaunchTemplateInstanceRequirementsNetworkInterfaceCount
    Block describing the minimum and maximum number of network interfaces. Default is no minimum or maximum.
    on_demand_max_price_percentage_over_lowest_price int

    The price protection threshold for On-Demand Instances. This is the maximum you’ll pay for an On-Demand Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Default is 20.

    If you set DesiredCapacityType to vcpu or memory-mib, the price protection threshold is applied based on the per vCPU or per memory price instead of the per instance price.

    require_hibernate_support bool
    Indicate whether instance types must support On-Demand Instance Hibernation, either true or false. Default is false.
    spot_max_price_percentage_over_lowest_price int

    The price protection threshold for Spot Instances. This is the maximum you’ll pay for a Spot Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Default is 100.

    If you set DesiredCapacityType to vcpu or memory-mib, the price protection threshold is applied based on the per vCPU or per memory price instead of the per instance price.

    total_local_storage_gb LaunchTemplateInstanceRequirementsTotalLocalStorageGb
    Block describing the minimum and maximum total local storage (GB). Default is no minimum or maximum.
    memoryMib Property Map
    Block describing the minimum and maximum amount of memory (MiB). Default is no maximum.
    vcpuCount Property Map
    Block describing the minimum and maximum number of vCPUs. Default is no maximum.
    acceleratorCount Property Map
    Block describing the minimum and maximum number of accelerators (GPUs, FPGAs, or AWS Inferentia chips). Default is no minimum or maximum.
    acceleratorManufacturers List<String>
    List of accelerator manufacturer names. Default is any manufacturer.

    Valid names:
    * amazon-web-services
    * amd
    * nvidia
    * xilinx
    
    acceleratorNames List<String>
    List of accelerator names. Default is any acclerator.

    Valid names:
    * a100            - NVIDIA A100 GPUs
    * v100            - NVIDIA V100 GPUs
    * k80             - NVIDIA K80 GPUs
    * t4              - NVIDIA T4 GPUs
    * m60             - NVIDIA M60 GPUs
    * radeon-pro-v520 - AMD Radeon Pro V520 GPUs
    * vu9p            - Xilinx VU9P FPGAs
    
    acceleratorTotalMemoryMib Property Map
    Block describing the minimum and maximum total memory of the accelerators. Default is no minimum or maximum.
    acceleratorTypes List<String>
    List of accelerator types. Default is any accelerator type.

    Valid types:
    * fpga
    * gpu
    * inference
    
    allowedInstanceTypes List<String>

    List of instance types to apply your specified attributes against. All other instance types are ignored, even if they match your specified attributes. You can use strings with one or more wild cards, represented by an asterisk (*), to allow an instance type, size, or generation. The following are examples: m5.8xlarge, c5*.*, m5a.*, r*, *3*. For example, if you specify c5*, you are allowing the entire C5 instance family, which includes all C5a and C5n instance types. If you specify m5a.*, you are allowing all the M5a instance types, but not the M5n instance types. Maximum of 400 entries in the list; each entry is limited to 30 characters. Default is all instance types.

    NOTE: If you specify allowed_instance_types, you can't specify excluded_instance_types.

    bareMetal String
    Indicate whether bare metal instace types should be included, excluded, or required. Default is excluded.
    baselineEbsBandwidthMbps Property Map
    Block describing the minimum and maximum baseline EBS bandwidth, in Mbps. Default is no minimum or maximum.
    burstablePerformance String
    Indicate whether burstable performance instance types should be included, excluded, or required. Default is excluded.
    cpuManufacturers List<String>

    List of CPU manufacturer names. Default is any manufacturer.

    NOTE: Don't confuse the CPU hardware manufacturer with the CPU hardware architecture. Instances will be launched with a compatible CPU architecture based on the Amazon Machine Image (AMI) that you specify in your launch template.

    Valid names:
    * amazon-web-services
    * amd
    * intel
    
    excludedInstanceTypes List<String>

    List of instance types to exclude. You can use strings with one or more wild cards, represented by an asterisk (*), to exclude an instance type, size, or generation. The following are examples: m5.8xlarge, c5*.*, m5a.*, r*, *3*. For example, if you specify c5*, you are excluding the entire C5 instance family, which includes all C5a and C5n instance types. If you specify m5a.*, you are excluding all the M5a instance types, but not the M5n instance types. Maximum of 400 entries in the list; each entry is limited to 30 characters. Default is no excluded instance types.

    NOTE: If you specify excluded_instance_types, you can't specify allowed_instance_types.

    instanceGenerations List<String>
    List of instance generation names. Default is any generation.

    Valid names:
    * current  - Recommended for best performance.
    * previous - For existing applications optimized for older instance types.
    
    localStorage String
    Indicate whether instance types with local storage volumes are included, excluded, or required. Default is included.
    localStorageTypes List<String>
    List of local storage type names. Default any storage type.

    Value names:
    * hdd - hard disk drive
    * ssd - solid state drive
    
    memoryGibPerVcpu Property Map
    Block describing the minimum and maximum amount of memory (GiB) per vCPU. Default is no minimum or maximum.
    networkBandwidthGbps Property Map
    Block describing the minimum and maximum amount of network bandwidth, in gigabits per second (Gbps). Default is no minimum or maximum.
    networkInterfaceCount Property Map
    Block describing the minimum and maximum number of network interfaces. Default is no minimum or maximum.
    onDemandMaxPricePercentageOverLowestPrice Number

    The price protection threshold for On-Demand Instances. This is the maximum you’ll pay for an On-Demand Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Default is 20.

    If you set DesiredCapacityType to vcpu or memory-mib, the price protection threshold is applied based on the per vCPU or per memory price instead of the per instance price.

    requireHibernateSupport Boolean
    Indicate whether instance types must support On-Demand Instance Hibernation, either true or false. Default is false.
    spotMaxPricePercentageOverLowestPrice Number

    The price protection threshold for Spot Instances. This is the maximum you’ll pay for a Spot Instance, expressed as a percentage higher than the cheapest M, C, or R instance type with your specified attributes. When Amazon EC2 Auto Scaling selects instance types with your attributes, we will exclude instance types whose price is higher than your threshold. The parameter accepts an integer, which Amazon EC2 Auto Scaling interprets as a percentage. To turn off price protection, specify a high value, such as 999999. Default is 100.

    If you set DesiredCapacityType to vcpu or memory-mib, the price protection threshold is applied based on the per vCPU or per memory price instead of the per instance price.

    totalLocalStorageGb Property Map
    Block describing the minimum and maximum total local storage (GB). Default is no minimum or maximum.

    LaunchTemplateInstanceRequirementsAcceleratorCount, LaunchTemplateInstanceRequirementsAcceleratorCountArgs

    Max int
    Maximum. Set to 0 to exclude instance types with accelerators.
    Min int
    Minimum.
    Max int
    Maximum. Set to 0 to exclude instance types with accelerators.
    Min int
    Minimum.
    max Integer
    Maximum. Set to 0 to exclude instance types with accelerators.
    min Integer
    Minimum.
    max number
    Maximum. Set to 0 to exclude instance types with accelerators.
    min number
    Minimum.
    max int
    Maximum. Set to 0 to exclude instance types with accelerators.
    min int
    Minimum.
    max Number
    Maximum. Set to 0 to exclude instance types with accelerators.
    min Number
    Minimum.

    LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMib, LaunchTemplateInstanceRequirementsAcceleratorTotalMemoryMibArgs

    Max int
    Maximum.
    Min int
    Minimum.
    Max int
    Maximum.
    Min int
    Minimum.
    max Integer
    Maximum.
    min Integer
    Minimum.
    max number
    Maximum.
    min number
    Minimum.
    max int
    Maximum.
    min int
    Minimum.
    max Number
    Maximum.
    min Number
    Minimum.

    LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbps, LaunchTemplateInstanceRequirementsBaselineEbsBandwidthMbpsArgs

    Max int
    Maximum.
    Min int
    Minimum.
    Max int
    Maximum.
    Min int
    Minimum.
    max Integer
    Maximum.
    min Integer
    Minimum.
    max number
    Maximum.
    min number
    Minimum.
    max int
    Maximum.
    min int
    Minimum.
    max Number
    Maximum.
    min Number
    Minimum.

    LaunchTemplateInstanceRequirementsMemoryGibPerVcpu, LaunchTemplateInstanceRequirementsMemoryGibPerVcpuArgs

    Max double
    Maximum. May be a decimal number, e.g. 0.5.
    Min double
    Minimum. May be a decimal number, e.g. 0.5.
    Max float64
    Maximum. May be a decimal number, e.g. 0.5.
    Min float64
    Minimum. May be a decimal number, e.g. 0.5.
    max Double
    Maximum. May be a decimal number, e.g. 0.5.
    min Double
    Minimum. May be a decimal number, e.g. 0.5.
    max number
    Maximum. May be a decimal number, e.g. 0.5.
    min number
    Minimum. May be a decimal number, e.g. 0.5.
    max float
    Maximum. May be a decimal number, e.g. 0.5.
    min float
    Minimum. May be a decimal number, e.g. 0.5.
    max Number
    Maximum. May be a decimal number, e.g. 0.5.
    min Number
    Minimum. May be a decimal number, e.g. 0.5.

    LaunchTemplateInstanceRequirementsMemoryMib, LaunchTemplateInstanceRequirementsMemoryMibArgs

    Min int
    Minimum.
    Max int
    Maximum.
    Min int
    Minimum.
    Max int
    Maximum.
    min Integer
    Minimum.
    max Integer
    Maximum.
    min number
    Minimum.
    max number
    Maximum.
    min int
    Minimum.
    max int
    Maximum.
    min Number
    Minimum.
    max Number
    Maximum.

    LaunchTemplateInstanceRequirementsNetworkBandwidthGbps, LaunchTemplateInstanceRequirementsNetworkBandwidthGbpsArgs

    Max double
    Maximum.
    Min double
    Minimum.
    Max float64
    Maximum.
    Min float64
    Minimum.
    max Double
    Maximum.
    min Double
    Minimum.
    max number
    Maximum.
    min number
    Minimum.
    max float
    Maximum.
    min float
    Minimum.
    max Number
    Maximum.
    min Number
    Minimum.

    LaunchTemplateInstanceRequirementsNetworkInterfaceCount, LaunchTemplateInstanceRequirementsNetworkInterfaceCountArgs

    Max int
    Maximum.
    Min int
    Minimum.
    Max int
    Maximum.
    Min int
    Minimum.
    max Integer
    Maximum.
    min Integer
    Minimum.
    max number
    Maximum.
    min number
    Minimum.
    max int
    Maximum.
    min int
    Minimum.
    max Number
    Maximum.
    min Number
    Minimum.

    LaunchTemplateInstanceRequirementsTotalLocalStorageGb, LaunchTemplateInstanceRequirementsTotalLocalStorageGbArgs

    Max double
    Maximum. May be a decimal number, e.g. 0.5.
    Min double
    Minimum. May be a decimal number, e.g. 0.5.
    Max float64
    Maximum. May be a decimal number, e.g. 0.5.
    Min float64
    Minimum. May be a decimal number, e.g. 0.5.
    max Double
    Maximum. May be a decimal number, e.g. 0.5.
    min Double
    Minimum. May be a decimal number, e.g. 0.5.
    max number
    Maximum. May be a decimal number, e.g. 0.5.
    min number
    Minimum. May be a decimal number, e.g. 0.5.
    max float
    Maximum. May be a decimal number, e.g. 0.5.
    min float
    Minimum. May be a decimal number, e.g. 0.5.
    max Number
    Maximum. May be a decimal number, e.g. 0.5.
    min Number
    Minimum. May be a decimal number, e.g. 0.5.

    LaunchTemplateInstanceRequirementsVcpuCount, LaunchTemplateInstanceRequirementsVcpuCountArgs

    Min int
    Minimum.
    Max int
    Maximum.
    Min int
    Minimum.
    Max int
    Maximum.
    min Integer
    Minimum.
    max Integer
    Maximum.
    min number
    Minimum.
    max number
    Maximum.
    min int
    Minimum.
    max int
    Maximum.
    min Number
    Minimum.
    max Number
    Maximum.

    LaunchTemplateLicenseSpecification, LaunchTemplateLicenseSpecificationArgs

    LicenseConfigurationArn string
    ARN of the license configuration.
    LicenseConfigurationArn string
    ARN of the license configuration.
    licenseConfigurationArn String
    ARN of the license configuration.
    licenseConfigurationArn string
    ARN of the license configuration.
    license_configuration_arn str
    ARN of the license configuration.
    licenseConfigurationArn String
    ARN of the license configuration.

    LaunchTemplateMaintenanceOptions, LaunchTemplateMaintenanceOptionsArgs

    AutoRecovery string
    Disables the automatic recovery behavior of your instance or sets it to default. Can be "default" or "disabled". See Recover your instance for more details.
    AutoRecovery string
    Disables the automatic recovery behavior of your instance or sets it to default. Can be "default" or "disabled". See Recover your instance for more details.
    autoRecovery String
    Disables the automatic recovery behavior of your instance or sets it to default. Can be "default" or "disabled". See Recover your instance for more details.
    autoRecovery string
    Disables the automatic recovery behavior of your instance or sets it to default. Can be "default" or "disabled". See Recover your instance for more details.
    auto_recovery str
    Disables the automatic recovery behavior of your instance or sets it to default. Can be "default" or "disabled". See Recover your instance for more details.
    autoRecovery String
    Disables the automatic recovery behavior of your instance or sets it to default. Can be "default" or "disabled". See Recover your instance for more details.

    LaunchTemplateMetadataOptions, LaunchTemplateMetadataOptionsArgs

    HttpEndpoint string
    Whether the metadata service is available. Can be "enabled" or "disabled". (Default: "enabled").
    HttpProtocolIpv6 string
    Enables or disables the IPv6 endpoint for the instance metadata service. Can be "enabled" or "disabled".
    HttpPutResponseHopLimit int
    The desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further instance metadata requests can travel. Can be an integer from 1 to 64. (Default: 1).
    HttpTokens string
    Whether or not the metadata service requires session tokens, also referred to as Instance Metadata Service Version 2 (IMDSv2). Can be "optional" or "required". (Default: "optional").
    InstanceMetadataTags string

    Enables or disables access to instance tags from the instance metadata service. Can be "enabled" or "disabled".

    For more information, see the documentation on the Instance Metadata Service.

    HttpEndpoint string
    Whether the metadata service is available. Can be "enabled" or "disabled". (Default: "enabled").
    HttpProtocolIpv6 string
    Enables or disables the IPv6 endpoint for the instance metadata service. Can be "enabled" or "disabled".
    HttpPutResponseHopLimit int
    The desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further instance metadata requests can travel. Can be an integer from 1 to 64. (Default: 1).
    HttpTokens string
    Whether or not the metadata service requires session tokens, also referred to as Instance Metadata Service Version 2 (IMDSv2). Can be "optional" or "required". (Default: "optional").
    InstanceMetadataTags string

    Enables or disables access to instance tags from the instance metadata service. Can be "enabled" or "disabled".

    For more information, see the documentation on the Instance Metadata Service.

    httpEndpoint String
    Whether the metadata service is available. Can be "enabled" or "disabled". (Default: "enabled").
    httpProtocolIpv6 String
    Enables or disables the IPv6 endpoint for the instance metadata service. Can be "enabled" or "disabled".
    httpPutResponseHopLimit Integer
    The desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further instance metadata requests can travel. Can be an integer from 1 to 64. (Default: 1).
    httpTokens String
    Whether or not the metadata service requires session tokens, also referred to as Instance Metadata Service Version 2 (IMDSv2). Can be "optional" or "required". (Default: "optional").
    instanceMetadataTags String

    Enables or disables access to instance tags from the instance metadata service. Can be "enabled" or "disabled".

    For more information, see the documentation on the Instance Metadata Service.

    httpEndpoint string
    Whether the metadata service is available. Can be "enabled" or "disabled". (Default: "enabled").
    httpProtocolIpv6 string
    Enables or disables the IPv6 endpoint for the instance metadata service. Can be "enabled" or "disabled".
    httpPutResponseHopLimit number
    The desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further instance metadata requests can travel. Can be an integer from 1 to 64. (Default: 1).
    httpTokens string
    Whether or not the metadata service requires session tokens, also referred to as Instance Metadata Service Version 2 (IMDSv2). Can be "optional" or "required". (Default: "optional").
    instanceMetadataTags string

    Enables or disables access to instance tags from the instance metadata service. Can be "enabled" or "disabled".

    For more information, see the documentation on the Instance Metadata Service.

    http_endpoint str
    Whether the metadata service is available. Can be "enabled" or "disabled". (Default: "enabled").
    http_protocol_ipv6 str
    Enables or disables the IPv6 endpoint for the instance metadata service. Can be "enabled" or "disabled".
    http_put_response_hop_limit int
    The desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further instance metadata requests can travel. Can be an integer from 1 to 64. (Default: 1).
    http_tokens str
    Whether or not the metadata service requires session tokens, also referred to as Instance Metadata Service Version 2 (IMDSv2). Can be "optional" or "required". (Default: "optional").
    instance_metadata_tags str

    Enables or disables access to instance tags from the instance metadata service. Can be "enabled" or "disabled".

    For more information, see the documentation on the Instance Metadata Service.

    httpEndpoint String
    Whether the metadata service is available. Can be "enabled" or "disabled". (Default: "enabled").
    httpProtocolIpv6 String
    Enables or disables the IPv6 endpoint for the instance metadata service. Can be "enabled" or "disabled".
    httpPutResponseHopLimit Number
    The desired HTTP PUT response hop limit for instance metadata requests. The larger the number, the further instance metadata requests can travel. Can be an integer from 1 to 64. (Default: 1).
    httpTokens String
    Whether or not the metadata service requires session tokens, also referred to as Instance Metadata Service Version 2 (IMDSv2). Can be "optional" or "required". (Default: "optional").
    instanceMetadataTags String

    Enables or disables access to instance tags from the instance metadata service. Can be "enabled" or "disabled".

    For more information, see the documentation on the Instance Metadata Service.

    LaunchTemplateMonitoring, LaunchTemplateMonitoringArgs

    Enabled bool
    If true, the launched EC2 instance will have detailed monitoring enabled.
    Enabled bool
    If true, the launched EC2 instance will have detailed monitoring enabled.
    enabled Boolean
    If true, the launched EC2 instance will have detailed monitoring enabled.
    enabled boolean
    If true, the launched EC2 instance will have detailed monitoring enabled.
    enabled bool
    If true, the launched EC2 instance will have detailed monitoring enabled.
    enabled Boolean
    If true, the launched EC2 instance will have detailed monitoring enabled.

    LaunchTemplateNetworkInterface, LaunchTemplateNetworkInterfaceArgs

    AssociateCarrierIpAddress string
    Associate a Carrier IP address with eth0 for a new network interface. Use this option when you launch an instance in a Wavelength Zone and want to associate a Carrier IP address with the network interface. Boolean value, can be left unset.
    AssociatePublicIpAddress string
    Associate a public ip address with the network interface. Boolean value, can be left unset.
    DeleteOnTermination string
    Whether the network interface should be destroyed on instance termination.
    Description string
    Description of the network interface.
    DeviceIndex int
    The integer index of the network interface attachment.
    InterfaceType string
    The type of network interface. To create an Elastic Fabric Adapter (EFA), specify efa.
    Ipv4AddressCount int
    The number of secondary private IPv4 addresses to assign to a network interface. Conflicts with ipv4_addresses
    Ipv4Addresses List<string>
    One or more private IPv4 addresses to associate. Conflicts with ipv4_address_count
    Ipv4PrefixCount int
    The number of IPv4 prefixes to be automatically assigned to the network interface. Conflicts with ipv4_prefixes
    Ipv4Prefixes List<string>
    One or more IPv4 prefixes to be assigned to the network interface. Conflicts with ipv4_prefix_count
    Ipv6AddressCount int
    The number of IPv6 addresses to assign to a network interface. Conflicts with ipv6_addresses
    Ipv6Addresses List<string>
    One or more specific IPv6 addresses from the IPv6 CIDR block range of your subnet. Conflicts with ipv6_address_count
    Ipv6PrefixCount int
    The number of IPv6 prefixes to be automatically assigned to the network interface. Conflicts with ipv6_prefixes
    Ipv6Prefixes List<string>
    One or more IPv6 prefixes to be assigned to the network interface. Conflicts with ipv6_prefix_count
    NetworkCardIndex int
    The index of the network card. Some instance types support multiple network cards. The primary network interface must be assigned to network card index 0. The default is network card index 0.
    NetworkInterfaceId string
    The ID of the network interface to attach.
    PrivateIpAddress string
    The primary private IPv4 address.
    SecurityGroups List<string>
    A list of security group IDs to associate.
    SubnetId string
    The VPC Subnet ID to associate.
    AssociateCarrierIpAddress string
    Associate a Carrier IP address with eth0 for a new network interface. Use this option when you launch an instance in a Wavelength Zone and want to associate a Carrier IP address with the network interface. Boolean value, can be left unset.
    AssociatePublicIpAddress string
    Associate a public ip address with the network interface. Boolean value, can be left unset.
    DeleteOnTermination string
    Whether the network interface should be destroyed on instance termination.
    Description string
    Description of the network interface.
    DeviceIndex int
    The integer index of the network interface attachment.
    InterfaceType string
    The type of network interface. To create an Elastic Fabric Adapter (EFA), specify efa.
    Ipv4AddressCount int
    The number of secondary private IPv4 addresses to assign to a network interface. Conflicts with ipv4_addresses
    Ipv4Addresses []string
    One or more private IPv4 addresses to associate. Conflicts with ipv4_address_count
    Ipv4PrefixCount int
    The number of IPv4 prefixes to be automatically assigned to the network interface. Conflicts with ipv4_prefixes
    Ipv4Prefixes []string
    One or more IPv4 prefixes to be assigned to the network interface. Conflicts with ipv4_prefix_count
    Ipv6AddressCount int
    The number of IPv6 addresses to assign to a network interface. Conflicts with ipv6_addresses
    Ipv6Addresses []string
    One or more specific IPv6 addresses from the IPv6 CIDR block range of your subnet. Conflicts with ipv6_address_count
    Ipv6PrefixCount int
    The number of IPv6 prefixes to be automatically assigned to the network interface. Conflicts with ipv6_prefixes
    Ipv6Prefixes []string
    One or more IPv6 prefixes to be assigned to the network interface. Conflicts with ipv6_prefix_count
    NetworkCardIndex int
    The index of the network card. Some instance types support multiple network cards. The primary network interface must be assigned to network card index 0. The default is network card index 0.
    NetworkInterfaceId string
    The ID of the network interface to attach.
    PrivateIpAddress string
    The primary private IPv4 address.
    SecurityGroups []string
    A list of security group IDs to associate.
    SubnetId string
    The VPC Subnet ID to associate.
    associateCarrierIpAddress String
    Associate a Carrier IP address with eth0 for a new network interface. Use this option when you launch an instance in a Wavelength Zone and want to associate a Carrier IP address with the network interface. Boolean value, can be left unset.
    associatePublicIpAddress String
    Associate a public ip address with the network interface. Boolean value, can be left unset.
    deleteOnTermination String
    Whether the network interface should be destroyed on instance termination.
    description String
    Description of the network interface.
    deviceIndex Integer
    The integer index of the network interface attachment.
    interfaceType String
    The type of network interface. To create an Elastic Fabric Adapter (EFA), specify efa.
    ipv4AddressCount Integer
    The number of secondary private IPv4 addresses to assign to a network interface. Conflicts with ipv4_addresses
    ipv4Addresses List<String>
    One or more private IPv4 addresses to associate. Conflicts with ipv4_address_count
    ipv4PrefixCount Integer
    The number of IPv4 prefixes to be automatically assigned to the network interface. Conflicts with ipv4_prefixes
    ipv4Prefixes List<String>
    One or more IPv4 prefixes to be assigned to the network interface. Conflicts with ipv4_prefix_count
    ipv6AddressCount Integer
    The number of IPv6 addresses to assign to a network interface. Conflicts with ipv6_addresses
    ipv6Addresses List<String>
    One or more specific IPv6 addresses from the IPv6 CIDR block range of your subnet. Conflicts with ipv6_address_count
    ipv6PrefixCount Integer
    The number of IPv6 prefixes to be automatically assigned to the network interface. Conflicts with ipv6_prefixes
    ipv6Prefixes List<String>
    One or more IPv6 prefixes to be assigned to the network interface. Conflicts with ipv6_prefix_count
    networkCardIndex Integer
    The index of the network card. Some instance types support multiple network cards. The primary network interface must be assigned to network card index 0. The default is network card index 0.
    networkInterfaceId String
    The ID of the network interface to attach.
    privateIpAddress String
    The primary private IPv4 address.
    securityGroups List<String>
    A list of security group IDs to associate.
    subnetId String
    The VPC Subnet ID to associate.
    associateCarrierIpAddress string
    Associate a Carrier IP address with eth0 for a new network interface. Use this option when you launch an instance in a Wavelength Zone and want to associate a Carrier IP address with the network interface. Boolean value, can be left unset.
    associatePublicIpAddress string
    Associate a public ip address with the network interface. Boolean value, can be left unset.
    deleteOnTermination string
    Whether the network interface should be destroyed on instance termination.
    description string
    Description of the network interface.
    deviceIndex number
    The integer index of the network interface attachment.
    interfaceType string
    The type of network interface. To create an Elastic Fabric Adapter (EFA), specify efa.
    ipv4AddressCount number
    The number of secondary private IPv4 addresses to assign to a network interface. Conflicts with ipv4_addresses
    ipv4Addresses string[]
    One or more private IPv4 addresses to associate. Conflicts with ipv4_address_count
    ipv4PrefixCount number
    The number of IPv4 prefixes to be automatically assigned to the network interface. Conflicts with ipv4_prefixes
    ipv4Prefixes string[]
    One or more IPv4 prefixes to be assigned to the network interface. Conflicts with ipv4_prefix_count
    ipv6AddressCount number
    The number of IPv6 addresses to assign to a network interface. Conflicts with ipv6_addresses
    ipv6Addresses string[]
    One or more specific IPv6 addresses from the IPv6 CIDR block range of your subnet. Conflicts with ipv6_address_count
    ipv6PrefixCount number
    The number of IPv6 prefixes to be automatically assigned to the network interface. Conflicts with ipv6_prefixes
    ipv6Prefixes string[]
    One or more IPv6 prefixes to be assigned to the network interface. Conflicts with ipv6_prefix_count
    networkCardIndex number
    The index of the network card. Some instance types support multiple network cards. The primary network interface must be assigned to network card index 0. The default is network card index 0.
    networkInterfaceId string
    The ID of the network interface to attach.
    privateIpAddress string
    The primary private IPv4 address.
    securityGroups string[]
    A list of security group IDs to associate.
    subnetId string
    The VPC Subnet ID to associate.
    associate_carrier_ip_address str
    Associate a Carrier IP address with eth0 for a new network interface. Use this option when you launch an instance in a Wavelength Zone and want to associate a Carrier IP address with the network interface. Boolean value, can be left unset.
    associate_public_ip_address str
    Associate a public ip address with the network interface. Boolean value, can be left unset.
    delete_on_termination str
    Whether the network interface should be destroyed on instance termination.
    description str
    Description of the network interface.
    device_index int
    The integer index of the network interface attachment.
    interface_type str
    The type of network interface. To create an Elastic Fabric Adapter (EFA), specify efa.
    ipv4_address_count int
    The number of secondary private IPv4 addresses to assign to a network interface. Conflicts with ipv4_addresses
    ipv4_addresses Sequence[str]
    One or more private IPv4 addresses to associate. Conflicts with ipv4_address_count
    ipv4_prefix_count int
    The number of IPv4 prefixes to be automatically assigned to the network interface. Conflicts with ipv4_prefixes
    ipv4_prefixes Sequence[str]
    One or more IPv4 prefixes to be assigned to the network interface. Conflicts with ipv4_prefix_count
    ipv6_address_count int
    The number of IPv6 addresses to assign to a network interface. Conflicts with ipv6_addresses
    ipv6_addresses Sequence[str]
    One or more specific IPv6 addresses from the IPv6 CIDR block range of your subnet. Conflicts with ipv6_address_count
    ipv6_prefix_count int
    The number of IPv6 prefixes to be automatically assigned to the network interface. Conflicts with ipv6_prefixes
    ipv6_prefixes Sequence[str]
    One or more IPv6 prefixes to be assigned to the network interface. Conflicts with ipv6_prefix_count
    network_card_index int
    The index of the network card. Some instance types support multiple network cards. The primary network interface must be assigned to network card index 0. The default is network card index 0.
    network_interface_id str
    The ID of the network interface to attach.
    private_ip_address str
    The primary private IPv4 address.
    security_groups Sequence[str]
    A list of security group IDs to associate.
    subnet_id str
    The VPC Subnet ID to associate.
    associateCarrierIpAddress String
    Associate a Carrier IP address with eth0 for a new network interface. Use this option when you launch an instance in a Wavelength Zone and want to associate a Carrier IP address with the network interface. Boolean value, can be left unset.
    associatePublicIpAddress String
    Associate a public ip address with the network interface. Boolean value, can be left unset.
    deleteOnTermination String
    Whether the network interface should be destroyed on instance termination.
    description String
    Description of the network interface.
    deviceIndex Number
    The integer index of the network interface attachment.
    interfaceType String
    The type of network interface. To create an Elastic Fabric Adapter (EFA), specify efa.
    ipv4AddressCount Number
    The number of secondary private IPv4 addresses to assign to a network interface. Conflicts with ipv4_addresses
    ipv4Addresses List<String>
    One or more private IPv4 addresses to associate. Conflicts with ipv4_address_count
    ipv4PrefixCount Number
    The number of IPv4 prefixes to be automatically assigned to the network interface. Conflicts with ipv4_prefixes
    ipv4Prefixes List<String>
    One or more IPv4 prefixes to be assigned to the network interface. Conflicts with ipv4_prefix_count
    ipv6AddressCount Number
    The number of IPv6 addresses to assign to a network interface. Conflicts with ipv6_addresses
    ipv6Addresses List<String>
    One or more specific IPv6 addresses from the IPv6 CIDR block range of your subnet. Conflicts with ipv6_address_count
    ipv6PrefixCount Number
    The number of IPv6 prefixes to be automatically assigned to the network interface. Conflicts with ipv6_prefixes
    ipv6Prefixes List<String>
    One or more IPv6 prefixes to be assigned to the network interface. Conflicts with ipv6_prefix_count
    networkCardIndex Number
    The index of the network card. Some instance types support multiple network cards. The primary network interface must be assigned to network card index 0. The default is network card index 0.
    networkInterfaceId String
    The ID of the network interface to attach.
    privateIpAddress String
    The primary private IPv4 address.
    securityGroups List<String>
    A list of security group IDs to associate.
    subnetId String
    The VPC Subnet ID to associate.

    LaunchTemplatePlacement, LaunchTemplatePlacementArgs

    Affinity string
    The affinity setting for an instance on a Dedicated Host.
    AvailabilityZone string
    The Availability Zone for the instance.
    GroupName string
    The name of the placement group for the instance.
    HostId string
    The ID of the Dedicated Host for the instance.
    HostResourceGroupArn string
    The ARN of the Host Resource Group in which to launch instances.
    PartitionNumber int
    The number of the partition the instance should launch in. Valid only if the placement group strategy is set to partition.
    SpreadDomain string
    Reserved for future use.
    Tenancy string
    The tenancy of the instance (if the instance is running in a VPC). Can be default, dedicated, or host.
    Affinity string
    The affinity setting for an instance on a Dedicated Host.
    AvailabilityZone string
    The Availability Zone for the instance.
    GroupName string
    The name of the placement group for the instance.
    HostId string
    The ID of the Dedicated Host for the instance.
    HostResourceGroupArn string
    The ARN of the Host Resource Group in which to launch instances.
    PartitionNumber int
    The number of the partition the instance should launch in. Valid only if the placement group strategy is set to partition.
    SpreadDomain string
    Reserved for future use.
    Tenancy string
    The tenancy of the instance (if the instance is running in a VPC). Can be default, dedicated, or host.
    affinity String
    The affinity setting for an instance on a Dedicated Host.
    availabilityZone String
    The Availability Zone for the instance.
    groupName String
    The name of the placement group for the instance.
    hostId String
    The ID of the Dedicated Host for the instance.
    hostResourceGroupArn String
    The ARN of the Host Resource Group in which to launch instances.
    partitionNumber Integer
    The number of the partition the instance should launch in. Valid only if the placement group strategy is set to partition.
    spreadDomain String
    Reserved for future use.
    tenancy String
    The tenancy of the instance (if the instance is running in a VPC). Can be default, dedicated, or host.
    affinity string
    The affinity setting for an instance on a Dedicated Host.
    availabilityZone string
    The Availability Zone for the instance.
    groupName string
    The name of the placement group for the instance.
    hostId string
    The ID of the Dedicated Host for the instance.
    hostResourceGroupArn string
    The ARN of the Host Resource Group in which to launch instances.
    partitionNumber number
    The number of the partition the instance should launch in. Valid only if the placement group strategy is set to partition.
    spreadDomain string
    Reserved for future use.
    tenancy string
    The tenancy of the instance (if the instance is running in a VPC). Can be default, dedicated, or host.
    affinity str
    The affinity setting for an instance on a Dedicated Host.
    availability_zone str
    The Availability Zone for the instance.
    group_name str
    The name of the placement group for the instance.
    host_id str
    The ID of the Dedicated Host for the instance.
    host_resource_group_arn str
    The ARN of the Host Resource Group in which to launch instances.
    partition_number int
    The number of the partition the instance should launch in. Valid only if the placement group strategy is set to partition.
    spread_domain str
    Reserved for future use.
    tenancy str
    The tenancy of the instance (if the instance is running in a VPC). Can be default, dedicated, or host.
    affinity String
    The affinity setting for an instance on a Dedicated Host.
    availabilityZone String
    The Availability Zone for the instance.
    groupName String
    The name of the placement group for the instance.
    hostId String
    The ID of the Dedicated Host for the instance.
    hostResourceGroupArn String
    The ARN of the Host Resource Group in which to launch instances.
    partitionNumber Number
    The number of the partition the instance should launch in. Valid only if the placement group strategy is set to partition.
    spreadDomain String
    Reserved for future use.
    tenancy String
    The tenancy of the instance (if the instance is running in a VPC). Can be default, dedicated, or host.

    LaunchTemplatePrivateDnsNameOptions, LaunchTemplatePrivateDnsNameOptionsArgs

    EnableResourceNameDnsARecord bool
    Indicates whether to respond to DNS queries for instance hostnames with DNS A records.
    EnableResourceNameDnsAaaaRecord bool
    Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records.
    HostnameType string
    The type of hostname for Amazon EC2 instances. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 native subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID. Valid values: ip-name and resource-name.
    EnableResourceNameDnsARecord bool
    Indicates whether to respond to DNS queries for instance hostnames with DNS A records.
    EnableResourceNameDnsAaaaRecord bool
    Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records.
    HostnameType string
    The type of hostname for Amazon EC2 instances. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 native subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID. Valid values: ip-name and resource-name.
    enableResourceNameDnsARecord Boolean
    Indicates whether to respond to DNS queries for instance hostnames with DNS A records.
    enableResourceNameDnsAaaaRecord Boolean
    Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records.
    hostnameType String
    The type of hostname for Amazon EC2 instances. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 native subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID. Valid values: ip-name and resource-name.
    enableResourceNameDnsARecord boolean
    Indicates whether to respond to DNS queries for instance hostnames with DNS A records.
    enableResourceNameDnsAaaaRecord boolean
    Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records.
    hostnameType string
    The type of hostname for Amazon EC2 instances. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 native subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID. Valid values: ip-name and resource-name.
    enable_resource_name_dns_a_record bool
    Indicates whether to respond to DNS queries for instance hostnames with DNS A records.
    enable_resource_name_dns_aaaa_record bool
    Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records.
    hostname_type str
    The type of hostname for Amazon EC2 instances. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 native subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID. Valid values: ip-name and resource-name.
    enableResourceNameDnsARecord Boolean
    Indicates whether to respond to DNS queries for instance hostnames with DNS A records.
    enableResourceNameDnsAaaaRecord Boolean
    Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records.
    hostnameType String
    The type of hostname for Amazon EC2 instances. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 native subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID. Valid values: ip-name and resource-name.

    LaunchTemplateTagSpecification, LaunchTemplateTagSpecificationArgs

    ResourceType string
    The type of resource to tag.
    Tags Dictionary<string, string>
    A map of tags to assign to the resource.
    ResourceType string
    The type of resource to tag.
    Tags map[string]string
    A map of tags to assign to the resource.
    resourceType String
    The type of resource to tag.
    tags Map<String,String>
    A map of tags to assign to the resource.
    resourceType string
    The type of resource to tag.
    tags {[key: string]: string}
    A map of tags to assign to the resource.
    resource_type str
    The type of resource to tag.
    tags Mapping[str, str]
    A map of tags to assign to the resource.
    resourceType String
    The type of resource to tag.
    tags Map<String>
    A map of tags to assign to the resource.

    Import

    Using pulumi import, import Launch Templates using the id. For example:

    $ pulumi import aws:ec2/launchTemplate:LaunchTemplate web lt-12345678
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    AWS Classic pulumi/pulumi-aws
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the aws Terraform Provider.
    aws logo

    Try AWS Native preview for resources not in the classic version.

    AWS Classic v6.40.0 published on Wednesday, Jun 12, 2024 by Pulumi