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 version (`VersionDescription` in the [EC2 API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateLaunchTemplateVersion.html)). Launch templates in AWS do not have a template-level description; whenever a change to this resource creates a new version, the new version is created with this description. To give each version a distinct description, update this argument in the same apply as the other changes.
        Returns:
        builder
      • description

        public LaunchTemplateArgs.Builder description​(java.lang.String description)
        Parameters:
        description - Description of the launch template version (`VersionDescription` in the [EC2 API](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateLaunchTemplateVersion.html)). Launch templates in AWS do not have a template-level description; whenever a change to this resource creates a new version, the new version is created with this description. To give each version a distinct description, update this argument in the same apply as the other changes.
        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/ec2-stop-protection.html).
        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/ec2-stop-protection.html).
        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/Using_ChangingDisableAPITermination.html)
        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/Using_ChangingDisableAPITermination.html)
        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
      • 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 or use a Systems Manager parameter convention e.g. `resolve:ssm:parameter-name`. See [docs](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-launch-template.html#use-an-ssm-parameter-instead-of-an-ami-id) for more details.
        Returns:
        builder
      • imageId

        public LaunchTemplateArgs.Builder imageId​(java.lang.String imageId)
        Parameters:
        imageId - The AMI from which to launch the instance or use a Systems Manager parameter convention e.g. `resolve:ssm:parameter-name`. See [docs](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-launch-template.html#use-an-ssm-parameter-instead-of-an-ami-id) for more details.
        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 `instanceType` 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 `instanceRequirements` cannot be present.
        Returns:
        builder
      • instanceType

        public LaunchTemplateArgs.Builder instanceType​(java.lang.String instanceType)
        Parameters:
        instanceType - The type of the instance. If present then `instanceRequirements` 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
      • region

        public LaunchTemplateArgs.Builder region​(@Nullable
                                                 com.pulumi.core.Output<java.lang.String> region)
        Parameters:
        region - Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
        Returns:
        builder
      • region

        public LaunchTemplateArgs.Builder region​(java.lang.String region)
        Parameters:
        region - Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
        Returns:
        builder
      • secondaryInterfaces

        public LaunchTemplateArgs.Builder secondaryInterfaces​(@Nullable
                                                              com.pulumi.core.Output<java.util.List<LaunchTemplateSecondaryInterfaceArgs>> secondaryInterfaces)
        Parameters:
        secondaryInterfaces - Secondary interfaces to associate with instances launched from the template. See Secondary Interfaces below for more details.
        Returns:
        builder
      • secondaryInterfaces

        public LaunchTemplateArgs.Builder secondaryInterfaces​(java.util.List<LaunchTemplateSecondaryInterfaceArgs> secondaryInterfaces)
        Parameters:
        secondaryInterfaces - Secondary interfaces to associate with instances launched from the template. See Secondary Interfaces below for more details.
        Returns:
        builder
      • secondaryInterfaces

        public LaunchTemplateArgs.Builder secondaryInterfaces​(LaunchTemplateSecondaryInterfaceArgs... secondaryInterfaces)
        Parameters:
        secondaryInterfaces - Secondary interfaces to associate with instances launched from the template. See Secondary Interfaces below for more details.
        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 `vpcSecurityGroupIds` 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 `vpcSecurityGroupIds` 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 `vpcSecurityGroupIds` 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. 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.
        Returns:
        builder
      • tagSpecifications

        public LaunchTemplateArgs.Builder tagSpecifications​(java.util.List<LaunchTemplateTagSpecificationArgs> tagSpecifications)
        Parameters:
        tagSpecifications - 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.
        Returns:
        builder
      • tagSpecifications

        public LaunchTemplateArgs.Builder tagSpecifications​(LaunchTemplateTagSpecificationArgs... tagSpecifications)
        Parameters:
        tagSpecifications - 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.
        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 `defaultTags` 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 `defaultTags` 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 `defaultVersion`.
        Returns:
        builder
      • updateDefaultVersion

        public LaunchTemplateArgs.Builder updateDefaultVersion​(java.lang.Boolean updateDefaultVersion)
        Parameters:
        updateDefaultVersion - Whether to update Default Version each update. Conflicts with `defaultVersion`.
        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