Class ComputeInstanceTemplateDisk.Builder

    • Constructor Detail

      • Builder

        public Builder()
    • Method Detail

      • autoDelete

        @Stability(Stable)
        public ComputeInstanceTemplateDisk.Builder autoDelete​(Boolean autoDelete)
        Parameters:
        autoDelete - Whether or not the disk should be auto-deleted. This defaults to true. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_instance_template#auto_delete ComputeInstanceTemplate#auto_delete}
        Returns:
        this
      • autoDelete

        @Stability(Stable)
        public ComputeInstanceTemplateDisk.Builder autoDelete​(com.hashicorp.cdktf.IResolvable autoDelete)
        Parameters:
        autoDelete - Whether or not the disk should be auto-deleted. This defaults to true. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_instance_template#auto_delete ComputeInstanceTemplate#auto_delete}
        Returns:
        this
      • boot

        @Stability(Stable)
        public ComputeInstanceTemplateDisk.Builder boot​(com.hashicorp.cdktf.IResolvable boot)
        Parameters:
        boot - Indicates that this is a boot disk. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_instance_template#boot ComputeInstanceTemplate#boot}
        Returns:
        this
      • deviceName

        @Stability(Stable)
        public ComputeInstanceTemplateDisk.Builder deviceName​(String deviceName)
        Parameters:
        deviceName - A unique device name that is reflected into the /dev/ tree of a Linux operating system running within the instance. If not specified, the server chooses a default device name to apply to this disk. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_instance_template#device_name ComputeInstanceTemplate#device_name}
        Returns:
        this
      • diskName

        @Stability(Stable)
        public ComputeInstanceTemplateDisk.Builder diskName​(String diskName)
        Parameters:
        diskName - Name of the disk. When not provided, this defaults to the name of the instance. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_instance_template#disk_name ComputeInstanceTemplate#disk_name}
        Returns:
        this
      • diskSizeGb

        @Stability(Stable)
        public ComputeInstanceTemplateDisk.Builder diskSizeGb​(Number diskSizeGb)
        Parameters:
        diskSizeGb - The size of the image in gigabytes. If not specified, it will inherit the size of its base image. For SCRATCH disks, the size must be one of 375 or 3000 GB, with a default of 375 GB. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_instance_template#disk_size_gb ComputeInstanceTemplate#disk_size_gb}
        Returns:
        this
      • diskType

        @Stability(Stable)
        public ComputeInstanceTemplateDisk.Builder diskType​(String diskType)
        Parameters:
        diskType - The Google Compute Engine disk type. Such as "pd-ssd", "local-ssd", "pd-balanced" or "pd-standard". Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_instance_template#disk_type ComputeInstanceTemplate#disk_type}
        Returns:
        this
      • interfaceValue

        @Stability(Stable)
        public ComputeInstanceTemplateDisk.Builder interfaceValue​(String interfaceValue)
        Parameters:
        interfaceValue - Specifies the disk interface to use for attaching this disk. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_instance_template#interface ComputeInstanceTemplate#interface}
        Returns:
        this
      • mode

        @Stability(Stable)
        public ComputeInstanceTemplateDisk.Builder mode​(String mode)
        Parameters:
        mode - The mode in which to attach this disk, either READ_WRITE or READ_ONLY. If you are attaching or creating a boot disk, this must read-write mode. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_instance_template#mode ComputeInstanceTemplate#mode}
        Returns:
        this
      • provisionedIops

        @Stability(Stable)
        public ComputeInstanceTemplateDisk.Builder provisionedIops​(Number provisionedIops)
        Parameters:
        provisionedIops - Indicates how many IOPS to provision for the disk. This sets the number of I/O operations per second that the disk can handle. Values must be between 10,000 and 120,000. For more details, see the [Extreme persistent disk documentation](https://cloud.google.com/compute/docs/disks/extreme-persistent-disk). Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_instance_template#provisioned_iops ComputeInstanceTemplate#provisioned_iops}
        Returns:
        this
      • resourceManagerTags

        @Stability(Stable)
        public ComputeInstanceTemplateDisk.Builder resourceManagerTags​(Map<String,​String> resourceManagerTags)
        Parameters:
        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_instance_template#resource_manager_tags ComputeInstanceTemplate#resource_manager_tags}
        Returns:
        this
      • resourcePolicies

        @Stability(Stable)
        public ComputeInstanceTemplateDisk.Builder resourcePolicies​(List<String> resourcePolicies)
        Parameters:
        resourcePolicies - A list (short name or id) of resource policies to attach to this disk. 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_instance_template#resource_policies ComputeInstanceTemplate#resource_policies}
        Returns:
        this
      • source

        @Stability(Stable)
        public ComputeInstanceTemplateDisk.Builder source​(String source)
        Parameters:
        source - The name (not self_link) of the disk (such as those managed by google_compute_disk) to attach. ~> Note: Either source or source_image is required when creating a new instance except for when creating a local SSD. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_instance_template#source ComputeInstanceTemplate#source}
        Returns:
        this
      • sourceImage

        @Stability(Stable)
        public ComputeInstanceTemplateDisk.Builder sourceImage​(String sourceImage)
        Parameters:
        sourceImage - The image from which to initialize this disk. This can be one of: the image's self_link, projects/{project}/global/images/{image}, projects/{project}/global/images/family/{family}, global/images/{image}, global/images/family/{family}, family/{family}, {project}/{family}, {project}/{image}, {family}, or {image}. ~> Note: Either source or source_image is required when creating a new instance except for when creating a local SSD. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_instance_template#source_image ComputeInstanceTemplate#source_image}
        Returns:
        this
      • sourceSnapshot

        @Stability(Stable)
        public ComputeInstanceTemplateDisk.Builder sourceSnapshot​(String sourceSnapshot)
        Parameters:
        sourceSnapshot - The source snapshot to create this disk. When creating a new instance, one of initializeParams.sourceSnapshot, initializeParams.sourceImage, or disks.source is required except for local SSD. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_instance_template#source_snapshot ComputeInstanceTemplate#source_snapshot}
        Returns:
        this
      • type

        @Stability(Stable)
        public ComputeInstanceTemplateDisk.Builder type​(String type)
        Parameters:
        type - The type of Google Compute Engine disk, can be either "SCRATCH" or "PERSISTENT". Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/compute_instance_template#type ComputeInstanceTemplate#type}
        Returns:
        this