Class ComputeRegionInstanceTemplate.Builder

    • Method Detail

      • connection

        @Stability(Experimental)
        public ComputeRegionInstanceTemplate.Builder connection​(com.hashicorp.cdktf.SSHProvisionerConnection connection)
        Parameters:
        connection - This parameter is required.
        Returns:
        this
      • connection

        @Stability(Experimental)
        public ComputeRegionInstanceTemplate.Builder connection​(com.hashicorp.cdktf.WinrmProvisionerConnection connection)
        Parameters:
        connection - This parameter is required.
        Returns:
        this
      • count

        @Stability(Experimental)
        public ComputeRegionInstanceTemplate.Builder count​(com.hashicorp.cdktf.TerraformCount count)
        Parameters:
        count - This parameter is required.
        Returns:
        this
      • dependsOn

        @Stability(Experimental)
        public ComputeRegionInstanceTemplate.Builder dependsOn​(List<? extends com.hashicorp.cdktf.ITerraformDependable> dependsOn)
        Parameters:
        dependsOn - This parameter is required.
        Returns:
        this
      • forEach

        @Stability(Experimental)
        public ComputeRegionInstanceTemplate.Builder forEach​(com.hashicorp.cdktf.ITerraformIterator forEach)
        Parameters:
        forEach - This parameter is required.
        Returns:
        this
      • lifecycle

        @Stability(Experimental)
        public ComputeRegionInstanceTemplate.Builder lifecycle​(com.hashicorp.cdktf.TerraformResourceLifecycle lifecycle)
        Parameters:
        lifecycle - This parameter is required.
        Returns:
        this
      • provider

        @Stability(Experimental)
        public ComputeRegionInstanceTemplate.Builder provider​(com.hashicorp.cdktf.TerraformProvider provider)
        Parameters:
        provider - This parameter is required.
        Returns:
        this
      • disk

        @Stability(Stable)
        public ComputeRegionInstanceTemplate.Builder disk​(com.hashicorp.cdktf.IResolvable disk)
        disk block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_region_instance_template#disk ComputeRegionInstanceTemplate#disk}

        Parameters:
        disk - disk block. This parameter is required.
        Returns:
        this
      • disk

        @Stability(Stable)
        public ComputeRegionInstanceTemplate.Builder disk​(List<? extends ComputeRegionInstanceTemplateDisk> disk)
        disk block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_region_instance_template#disk ComputeRegionInstanceTemplate#disk}

        Parameters:
        disk - disk block. This parameter is required.
        Returns:
        this
      • machineType

        @Stability(Stable)
        public ComputeRegionInstanceTemplate.Builder machineType​(String machineType)
        The machine type to create.

        To create a machine with a custom type (such as extended memory), format the value like custom-VCPUS-MEM_IN_MB like custom-6-20480 for 6 vCPU and 20GB of RAM. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_region_instance_template#machine_type ComputeRegionInstanceTemplate#machine_type}

        Parameters:
        machineType - The machine type to create. This parameter is required.
        Returns:
        this
      • advancedMachineFeatures

        @Stability(Stable)
        public ComputeRegionInstanceTemplate.Builder advancedMachineFeatures​(ComputeRegionInstanceTemplateAdvancedMachineFeatures advancedMachineFeatures)
        advanced_machine_features block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_region_instance_template#advanced_machine_features ComputeRegionInstanceTemplate#advanced_machine_features}

        Parameters:
        advancedMachineFeatures - advanced_machine_features block. This parameter is required.
        Returns:
        this
      • canIpForward

        @Stability(Stable)
        public ComputeRegionInstanceTemplate.Builder canIpForward​(Boolean canIpForward)
        Whether to allow sending and receiving of packets with non-matching source or destination IPs. This defaults to false.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_region_instance_template#can_ip_forward ComputeRegionInstanceTemplate#can_ip_forward}

        Parameters:
        canIpForward - Whether to allow sending and receiving of packets with non-matching source or destination IPs. This defaults to false. This parameter is required.
        Returns:
        this
      • canIpForward

        @Stability(Stable)
        public ComputeRegionInstanceTemplate.Builder canIpForward​(com.hashicorp.cdktf.IResolvable canIpForward)
        Whether to allow sending and receiving of packets with non-matching source or destination IPs. This defaults to false.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_region_instance_template#can_ip_forward ComputeRegionInstanceTemplate#can_ip_forward}

        Parameters:
        canIpForward - Whether to allow sending and receiving of packets with non-matching source or destination IPs. This defaults to false. This parameter is required.
        Returns:
        this
      • confidentialInstanceConfig

        @Stability(Stable)
        public ComputeRegionInstanceTemplate.Builder confidentialInstanceConfig​(ComputeRegionInstanceTemplateConfidentialInstanceConfig confidentialInstanceConfig)
        confidential_instance_config block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_region_instance_template#confidential_instance_config ComputeRegionInstanceTemplate#confidential_instance_config}

        Parameters:
        confidentialInstanceConfig - confidential_instance_config block. This parameter is required.
        Returns:
        this
      • description

        @Stability(Stable)
        public ComputeRegionInstanceTemplate.Builder description​(String description)
        A brief description of this resource.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_region_instance_template#description ComputeRegionInstanceTemplate#description}

        Parameters:
        description - A brief description of this resource. This parameter is required.
        Returns:
        this
      • guestAccelerator

        @Stability(Stable)
        public ComputeRegionInstanceTemplate.Builder guestAccelerator​(com.hashicorp.cdktf.IResolvable guestAccelerator)
        guest_accelerator block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_region_instance_template#guest_accelerator ComputeRegionInstanceTemplate#guest_accelerator}

        Parameters:
        guestAccelerator - guest_accelerator block. This parameter is required.
        Returns:
        this
      • guestAccelerator

        @Stability(Stable)
        public ComputeRegionInstanceTemplate.Builder guestAccelerator​(List<? extends ComputeRegionInstanceTemplateGuestAccelerator> guestAccelerator)
        guest_accelerator block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_region_instance_template#guest_accelerator ComputeRegionInstanceTemplate#guest_accelerator}

        Parameters:
        guestAccelerator - guest_accelerator block. This parameter is required.
        Returns:
        this
      • id

        @Stability(Stable)
        public ComputeRegionInstanceTemplate.Builder id​(String id)
        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_region_instance_template#id ComputeRegionInstanceTemplate#id}.

        Please be aware that the id field is automatically added to all resources in Terraform providers using a Terraform provider SDK version below 2. If you experience problems setting this value it might not be settable. Please take a look at the provider documentation to ensure it should be settable.

        Parameters:
        id - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_region_instance_template#id ComputeRegionInstanceTemplate#id}. This parameter is required.
        Returns:
        this
      • instanceDescription

        @Stability(Stable)
        public ComputeRegionInstanceTemplate.Builder instanceDescription​(String instanceDescription)
        A description of the instance.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_region_instance_template#instance_description ComputeRegionInstanceTemplate#instance_description}

        Parameters:
        instanceDescription - A description of the instance. This parameter is required.
        Returns:
        this
      • labels

        @Stability(Stable)
        public ComputeRegionInstanceTemplate.Builder labels​(Map<String,​String> 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. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_region_instance_template#labels ComputeRegionInstanceTemplate#labels}

        Parameters:
        labels - A set of key/value label pairs to assign to instances created from this template,. This parameter is required.
        Returns:
        this
      • metadata

        @Stability(Stable)
        public ComputeRegionInstanceTemplate.Builder metadata​(Map<String,​String> metadata)
        Metadata key/value pairs to make available from within instances created from this template.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_region_instance_template#metadata ComputeRegionInstanceTemplate#metadata}

        Parameters:
        metadata - Metadata key/value pairs to make available from within instances created from this template. This parameter is required.
        Returns:
        this
      • metadataStartupScript

        @Stability(Stable)
        public ComputeRegionInstanceTemplate.Builder metadataStartupScript​(String 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. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_region_instance_template#metadata_startup_script ComputeRegionInstanceTemplate#metadata_startup_script}

        Parameters:
        metadataStartupScript - An alternative to using the startup-script metadata key, mostly to match the compute_instance resource. This parameter is required.
        Returns:
        this
      • minCpuPlatform

        @Stability(Stable)
        public ComputeRegionInstanceTemplate.Builder minCpuPlatform​(String minCpuPlatform)
        Specifies a minimum CPU platform.

        Applicable values are the friendly names of CPU platforms, such as Intel Haswell or Intel Skylake. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_region_instance_template#min_cpu_platform ComputeRegionInstanceTemplate#min_cpu_platform}

        Parameters:
        minCpuPlatform - Specifies a minimum CPU platform. This parameter is required.
        Returns:
        this
      • name

        @Stability(Stable)
        public ComputeRegionInstanceTemplate.Builder name​(String name)
        The name of the instance template. If you leave this blank, Terraform will auto-generate a unique name.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_region_instance_template#name ComputeRegionInstanceTemplate#name}

        Parameters:
        name - The name of the instance template. If you leave this blank, Terraform will auto-generate a unique name. This parameter is required.
        Returns:
        this
      • namePrefix

        @Stability(Stable)
        public ComputeRegionInstanceTemplate.Builder namePrefix​(String namePrefix)
        Creates a unique name beginning with the specified prefix. Conflicts with name.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_region_instance_template#name_prefix ComputeRegionInstanceTemplate#name_prefix}

        Parameters:
        namePrefix - Creates a unique name beginning with the specified prefix. Conflicts with name. This parameter is required.
        Returns:
        this
      • networkInterface

        @Stability(Stable)
        public ComputeRegionInstanceTemplate.Builder networkInterface​(com.hashicorp.cdktf.IResolvable networkInterface)
        network_interface block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_region_instance_template#network_interface ComputeRegionInstanceTemplate#network_interface}

        Parameters:
        networkInterface - network_interface block. This parameter is required.
        Returns:
        this
      • networkInterface

        @Stability(Stable)
        public ComputeRegionInstanceTemplate.Builder networkInterface​(List<? extends ComputeRegionInstanceTemplateNetworkInterface> networkInterface)
        network_interface block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_region_instance_template#network_interface ComputeRegionInstanceTemplate#network_interface}

        Parameters:
        networkInterface - network_interface block. This parameter is required.
        Returns:
        this
      • networkPerformanceConfig

        @Stability(Stable)
        public ComputeRegionInstanceTemplate.Builder networkPerformanceConfig​(ComputeRegionInstanceTemplateNetworkPerformanceConfig networkPerformanceConfig)
        network_performance_config block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_region_instance_template#network_performance_config ComputeRegionInstanceTemplate#network_performance_config}

        Parameters:
        networkPerformanceConfig - network_performance_config block. This parameter is required.
        Returns:
        this
      • project

        @Stability(Stable)
        public ComputeRegionInstanceTemplate.Builder project​(String project)
        The ID of the project in which the resource belongs.

        If it is not provided, the provider project is used. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_region_instance_template#project ComputeRegionInstanceTemplate#project}

        Parameters:
        project - The ID of the project in which the resource belongs. This parameter is required.
        Returns:
        this
      • region

        @Stability(Stable)
        public ComputeRegionInstanceTemplate.Builder region​(String region)
        The region in which the instance template is located. If it is not provided, the provider region is used.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_region_instance_template#region ComputeRegionInstanceTemplate#region}

        Parameters:
        region - The region in which the instance template is located. If it is not provided, the provider region is used. This parameter is required.
        Returns:
        this
      • reservationAffinity

        @Stability(Stable)
        public ComputeRegionInstanceTemplate.Builder reservationAffinity​(ComputeRegionInstanceTemplateReservationAffinity reservationAffinity)
        reservation_affinity block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_region_instance_template#reservation_affinity ComputeRegionInstanceTemplate#reservation_affinity}

        Parameters:
        reservationAffinity - reservation_affinity block. This parameter is required.
        Returns:
        this
      • resourceManagerTags

        @Stability(Stable)
        public ComputeRegionInstanceTemplate.Builder resourceManagerTags​(Map<String,​String> resourceManagerTags)
        A map of resource manager tags.

        Resource manager tag keys and values have the same definition as resource manager tags. Keys must be in the format tagKeys/{tag_key_id}, and values are in the format tagValues/456. The field is ignored (both PUT & PATCH) when empty. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_region_instance_template#resource_manager_tags ComputeRegionInstanceTemplate#resource_manager_tags}

        Parameters:
        resourceManagerTags - A map of resource manager tags. This parameter is required.
        Returns:
        this
      • resourcePolicies

        @Stability(Stable)
        public ComputeRegionInstanceTemplate.Builder resourcePolicies​(List<String> resourcePolicies)
        A list of self_links of resource policies to attach to the instance.

        Currently a max of 1 resource policy is supported. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_region_instance_template#resource_policies ComputeRegionInstanceTemplate#resource_policies}

        Parameters:
        resourcePolicies - A list of self_links of resource policies to attach to the instance. This parameter is required.
        Returns:
        this
      • scheduling

        @Stability(Stable)
        public ComputeRegionInstanceTemplate.Builder scheduling​(ComputeRegionInstanceTemplateScheduling scheduling)
        scheduling block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_region_instance_template#scheduling ComputeRegionInstanceTemplate#scheduling}

        Parameters:
        scheduling - scheduling block. This parameter is required.
        Returns:
        this
      • serviceAccount

        @Stability(Stable)
        public ComputeRegionInstanceTemplate.Builder serviceAccount​(ComputeRegionInstanceTemplateServiceAccount serviceAccount)
        service_account block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_region_instance_template#service_account ComputeRegionInstanceTemplate#service_account}

        Parameters:
        serviceAccount - service_account block. This parameter is required.
        Returns:
        this
      • shieldedInstanceConfig

        @Stability(Stable)
        public ComputeRegionInstanceTemplate.Builder shieldedInstanceConfig​(ComputeRegionInstanceTemplateShieldedInstanceConfig shieldedInstanceConfig)
        shielded_instance_config block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_region_instance_template#shielded_instance_config ComputeRegionInstanceTemplate#shielded_instance_config}

        Parameters:
        shieldedInstanceConfig - shielded_instance_config block. This parameter is required.
        Returns:
        this
      • tags

        @Stability(Stable)
        public ComputeRegionInstanceTemplate.Builder tags​(List<String> tags)
        Tags to attach to the instance.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_region_instance_template#tags ComputeRegionInstanceTemplate#tags}

        Parameters:
        tags - Tags to attach to the instance. This parameter is required.
        Returns:
        this
      • timeouts

        @Stability(Stable)
        public ComputeRegionInstanceTemplate.Builder timeouts​(ComputeRegionInstanceTemplateTimeouts timeouts)
        timeouts block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_region_instance_template#timeouts ComputeRegionInstanceTemplate#timeouts}

        Parameters:
        timeouts - timeouts block. This parameter is required.
        Returns:
        this