Class InstanceTemplateArgs.Builder

  • Enclosing class:
    InstanceTemplateArgs

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

      • advancedMachineFeatures

        public InstanceTemplateArgs.Builder advancedMachineFeatures​(@Nullable
                                                                    com.pulumi.core.Output<InstanceTemplateAdvancedMachineFeaturesArgs> advancedMachineFeatures)
        Parameters:
        advancedMachineFeatures - Configure Nested Virtualisation and Simultaneous Hyper Threading on this VM. Structure is documented below
        Returns:
        builder
      • canIpForward

        public InstanceTemplateArgs.Builder canIpForward​(@Nullable
                                                         com.pulumi.core.Output<java.lang.Boolean> canIpForward)
        Parameters:
        canIpForward - Whether to allow sending and receiving of packets with non-matching source or destination IPs. This defaults to false.
        Returns:
        builder
      • canIpForward

        public InstanceTemplateArgs.Builder canIpForward​(java.lang.Boolean canIpForward)
        Parameters:
        canIpForward - Whether to allow sending and receiving of packets with non-matching source or destination IPs. This defaults to false.
        Returns:
        builder
      • confidentialInstanceConfig

        public InstanceTemplateArgs.Builder confidentialInstanceConfig​(@Nullable
                                                                       com.pulumi.core.Output<InstanceTemplateConfidentialInstanceConfigArgs> confidentialInstanceConfig)
        Parameters:
        confidentialInstanceConfig - Enable [Confidential Mode](https://cloud.google.com/compute/confidential-vm/docs/about-cvm) on this VM. Structure is documented below
        Returns:
        builder
      • description

        public InstanceTemplateArgs.Builder description​(@Nullable
                                                        com.pulumi.core.Output<java.lang.String> description)
        Parameters:
        description - A brief description of this resource.
        Returns:
        builder
      • description

        public InstanceTemplateArgs.Builder description​(java.lang.String description)
        Parameters:
        description - A brief description of this resource.
        Returns:
        builder
      • disks

        public InstanceTemplateArgs.Builder disks​(com.pulumi.core.Output<java.util.List<InstanceTemplateDiskArgs>> disks)
        Parameters:
        disks - Disks to attach to instances created from this template. This can be specified multiple times for multiple disks. Structure is documented below.
        Returns:
        builder
      • disks

        public InstanceTemplateArgs.Builder disks​(java.util.List<InstanceTemplateDiskArgs> disks)
        Parameters:
        disks - Disks to attach to instances created from this template. This can be specified multiple times for multiple disks. Structure is documented below.
        Returns:
        builder
      • disks

        public InstanceTemplateArgs.Builder disks​(InstanceTemplateDiskArgs... disks)
        Parameters:
        disks - Disks to attach to instances created from this template. This can be specified multiple times for multiple disks. Structure is documented below.
        Returns:
        builder
      • enableDisplay

        public InstanceTemplateArgs.Builder enableDisplay​(@Nullable
                                                          com.pulumi.core.Output<java.lang.Boolean> enableDisplay)
        Parameters:
        enableDisplay - ) Enable [Virtual Displays](https://cloud.google.com/compute/docs/instances/enable-instance-virtual-display#verify_display_driver) on this instance. **Note**: `allow_stopping_for_update` must be set to true in order to update this field.
        Returns:
        builder
      • enableDisplay

        public InstanceTemplateArgs.Builder enableDisplay​(java.lang.Boolean enableDisplay)
        Parameters:
        enableDisplay - ) Enable [Virtual Displays](https://cloud.google.com/compute/docs/instances/enable-instance-virtual-display#verify_display_driver) on this instance. **Note**: `allow_stopping_for_update` must be set to true in order to update this field.
        Returns:
        builder
      • guestAccelerators

        public InstanceTemplateArgs.Builder guestAccelerators​(@Nullable
                                                              com.pulumi.core.Output<java.util.List<InstanceTemplateGuestAcceleratorArgs>> guestAccelerators)
        Parameters:
        guestAccelerators - List of the type and count of accelerator cards attached to the instance. Structure documented below.
        Returns:
        builder
      • instanceDescription

        public InstanceTemplateArgs.Builder instanceDescription​(@Nullable
                                                                com.pulumi.core.Output<java.lang.String> instanceDescription)
        Parameters:
        instanceDescription - A brief description to use for instances created from this template.
        Returns:
        builder
      • instanceDescription

        public InstanceTemplateArgs.Builder instanceDescription​(java.lang.String instanceDescription)
        Parameters:
        instanceDescription - A brief description to use for instances created from this template.
        Returns:
        builder
      • labels

        public InstanceTemplateArgs.Builder labels​(@Nullable
                                                   com.pulumi.core.Output<java.util.Map<java.lang.String,​java.lang.String>> labels)
        Parameters:
        labels - A set of key/value label pairs to assign to instances created from this template. **Note**: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
        Returns:
        builder
      • labels

        public InstanceTemplateArgs.Builder labels​(java.util.Map<java.lang.String,​java.lang.String> labels)
        Parameters:
        labels - A set of key/value label pairs to assign to instances created from this template. **Note**: This field is non-authoritative, and will only manage the labels present in your configuration. Please refer to the field 'effective_labels' for all of the labels present on the resource.
        Returns:
        builder
      • machineType

        public InstanceTemplateArgs.Builder machineType​(com.pulumi.core.Output<java.lang.String> machineType)
        Parameters:
        machineType - The machine type to create. To create a machine with a [custom type](https://cloud.google.com/dataproc/docs/concepts/compute/custom-machine-types) (such as extended memory), format the value like `custom-VCPUS-MEM_IN_MB` like `custom-6-20480` for 6 vCPU and 20GB of RAM. ***
        Returns:
        builder
      • machineType

        public InstanceTemplateArgs.Builder machineType​(java.lang.String machineType)
        Parameters:
        machineType - The machine type to create. To create a machine with a [custom type](https://cloud.google.com/dataproc/docs/concepts/compute/custom-machine-types) (such as extended memory), format the value like `custom-VCPUS-MEM_IN_MB` like `custom-6-20480` for 6 vCPU and 20GB of RAM. ***
        Returns:
        builder
      • metadata

        public InstanceTemplateArgs.Builder metadata​(@Nullable
                                                     com.pulumi.core.Output<java.util.Map<java.lang.String,​java.lang.Object>> metadata)
        Parameters:
        metadata - Metadata key/value pairs to make available from within instances created from this template.
        Returns:
        builder
      • metadata

        public InstanceTemplateArgs.Builder metadata​(java.util.Map<java.lang.String,​java.lang.Object> metadata)
        Parameters:
        metadata - Metadata key/value pairs to make available from within instances created from this template.
        Returns:
        builder
      • metadataStartupScript

        public InstanceTemplateArgs.Builder metadataStartupScript​(@Nullable
                                                                  com.pulumi.core.Output<java.lang.String> metadataStartupScript)
        Parameters:
        metadataStartupScript - An alternative to using the startup-script metadata key, mostly to match the compute_instance resource. This replaces the startup-script metadata key on the created instance and thus the two mechanisms are not allowed to be used simultaneously.
        Returns:
        builder
      • metadataStartupScript

        public InstanceTemplateArgs.Builder metadataStartupScript​(java.lang.String metadataStartupScript)
        Parameters:
        metadataStartupScript - An alternative to using the startup-script metadata key, mostly to match the compute_instance resource. This replaces the startup-script metadata key on the created instance and thus the two mechanisms are not allowed to be used simultaneously.
        Returns:
        builder
      • minCpuPlatform

        public InstanceTemplateArgs.Builder minCpuPlatform​(@Nullable
                                                           com.pulumi.core.Output<java.lang.String> minCpuPlatform)
        Parameters:
        minCpuPlatform - Specifies a minimum CPU platform. Applicable values are the friendly names of CPU platforms, such as `Intel Haswell` or `Intel Skylake`. See the complete list [here](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform).
        Returns:
        builder
      • minCpuPlatform

        public InstanceTemplateArgs.Builder minCpuPlatform​(java.lang.String minCpuPlatform)
        Parameters:
        minCpuPlatform - Specifies a minimum CPU platform. Applicable values are the friendly names of CPU platforms, such as `Intel Haswell` or `Intel Skylake`. See the complete list [here](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform).
        Returns:
        builder
      • name

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

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

        public InstanceTemplateArgs.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 InstanceTemplateArgs.Builder namePrefix​(java.lang.String namePrefix)
        Parameters:
        namePrefix - Creates a unique name beginning with the specified prefix. Conflicts with `name`.
        Returns:
        builder
      • networkInterfaces

        public InstanceTemplateArgs.Builder networkInterfaces​(@Nullable
                                                              com.pulumi.core.Output<java.util.List<InstanceTemplateNetworkInterfaceArgs>> networkInterfaces)
        Parameters:
        networkInterfaces - Networks to attach to instances created from this template. This can be specified multiple times for multiple networks. Structure is documented below.
        Returns:
        builder
      • networkInterfaces

        public InstanceTemplateArgs.Builder networkInterfaces​(java.util.List<InstanceTemplateNetworkInterfaceArgs> networkInterfaces)
        Parameters:
        networkInterfaces - Networks to attach to instances created from this template. This can be specified multiple times for multiple networks. Structure is documented below.
        Returns:
        builder
      • networkInterfaces

        public InstanceTemplateArgs.Builder networkInterfaces​(InstanceTemplateNetworkInterfaceArgs... networkInterfaces)
        Parameters:
        networkInterfaces - Networks to attach to instances created from this template. This can be specified multiple times for multiple networks. Structure is documented below.
        Returns:
        builder
      • networkPerformanceConfig

        public InstanceTemplateArgs.Builder networkPerformanceConfig​(@Nullable
                                                                     com.pulumi.core.Output<InstanceTemplateNetworkPerformanceConfigArgs> networkPerformanceConfig)
        Parameters:
        networkPerformanceConfig - (Optional, Configures network performance settings for the instance created from the template. Structure is documented below. **Note**: `machine_type` must be a [supported type](https://cloud.google.com/compute/docs/networking/configure-vm-with-high-bandwidth-configuration), the `image` used must include the [`GVNIC`](https://cloud.google.com/compute/docs/networking/using-gvnic#create-instance-gvnic-image) in `guest-os-features`, and `network_interface.0.nic-type` must be `GVNIC` in order for this setting to take effect.
        Returns:
        builder
      • networkPerformanceConfig

        public InstanceTemplateArgs.Builder networkPerformanceConfig​(InstanceTemplateNetworkPerformanceConfigArgs networkPerformanceConfig)
        Parameters:
        networkPerformanceConfig - (Optional, Configures network performance settings for the instance created from the template. Structure is documented below. **Note**: `machine_type` must be a [supported type](https://cloud.google.com/compute/docs/networking/configure-vm-with-high-bandwidth-configuration), the `image` used must include the [`GVNIC`](https://cloud.google.com/compute/docs/networking/using-gvnic#create-instance-gvnic-image) in `guest-os-features`, and `network_interface.0.nic-type` must be `GVNIC` in order for this setting to take effect.
        Returns:
        builder
      • project

        public InstanceTemplateArgs.Builder project​(@Nullable
                                                    com.pulumi.core.Output<java.lang.String> project)
        Parameters:
        project - The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
        Returns:
        builder
      • project

        public InstanceTemplateArgs.Builder project​(java.lang.String project)
        Parameters:
        project - The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
        Returns:
        builder
      • region

        public InstanceTemplateArgs.Builder region​(@Nullable
                                                   com.pulumi.core.Output<java.lang.String> region)
        Parameters:
        region - An instance template is a global resource that is not bound to a zone or a region. However, you can still specify some regional resources in an instance template, which restricts the template to the region where that resource resides. For example, a custom `subnetwork` resource is tied to a specific region. Defaults to the region of the Provider if no value is given.
        Returns:
        builder
      • region

        public InstanceTemplateArgs.Builder region​(java.lang.String region)
        Parameters:
        region - An instance template is a global resource that is not bound to a zone or a region. However, you can still specify some regional resources in an instance template, which restricts the template to the region where that resource resides. For example, a custom `subnetwork` resource is tied to a specific region. Defaults to the region of the Provider if no value is given.
        Returns:
        builder
      • resourcePolicies

        public InstanceTemplateArgs.Builder resourcePolicies​(@Nullable
                                                             com.pulumi.core.Output<java.lang.String> resourcePolicies)
        Parameters:
        resourcePolicies - - A list of self_links of resource policies to attach to the instance. Modifying this list will cause the instance to recreate. Currently a max of 1 resource policy is supported.
        Returns:
        builder
      • resourcePolicies

        public InstanceTemplateArgs.Builder resourcePolicies​(java.lang.String resourcePolicies)
        Parameters:
        resourcePolicies - - A list of self_links of resource policies to attach to the instance. Modifying this list will cause the instance to recreate. Currently a max of 1 resource policy is supported.
        Returns:
        builder
      • shieldedInstanceConfig

        public InstanceTemplateArgs.Builder shieldedInstanceConfig​(@Nullable
                                                                   com.pulumi.core.Output<InstanceTemplateShieldedInstanceConfigArgs> shieldedInstanceConfig)
        Parameters:
        shieldedInstanceConfig - Enable [Shielded VM](https://cloud.google.com/security/shielded-cloud/shielded-vm) on this instance. Shielded VM provides verifiable integrity to prevent against malware and rootkits. Defaults to disabled. Structure is documented below. **Note**: `shielded_instance_config` can only be used with boot images with shielded vm support. See the complete list [here](https://cloud.google.com/compute/docs/images#shielded-images).
        Returns:
        builder
      • shieldedInstanceConfig

        public InstanceTemplateArgs.Builder shieldedInstanceConfig​(InstanceTemplateShieldedInstanceConfigArgs shieldedInstanceConfig)
        Parameters:
        shieldedInstanceConfig - Enable [Shielded VM](https://cloud.google.com/security/shielded-cloud/shielded-vm) on this instance. Shielded VM provides verifiable integrity to prevent against malware and rootkits. Defaults to disabled. Structure is documented below. **Note**: `shielded_instance_config` can only be used with boot images with shielded vm support. See the complete list [here](https://cloud.google.com/compute/docs/images#shielded-images).
        Returns:
        builder
      • tags

        public InstanceTemplateArgs.Builder tags​(@Nullable
                                                 com.pulumi.core.Output<java.util.List<java.lang.String>> tags)
        Parameters:
        tags - Tags to attach to the instance.
        Returns:
        builder
      • tags

        public InstanceTemplateArgs.Builder tags​(java.util.List<java.lang.String> tags)
        Parameters:
        tags - Tags to attach to the instance.
        Returns:
        builder
      • tags

        public InstanceTemplateArgs.Builder tags​(java.lang.String... tags)
        Parameters:
        tags - Tags to attach to the instance.
        Returns:
        builder