Class NotebooksInstanceConfig.Builder

    • Constructor Detail

      • Builder

        public Builder()
    • Method Detail

      • location

        @Stability(Stable)
        public NotebooksInstanceConfig.Builder location​(String location)
        Parameters:
        location - A reference to the zone where the machine resides. This parameter is required. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/notebooks_instance#location NotebooksInstance#location}
        Returns:
        this
      • machineType

        @Stability(Stable)
        public NotebooksInstanceConfig.Builder machineType​(String machineType)
        Parameters:
        machineType - A reference to a machine type which defines VM kind. This parameter is required. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/notebooks_instance#machine_type NotebooksInstance#machine_type}
        Returns:
        this
      • name

        @Stability(Stable)
        public NotebooksInstanceConfig.Builder name​(String name)
        Parameters:
        name - The name specified for the Notebook instance. This parameter is required. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/notebooks_instance#name NotebooksInstance#name}
        Returns:
        this
      • bootDiskSizeGb

        @Stability(Stable)
        public NotebooksInstanceConfig.Builder bootDiskSizeGb​(Number bootDiskSizeGb)
        Parameters:
        bootDiskSizeGb - The size of the boot disk in GB attached to this instance, up to a maximum of 64000 GB (64 TB). The minimum recommended value is 100 GB. If not specified, this defaults to 100. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/notebooks_instance#boot_disk_size_gb NotebooksInstance#boot_disk_size_gb}
        Returns:
        this
      • bootDiskType

        @Stability(Stable)
        public NotebooksInstanceConfig.Builder bootDiskType​(String bootDiskType)
        Parameters:
        bootDiskType - Possible disk types for notebook instances. Possible values: ["DISK_TYPE_UNSPECIFIED", "PD_STANDARD", "PD_SSD", "PD_BALANCED", "PD_EXTREME"]. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/notebooks_instance#boot_disk_type NotebooksInstance#boot_disk_type}
        Returns:
        this
      • createTime

        @Stability(Stable)
        public NotebooksInstanceConfig.Builder createTime​(String createTime)
        Parameters:
        createTime - Instance creation time. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/notebooks_instance#create_time NotebooksInstance#create_time}
        Returns:
        this
      • customGpuDriverPath

        @Stability(Stable)
        public NotebooksInstanceConfig.Builder customGpuDriverPath​(String customGpuDriverPath)
        Parameters:
        customGpuDriverPath - Specify a custom Cloud Storage path where the GPU driver is stored. If not specified, we'll automatically choose from official GPU drivers. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/notebooks_instance#custom_gpu_driver_path NotebooksInstance#custom_gpu_driver_path}
        Returns:
        this
      • dataDiskSizeGb

        @Stability(Stable)
        public NotebooksInstanceConfig.Builder dataDiskSizeGb​(Number dataDiskSizeGb)
        Parameters:
        dataDiskSizeGb - The size of the data disk in GB attached to this instance, up to a maximum of 64000 GB (64 TB). You can choose the size of the data disk based on how big your notebooks and data are. If not specified, this defaults to 100. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/notebooks_instance#data_disk_size_gb NotebooksInstance#data_disk_size_gb}
        Returns:
        this
      • dataDiskType

        @Stability(Stable)
        public NotebooksInstanceConfig.Builder dataDiskType​(String dataDiskType)
        Parameters:
        dataDiskType - Possible disk types for notebook instances. Possible values: ["DISK_TYPE_UNSPECIFIED", "PD_STANDARD", "PD_SSD", "PD_BALANCED", "PD_EXTREME"]. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/notebooks_instance#data_disk_type NotebooksInstance#data_disk_type}
        Returns:
        this
      • desiredState

        @Stability(Stable)
        public NotebooksInstanceConfig.Builder desiredState​(String desiredState)
        Parameters:
        desiredState - Desired state of the Notebook Instance. Set this field to 'ACTIVE' to start the Instance, and 'STOPPED' to stop the Instance. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/notebooks_instance#desired_state NotebooksInstance#desired_state}
        Returns:
        this
      • diskEncryption

        @Stability(Stable)
        public NotebooksInstanceConfig.Builder diskEncryption​(String diskEncryption)
        Parameters:
        diskEncryption - Disk encryption method used on the boot and data disks, defaults to GMEK. Possible values: ["DISK_ENCRYPTION_UNSPECIFIED", "GMEK", "CMEK"]. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/notebooks_instance#disk_encryption NotebooksInstance#disk_encryption}
        Returns:
        this
      • id

        @Stability(Stable)
        public NotebooksInstanceConfig.Builder id​(String id)
        Parameters:
        id - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/notebooks_instance#id NotebooksInstance#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.
        Returns:
        this
      • installGpuDriver

        @Stability(Stable)
        public NotebooksInstanceConfig.Builder installGpuDriver​(Boolean installGpuDriver)
        Parameters:
        installGpuDriver - Whether the end user authorizes Google Cloud to install GPU driver on this instance. If this field is empty or set to false, the GPU driver won't be installed. Only applicable to instances with GPUs. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/notebooks_instance#install_gpu_driver NotebooksInstance#install_gpu_driver}
        Returns:
        this
      • installGpuDriver

        @Stability(Stable)
        public NotebooksInstanceConfig.Builder installGpuDriver​(com.hashicorp.cdktf.IResolvable installGpuDriver)
        Parameters:
        installGpuDriver - Whether the end user authorizes Google Cloud to install GPU driver on this instance. If this field is empty or set to false, the GPU driver won't be installed. Only applicable to instances with GPUs. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/notebooks_instance#install_gpu_driver NotebooksInstance#install_gpu_driver}
        Returns:
        this
      • instanceOwners

        @Stability(Stable)
        public NotebooksInstanceConfig.Builder instanceOwners​(List<String> instanceOwners)
        Parameters:
        instanceOwners - The list of owners of this instance after creation. Format: alias@example.com. Currently supports one owner only. If not specified, all of the service account users of your VM instance's service account can use the instance. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/notebooks_instance#instance_owners NotebooksInstance#instance_owners}
        Returns:
        this
      • kmsKey

        @Stability(Stable)
        public NotebooksInstanceConfig.Builder kmsKey​(String kmsKey)
        Parameters:
        kmsKey - The KMS key used to encrypt the disks, only applicable if diskEncryption is CMEK. Format: projects/{project_id}/locations/{location}/keyRings/{key_ring_id}/cryptoKeys/{key_id}. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/notebooks_instance#kms_key NotebooksInstance#kms_key}
        Returns:
        this
      • labels

        @Stability(Stable)
        public NotebooksInstanceConfig.Builder labels​(Map<String,​String> labels)
        Parameters:
        labels - Labels to apply to this instance. These can be later modified by the setLabels method. An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }. **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/notebooks_instance#labels NotebooksInstance#labels}
        Returns:
        this
      • metadata

        @Stability(Stable)
        public NotebooksInstanceConfig.Builder metadata​(Map<String,​String> metadata)
        Parameters:
        metadata - Custom metadata to apply to this instance. An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/notebooks_instance#metadata NotebooksInstance#metadata}
        Returns:
        this
      • network

        @Stability(Stable)
        public NotebooksInstanceConfig.Builder network​(String network)
        Parameters:
        network - The name of the VPC that this instance is in. Format: projects/{project_id}/global/networks/{network_id}. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/notebooks_instance#network NotebooksInstance#network}
        Returns:
        this
      • nicType

        @Stability(Stable)
        public NotebooksInstanceConfig.Builder nicType​(String nicType)
        Parameters:
        nicType - The type of vNIC driver. Possible values: ["UNSPECIFIED_NIC_TYPE", "VIRTIO_NET", "GVNIC"]. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/notebooks_instance#nic_type NotebooksInstance#nic_type}
        Returns:
        this
      • noProxyAccess

        @Stability(Stable)
        public NotebooksInstanceConfig.Builder noProxyAccess​(Boolean noProxyAccess)
        Parameters:
        noProxyAccess - The notebook instance will not register with the proxy.. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/notebooks_instance#no_proxy_access NotebooksInstance#no_proxy_access}
        Returns:
        this
      • noProxyAccess

        @Stability(Stable)
        public NotebooksInstanceConfig.Builder noProxyAccess​(com.hashicorp.cdktf.IResolvable noProxyAccess)
        Parameters:
        noProxyAccess - The notebook instance will not register with the proxy.. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/notebooks_instance#no_proxy_access NotebooksInstance#no_proxy_access}
        Returns:
        this
      • noPublicIp

        @Stability(Stable)
        public NotebooksInstanceConfig.Builder noPublicIp​(Boolean noPublicIp)
        Parameters:
        noPublicIp - No public IP will be assigned to this instance. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/notebooks_instance#no_public_ip NotebooksInstance#no_public_ip}
        Returns:
        this
      • noPublicIp

        @Stability(Stable)
        public NotebooksInstanceConfig.Builder noPublicIp​(com.hashicorp.cdktf.IResolvable noPublicIp)
        Parameters:
        noPublicIp - No public IP will be assigned to this instance. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/notebooks_instance#no_public_ip NotebooksInstance#no_public_ip}
        Returns:
        this
      • noRemoveDataDisk

        @Stability(Stable)
        public NotebooksInstanceConfig.Builder noRemoveDataDisk​(Boolean noRemoveDataDisk)
        Parameters:
        noRemoveDataDisk - If true, the data disk will not be auto deleted when deleting the instance. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/notebooks_instance#no_remove_data_disk NotebooksInstance#no_remove_data_disk}
        Returns:
        this
      • noRemoveDataDisk

        @Stability(Stable)
        public NotebooksInstanceConfig.Builder noRemoveDataDisk​(com.hashicorp.cdktf.IResolvable noRemoveDataDisk)
        Parameters:
        noRemoveDataDisk - If true, the data disk will not be auto deleted when deleting the instance. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/notebooks_instance#no_remove_data_disk NotebooksInstance#no_remove_data_disk}
        Returns:
        this
      • postStartupScript

        @Stability(Stable)
        public NotebooksInstanceConfig.Builder postStartupScript​(String postStartupScript)
        Parameters:
        postStartupScript - Path to a Bash script that automatically runs after a notebook instance fully boots up. The path must be a URL or Cloud Storage path (gs://path-to-file/file-name). Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/notebooks_instance#post_startup_script NotebooksInstance#post_startup_script}
        Returns:
        this
      • serviceAccount

        @Stability(Stable)
        public NotebooksInstanceConfig.Builder serviceAccount​(String serviceAccount)
        Parameters:
        serviceAccount - The service account on this instance, giving access to other Google Cloud services. You can use any service account within the same project, but you must have the service account user permission to use the instance. If not specified, the Compute Engine default service account is used. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/notebooks_instance#service_account NotebooksInstance#service_account}
        Returns:
        this
      • serviceAccountScopes

        @Stability(Stable)
        public NotebooksInstanceConfig.Builder serviceAccountScopes​(List<String> serviceAccountScopes)
        Parameters:
        serviceAccountScopes - Optional. The URIs of service account scopes to be included in Compute Engine instances. If not specified, the following scopes are defined: * https://www.googleapis.com/auth/cloud-platform * https://www.googleapis.com/auth/userinfo.email Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/notebooks_instance#service_account_scopes NotebooksInstance#service_account_scopes}
        Returns:
        this
      • subnet

        @Stability(Stable)
        public NotebooksInstanceConfig.Builder subnet​(String subnet)
        Parameters:
        subnet - The name of the subnet that this instance is in. Format: projects/{project_id}/regions/{region}/subnetworks/{subnetwork_id}. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/notebooks_instance#subnet NotebooksInstance#subnet}
        Returns:
        this
      • tags

        @Stability(Stable)
        public NotebooksInstanceConfig.Builder tags​(List<String> tags)
        Parameters:
        tags - The Compute Engine tags to add to instance. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/notebooks_instance#tags NotebooksInstance#tags}
        Returns:
        this
      • updateTime

        @Stability(Stable)
        public NotebooksInstanceConfig.Builder updateTime​(String updateTime)
        Parameters:
        updateTime - Instance update time. Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/notebooks_instance#update_time NotebooksInstance#update_time}
        Returns:
        this
      • connection

        @Stability(Experimental)
        public NotebooksInstanceConfig.Builder connection​(com.hashicorp.cdktf.SSHProvisionerConnection connection)
        Sets the value of TerraformMetaArguments.getConnection()
        Parameters:
        connection - the value to be set.
        Returns:
        this
      • connection

        @Stability(Experimental)
        public NotebooksInstanceConfig.Builder connection​(com.hashicorp.cdktf.WinrmProvisionerConnection connection)
        Sets the value of TerraformMetaArguments.getConnection()
        Parameters:
        connection - the value to be set.
        Returns:
        this
      • count

        @Stability(Experimental)
        public NotebooksInstanceConfig.Builder count​(Number count)
        Sets the value of TerraformMetaArguments.getCount()
        Parameters:
        count - the value to be set.
        Returns:
        this
      • count

        @Stability(Experimental)
        public NotebooksInstanceConfig.Builder count​(com.hashicorp.cdktf.TerraformCount count)
        Sets the value of TerraformMetaArguments.getCount()
        Parameters:
        count - the value to be set.
        Returns:
        this
      • dependsOn

        @Stability(Experimental)
        public NotebooksInstanceConfig.Builder dependsOn​(List<? extends com.hashicorp.cdktf.ITerraformDependable> dependsOn)
        Sets the value of TerraformMetaArguments.getDependsOn()
        Parameters:
        dependsOn - the value to be set.
        Returns:
        this
      • forEach

        @Stability(Experimental)
        public NotebooksInstanceConfig.Builder forEach​(com.hashicorp.cdktf.ITerraformIterator forEach)
        Sets the value of TerraformMetaArguments.getForEach()
        Parameters:
        forEach - the value to be set.
        Returns:
        this
      • lifecycle

        @Stability(Experimental)
        public NotebooksInstanceConfig.Builder lifecycle​(com.hashicorp.cdktf.TerraformResourceLifecycle lifecycle)
        Sets the value of TerraformMetaArguments.getLifecycle()
        Parameters:
        lifecycle - the value to be set.
        Returns:
        this
      • provider

        @Stability(Experimental)
        public NotebooksInstanceConfig.Builder provider​(com.hashicorp.cdktf.TerraformProvider provider)
        Sets the value of TerraformMetaArguments.getProvider()
        Parameters:
        provider - the value to be set.
        Returns:
        this
      • provisioners

        @Stability(Experimental)
        public NotebooksInstanceConfig.Builder provisioners​(List<? extends Object> provisioners)
        Sets the value of TerraformMetaArguments.getProvisioners()
        Parameters:
        provisioners - the value to be set.
        Returns:
        this