Class NotebooksInstance.Builder

    • Method Detail

      • create

        @Stability(Stable)
        public static NotebooksInstance.Builder create​(software.constructs.Construct scope,
                                                       String id)
        Parameters:
        scope - The scope in which to define this construct. This parameter is required.
        id - The scoped construct ID. This parameter is required.
        Returns:
        a new instance of NotebooksInstance.Builder.
      • connection

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

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

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

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

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

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

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

        @Stability(Experimental)
        public NotebooksInstance.Builder provisioners​(List<? extends Object> provisioners)
        Parameters:
        provisioners - This parameter is required.
        Returns:
        this
      • location

        @Stability(Stable)
        public NotebooksInstance.Builder location​(String location)
        A reference to the zone where the machine resides.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/notebooks_instance#location NotebooksInstance#location}

        Parameters:
        location - A reference to the zone where the machine resides. This parameter is required.
        Returns:
        this
      • machineType

        @Stability(Stable)
        public NotebooksInstance.Builder machineType​(String machineType)
        A reference to a machine type which defines VM kind.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/notebooks_instance#machine_type NotebooksInstance#machine_type}

        Parameters:
        machineType - A reference to a machine type which defines VM kind. This parameter is required.
        Returns:
        this
      • name

        @Stability(Stable)
        public NotebooksInstance.Builder name​(String name)
        The name specified for the Notebook instance.

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

        Parameters:
        name - The name specified for the Notebook instance. This parameter is required.
        Returns:
        this
      • acceleratorConfig

        @Stability(Stable)
        public NotebooksInstance.Builder acceleratorConfig​(NotebooksInstanceAcceleratorConfig acceleratorConfig)
        accelerator_config block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/notebooks_instance#accelerator_config NotebooksInstance#accelerator_config}

        Parameters:
        acceleratorConfig - accelerator_config block. This parameter is required.
        Returns:
        this
      • bootDiskSizeGb

        @Stability(Stable)
        public NotebooksInstance.Builder bootDiskSizeGb​(Number 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}

        Parameters:
        bootDiskSizeGb - The size of the boot disk in GB attached to this instance, up to a maximum of 64000 GB (64 TB). This parameter is required.
        Returns:
        this
      • bootDiskType

        @Stability(Stable)
        public NotebooksInstance.Builder bootDiskType​(String 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}

        Parameters:
        bootDiskType - Possible disk types for notebook instances. Possible values: ["DISK_TYPE_UNSPECIFIED", "PD_STANDARD", "PD_SSD", "PD_BALANCED", "PD_EXTREME"]. This parameter is required.
        Returns:
        this
      • containerImage

        @Stability(Stable)
        public NotebooksInstance.Builder containerImage​(NotebooksInstanceContainerImage containerImage)
        container_image block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/notebooks_instance#container_image NotebooksInstance#container_image}

        Parameters:
        containerImage - container_image block. This parameter is required.
        Returns:
        this
      • createTime

        @Stability(Stable)
        public NotebooksInstance.Builder createTime​(String 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}

        Parameters:
        createTime - Instance creation time. This parameter is required.
        Returns:
        this
      • customGpuDriverPath

        @Stability(Stable)
        public NotebooksInstance.Builder customGpuDriverPath​(String 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}

        Parameters:
        customGpuDriverPath - Specify a custom Cloud Storage path where the GPU driver is stored. This parameter is required.
        Returns:
        this
      • dataDiskSizeGb

        @Stability(Stable)
        public NotebooksInstance.Builder dataDiskSizeGb​(Number 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}

        Parameters:
        dataDiskSizeGb - The size of the data disk in GB attached to this instance, up to a maximum of 64000 GB (64 TB). This parameter is required.
        Returns:
        this
      • dataDiskType

        @Stability(Stable)
        public NotebooksInstance.Builder dataDiskType​(String 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}

        Parameters:
        dataDiskType - Possible disk types for notebook instances. Possible values: ["DISK_TYPE_UNSPECIFIED", "PD_STANDARD", "PD_SSD", "PD_BALANCED", "PD_EXTREME"]. This parameter is required.
        Returns:
        this
      • desiredState

        @Stability(Stable)
        public NotebooksInstance.Builder desiredState​(String 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}

        Parameters:
        desiredState - Desired state of the Notebook Instance. This parameter is required.
        Returns:
        this
      • diskEncryption

        @Stability(Stable)
        public NotebooksInstance.Builder diskEncryption​(String 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}

        Parameters:
        diskEncryption - Disk encryption method used on the boot and data disks, defaults to GMEK. Possible values: ["DISK_ENCRYPTION_UNSPECIFIED", "GMEK", "CMEK"]. This parameter is required.
        Returns:
        this
      • id

        @Stability(Stable)
        public NotebooksInstance.Builder id​(String 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.

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

        @Stability(Stable)
        public NotebooksInstance.Builder installGpuDriver​(Boolean 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}

        Parameters:
        installGpuDriver - Whether the end user authorizes Google Cloud to install GPU driver on this instance. This parameter is required.
        Returns:
        this
      • installGpuDriver

        @Stability(Stable)
        public NotebooksInstance.Builder installGpuDriver​(com.hashicorp.cdktf.IResolvable 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}

        Parameters:
        installGpuDriver - Whether the end user authorizes Google Cloud to install GPU driver on this instance. This parameter is required.
        Returns:
        this
      • instanceOwners

        @Stability(Stable)
        public NotebooksInstance.Builder instanceOwners​(List<String> 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}

        Parameters:
        instanceOwners - The list of owners of this instance after creation. This parameter is required.
        Returns:
        this
      • kmsKey

        @Stability(Stable)
        public NotebooksInstance.Builder kmsKey​(String 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}

        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}. This parameter is required.
        Returns:
        this
      • labels

        @Stability(Stable)
        public NotebooksInstance.Builder labels​(Map<String,​String> 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}

        Parameters:
        labels - Labels to apply to this instance. This parameter is required.
        Returns:
        this
      • metadata

        @Stability(Stable)
        public NotebooksInstance.Builder metadata​(Map<String,​String> 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}

        Parameters:
        metadata - Custom metadata to apply to this instance. This parameter is required.
        Returns:
        this
      • network

        @Stability(Stable)
        public NotebooksInstance.Builder network​(String 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}

        Parameters:
        network - The name of the VPC that this instance is in. Format: projects/{project_id}/global/networks/{network_id}. This parameter is required.
        Returns:
        this
      • nicType

        @Stability(Stable)
        public NotebooksInstance.Builder nicType​(String 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}

        Parameters:
        nicType - The type of vNIC driver. Possible values: ["UNSPECIFIED_NIC_TYPE", "VIRTIO_NET", "GVNIC"]. This parameter is required.
        Returns:
        this
      • noProxyAccess

        @Stability(Stable)
        public NotebooksInstance.Builder noProxyAccess​(Boolean 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}

        Parameters:
        noProxyAccess - The notebook instance will not register with the proxy.. This parameter is required.
        Returns:
        this
      • noProxyAccess

        @Stability(Stable)
        public NotebooksInstance.Builder noProxyAccess​(com.hashicorp.cdktf.IResolvable 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}

        Parameters:
        noProxyAccess - The notebook instance will not register with the proxy.. This parameter is required.
        Returns:
        this
      • noPublicIp

        @Stability(Stable)
        public NotebooksInstance.Builder noPublicIp​(Boolean 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}

        Parameters:
        noPublicIp - No public IP will be assigned to this instance. This parameter is required.
        Returns:
        this
      • noPublicIp

        @Stability(Stable)
        public NotebooksInstance.Builder noPublicIp​(com.hashicorp.cdktf.IResolvable 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}

        Parameters:
        noPublicIp - No public IP will be assigned to this instance. This parameter is required.
        Returns:
        this
      • noRemoveDataDisk

        @Stability(Stable)
        public NotebooksInstance.Builder noRemoveDataDisk​(Boolean 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}

        Parameters:
        noRemoveDataDisk - If true, the data disk will not be auto deleted when deleting the instance. This parameter is required.
        Returns:
        this
      • noRemoveDataDisk

        @Stability(Stable)
        public NotebooksInstance.Builder noRemoveDataDisk​(com.hashicorp.cdktf.IResolvable 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}

        Parameters:
        noRemoveDataDisk - If true, the data disk will not be auto deleted when deleting the instance. This parameter is required.
        Returns:
        this
      • postStartupScript

        @Stability(Stable)
        public NotebooksInstance.Builder postStartupScript​(String 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}

        Parameters:
        postStartupScript - Path to a Bash script that automatically runs after a notebook instance fully boots up. This parameter is required.
        Returns:
        this
      • project

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

        Parameters:
        project - Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/notebooks_instance#project NotebooksInstance#project}. This parameter is required.
        Returns:
        this
      • reservationAffinity

        @Stability(Stable)
        public NotebooksInstance.Builder reservationAffinity​(NotebooksInstanceReservationAffinity reservationAffinity)
        reservation_affinity block.

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

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

        @Stability(Stable)
        public NotebooksInstance.Builder serviceAccount​(String 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}

        Parameters:
        serviceAccount - The service account on this instance, giving access to other Google Cloud services. This parameter is required.
        Returns:
        this
      • serviceAccountScopes

        @Stability(Stable)
        public NotebooksInstance.Builder serviceAccountScopes​(List<String> 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}

        Parameters:
        serviceAccountScopes - Optional. This parameter is required.
        Returns:
        this
      • shieldedInstanceConfig

        @Stability(Stable)
        public NotebooksInstance.Builder shieldedInstanceConfig​(NotebooksInstanceShieldedInstanceConfig shieldedInstanceConfig)
        shielded_instance_config block.

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

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

        @Stability(Stable)
        public NotebooksInstance.Builder subnet​(String 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}

        Parameters:
        subnet - The name of the subnet that this instance is in. Format: projects/{project_id}/regions/{region}/subnetworks/{subnetwork_id}. This parameter is required.
        Returns:
        this
      • tags

        @Stability(Stable)
        public NotebooksInstance.Builder tags​(List<String> 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}

        Parameters:
        tags - The Compute Engine tags to add to instance. This parameter is required.
        Returns:
        this
      • timeouts

        @Stability(Stable)
        public NotebooksInstance.Builder timeouts​(NotebooksInstanceTimeouts timeouts)
        timeouts block.

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

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

        @Stability(Stable)
        public NotebooksInstance.Builder updateTime​(String 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}

        Parameters:
        updateTime - Instance update time. This parameter is required.
        Returns:
        this
      • vmImage

        @Stability(Stable)
        public NotebooksInstance.Builder vmImage​(NotebooksInstanceVmImage vmImage)
        vm_image block.

        Docs at Terraform Registry: {@link https://registry.terraform.io/providers/hashicorp/google/5.43.1/docs/resources/notebooks_instance#vm_image NotebooksInstance#vm_image}

        Parameters:
        vmImage - vm_image block. This parameter is required.
        Returns:
        this