Skip to content

Latest commit

 

History

History
112 lines (84 loc) · 5.95 KB

File metadata and controls

112 lines (84 loc) · 5.95 KB

Description

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

Name Version
terraform = 1.12.2
google >= 5.34
random ~> 3.0

Providers

Name Version
google >= 5.34
random ~> 3.0

Modules

No modules.

Resources

Name Type
google_storage_bucket_object.mount_script resource
google_workbench_instance.instance resource
random_id.resource_name_suffix resource

Inputs

Name Description Type Default Required
deployment_name Name of the HPC deployment; used as part of name of the notebook. string n/a yes
gcs_bucket_path Bucket name, can be provided from the google-cloud-storage module string null no
instance_image Instance Image map(string)
{
"family": "tf-latest-cpu",
"name": null,
"project": "deeplearning-platform-release"
}
no
labels Labels to add to the resource Key-value pairs. map(string) n/a yes
machine_type The machine type to employ string n/a yes
mount_runner mount content from the google-cloud-storage module map(string) n/a yes
network_interfaces A 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_id ID of project in which the notebook will be created. string n/a yes
service_account_email If defined, the instance will use the service account specified instead of the Default Compute Engine Service Account string null no
zone The zone to deploy to string n/a yes

Outputs

No outputs.