Class LaunchTemplateArgs.Builder

  • Enclosing class:
    LaunchTemplateArgs

    public static final class LaunchTemplateArgs.Builder
    extends java.lang.Object
    • Method Detail

      • blockDeviceMappings

        public LaunchTemplateArgs.Builder blockDeviceMappings​(@Nullable
                                                              com.pulumi.core.Output<java.util.List<LaunchTemplateBlockDeviceMappingArgs>> blockDeviceMappings)
        Parameters:
        blockDeviceMappings - Specify volumes to attach to the instance besides the volumes specified by the AMI. See Block Devices below for details.
        Returns:
        builder
      • blockDeviceMappings

        public LaunchTemplateArgs.Builder blockDeviceMappings​(java.util.List<LaunchTemplateBlockDeviceMappingArgs> blockDeviceMappings)
        Parameters:
        blockDeviceMappings - Specify volumes to attach to the instance besides the volumes specified by the AMI. See Block Devices below for details.
        Returns:
        builder
      • blockDeviceMappings

        public LaunchTemplateArgs.Builder blockDeviceMappings​(LaunchTemplateBlockDeviceMappingArgs... blockDeviceMappings)
        Parameters:
        blockDeviceMappings - Specify volumes to attach to the instance besides the volumes specified by the AMI. See Block Devices below for details.
        Returns:
        builder
      • capacityReservationSpecification

        public LaunchTemplateArgs.Builder capacityReservationSpecification​(@Nullable
                                                                           com.pulumi.core.Output<LaunchTemplateCapacityReservationSpecificationArgs> capacityReservationSpecification)
        Parameters:
        capacityReservationSpecification - Targeting for EC2 capacity reservations. See Capacity Reservation Specification below for more details.
        Returns:
        builder
      • creditSpecification

        public LaunchTemplateArgs.Builder creditSpecification​(@Nullable
                                                              com.pulumi.core.Output<LaunchTemplateCreditSpecificationArgs> creditSpecification)
        Parameters:
        creditSpecification - Customize the credit specification of the instance. See Credit Specification below for more details.
        Returns:
        builder
      • defaultVersion

        public LaunchTemplateArgs.Builder defaultVersion​(@Nullable
                                                         com.pulumi.core.Output<java.lang.Integer> defaultVersion)
        Parameters:
        defaultVersion - Default Version of the launch template.
        Returns:
        builder
      • defaultVersion

        public LaunchTemplateArgs.Builder defaultVersion​(java.lang.Integer defaultVersion)
        Parameters:
        defaultVersion - Default Version of the launch template.
        Returns:
        builder
      • description

        public LaunchTemplateArgs.Builder description​(@Nullable
                                                      com.pulumi.core.Output<java.lang.String> description)
        Parameters:
        description - Description of the launch template.
        Returns:
        builder
      • description

        public LaunchTemplateArgs.Builder description​(java.lang.String description)
        Parameters:
        description - Description of the launch template.
        Returns:
        builder
      • disableApiStop

        public LaunchTemplateArgs.Builder disableApiStop​(@Nullable
                                                         com.pulumi.core.Output<java.lang.Boolean> disableApiStop)
        Parameters:
        disableApiStop - If true, enables [EC2 Instance Stop Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Stop_Start.html#Using_StopProtection).
        Returns:
        builder
      • disableApiStop

        public LaunchTemplateArgs.Builder disableApiStop​(java.lang.Boolean disableApiStop)
        Parameters:
        disableApiStop - If true, enables [EC2 Instance Stop Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Stop_Start.html#Using_StopProtection).
        Returns:
        builder
      • disableApiTermination

        public LaunchTemplateArgs.Builder disableApiTermination​(@Nullable
                                                                com.pulumi.core.Output<java.lang.Boolean> disableApiTermination)
        Parameters:
        disableApiTermination - If `true`, enables [EC2 Instance Termination Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#Using_ChangingDisableAPITermination)
        Returns:
        builder
      • disableApiTermination

        public LaunchTemplateArgs.Builder disableApiTermination​(java.lang.Boolean disableApiTermination)
        Parameters:
        disableApiTermination - If `true`, enables [EC2 Instance Termination Protection](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/terminating-instances.html#Using_ChangingDisableAPITermination)
        Returns:
        builder
      • ebsOptimized

        public LaunchTemplateArgs.Builder ebsOptimized​(@Nullable
                                                       com.pulumi.core.Output<java.lang.String> ebsOptimized)
        Parameters:
        ebsOptimized - If `true`, the launched EC2 instance will be EBS-optimized.
        Returns:
        builder
      • ebsOptimized

        public LaunchTemplateArgs.Builder ebsOptimized​(java.lang.String ebsOptimized)
        Parameters:
        ebsOptimized - If `true`, the launched EC2 instance will be EBS-optimized.
        Returns:
        builder
      • elasticGpuSpecifications

        public LaunchTemplateArgs.Builder elasticGpuSpecifications​(@Nullable
                                                                   com.pulumi.core.Output<java.util.List<LaunchTemplateElasticGpuSpecificationArgs>> elasticGpuSpecifications)
        Parameters:
        elasticGpuSpecifications - The elastic GPU to attach to the instance. See Elastic GPU below for more details.
        Returns:
        builder
      • elasticInferenceAccelerator

        public LaunchTemplateArgs.Builder elasticInferenceAccelerator​(@Nullable
                                                                      com.pulumi.core.Output<LaunchTemplateElasticInferenceAcceleratorArgs> elasticInferenceAccelerator)
        Parameters:
        elasticInferenceAccelerator - Configuration block containing an Elastic Inference Accelerator to attach to the instance. See Elastic Inference Accelerator below for more details.
        Returns:
        builder
      • elasticInferenceAccelerator

        public LaunchTemplateArgs.Builder elasticInferenceAccelerator​(LaunchTemplateElasticInferenceAcceleratorArgs elasticInferenceAccelerator)
        Parameters:
        elasticInferenceAccelerator - Configuration block containing an Elastic Inference Accelerator to attach to the instance. See Elastic Inference Accelerator below for more details.
        Returns:
        builder
      • hibernationOptions

        public LaunchTemplateArgs.Builder hibernationOptions​(@Nullable
                                                             com.pulumi.core.Output<LaunchTemplateHibernationOptionsArgs> hibernationOptions)
        Parameters:
        hibernationOptions - The hibernation options for the instance. See Hibernation Options below for more details.
        Returns:
        builder
      • iamInstanceProfile

        public LaunchTemplateArgs.Builder iamInstanceProfile​(@Nullable
                                                             com.pulumi.core.Output<LaunchTemplateIamInstanceProfileArgs> iamInstanceProfile)
        Parameters:
        iamInstanceProfile - The IAM Instance Profile to launch the instance with. See Instance Profile below for more details.
        Returns:
        builder
      • imageId

        public LaunchTemplateArgs.Builder imageId​(@Nullable
                                                  com.pulumi.core.Output<java.lang.String> imageId)
        Parameters:
        imageId - The AMI from which to launch the instance.
        Returns:
        builder
      • imageId

        public LaunchTemplateArgs.Builder imageId​(java.lang.String imageId)
        Parameters:
        imageId - The AMI from which to launch the instance.
        Returns:
        builder
      • instanceInitiatedShutdownBehavior

        public LaunchTemplateArgs.Builder instanceInitiatedShutdownBehavior​(@Nullable
                                                                            com.pulumi.core.Output<java.lang.String> instanceInitiatedShutdownBehavior)
        Parameters:
        instanceInitiatedShutdownBehavior - Shutdown behavior for the instance. Can be `stop` or `terminate`. (Default: `stop`).
        Returns:
        builder
      • instanceInitiatedShutdownBehavior

        public LaunchTemplateArgs.Builder instanceInitiatedShutdownBehavior​(java.lang.String instanceInitiatedShutdownBehavior)
        Parameters:
        instanceInitiatedShutdownBehavior - Shutdown behavior for the instance. Can be `stop` or `terminate`. (Default: `stop`).
        Returns:
        builder
      • instanceRequirements

        public LaunchTemplateArgs.Builder instanceRequirements​(@Nullable
                                                               com.pulumi.core.Output<LaunchTemplateInstanceRequirementsArgs> instanceRequirements)
        Parameters:
        instanceRequirements - The attribute requirements for the type of instance. If present then `instance_type` cannot be present.
        Returns:
        builder
      • instanceType

        public LaunchTemplateArgs.Builder instanceType​(@Nullable
                                                       com.pulumi.core.Output<java.lang.String> instanceType)
        Parameters:
        instanceType - The type of the instance. If present then `instance_requirements` cannot be present.
        Returns:
        builder
      • instanceType

        public LaunchTemplateArgs.Builder instanceType​(java.lang.String instanceType)
        Parameters:
        instanceType - The type of the instance. If present then `instance_requirements` cannot be present.
        Returns:
        builder
      • kernelId

        public LaunchTemplateArgs.Builder kernelId​(@Nullable
                                                   com.pulumi.core.Output<java.lang.String> kernelId)
        Parameters:
        kernelId - The kernel ID.
        Returns:
        builder
      • kernelId

        public LaunchTemplateArgs.Builder kernelId​(java.lang.String kernelId)
        Parameters:
        kernelId - The kernel ID.
        Returns:
        builder
      • keyName

        public LaunchTemplateArgs.Builder keyName​(@Nullable
                                                  com.pulumi.core.Output<java.lang.String> keyName)
        Parameters:
        keyName - The key name to use for the instance.
        Returns:
        builder
      • keyName

        public LaunchTemplateArgs.Builder keyName​(java.lang.String keyName)
        Parameters:
        keyName - The key name to use for the instance.
        Returns:
        builder
      • licenseSpecifications

        public LaunchTemplateArgs.Builder licenseSpecifications​(@Nullable
                                                                com.pulumi.core.Output<java.util.List<LaunchTemplateLicenseSpecificationArgs>> licenseSpecifications)
        Parameters:
        licenseSpecifications - A list of license specifications to associate with. See License Specification below for more details.
        Returns:
        builder
      • maintenanceOptions

        public LaunchTemplateArgs.Builder maintenanceOptions​(@Nullable
                                                             com.pulumi.core.Output<LaunchTemplateMaintenanceOptionsArgs> maintenanceOptions)
        Parameters:
        maintenanceOptions - The maintenance options for the instance. See Maintenance Options below for more details.
        Returns:
        builder
      • metadataOptions

        public LaunchTemplateArgs.Builder metadataOptions​(@Nullable
                                                          com.pulumi.core.Output<LaunchTemplateMetadataOptionsArgs> metadataOptions)
        Parameters:
        metadataOptions - Customize the metadata options for the instance. See Metadata Options below for more details.
        Returns:
        builder
      • name

        public LaunchTemplateArgs.Builder name​(@Nullable
                                               com.pulumi.core.Output<java.lang.String> name)
        Parameters:
        name - The name of the launch template. If you leave this blank, the provider will auto-generate a unique name.
        Returns:
        builder
      • name

        public LaunchTemplateArgs.Builder name​(java.lang.String name)
        Parameters:
        name - The name of the launch template. If you leave this blank, the provider will auto-generate a unique name.
        Returns:
        builder
      • namePrefix

        public LaunchTemplateArgs.Builder namePrefix​(@Nullable
                                                     com.pulumi.core.Output<java.lang.String> namePrefix)
        Parameters:
        namePrefix - Creates a unique name beginning with the specified prefix. Conflicts with `name`.
        Returns:
        builder
      • namePrefix

        public LaunchTemplateArgs.Builder namePrefix​(java.lang.String namePrefix)
        Parameters:
        namePrefix - Creates a unique name beginning with the specified prefix. Conflicts with `name`.
        Returns:
        builder
      • networkInterfaces

        public LaunchTemplateArgs.Builder networkInterfaces​(@Nullable
                                                            com.pulumi.core.Output<java.util.List<LaunchTemplateNetworkInterfaceArgs>> networkInterfaces)
        Parameters:
        networkInterfaces - Customize network interfaces to be attached at instance boot time. See Network Interfaces below for more details.
        Returns:
        builder
      • networkInterfaces

        public LaunchTemplateArgs.Builder networkInterfaces​(java.util.List<LaunchTemplateNetworkInterfaceArgs> networkInterfaces)
        Parameters:
        networkInterfaces - Customize network interfaces to be attached at instance boot time. See Network Interfaces below for more details.
        Returns:
        builder
      • privateDnsNameOptions

        public LaunchTemplateArgs.Builder privateDnsNameOptions​(@Nullable
                                                                com.pulumi.core.Output<LaunchTemplatePrivateDnsNameOptionsArgs> privateDnsNameOptions)
        Parameters:
        privateDnsNameOptions - The options for the instance hostname. The default values are inherited from the subnet. See Private DNS Name Options below for more details.
        Returns:
        builder
      • privateDnsNameOptions

        public LaunchTemplateArgs.Builder privateDnsNameOptions​(LaunchTemplatePrivateDnsNameOptionsArgs privateDnsNameOptions)
        Parameters:
        privateDnsNameOptions - The options for the instance hostname. The default values are inherited from the subnet. See Private DNS Name Options below for more details.
        Returns:
        builder
      • ramDiskId

        public LaunchTemplateArgs.Builder ramDiskId​(@Nullable
                                                    com.pulumi.core.Output<java.lang.String> ramDiskId)
        Parameters:
        ramDiskId - The ID of the RAM disk.
        Returns:
        builder
      • ramDiskId

        public LaunchTemplateArgs.Builder ramDiskId​(java.lang.String ramDiskId)
        Parameters:
        ramDiskId - The ID of the RAM disk.
        Returns:
        builder
      • securityGroupNames

        public LaunchTemplateArgs.Builder securityGroupNames​(@Nullable
                                                             com.pulumi.core.Output<java.util.List<java.lang.String>> securityGroupNames)
        Parameters:
        securityGroupNames - A list of security group names to associate with. If you are creating Instances in a VPC, use `vpc_security_group_ids` instead.
        Returns:
        builder
      • securityGroupNames

        public LaunchTemplateArgs.Builder securityGroupNames​(java.util.List<java.lang.String> securityGroupNames)
        Parameters:
        securityGroupNames - A list of security group names to associate with. If you are creating Instances in a VPC, use `vpc_security_group_ids` instead.
        Returns:
        builder
      • securityGroupNames

        public LaunchTemplateArgs.Builder securityGroupNames​(java.lang.String... securityGroupNames)
        Parameters:
        securityGroupNames - A list of security group names to associate with. If you are creating Instances in a VPC, use `vpc_security_group_ids` instead.
        Returns:
        builder
      • tagSpecifications

        public LaunchTemplateArgs.Builder tagSpecifications​(@Nullable
                                                            com.pulumi.core.Output<java.util.List<LaunchTemplateTagSpecificationArgs>> tagSpecifications)
        Parameters:
        tagSpecifications - The tags to apply to the resources during launch. See Tag Specifications below for more details.
        Returns:
        builder
      • tags

        public LaunchTemplateArgs.Builder tags​(@Nullable
                                               com.pulumi.core.Output<java.util.Map<java.lang.String,​java.lang.String>> tags)
        Parameters:
        tags - 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.
        Returns:
        builder
      • tags

        public LaunchTemplateArgs.Builder tags​(java.util.Map<java.lang.String,​java.lang.String> tags)
        Parameters:
        tags - 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.
        Returns:
        builder
      • updateDefaultVersion

        public LaunchTemplateArgs.Builder updateDefaultVersion​(@Nullable
                                                               com.pulumi.core.Output<java.lang.Boolean> updateDefaultVersion)
        Parameters:
        updateDefaultVersion - Whether to update Default Version each update. Conflicts with `default_version`.
        Returns:
        builder
      • updateDefaultVersion

        public LaunchTemplateArgs.Builder updateDefaultVersion​(java.lang.Boolean updateDefaultVersion)
        Parameters:
        updateDefaultVersion - Whether to update Default Version each update. Conflicts with `default_version`.
        Returns:
        builder
      • userData

        public LaunchTemplateArgs.Builder userData​(@Nullable
                                                   com.pulumi.core.Output<java.lang.String> userData)
        Parameters:
        userData - The base64-encoded user data to provide when launching the instance.
        Returns:
        builder
      • userData

        public LaunchTemplateArgs.Builder userData​(java.lang.String userData)
        Parameters:
        userData - The base64-encoded user data to provide when launching the instance.
        Returns:
        builder
      • vpcSecurityGroupIds

        public LaunchTemplateArgs.Builder vpcSecurityGroupIds​(@Nullable
                                                              com.pulumi.core.Output<java.util.List<java.lang.String>> vpcSecurityGroupIds)
        Parameters:
        vpcSecurityGroupIds - A list of security group IDs to associate with. Conflicts with `network_interfaces.security_groups`
        Returns:
        builder
      • vpcSecurityGroupIds

        public LaunchTemplateArgs.Builder vpcSecurityGroupIds​(java.util.List<java.lang.String> vpcSecurityGroupIds)
        Parameters:
        vpcSecurityGroupIds - A list of security group IDs to associate with. Conflicts with `network_interfaces.security_groups`
        Returns:
        builder
      • vpcSecurityGroupIds

        public LaunchTemplateArgs.Builder vpcSecurityGroupIds​(java.lang.String... vpcSecurityGroupIds)
        Parameters:
        vpcSecurityGroupIds - A list of security group IDs to associate with. Conflicts with `network_interfaces.security_groups`
        Returns:
        builder