Description

June 10, 2026 ยท View on GitHub

This module creates the Vertex AI Notebook, to be used in tutorials.

Primarily used for FSI - MonteCarlo Tutorial: fsi-montecarlo-on-batch-tutorial.

Usage

This is a simple usage, using the default network:

  - id: bucket
    source: modules/file-system/cloud-storage-bucket
    settings: 
      name_prefix: my-bucket
      local_mount: /home/jupyter/my-bucket

  - id: notebook
    source: community/modules/compute/notebook
    use: [bucket]
    settings:
      name_prefix: notebook
      machine_type: n1-standard-4

If the user wants do specify a custom subnetwork, or specific external IP restrictions, they can use the network_interfaces variable, here is an example on how to use a Shared VPC Subnet with an ephemeral external IP:

  - id: bucket
    source: modules/file-system/cloud-storage-bucket
    settings: 
      name_prefix: my-bucket
      local_mount: /home/jupyter/my-bucket

  - id: notebook
    source: community/modules/compute/notebook
    use: [bucket]
    settings:
      name_prefix: notebook
      machine_type: n1-standard-4
      network_interfaces:
        - network: "projects/HOST_PROJECT_ID/global/networks/SHARED_VPC_NAME"
          subnet: "projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME"
          nic_type: "VIRTIO_NET"

License

Copyright 2026 Google LLC

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

 http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Requirements

NameVersion
terraform>= 1.12.2
google>= 5.34
random~> 3.0

Providers

NameVersion
google>= 5.34
random~> 3.0

Modules

No modules.

Resources

NameType
google_storage_bucket_object.mount_scriptresource
google_workbench_instance.instanceresource
random_id.resource_name_suffixresource

Inputs

NameDescriptionTypeDefaultRequired
deployment_nameName of the HPC deployment; used as part of name of the notebook.stringn/ayes
gcs_bucket_pathBucket name, can be provided from the google-cloud-storage modulestringnullno
instance_imageInstance Imagemap(string)
{
"family": "tf-latest-cpu",
"name": null,
"project": "deeplearning-platform-release"
}
no
labelsLabels to add to the resource Key-value pairs.map(string)n/ayes
machine_typeThe machine type to employstringn/ayes
mount_runnermount content from the google-cloud-storage modulemap(string)n/ayes
network_interfacesA list of network interfaces for the VM instance. Each network interface is represented by an object with the following fields:

- network: (Optional) The name of the Virtual Private Cloud (VPC) network that this VM instance is connected to.

- subnet: (Optional) The name of the subnetwork within the specified VPC that this VM instance is connected to.

- nic_type: (Optional) The type of vNIC to be used on this interface. Possible values are: VIRTIO_NET, GVNIC.

- access_configs: (Optional) An array of access configurations for this network interface. The access_config object contains:
* external_ip: (Required) An external IP address associated with this instance. Specify an unused static external IP address available to the project or leave this field undefined to use an IP from a shared ephemeral IP address pool. If you specify a static external IP address, it must live in the same region as the zone of the instance.
list(object({
network = optional(string)
subnet = optional(string)
nic_type = optional(string)
access_configs = optional(list(object({
external_ip = optional(string)
})))
}))
[]no
project_idID of project in which the notebook will be created.stringn/ayes
service_account_emailIf defined, the instance will use the service account specified instead of the Default Compute Engine Service Accountstringnullno
zoneThe zone to deploy tostringn/ayes

Outputs

No outputs.