1. Registry
  2. Packages
  3. Google Cloud (GCP) Classic
  4. API Docs
  5. colab
  6. NotebookExecution
Viewing docs for Google Cloud v9.36.1
published on Thursday, Sep 3, 2026 by Pulumi
gcp logo
Viewing docs for Google Cloud v9.36.1
published on Thursday, Sep 3, 2026 by Pulumi

    ‘An instance of a notebook Execution’

    To get more information about NotebookExecution, see:

    Example Usage

    Colab Notebook Execution Basic

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    import * as std from "@pulumi/std";
    
    const myRuntimeTemplate = new gcp.colab.RuntimeTemplate("my_runtime_template", {
        name: "runtime-template-name",
        displayName: "Runtime template",
        location: "us-central1",
        machineSpec: {
            machineType: "e2-standard-4",
        },
        networkSpec: {
            enableInternetAccess: true,
        },
    });
    const outputBucket = new gcp.storage.Bucket("output_bucket", {
        name: "my_bucket",
        location: "US",
        forceDestroy: true,
        uniformBucketLevelAccess: true,
    });
    const notebook_execution = new gcp.colab.NotebookExecution("notebook-execution", {
        displayName: "Notebook execution basic",
        location: "us-central1",
        directNotebookSource: {
            content: std.base64encode({
                input: `    {
          \\"cells\\": [
            {
              \\"cell_type\\": \\"code\\",
              \\"execution_count\\": null,
              \\"metadata\\": {},
              \\"outputs\\": [],
              \\"source\\": [
                \\"print(\\\\\\"Hello, World!\\\\\\")\\"
              ]
            }
          ],
          \\"metadata\\": {
            \\"kernelspec\\": {
              \\"display_name\\": \\"Python 3\\",
              \\"language\\": \\"python\\",
              \\"name\\": \\"python3\\"
            },
            \\"language_info\\": {
              \\"codemirror_mode\\": {
                \\"name\\": \\"ipython\\",
                \\"version\\": 3
              },
              \\"file_extension\\": \\".py\\",
              \\"mimetype\\": \\"text/x-python\\",
              \\"name\\": \\"python\\",
              \\"nbconvert_exporter\\": \\"python\\",
              \\"pygments_lexer\\": \\"ipython3\\",
              \\"version\\": \\"3.8.5\\"
            }
          },
          \\"nbformat\\": 4,
          \\"nbformat_minor\\": 4
        }
    `,
            }).then(invoke => invoke.result),
        },
        notebookRuntimeTemplateResourceName: pulumi.interpolate`projects/${myRuntimeTemplate.project}/locations/${myRuntimeTemplate.location}/notebookRuntimeTemplates/${myRuntimeTemplate.name}`,
        gcsOutputUri: pulumi.interpolate`gs://${outputBucket.name}`,
        serviceAccount: "my@service-account.com",
    }, {
        dependsOn: [
            myRuntimeTemplate,
            outputBucket,
        ],
    });
    
    import pulumi
    import pulumi_gcp as gcp
    import pulumi_std as std
    
    my_runtime_template = gcp.colab.RuntimeTemplate("my_runtime_template",
        name="runtime-template-name",
        display_name="Runtime template",
        location="us-central1",
        machine_spec={
            "machine_type": "e2-standard-4",
        },
        network_spec={
            "enable_internet_access": True,
        })
    output_bucket = gcp.storage.Bucket("output_bucket",
        name="my_bucket",
        location="US",
        force_destroy=True,
        uniform_bucket_level_access=True)
    notebook_execution = gcp.colab.NotebookExecution("notebook-execution",
        display_name="Notebook execution basic",
        location="us-central1",
        direct_notebook_source={
            "content": std.base64encode(input="""    {
          \"cells\": [
            {
              \"cell_type\": \"code\",
              \"execution_count\": null,
              \"metadata\": {},
              \"outputs\": [],
              \"source\": [
                \"print(\\\"Hello, World!\\\")\"
              ]
            }
          ],
          \"metadata\": {
            \"kernelspec\": {
              \"display_name\": \"Python 3\",
              \"language\": \"python\",
              \"name\": \"python3\"
            },
            \"language_info\": {
              \"codemirror_mode\": {
                \"name\": \"ipython\",
                \"version\": 3
              },
              \"file_extension\": \".py\",
              \"mimetype\": \"text/x-python\",
              \"name\": \"python\",
              \"nbconvert_exporter\": \"python\",
              \"pygments_lexer\": \"ipython3\",
              \"version\": \"3.8.5\"
            }
          },
          \"nbformat\": 4,
          \"nbformat_minor\": 4
        }
    """).result,
        },
        notebook_runtime_template_resource_name=pulumi.Output.all(
            project=my_runtime_template.project,
            location=my_runtime_template.location,
            name=my_runtime_template.name
    ).apply(lambda resolved_outputs: f"projects/{resolved_outputs['project']}/locations/{resolved_outputs['location']}/notebookRuntimeTemplates/{resolved_outputs['name']}")
    ,
        gcs_output_uri=output_bucket.name.apply(lambda name: f"gs://{name}"),
        service_account="my@service-account.com",
        opts = pulumi.ResourceOptions(depends_on=[
                my_runtime_template,
                output_bucket,
            ]))
    
    package main
    
    import (
    	"fmt"
    
    	"github.com/pulumi/pulumi-gcp/sdk/v9/go/gcp/colab"
    	"github.com/pulumi/pulumi-gcp/sdk/v9/go/gcp/storage"
    	"github.com/pulumi/pulumi-std/sdk/go/std"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		myRuntimeTemplate, err := colab.NewRuntimeTemplate(ctx, "my_runtime_template", &colab.RuntimeTemplateArgs{
    			Name:        pulumi.String("runtime-template-name"),
    			DisplayName: pulumi.String("Runtime template"),
    			Location:    pulumi.String("us-central1"),
    			MachineSpec: &colab.RuntimeTemplateMachineSpecArgs{
    				MachineType: pulumi.String("e2-standard-4"),
    			},
    			NetworkSpec: &colab.RuntimeTemplateNetworkSpecArgs{
    				EnableInternetAccess: pulumi.Bool(true),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		outputBucket, err := storage.NewBucket(ctx, "output_bucket", &storage.BucketArgs{
    			Name:                     pulumi.String("my_bucket"),
    			Location:                 pulumi.String("US"),
    			ForceDestroy:             pulumi.Bool(true),
    			UniformBucketLevelAccess: pulumi.Bool(true),
    		})
    		if err != nil {
    			return err
    		}
    		invokeBase64encode, err := std.Base64encode(ctx, &std.Base64encodeArgs{
    			Input: `    {
          \"cells\": [
            {
              \"cell_type\": \"code\",
              \"execution_count\": null,
              \"metadata\": {},
              \"outputs\": [],
              \"source\": [
                \"print(\\\"Hello, World!\\\")\"
              ]
            }
          ],
          \"metadata\": {
            \"kernelspec\": {
              \"display_name\": \"Python 3\",
              \"language\": \"python\",
              \"name\": \"python3\"
            },
            \"language_info\": {
              \"codemirror_mode\": {
                \"name\": \"ipython\",
                \"version\": 3
              },
              \"file_extension\": \".py\",
              \"mimetype\": \"text/x-python\",
              \"name\": \"python\",
              \"nbconvert_exporter\": \"python\",
              \"pygments_lexer\": \"ipython3\",
              \"version\": \"3.8.5\"
            }
          },
          \"nbformat\": 4,
          \"nbformat_minor\": 4
        }
    `,
    		}, nil)
    		if err != nil {
    			return err
    		}
    		_, err = colab.NewNotebookExecution(ctx, "notebook-execution", &colab.NotebookExecutionArgs{
    			DisplayName: pulumi.String("Notebook execution basic"),
    			Location:    pulumi.String("us-central1"),
    			DirectNotebookSource: &colab.NotebookExecutionDirectNotebookSourceArgs{
    				Content: pulumi.String(invokeBase64encode.Result),
    			},
    			NotebookRuntimeTemplateResourceName: pulumi.All(myRuntimeTemplate.Project, myRuntimeTemplate.Location, myRuntimeTemplate.Name).ApplyT(func(_args []interface{}) (string, error) {
    				project := _args[0].(string)
    				location := _args[1].(string)
    				name := _args[2].(string)
    				return fmt.Sprintf("projects/%v/locations/%v/notebookRuntimeTemplates/%v", project, location, name), nil
    			}).(pulumi.StringOutput),
    			GcsOutputUri: outputBucket.Name.ApplyT(func(name string) (string, error) {
    				return fmt.Sprintf("gs://%v", name), nil
    			}).(pulumi.StringOutput),
    			ServiceAccount: pulumi.String("my@service-account.com"),
    		}, pulumi.DependsOn([]pulumi.Resource{
    			myRuntimeTemplate,
    			outputBucket,
    		}))
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    using Std = Pulumi.Std;
    
    return await Deployment.RunAsync(() => 
    {
        var myRuntimeTemplate = new Gcp.Colab.RuntimeTemplate("my_runtime_template", new()
        {
            Name = "runtime-template-name",
            DisplayName = "Runtime template",
            Location = "us-central1",
            MachineSpec = new Gcp.Colab.Inputs.RuntimeTemplateMachineSpecArgs
            {
                MachineType = "e2-standard-4",
            },
            NetworkSpec = new Gcp.Colab.Inputs.RuntimeTemplateNetworkSpecArgs
            {
                EnableInternetAccess = true,
            },
        });
    
        var outputBucket = new Gcp.Storage.Bucket("output_bucket", new()
        {
            Name = "my_bucket",
            Location = "US",
            ForceDestroy = true,
            UniformBucketLevelAccess = true,
        });
    
        var notebook_execution = new Gcp.Colab.NotebookExecution("notebook-execution", new()
        {
            DisplayName = "Notebook execution basic",
            Location = "us-central1",
            DirectNotebookSource = new Gcp.Colab.Inputs.NotebookExecutionDirectNotebookSourceArgs
            {
                Content = Std.Base64encode.Invoke(new()
                {
                    Input = @"    {
          \""cells\"": [
            {
              \""cell_type\"": \""code\"",
              \""execution_count\"": null,
              \""metadata\"": {},
              \""outputs\"": [],
              \""source\"": [
                \""print(\\\""Hello, World!\\\"")\""
              ]
            }
          ],
          \""metadata\"": {
            \""kernelspec\"": {
              \""display_name\"": \""Python 3\"",
              \""language\"": \""python\"",
              \""name\"": \""python3\""
            },
            \""language_info\"": {
              \""codemirror_mode\"": {
                \""name\"": \""ipython\"",
                \""version\"": 3
              },
              \""file_extension\"": \"".py\"",
              \""mimetype\"": \""text/x-python\"",
              \""name\"": \""python\"",
              \""nbconvert_exporter\"": \""python\"",
              \""pygments_lexer\"": \""ipython3\"",
              \""version\"": \""3.8.5\""
            }
          },
          \""nbformat\"": 4,
          \""nbformat_minor\"": 4
        }
    ",
                }).Apply(invoke => invoke.Result),
            },
            NotebookRuntimeTemplateResourceName = Output.Tuple(myRuntimeTemplate.Project, myRuntimeTemplate.Location, myRuntimeTemplate.Name).Apply(values =>
            {
                var project = values.Item1;
                var location = values.Item2;
                var name = values.Item3;
                return $"projects/{project}/locations/{location}/notebookRuntimeTemplates/{name}";
            }),
            GcsOutputUri = outputBucket.Name.Apply(name => $"gs://{name}"),
            ServiceAccount = "my@service-account.com",
        }, new CustomResourceOptions
        {
            DependsOn =
            {
                myRuntimeTemplate,
                outputBucket,
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.colab.RuntimeTemplate;
    import com.pulumi.gcp.colab.RuntimeTemplateArgs;
    import com.pulumi.gcp.colab.inputs.RuntimeTemplateMachineSpecArgs;
    import com.pulumi.gcp.colab.inputs.RuntimeTemplateNetworkSpecArgs;
    import com.pulumi.gcp.storage.Bucket;
    import com.pulumi.gcp.storage.BucketArgs;
    import com.pulumi.gcp.colab.NotebookExecution;
    import com.pulumi.gcp.colab.NotebookExecutionArgs;
    import com.pulumi.gcp.colab.inputs.NotebookExecutionDirectNotebookSourceArgs;
    import com.pulumi.std.StdFunctions;
    import com.pulumi.std.inputs.Base64encodeArgs;
    import com.pulumi.resources.CustomResourceOptions;
    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var myRuntimeTemplate = new RuntimeTemplate("myRuntimeTemplate", RuntimeTemplateArgs.builder()
                .name("runtime-template-name")
                .displayName("Runtime template")
                .location("us-central1")
                .machineSpec(RuntimeTemplateMachineSpecArgs.builder()
                    .machineType("e2-standard-4")
                    .build())
                .networkSpec(RuntimeTemplateNetworkSpecArgs.builder()
                    .enableInternetAccess(true)
                    .build())
                .build());
    
            var outputBucket = new Bucket("outputBucket", BucketArgs.builder()
                .name("my_bucket")
                .location("US")
                .forceDestroy(true)
                .uniformBucketLevelAccess(true)
                .build());
    
            var notebook_execution = new NotebookExecution("notebook-execution", NotebookExecutionArgs.builder()
                .displayName("Notebook execution basic")
                .location("us-central1")
                .directNotebookSource(NotebookExecutionDirectNotebookSourceArgs.builder()
                    .content(StdFunctions.base64encode(Base64encodeArgs.builder()
                        .input("""
        {
          \"cells\": [
            {
              \"cell_type\": \"code\",
              \"execution_count\": null,
              \"metadata\": {},
              \"outputs\": [],
              \"source\": [
                \"print(\\\"Hello, World!\\\")\"
              ]
            }
          ],
          \"metadata\": {
            \"kernelspec\": {
              \"display_name\": \"Python 3\",
              \"language\": \"python\",
              \"name\": \"python3\"
            },
            \"language_info\": {
              \"codemirror_mode\": {
                \"name\": \"ipython\",
                \"version\": 3
              },
              \"file_extension\": \".py\",
              \"mimetype\": \"text/x-python\",
              \"name\": \"python\",
              \"nbconvert_exporter\": \"python\",
              \"pygments_lexer\": \"ipython3\",
              \"version\": \"3.8.5\"
            }
          },
          \"nbformat\": 4,
          \"nbformat_minor\": 4
        }
                        """)
                        .build()).result())
                    .build())
                .notebookRuntimeTemplateResourceName(Output.tuple(myRuntimeTemplate.project(), myRuntimeTemplate.location(), myRuntimeTemplate.name()).applyValue(values -> {
                    var project = values.t1;
                    var location = values.t2;
                    var name = values.t3;
                    return String.format("projects/%s/locations/%s/notebookRuntimeTemplates/%s", project,location,name);
                }))
                .gcsOutputUri(outputBucket.name().applyValue(_name -> String.format("gs://%s", _name)))
                .serviceAccount("my@service-account.com")
                .build(), CustomResourceOptions.builder()
                    .dependsOn(                
                        myRuntimeTemplate,
                        outputBucket)
                    .build());
    
        }
    }
    
    resources:
      myRuntimeTemplate:
        type: gcp:colab:RuntimeTemplate
        name: my_runtime_template
        properties:
          name: runtime-template-name
          displayName: Runtime template
          location: us-central1
          machineSpec:
            machineType: e2-standard-4
          networkSpec:
            enableInternetAccess: true
      outputBucket:
        type: gcp:storage:Bucket
        name: output_bucket
        properties:
          name: my_bucket
          location: US
          forceDestroy: true
          uniformBucketLevelAccess: true
      notebook-execution:
        type: gcp:colab:NotebookExecution
        properties:
          displayName: Notebook execution basic
          location: us-central1
          directNotebookSource:
            content:
              fn::invoke:
                function: std:base64encode
                arguments:
                  input: |2
                        {
                          \"cells\": [
                            {
                              \"cell_type\": \"code\",
                              \"execution_count\": null,
                              \"metadata\": {},
                              \"outputs\": [],
                              \"source\": [
                                \"print(\\\"Hello, World!\\\")\"
                              ]
                            }
                          ],
                          \"metadata\": {
                            \"kernelspec\": {
                              \"display_name\": \"Python 3\",
                              \"language\": \"python\",
                              \"name\": \"python3\"
                            },
                            \"language_info\": {
                              \"codemirror_mode\": {
                                \"name\": \"ipython\",
                                \"version\": 3
                              },
                              \"file_extension\": \".py\",
                              \"mimetype\": \"text/x-python\",
                              \"name\": \"python\",
                              \"nbconvert_exporter\": \"python\",
                              \"pygments_lexer\": \"ipython3\",
                              \"version\": \"3.8.5\"
                            }
                          },
                          \"nbformat\": 4,
                          \"nbformat_minor\": 4
                        }
                return: result
          notebookRuntimeTemplateResourceName: projects/${myRuntimeTemplate.project}/locations/${myRuntimeTemplate.location}/notebookRuntimeTemplates/${myRuntimeTemplate.name}
          gcsOutputUri: gs://${outputBucket.name}
          serviceAccount: my@service-account.com
        options:
          dependsOn:
            - ${myRuntimeTemplate}
            - ${outputBucket}
    
    pulumi {
      required_providers {
        gcp = {
          source = "pulumi/gcp"
        }
        std = {
          source = "pulumi/std"
        }
      }
    }
    
    resource "gcp_colab_runtimetemplate" "my_runtime_template" {
      name         = "runtime-template-name"
      display_name = "Runtime template"
      location     = "us-central1"
      machine_spec = {
        machine_type = "e2-standard-4"
      }
      network_spec = {
        enable_internet_access = true
      }
    }
    resource "gcp_storage_bucket" "output_bucket" {
      name                        = "my_bucket"
      location                    = "US"
      force_destroy               = true
      uniform_bucket_level_access = true
    }
    resource "gcp_colab_notebookexecution" "notebook-execution" {
      depends_on   = [gcp_colab_runtimetemplate.my_runtime_template, gcp_storage_bucket.output_bucket]
      display_name = "Notebook execution basic"
      location     = "us-central1"
      direct_notebook_source = {
        content = base64encode("    {\n      \\\"cells\\\": [\n        {\n          \\\"cell_type\\\": \\\"code\\\",\n          \\\"execution_count\\\": null,\n          \\\"metadata\\\": {},\n          \\\"outputs\\\": [],\n          \\\"source\\\": [\n            \\\"print(\\\\\\\"Hello, World!\\\\\\\")\\\"\n          ]\n        }\n      ],\n      \\\"metadata\\\": {\n        \\\"kernelspec\\\": {\n          \\\"display_name\\\": \\\"Python 3\\\",\n          \\\"language\\\": \\\"python\\\",\n          \\\"name\\\": \\\"python3\\\"\n        },\n        \\\"language_info\\\": {\n          \\\"codemirror_mode\\\": {\n            \\\"name\\\": \\\"ipython\\\",\n            \\\"version\\\": 3\n          },\n          \\\"file_extension\\\": \\\".py\\\",\n          \\\"mimetype\\\": \\\"text/x-python\\\",\n          \\\"name\\\": \\\"python\\\",\n          \\\"nbconvert_exporter\\\": \\\"python\\\",\n          \\\"pygments_lexer\\\": \\\"ipython3\\\",\n          \\\"version\\\": \\\"3.8.5\\\"\n        }\n      },\n      \\\"nbformat\\\": 4,\n      \\\"nbformat_minor\\\": 4\n    }\n")
      }
      notebook_runtime_template_resource_name ="projects/${gcp_colab_runtimetemplate.my_runtime_template.project}/locations/${gcp_colab_runtimetemplate.my_runtime_template.location}/notebookRuntimeTemplates/${gcp_colab_runtimetemplate.my_runtime_template.name}"
      gcs_output_uri                          ="gs://${gcp_storage_bucket.output_bucket.name}"
      service_account                         = "my@service-account.com"
    }
    

    Colab Notebook Execution Custom Env

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    import * as std from "@pulumi/std";
    
    const myNetwork = new gcp.compute.Network("my_network", {
        name: "colab-test-default",
        autoCreateSubnetworks: false,
    });
    const mySubnetwork = new gcp.compute.Subnetwork("my_subnetwork", {
        name: "colab-test-default",
        network: myNetwork.id,
        region: "us-central1",
        ipCidrRange: "10.0.1.0/24",
    });
    const outputBucket = new gcp.storage.Bucket("output_bucket", {
        name: "my_bucket",
        location: "US",
        forceDestroy: true,
        uniformBucketLevelAccess: true,
    });
    const notebook_execution = new gcp.colab.NotebookExecution("notebook-execution", {
        displayName: "Notebook execution basic",
        location: "us-central1",
        directNotebookSource: {
            content: std.base64encode({
                input: `    {
          \\"cells\\": [
            {
              \\"cell_type\\": \\"code\\",
              \\"execution_count\\": null,
              \\"metadata\\": {},
              \\"outputs\\": [],
              \\"source\\": [
                \\"print(\\\\\\"Hello, World!\\\\\\")\\"
              ]
            }
          ],
          \\"metadata\\": {
            \\"kernelspec\\": {
              \\"display_name\\": \\"Python 3\\",
              \\"language\\": \\"python\\",
              \\"name\\": \\"python3\\"
            },
            \\"language_info\\": {
              \\"codemirror_mode\\": {
                \\"name\\": \\"ipython\\",
                \\"version\\": 3
              },
              \\"file_extension\\": \\".py\\",
              \\"mimetype\\": \\"text/x-python\\",
              \\"name\\": \\"python\\",
              \\"nbconvert_exporter\\": \\"python\\",
              \\"pygments_lexer\\": \\"ipython3\\",
              \\"version\\": \\"3.8.5\\"
            }
          },
          \\"nbformat\\": 4,
          \\"nbformat_minor\\": 4
        }
    `,
            }).then(invoke => invoke.result),
        },
        customEnvironmentSpec: {
            machineSpec: {
                machineType: "n1-standard-2",
                acceleratorType: "NVIDIA_TESLA_T4",
                acceleratorCount: 1,
            },
            persistentDiskSpec: {
                diskType: "pd-standard",
                diskSizeGb: "200",
            },
            networkSpec: {
                enableInternetAccess: true,
                network: myNetwork.id,
                subnetwork: mySubnetwork.id,
            },
            shieldedInstanceConfig: {
                enableIntegrityMonitoring: true,
                enableSecureBoot: true,
                enableVtpm: true,
            },
        },
        gcsOutputUri: pulumi.interpolate`gs://${outputBucket.name}`,
        serviceAccount: "my@service-account.com",
    }, {
        dependsOn: [outputBucket],
    });
    
    import pulumi
    import pulumi_gcp as gcp
    import pulumi_std as std
    
    my_network = gcp.compute.Network("my_network",
        name="colab-test-default",
        auto_create_subnetworks=False)
    my_subnetwork = gcp.compute.Subnetwork("my_subnetwork",
        name="colab-test-default",
        network=my_network.id,
        region="us-central1",
        ip_cidr_range="10.0.1.0/24")
    output_bucket = gcp.storage.Bucket("output_bucket",
        name="my_bucket",
        location="US",
        force_destroy=True,
        uniform_bucket_level_access=True)
    notebook_execution = gcp.colab.NotebookExecution("notebook-execution",
        display_name="Notebook execution basic",
        location="us-central1",
        direct_notebook_source={
            "content": std.base64encode(input="""    {
          \"cells\": [
            {
              \"cell_type\": \"code\",
              \"execution_count\": null,
              \"metadata\": {},
              \"outputs\": [],
              \"source\": [
                \"print(\\\"Hello, World!\\\")\"
              ]
            }
          ],
          \"metadata\": {
            \"kernelspec\": {
              \"display_name\": \"Python 3\",
              \"language\": \"python\",
              \"name\": \"python3\"
            },
            \"language_info\": {
              \"codemirror_mode\": {
                \"name\": \"ipython\",
                \"version\": 3
              },
              \"file_extension\": \".py\",
              \"mimetype\": \"text/x-python\",
              \"name\": \"python\",
              \"nbconvert_exporter\": \"python\",
              \"pygments_lexer\": \"ipython3\",
              \"version\": \"3.8.5\"
            }
          },
          \"nbformat\": 4,
          \"nbformat_minor\": 4
        }
    """).result,
        },
        custom_environment_spec={
            "machine_spec": {
                "machine_type": "n1-standard-2",
                "accelerator_type": "NVIDIA_TESLA_T4",
                "accelerator_count": 1,
            },
            "persistent_disk_spec": {
                "disk_type": "pd-standard",
                "disk_size_gb": "200",
            },
            "network_spec": {
                "enable_internet_access": True,
                "network": my_network.id,
                "subnetwork": my_subnetwork.id,
            },
            "shielded_instance_config": {
                "enable_integrity_monitoring": True,
                "enable_secure_boot": True,
                "enable_vtpm": True,
            },
        },
        gcs_output_uri=output_bucket.name.apply(lambda name: f"gs://{name}"),
        service_account="my@service-account.com",
        opts = pulumi.ResourceOptions(depends_on=[output_bucket]))
    
    package main
    
    import (
    	"fmt"
    
    	"github.com/pulumi/pulumi-gcp/sdk/v9/go/gcp/colab"
    	"github.com/pulumi/pulumi-gcp/sdk/v9/go/gcp/compute"
    	"github.com/pulumi/pulumi-gcp/sdk/v9/go/gcp/storage"
    	"github.com/pulumi/pulumi-std/sdk/go/std"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		myNetwork, err := compute.NewNetwork(ctx, "my_network", &compute.NetworkArgs{
    			Name:                  pulumi.String("colab-test-default"),
    			AutoCreateSubnetworks: pulumi.Bool(false),
    		})
    		if err != nil {
    			return err
    		}
    		mySubnetwork, err := compute.NewSubnetwork(ctx, "my_subnetwork", &compute.SubnetworkArgs{
    			Name:        pulumi.String("colab-test-default"),
    			Network:     myNetwork.ID().ToIDOutput().ToStringOutput(),
    			Region:      pulumi.String("us-central1"),
    			IpCidrRange: pulumi.String("10.0.1.0/24"),
    		})
    		if err != nil {
    			return err
    		}
    		outputBucket, err := storage.NewBucket(ctx, "output_bucket", &storage.BucketArgs{
    			Name:                     pulumi.String("my_bucket"),
    			Location:                 pulumi.String("US"),
    			ForceDestroy:             pulumi.Bool(true),
    			UniformBucketLevelAccess: pulumi.Bool(true),
    		})
    		if err != nil {
    			return err
    		}
    		invokeBase64encode, err := std.Base64encode(ctx, &std.Base64encodeArgs{
    			Input: `    {
          \"cells\": [
            {
              \"cell_type\": \"code\",
              \"execution_count\": null,
              \"metadata\": {},
              \"outputs\": [],
              \"source\": [
                \"print(\\\"Hello, World!\\\")\"
              ]
            }
          ],
          \"metadata\": {
            \"kernelspec\": {
              \"display_name\": \"Python 3\",
              \"language\": \"python\",
              \"name\": \"python3\"
            },
            \"language_info\": {
              \"codemirror_mode\": {
                \"name\": \"ipython\",
                \"version\": 3
              },
              \"file_extension\": \".py\",
              \"mimetype\": \"text/x-python\",
              \"name\": \"python\",
              \"nbconvert_exporter\": \"python\",
              \"pygments_lexer\": \"ipython3\",
              \"version\": \"3.8.5\"
            }
          },
          \"nbformat\": 4,
          \"nbformat_minor\": 4
        }
    `,
    		}, nil)
    		if err != nil {
    			return err
    		}
    		_, err = colab.NewNotebookExecution(ctx, "notebook-execution", &colab.NotebookExecutionArgs{
    			DisplayName: pulumi.String("Notebook execution basic"),
    			Location:    pulumi.String("us-central1"),
    			DirectNotebookSource: &colab.NotebookExecutionDirectNotebookSourceArgs{
    				Content: pulumi.String(invokeBase64encode.Result),
    			},
    			CustomEnvironmentSpec: &colab.NotebookExecutionCustomEnvironmentSpecArgs{
    				MachineSpec: &colab.NotebookExecutionCustomEnvironmentSpecMachineSpecArgs{
    					MachineType:      pulumi.String("n1-standard-2"),
    					AcceleratorType:  pulumi.String("NVIDIA_TESLA_T4"),
    					AcceleratorCount: pulumi.Int(1),
    				},
    				PersistentDiskSpec: &colab.NotebookExecutionCustomEnvironmentSpecPersistentDiskSpecArgs{
    					DiskType:   pulumi.String("pd-standard"),
    					DiskSizeGb: pulumi.String("200"),
    				},
    				NetworkSpec: &colab.NotebookExecutionCustomEnvironmentSpecNetworkSpecArgs{
    					EnableInternetAccess: pulumi.Bool(true),
    					Network:              myNetwork.ID().ToIDOutput().ToStringOutput(),
    					Subnetwork:           mySubnetwork.ID().ToIDOutput().ToStringOutput(),
    				},
    				ShieldedInstanceConfig: &colab.NotebookExecutionCustomEnvironmentSpecShieldedInstanceConfigArgs{
    					EnableIntegrityMonitoring: pulumi.Bool(true),
    					EnableSecureBoot:          pulumi.Bool(true),
    					EnableVtpm:                pulumi.Bool(true),
    				},
    			},
    			GcsOutputUri: outputBucket.Name.ApplyT(func(name string) (string, error) {
    				return fmt.Sprintf("gs://%v", name), nil
    			}).(pulumi.StringOutput),
    			ServiceAccount: pulumi.String("my@service-account.com"),
    		}, pulumi.DependsOn([]pulumi.Resource{
    			outputBucket,
    		}))
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    using Std = Pulumi.Std;
    
    return await Deployment.RunAsync(() => 
    {
        var myNetwork = new Gcp.Compute.Network("my_network", new()
        {
            Name = "colab-test-default",
            AutoCreateSubnetworks = false,
        });
    
        var mySubnetwork = new Gcp.Compute.Subnetwork("my_subnetwork", new()
        {
            Name = "colab-test-default",
            Network = myNetwork.Id,
            Region = "us-central1",
            IpCidrRange = "10.0.1.0/24",
        });
    
        var outputBucket = new Gcp.Storage.Bucket("output_bucket", new()
        {
            Name = "my_bucket",
            Location = "US",
            ForceDestroy = true,
            UniformBucketLevelAccess = true,
        });
    
        var notebook_execution = new Gcp.Colab.NotebookExecution("notebook-execution", new()
        {
            DisplayName = "Notebook execution basic",
            Location = "us-central1",
            DirectNotebookSource = new Gcp.Colab.Inputs.NotebookExecutionDirectNotebookSourceArgs
            {
                Content = Std.Base64encode.Invoke(new()
                {
                    Input = @"    {
          \""cells\"": [
            {
              \""cell_type\"": \""code\"",
              \""execution_count\"": null,
              \""metadata\"": {},
              \""outputs\"": [],
              \""source\"": [
                \""print(\\\""Hello, World!\\\"")\""
              ]
            }
          ],
          \""metadata\"": {
            \""kernelspec\"": {
              \""display_name\"": \""Python 3\"",
              \""language\"": \""python\"",
              \""name\"": \""python3\""
            },
            \""language_info\"": {
              \""codemirror_mode\"": {
                \""name\"": \""ipython\"",
                \""version\"": 3
              },
              \""file_extension\"": \"".py\"",
              \""mimetype\"": \""text/x-python\"",
              \""name\"": \""python\"",
              \""nbconvert_exporter\"": \""python\"",
              \""pygments_lexer\"": \""ipython3\"",
              \""version\"": \""3.8.5\""
            }
          },
          \""nbformat\"": 4,
          \""nbformat_minor\"": 4
        }
    ",
                }).Apply(invoke => invoke.Result),
            },
            CustomEnvironmentSpec = new Gcp.Colab.Inputs.NotebookExecutionCustomEnvironmentSpecArgs
            {
                MachineSpec = new Gcp.Colab.Inputs.NotebookExecutionCustomEnvironmentSpecMachineSpecArgs
                {
                    MachineType = "n1-standard-2",
                    AcceleratorType = "NVIDIA_TESLA_T4",
                    AcceleratorCount = 1,
                },
                PersistentDiskSpec = new Gcp.Colab.Inputs.NotebookExecutionCustomEnvironmentSpecPersistentDiskSpecArgs
                {
                    DiskType = "pd-standard",
                    DiskSizeGb = "200",
                },
                NetworkSpec = new Gcp.Colab.Inputs.NotebookExecutionCustomEnvironmentSpecNetworkSpecArgs
                {
                    EnableInternetAccess = true,
                    Network = myNetwork.Id,
                    Subnetwork = mySubnetwork.Id,
                },
                ShieldedInstanceConfig = new Gcp.Colab.Inputs.NotebookExecutionCustomEnvironmentSpecShieldedInstanceConfigArgs
                {
                    EnableIntegrityMonitoring = true,
                    EnableSecureBoot = true,
                    EnableVtpm = true,
                },
            },
            GcsOutputUri = outputBucket.Name.Apply(name => $"gs://{name}"),
            ServiceAccount = "my@service-account.com",
        }, new CustomResourceOptions
        {
            DependsOn =
            {
                outputBucket,
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.compute.Network;
    import com.pulumi.gcp.compute.NetworkArgs;
    import com.pulumi.gcp.compute.Subnetwork;
    import com.pulumi.gcp.compute.SubnetworkArgs;
    import com.pulumi.gcp.storage.Bucket;
    import com.pulumi.gcp.storage.BucketArgs;
    import com.pulumi.gcp.colab.NotebookExecution;
    import com.pulumi.gcp.colab.NotebookExecutionArgs;
    import com.pulumi.gcp.colab.inputs.NotebookExecutionDirectNotebookSourceArgs;
    import com.pulumi.gcp.colab.inputs.NotebookExecutionCustomEnvironmentSpecArgs;
    import com.pulumi.gcp.colab.inputs.NotebookExecutionCustomEnvironmentSpecMachineSpecArgs;
    import com.pulumi.gcp.colab.inputs.NotebookExecutionCustomEnvironmentSpecPersistentDiskSpecArgs;
    import com.pulumi.gcp.colab.inputs.NotebookExecutionCustomEnvironmentSpecNetworkSpecArgs;
    import com.pulumi.gcp.colab.inputs.NotebookExecutionCustomEnvironmentSpecShieldedInstanceConfigArgs;
    import com.pulumi.std.StdFunctions;
    import com.pulumi.std.inputs.Base64encodeArgs;
    import com.pulumi.resources.CustomResourceOptions;
    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var myNetwork = new Network("myNetwork", NetworkArgs.builder()
                .name("colab-test-default")
                .autoCreateSubnetworks(false)
                .build());
    
            var mySubnetwork = new Subnetwork("mySubnetwork", SubnetworkArgs.builder()
                .name("colab-test-default")
                .network(myNetwork.id())
                .region("us-central1")
                .ipCidrRange("10.0.1.0/24")
                .build());
    
            var outputBucket = new Bucket("outputBucket", BucketArgs.builder()
                .name("my_bucket")
                .location("US")
                .forceDestroy(true)
                .uniformBucketLevelAccess(true)
                .build());
    
            var notebook_execution = new NotebookExecution("notebook-execution", NotebookExecutionArgs.builder()
                .displayName("Notebook execution basic")
                .location("us-central1")
                .directNotebookSource(NotebookExecutionDirectNotebookSourceArgs.builder()
                    .content(StdFunctions.base64encode(Base64encodeArgs.builder()
                        .input("""
        {
          \"cells\": [
            {
              \"cell_type\": \"code\",
              \"execution_count\": null,
              \"metadata\": {},
              \"outputs\": [],
              \"source\": [
                \"print(\\\"Hello, World!\\\")\"
              ]
            }
          ],
          \"metadata\": {
            \"kernelspec\": {
              \"display_name\": \"Python 3\",
              \"language\": \"python\",
              \"name\": \"python3\"
            },
            \"language_info\": {
              \"codemirror_mode\": {
                \"name\": \"ipython\",
                \"version\": 3
              },
              \"file_extension\": \".py\",
              \"mimetype\": \"text/x-python\",
              \"name\": \"python\",
              \"nbconvert_exporter\": \"python\",
              \"pygments_lexer\": \"ipython3\",
              \"version\": \"3.8.5\"
            }
          },
          \"nbformat\": 4,
          \"nbformat_minor\": 4
        }
                        """)
                        .build()).result())
                    .build())
                .customEnvironmentSpec(NotebookExecutionCustomEnvironmentSpecArgs.builder()
                    .machineSpec(NotebookExecutionCustomEnvironmentSpecMachineSpecArgs.builder()
                        .machineType("n1-standard-2")
                        .acceleratorType("NVIDIA_TESLA_T4")
                        .acceleratorCount(1)
                        .build())
                    .persistentDiskSpec(NotebookExecutionCustomEnvironmentSpecPersistentDiskSpecArgs.builder()
                        .diskType("pd-standard")
                        .diskSizeGb("200")
                        .build())
                    .networkSpec(NotebookExecutionCustomEnvironmentSpecNetworkSpecArgs.builder()
                        .enableInternetAccess(true)
                        .network(myNetwork.id())
                        .subnetwork(mySubnetwork.id())
                        .build())
                    .shieldedInstanceConfig(NotebookExecutionCustomEnvironmentSpecShieldedInstanceConfigArgs.builder()
                        .enableIntegrityMonitoring(true)
                        .enableSecureBoot(true)
                        .enableVtpm(true)
                        .build())
                    .build())
                .gcsOutputUri(outputBucket.name().applyValue(_name -> String.format("gs://%s", _name)))
                .serviceAccount("my@service-account.com")
                .build(), CustomResourceOptions.builder()
                    .dependsOn(outputBucket)
                    .build());
    
        }
    }
    
    resources:
      myNetwork:
        type: gcp:compute:Network
        name: my_network
        properties:
          name: colab-test-default
          autoCreateSubnetworks: false
      mySubnetwork:
        type: gcp:compute:Subnetwork
        name: my_subnetwork
        properties:
          name: colab-test-default
          network: ${myNetwork.id}
          region: us-central1
          ipCidrRange: 10.0.1.0/24
      outputBucket:
        type: gcp:storage:Bucket
        name: output_bucket
        properties:
          name: my_bucket
          location: US
          forceDestroy: true
          uniformBucketLevelAccess: true
      notebook-execution:
        type: gcp:colab:NotebookExecution
        properties:
          displayName: Notebook execution basic
          location: us-central1
          directNotebookSource:
            content:
              fn::invoke:
                function: std:base64encode
                arguments:
                  input: |2
                        {
                          \"cells\": [
                            {
                              \"cell_type\": \"code\",
                              \"execution_count\": null,
                              \"metadata\": {},
                              \"outputs\": [],
                              \"source\": [
                                \"print(\\\"Hello, World!\\\")\"
                              ]
                            }
                          ],
                          \"metadata\": {
                            \"kernelspec\": {
                              \"display_name\": \"Python 3\",
                              \"language\": \"python\",
                              \"name\": \"python3\"
                            },
                            \"language_info\": {
                              \"codemirror_mode\": {
                                \"name\": \"ipython\",
                                \"version\": 3
                              },
                              \"file_extension\": \".py\",
                              \"mimetype\": \"text/x-python\",
                              \"name\": \"python\",
                              \"nbconvert_exporter\": \"python\",
                              \"pygments_lexer\": \"ipython3\",
                              \"version\": \"3.8.5\"
                            }
                          },
                          \"nbformat\": 4,
                          \"nbformat_minor\": 4
                        }
                return: result
          customEnvironmentSpec:
            machineSpec:
              machineType: n1-standard-2
              acceleratorType: NVIDIA_TESLA_T4
              acceleratorCount: '1'
            persistentDiskSpec:
              diskType: pd-standard
              diskSizeGb: 200
            networkSpec:
              enableInternetAccess: true
              network: ${myNetwork.id}
              subnetwork: ${mySubnetwork.id}
            shieldedInstanceConfig:
              enableIntegrityMonitoring: true
              enableSecureBoot: true
              enableVtpm: true
          gcsOutputUri: gs://${outputBucket.name}
          serviceAccount: my@service-account.com
        options:
          dependsOn:
            - ${outputBucket}
    
    pulumi {
      required_providers {
        gcp = {
          source = "pulumi/gcp"
        }
        std = {
          source = "pulumi/std"
        }
      }
    }
    
    resource "gcp_compute_network" "my_network" {
      name                    = "colab-test-default"
      auto_create_subnetworks = false
    }
    resource "gcp_compute_subnetwork" "my_subnetwork" {
      name          = "colab-test-default"
      network       = gcp_compute_network.my_network.id
      region        = "us-central1"
      ip_cidr_range = "10.0.1.0/24"
    }
    resource "gcp_storage_bucket" "output_bucket" {
      name                        = "my_bucket"
      location                    = "US"
      force_destroy               = true
      uniform_bucket_level_access = true
    }
    resource "gcp_colab_notebookexecution" "notebook-execution" {
      depends_on   = [gcp_storage_bucket.output_bucket]
      display_name = "Notebook execution basic"
      location     = "us-central1"
      direct_notebook_source = {
        content = base64encode("    {\n      \\\"cells\\\": [\n        {\n          \\\"cell_type\\\": \\\"code\\\",\n          \\\"execution_count\\\": null,\n          \\\"metadata\\\": {},\n          \\\"outputs\\\": [],\n          \\\"source\\\": [\n            \\\"print(\\\\\\\"Hello, World!\\\\\\\")\\\"\n          ]\n        }\n      ],\n      \\\"metadata\\\": {\n        \\\"kernelspec\\\": {\n          \\\"display_name\\\": \\\"Python 3\\\",\n          \\\"language\\\": \\\"python\\\",\n          \\\"name\\\": \\\"python3\\\"\n        },\n        \\\"language_info\\\": {\n          \\\"codemirror_mode\\\": {\n            \\\"name\\\": \\\"ipython\\\",\n            \\\"version\\\": 3\n          },\n          \\\"file_extension\\\": \\\".py\\\",\n          \\\"mimetype\\\": \\\"text/x-python\\\",\n          \\\"name\\\": \\\"python\\\",\n          \\\"nbconvert_exporter\\\": \\\"python\\\",\n          \\\"pygments_lexer\\\": \\\"ipython3\\\",\n          \\\"version\\\": \\\"3.8.5\\\"\n        }\n      },\n      \\\"nbformat\\\": 4,\n      \\\"nbformat_minor\\\": 4\n    }\n")
      }
      custom_environment_spec = {
        machine_spec = {
          machine_type      = "n1-standard-2"
          accelerator_type  = "NVIDIA_TESLA_T4"
          accelerator_count = "1"
        }
        persistent_disk_spec = {
          disk_type    = "pd-standard"
          disk_size_gb = 200
        }
        network_spec = {
          enable_internet_access = true
          network                = gcp_compute_network.my_network.id
          subnetwork             = gcp_compute_subnetwork.my_subnetwork.id
        }
        shielded_instance_config = {
          enable_integrity_monitoring = true
          enable_secure_boot          = true
          enable_vtpm                 = true
        }
      }
      gcs_output_uri  ="gs://${gcp_storage_bucket.output_bucket.name}"
      service_account = "my@service-account.com"
    }
    

    Colab Notebook Execution Workbench Runtime Vm

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    import * as std from "@pulumi/std";
    
    const outputBucket = new gcp.storage.Bucket("output_bucket", {
        name: "my_bucket",
        location: "US",
        forceDestroy: true,
        uniformBucketLevelAccess: true,
    });
    const notebook_execution = new gcp.colab.NotebookExecution("notebook-execution", {
        displayName: "Notebook execution workbench runtime vm",
        location: "us-central1",
        directNotebookSource: {
            content: std.base64encode({
                input: `    {
          \\"cells\\": [
            {
              \\"cell_type\\": \\"code\\",
              \\"execution_count\\": null,
              \\"metadata\\": {},
              \\"outputs\\": [],
              \\"source\\": [
                \\"print(\\\\\\"Hello, World!\\\\\\")\\"
              ]
            }
          ],
          \\"metadata\\": {
            \\"kernelspec\\": {
              \\"display_name\\": \\"Python 3\\",
              \\"language\\": \\"python\\",
              \\"name\\": \\"python3\\"
            },
            \\"language_info\\": {
              \\"codemirror_mode\\": {
                \\"name\\": \\"ipython\\",
                \\"version\\": 3
              },
              \\"file_extension\\": \\".py\\",
              \\"mimetype\\": \\"text/x-python\\",
              \\"name\\": \\"python\\",
              \\"nbconvert_exporter\\": \\"python\\",
              \\"pygments_lexer\\": \\"ipython3\\",
              \\"version\\": \\"3.8.5\\"
            }
          },
          \\"nbformat\\": 4,
          \\"nbformat_minor\\": 4
        }
    `,
            }).then(invoke => invoke.result),
        },
        customEnvironmentSpec: {
            machineSpec: {
                machineType: "n1-standard-2",
            },
            persistentDiskSpec: {
                diskType: "pd-standard",
                diskSizeGb: "200",
            },
        },
        workbenchRuntime: {
            vmImage: {
                project: "cloud-notebooks-managed",
                family: "workbench-instances",
            },
        },
        gcsOutputUri: pulumi.interpolate`gs://${outputBucket.name}`,
        serviceAccount: "my@service-account.com",
    }, {
        dependsOn: [outputBucket],
    });
    
    import pulumi
    import pulumi_gcp as gcp
    import pulumi_std as std
    
    output_bucket = gcp.storage.Bucket("output_bucket",
        name="my_bucket",
        location="US",
        force_destroy=True,
        uniform_bucket_level_access=True)
    notebook_execution = gcp.colab.NotebookExecution("notebook-execution",
        display_name="Notebook execution workbench runtime vm",
        location="us-central1",
        direct_notebook_source={
            "content": std.base64encode(input="""    {
          \"cells\": [
            {
              \"cell_type\": \"code\",
              \"execution_count\": null,
              \"metadata\": {},
              \"outputs\": [],
              \"source\": [
                \"print(\\\"Hello, World!\\\")\"
              ]
            }
          ],
          \"metadata\": {
            \"kernelspec\": {
              \"display_name\": \"Python 3\",
              \"language\": \"python\",
              \"name\": \"python3\"
            },
            \"language_info\": {
              \"codemirror_mode\": {
                \"name\": \"ipython\",
                \"version\": 3
              },
              \"file_extension\": \".py\",
              \"mimetype\": \"text/x-python\",
              \"name\": \"python\",
              \"nbconvert_exporter\": \"python\",
              \"pygments_lexer\": \"ipython3\",
              \"version\": \"3.8.5\"
            }
          },
          \"nbformat\": 4,
          \"nbformat_minor\": 4
        }
    """).result,
        },
        custom_environment_spec={
            "machine_spec": {
                "machine_type": "n1-standard-2",
            },
            "persistent_disk_spec": {
                "disk_type": "pd-standard",
                "disk_size_gb": "200",
            },
        },
        workbench_runtime={
            "vm_image": {
                "project": "cloud-notebooks-managed",
                "family": "workbench-instances",
            },
        },
        gcs_output_uri=output_bucket.name.apply(lambda name: f"gs://{name}"),
        service_account="my@service-account.com",
        opts = pulumi.ResourceOptions(depends_on=[output_bucket]))
    
    package main
    
    import (
    	"fmt"
    
    	"github.com/pulumi/pulumi-gcp/sdk/v9/go/gcp/colab"
    	"github.com/pulumi/pulumi-gcp/sdk/v9/go/gcp/storage"
    	"github.com/pulumi/pulumi-std/sdk/go/std"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		outputBucket, err := storage.NewBucket(ctx, "output_bucket", &storage.BucketArgs{
    			Name:                     pulumi.String("my_bucket"),
    			Location:                 pulumi.String("US"),
    			ForceDestroy:             pulumi.Bool(true),
    			UniformBucketLevelAccess: pulumi.Bool(true),
    		})
    		if err != nil {
    			return err
    		}
    		invokeBase64encode, err := std.Base64encode(ctx, &std.Base64encodeArgs{
    			Input: `    {
          \"cells\": [
            {
              \"cell_type\": \"code\",
              \"execution_count\": null,
              \"metadata\": {},
              \"outputs\": [],
              \"source\": [
                \"print(\\\"Hello, World!\\\")\"
              ]
            }
          ],
          \"metadata\": {
            \"kernelspec\": {
              \"display_name\": \"Python 3\",
              \"language\": \"python\",
              \"name\": \"python3\"
            },
            \"language_info\": {
              \"codemirror_mode\": {
                \"name\": \"ipython\",
                \"version\": 3
              },
              \"file_extension\": \".py\",
              \"mimetype\": \"text/x-python\",
              \"name\": \"python\",
              \"nbconvert_exporter\": \"python\",
              \"pygments_lexer\": \"ipython3\",
              \"version\": \"3.8.5\"
            }
          },
          \"nbformat\": 4,
          \"nbformat_minor\": 4
        }
    `,
    		}, nil)
    		if err != nil {
    			return err
    		}
    		_, err = colab.NewNotebookExecution(ctx, "notebook-execution", &colab.NotebookExecutionArgs{
    			DisplayName: pulumi.String("Notebook execution workbench runtime vm"),
    			Location:    pulumi.String("us-central1"),
    			DirectNotebookSource: &colab.NotebookExecutionDirectNotebookSourceArgs{
    				Content: pulumi.String(invokeBase64encode.Result),
    			},
    			CustomEnvironmentSpec: &colab.NotebookExecutionCustomEnvironmentSpecArgs{
    				MachineSpec: &colab.NotebookExecutionCustomEnvironmentSpecMachineSpecArgs{
    					MachineType: pulumi.String("n1-standard-2"),
    				},
    				PersistentDiskSpec: &colab.NotebookExecutionCustomEnvironmentSpecPersistentDiskSpecArgs{
    					DiskType:   pulumi.String("pd-standard"),
    					DiskSizeGb: pulumi.String("200"),
    				},
    			},
    			WorkbenchRuntime: &colab.NotebookExecutionWorkbenchRuntimeArgs{
    				VmImage: &colab.NotebookExecutionWorkbenchRuntimeVmImageArgs{
    					Project: pulumi.String("cloud-notebooks-managed"),
    					Family:  pulumi.String("workbench-instances"),
    				},
    			},
    			GcsOutputUri: outputBucket.Name.ApplyT(func(name string) (string, error) {
    				return fmt.Sprintf("gs://%v", name), nil
    			}).(pulumi.StringOutput),
    			ServiceAccount: pulumi.String("my@service-account.com"),
    		}, pulumi.DependsOn([]pulumi.Resource{
    			outputBucket,
    		}))
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    using Std = Pulumi.Std;
    
    return await Deployment.RunAsync(() => 
    {
        var outputBucket = new Gcp.Storage.Bucket("output_bucket", new()
        {
            Name = "my_bucket",
            Location = "US",
            ForceDestroy = true,
            UniformBucketLevelAccess = true,
        });
    
        var notebook_execution = new Gcp.Colab.NotebookExecution("notebook-execution", new()
        {
            DisplayName = "Notebook execution workbench runtime vm",
            Location = "us-central1",
            DirectNotebookSource = new Gcp.Colab.Inputs.NotebookExecutionDirectNotebookSourceArgs
            {
                Content = Std.Base64encode.Invoke(new()
                {
                    Input = @"    {
          \""cells\"": [
            {
              \""cell_type\"": \""code\"",
              \""execution_count\"": null,
              \""metadata\"": {},
              \""outputs\"": [],
              \""source\"": [
                \""print(\\\""Hello, World!\\\"")\""
              ]
            }
          ],
          \""metadata\"": {
            \""kernelspec\"": {
              \""display_name\"": \""Python 3\"",
              \""language\"": \""python\"",
              \""name\"": \""python3\""
            },
            \""language_info\"": {
              \""codemirror_mode\"": {
                \""name\"": \""ipython\"",
                \""version\"": 3
              },
              \""file_extension\"": \"".py\"",
              \""mimetype\"": \""text/x-python\"",
              \""name\"": \""python\"",
              \""nbconvert_exporter\"": \""python\"",
              \""pygments_lexer\"": \""ipython3\"",
              \""version\"": \""3.8.5\""
            }
          },
          \""nbformat\"": 4,
          \""nbformat_minor\"": 4
        }
    ",
                }).Apply(invoke => invoke.Result),
            },
            CustomEnvironmentSpec = new Gcp.Colab.Inputs.NotebookExecutionCustomEnvironmentSpecArgs
            {
                MachineSpec = new Gcp.Colab.Inputs.NotebookExecutionCustomEnvironmentSpecMachineSpecArgs
                {
                    MachineType = "n1-standard-2",
                },
                PersistentDiskSpec = new Gcp.Colab.Inputs.NotebookExecutionCustomEnvironmentSpecPersistentDiskSpecArgs
                {
                    DiskType = "pd-standard",
                    DiskSizeGb = "200",
                },
            },
            WorkbenchRuntime = new Gcp.Colab.Inputs.NotebookExecutionWorkbenchRuntimeArgs
            {
                VmImage = new Gcp.Colab.Inputs.NotebookExecutionWorkbenchRuntimeVmImageArgs
                {
                    Project = "cloud-notebooks-managed",
                    Family = "workbench-instances",
                },
            },
            GcsOutputUri = outputBucket.Name.Apply(name => $"gs://{name}"),
            ServiceAccount = "my@service-account.com",
        }, new CustomResourceOptions
        {
            DependsOn =
            {
                outputBucket,
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.storage.Bucket;
    import com.pulumi.gcp.storage.BucketArgs;
    import com.pulumi.gcp.colab.NotebookExecution;
    import com.pulumi.gcp.colab.NotebookExecutionArgs;
    import com.pulumi.gcp.colab.inputs.NotebookExecutionDirectNotebookSourceArgs;
    import com.pulumi.gcp.colab.inputs.NotebookExecutionCustomEnvironmentSpecArgs;
    import com.pulumi.gcp.colab.inputs.NotebookExecutionCustomEnvironmentSpecMachineSpecArgs;
    import com.pulumi.gcp.colab.inputs.NotebookExecutionCustomEnvironmentSpecPersistentDiskSpecArgs;
    import com.pulumi.gcp.colab.inputs.NotebookExecutionWorkbenchRuntimeArgs;
    import com.pulumi.gcp.colab.inputs.NotebookExecutionWorkbenchRuntimeVmImageArgs;
    import com.pulumi.std.StdFunctions;
    import com.pulumi.std.inputs.Base64encodeArgs;
    import com.pulumi.resources.CustomResourceOptions;
    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var outputBucket = new Bucket("outputBucket", BucketArgs.builder()
                .name("my_bucket")
                .location("US")
                .forceDestroy(true)
                .uniformBucketLevelAccess(true)
                .build());
    
            var notebook_execution = new NotebookExecution("notebook-execution", NotebookExecutionArgs.builder()
                .displayName("Notebook execution workbench runtime vm")
                .location("us-central1")
                .directNotebookSource(NotebookExecutionDirectNotebookSourceArgs.builder()
                    .content(StdFunctions.base64encode(Base64encodeArgs.builder()
                        .input("""
        {
          \"cells\": [
            {
              \"cell_type\": \"code\",
              \"execution_count\": null,
              \"metadata\": {},
              \"outputs\": [],
              \"source\": [
                \"print(\\\"Hello, World!\\\")\"
              ]
            }
          ],
          \"metadata\": {
            \"kernelspec\": {
              \"display_name\": \"Python 3\",
              \"language\": \"python\",
              \"name\": \"python3\"
            },
            \"language_info\": {
              \"codemirror_mode\": {
                \"name\": \"ipython\",
                \"version\": 3
              },
              \"file_extension\": \".py\",
              \"mimetype\": \"text/x-python\",
              \"name\": \"python\",
              \"nbconvert_exporter\": \"python\",
              \"pygments_lexer\": \"ipython3\",
              \"version\": \"3.8.5\"
            }
          },
          \"nbformat\": 4,
          \"nbformat_minor\": 4
        }
                        """)
                        .build()).result())
                    .build())
                .customEnvironmentSpec(NotebookExecutionCustomEnvironmentSpecArgs.builder()
                    .machineSpec(NotebookExecutionCustomEnvironmentSpecMachineSpecArgs.builder()
                        .machineType("n1-standard-2")
                        .build())
                    .persistentDiskSpec(NotebookExecutionCustomEnvironmentSpecPersistentDiskSpecArgs.builder()
                        .diskType("pd-standard")
                        .diskSizeGb("200")
                        .build())
                    .build())
                .workbenchRuntime(NotebookExecutionWorkbenchRuntimeArgs.builder()
                    .vmImage(NotebookExecutionWorkbenchRuntimeVmImageArgs.builder()
                        .project("cloud-notebooks-managed")
                        .family("workbench-instances")
                        .build())
                    .build())
                .gcsOutputUri(outputBucket.name().applyValue(_name -> String.format("gs://%s", _name)))
                .serviceAccount("my@service-account.com")
                .build(), CustomResourceOptions.builder()
                    .dependsOn(outputBucket)
                    .build());
    
        }
    }
    
    resources:
      outputBucket:
        type: gcp:storage:Bucket
        name: output_bucket
        properties:
          name: my_bucket
          location: US
          forceDestroy: true
          uniformBucketLevelAccess: true
      notebook-execution:
        type: gcp:colab:NotebookExecution
        properties:
          displayName: Notebook execution workbench runtime vm
          location: us-central1
          directNotebookSource:
            content:
              fn::invoke:
                function: std:base64encode
                arguments:
                  input: |2
                        {
                          \"cells\": [
                            {
                              \"cell_type\": \"code\",
                              \"execution_count\": null,
                              \"metadata\": {},
                              \"outputs\": [],
                              \"source\": [
                                \"print(\\\"Hello, World!\\\")\"
                              ]
                            }
                          ],
                          \"metadata\": {
                            \"kernelspec\": {
                              \"display_name\": \"Python 3\",
                              \"language\": \"python\",
                              \"name\": \"python3\"
                            },
                            \"language_info\": {
                              \"codemirror_mode\": {
                                \"name\": \"ipython\",
                                \"version\": 3
                              },
                              \"file_extension\": \".py\",
                              \"mimetype\": \"text/x-python\",
                              \"name\": \"python\",
                              \"nbconvert_exporter\": \"python\",
                              \"pygments_lexer\": \"ipython3\",
                              \"version\": \"3.8.5\"
                            }
                          },
                          \"nbformat\": 4,
                          \"nbformat_minor\": 4
                        }
                return: result
          customEnvironmentSpec:
            machineSpec:
              machineType: n1-standard-2
            persistentDiskSpec:
              diskType: pd-standard
              diskSizeGb: 200
          workbenchRuntime:
            vmImage:
              project: cloud-notebooks-managed
              family: workbench-instances
          gcsOutputUri: gs://${outputBucket.name}
          serviceAccount: my@service-account.com
        options:
          dependsOn:
            - ${outputBucket}
    
    pulumi {
      required_providers {
        gcp = {
          source = "pulumi/gcp"
        }
        std = {
          source = "pulumi/std"
        }
      }
    }
    
    resource "gcp_storage_bucket" "output_bucket" {
      name                        = "my_bucket"
      location                    = "US"
      force_destroy               = true
      uniform_bucket_level_access = true
    }
    resource "gcp_colab_notebookexecution" "notebook-execution" {
      depends_on   = [gcp_storage_bucket.output_bucket]
      display_name = "Notebook execution workbench runtime vm"
      location     = "us-central1"
      direct_notebook_source = {
        content = base64encode("    {\n      \\\"cells\\\": [\n        {\n          \\\"cell_type\\\": \\\"code\\\",\n          \\\"execution_count\\\": null,\n          \\\"metadata\\\": {},\n          \\\"outputs\\\": [],\n          \\\"source\\\": [\n            \\\"print(\\\\\\\"Hello, World!\\\\\\\")\\\"\n          ]\n        }\n      ],\n      \\\"metadata\\\": {\n        \\\"kernelspec\\\": {\n          \\\"display_name\\\": \\\"Python 3\\\",\n          \\\"language\\\": \\\"python\\\",\n          \\\"name\\\": \\\"python3\\\"\n        },\n        \\\"language_info\\\": {\n          \\\"codemirror_mode\\\": {\n            \\\"name\\\": \\\"ipython\\\",\n            \\\"version\\\": 3\n          },\n          \\\"file_extension\\\": \\\".py\\\",\n          \\\"mimetype\\\": \\\"text/x-python\\\",\n          \\\"name\\\": \\\"python\\\",\n          \\\"nbconvert_exporter\\\": \\\"python\\\",\n          \\\"pygments_lexer\\\": \\\"ipython3\\\",\n          \\\"version\\\": \\\"3.8.5\\\"\n        }\n      },\n      \\\"nbformat\\\": 4,\n      \\\"nbformat_minor\\\": 4\n    }\n")
      }
      custom_environment_spec = {
        machine_spec = {
          machine_type = "n1-standard-2"
        }
        persistent_disk_spec = {
          disk_type    = "pd-standard"
          disk_size_gb = 200
        }
      }
      workbench_runtime = {
        vm_image = {
          project = "cloud-notebooks-managed"
          family  = "workbench-instances"
        }
      }
      gcs_output_uri  ="gs://${gcp_storage_bucket.output_bucket.name}"
      service_account = "my@service-account.com"
    }
    

    Colab Notebook Execution Workbench Runtime Vm Name

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    import * as std from "@pulumi/std";
    
    const outputBucket = new gcp.storage.Bucket("output_bucket", {
        name: "my_bucket",
        location: "US",
        forceDestroy: true,
        uniformBucketLevelAccess: true,
    });
    const notebook_execution = new gcp.colab.NotebookExecution("notebook-execution", {
        displayName: "Notebook execution workbench runtime vm name",
        location: "us-central1",
        directNotebookSource: {
            content: std.base64encode({
                input: `    {
          \\"cells\\": [
            {
              \\"cell_type\\": \\"code\\",
              \\"execution_count\\": null,
              \\"metadata\\": {},
              \\"outputs\\": [],
              \\"source\\": [
                \\"print(\\\\\\"Hello, World!\\\\\\")\\"
              ]
            }
          ],
          \\"metadata\\": {
            \\"kernelspec\\": {
              \\"display_name\\": \\"Python 3\\",
              \\"language\\": \\"python\\",
              \\"name\\": \\"python3\\"
            },
            \\"language_info\\": {
              \\"codemirror_mode\\": {
                \\"name\\": \\"ipython\\",
                \\"version\\": 3
              },
              \\"file_extension\\": \\".py\\",
              \\"mimetype\\": \\"text/x-python\\",
              \\"name\\": \\"python\\",
              \\"nbconvert_exporter\\": \\"python\\",
              \\"pygments_lexer\\": \\"ipython3\\",
              \\"version\\": \\"3.8.5\\"
            }
          },
          \\"nbformat\\": 4,
          \\"nbformat_minor\\": 4
        }
    `,
            }).then(invoke => invoke.result),
        },
        customEnvironmentSpec: {
            machineSpec: {
                machineType: "n1-standard-2",
            },
            persistentDiskSpec: {
                diskType: "pd-standard",
                diskSizeGb: "200",
            },
        },
        workbenchRuntime: {
            vmImage: {
                project: "cloud-notebooks-managed",
                name: "workbench-instances-v20260713",
            },
        },
        gcsOutputUri: pulumi.interpolate`gs://${outputBucket.name}`,
        serviceAccount: "my@service-account.com",
    }, {
        dependsOn: [outputBucket],
    });
    
    import pulumi
    import pulumi_gcp as gcp
    import pulumi_std as std
    
    output_bucket = gcp.storage.Bucket("output_bucket",
        name="my_bucket",
        location="US",
        force_destroy=True,
        uniform_bucket_level_access=True)
    notebook_execution = gcp.colab.NotebookExecution("notebook-execution",
        display_name="Notebook execution workbench runtime vm name",
        location="us-central1",
        direct_notebook_source={
            "content": std.base64encode(input="""    {
          \"cells\": [
            {
              \"cell_type\": \"code\",
              \"execution_count\": null,
              \"metadata\": {},
              \"outputs\": [],
              \"source\": [
                \"print(\\\"Hello, World!\\\")\"
              ]
            }
          ],
          \"metadata\": {
            \"kernelspec\": {
              \"display_name\": \"Python 3\",
              \"language\": \"python\",
              \"name\": \"python3\"
            },
            \"language_info\": {
              \"codemirror_mode\": {
                \"name\": \"ipython\",
                \"version\": 3
              },
              \"file_extension\": \".py\",
              \"mimetype\": \"text/x-python\",
              \"name\": \"python\",
              \"nbconvert_exporter\": \"python\",
              \"pygments_lexer\": \"ipython3\",
              \"version\": \"3.8.5\"
            }
          },
          \"nbformat\": 4,
          \"nbformat_minor\": 4
        }
    """).result,
        },
        custom_environment_spec={
            "machine_spec": {
                "machine_type": "n1-standard-2",
            },
            "persistent_disk_spec": {
                "disk_type": "pd-standard",
                "disk_size_gb": "200",
            },
        },
        workbench_runtime={
            "vm_image": {
                "project": "cloud-notebooks-managed",
                "name": "workbench-instances-v20260713",
            },
        },
        gcs_output_uri=output_bucket.name.apply(lambda name: f"gs://{name}"),
        service_account="my@service-account.com",
        opts = pulumi.ResourceOptions(depends_on=[output_bucket]))
    
    package main
    
    import (
    	"fmt"
    
    	"github.com/pulumi/pulumi-gcp/sdk/v9/go/gcp/colab"
    	"github.com/pulumi/pulumi-gcp/sdk/v9/go/gcp/storage"
    	"github.com/pulumi/pulumi-std/sdk/go/std"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		outputBucket, err := storage.NewBucket(ctx, "output_bucket", &storage.BucketArgs{
    			Name:                     pulumi.String("my_bucket"),
    			Location:                 pulumi.String("US"),
    			ForceDestroy:             pulumi.Bool(true),
    			UniformBucketLevelAccess: pulumi.Bool(true),
    		})
    		if err != nil {
    			return err
    		}
    		invokeBase64encode, err := std.Base64encode(ctx, &std.Base64encodeArgs{
    			Input: `    {
          \"cells\": [
            {
              \"cell_type\": \"code\",
              \"execution_count\": null,
              \"metadata\": {},
              \"outputs\": [],
              \"source\": [
                \"print(\\\"Hello, World!\\\")\"
              ]
            }
          ],
          \"metadata\": {
            \"kernelspec\": {
              \"display_name\": \"Python 3\",
              \"language\": \"python\",
              \"name\": \"python3\"
            },
            \"language_info\": {
              \"codemirror_mode\": {
                \"name\": \"ipython\",
                \"version\": 3
              },
              \"file_extension\": \".py\",
              \"mimetype\": \"text/x-python\",
              \"name\": \"python\",
              \"nbconvert_exporter\": \"python\",
              \"pygments_lexer\": \"ipython3\",
              \"version\": \"3.8.5\"
            }
          },
          \"nbformat\": 4,
          \"nbformat_minor\": 4
        }
    `,
    		}, nil)
    		if err != nil {
    			return err
    		}
    		_, err = colab.NewNotebookExecution(ctx, "notebook-execution", &colab.NotebookExecutionArgs{
    			DisplayName: pulumi.String("Notebook execution workbench runtime vm name"),
    			Location:    pulumi.String("us-central1"),
    			DirectNotebookSource: &colab.NotebookExecutionDirectNotebookSourceArgs{
    				Content: pulumi.String(invokeBase64encode.Result),
    			},
    			CustomEnvironmentSpec: &colab.NotebookExecutionCustomEnvironmentSpecArgs{
    				MachineSpec: &colab.NotebookExecutionCustomEnvironmentSpecMachineSpecArgs{
    					MachineType: pulumi.String("n1-standard-2"),
    				},
    				PersistentDiskSpec: &colab.NotebookExecutionCustomEnvironmentSpecPersistentDiskSpecArgs{
    					DiskType:   pulumi.String("pd-standard"),
    					DiskSizeGb: pulumi.String("200"),
    				},
    			},
    			WorkbenchRuntime: &colab.NotebookExecutionWorkbenchRuntimeArgs{
    				VmImage: &colab.NotebookExecutionWorkbenchRuntimeVmImageArgs{
    					Project: pulumi.String("cloud-notebooks-managed"),
    					Name:    pulumi.String("workbench-instances-v20260713"),
    				},
    			},
    			GcsOutputUri: outputBucket.Name.ApplyT(func(name string) (string, error) {
    				return fmt.Sprintf("gs://%v", name), nil
    			}).(pulumi.StringOutput),
    			ServiceAccount: pulumi.String("my@service-account.com"),
    		}, pulumi.DependsOn([]pulumi.Resource{
    			outputBucket,
    		}))
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    using Std = Pulumi.Std;
    
    return await Deployment.RunAsync(() => 
    {
        var outputBucket = new Gcp.Storage.Bucket("output_bucket", new()
        {
            Name = "my_bucket",
            Location = "US",
            ForceDestroy = true,
            UniformBucketLevelAccess = true,
        });
    
        var notebook_execution = new Gcp.Colab.NotebookExecution("notebook-execution", new()
        {
            DisplayName = "Notebook execution workbench runtime vm name",
            Location = "us-central1",
            DirectNotebookSource = new Gcp.Colab.Inputs.NotebookExecutionDirectNotebookSourceArgs
            {
                Content = Std.Base64encode.Invoke(new()
                {
                    Input = @"    {
          \""cells\"": [
            {
              \""cell_type\"": \""code\"",
              \""execution_count\"": null,
              \""metadata\"": {},
              \""outputs\"": [],
              \""source\"": [
                \""print(\\\""Hello, World!\\\"")\""
              ]
            }
          ],
          \""metadata\"": {
            \""kernelspec\"": {
              \""display_name\"": \""Python 3\"",
              \""language\"": \""python\"",
              \""name\"": \""python3\""
            },
            \""language_info\"": {
              \""codemirror_mode\"": {
                \""name\"": \""ipython\"",
                \""version\"": 3
              },
              \""file_extension\"": \"".py\"",
              \""mimetype\"": \""text/x-python\"",
              \""name\"": \""python\"",
              \""nbconvert_exporter\"": \""python\"",
              \""pygments_lexer\"": \""ipython3\"",
              \""version\"": \""3.8.5\""
            }
          },
          \""nbformat\"": 4,
          \""nbformat_minor\"": 4
        }
    ",
                }).Apply(invoke => invoke.Result),
            },
            CustomEnvironmentSpec = new Gcp.Colab.Inputs.NotebookExecutionCustomEnvironmentSpecArgs
            {
                MachineSpec = new Gcp.Colab.Inputs.NotebookExecutionCustomEnvironmentSpecMachineSpecArgs
                {
                    MachineType = "n1-standard-2",
                },
                PersistentDiskSpec = new Gcp.Colab.Inputs.NotebookExecutionCustomEnvironmentSpecPersistentDiskSpecArgs
                {
                    DiskType = "pd-standard",
                    DiskSizeGb = "200",
                },
            },
            WorkbenchRuntime = new Gcp.Colab.Inputs.NotebookExecutionWorkbenchRuntimeArgs
            {
                VmImage = new Gcp.Colab.Inputs.NotebookExecutionWorkbenchRuntimeVmImageArgs
                {
                    Project = "cloud-notebooks-managed",
                    Name = "workbench-instances-v20260713",
                },
            },
            GcsOutputUri = outputBucket.Name.Apply(name => $"gs://{name}"),
            ServiceAccount = "my@service-account.com",
        }, new CustomResourceOptions
        {
            DependsOn =
            {
                outputBucket,
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.storage.Bucket;
    import com.pulumi.gcp.storage.BucketArgs;
    import com.pulumi.gcp.colab.NotebookExecution;
    import com.pulumi.gcp.colab.NotebookExecutionArgs;
    import com.pulumi.gcp.colab.inputs.NotebookExecutionDirectNotebookSourceArgs;
    import com.pulumi.gcp.colab.inputs.NotebookExecutionCustomEnvironmentSpecArgs;
    import com.pulumi.gcp.colab.inputs.NotebookExecutionCustomEnvironmentSpecMachineSpecArgs;
    import com.pulumi.gcp.colab.inputs.NotebookExecutionCustomEnvironmentSpecPersistentDiskSpecArgs;
    import com.pulumi.gcp.colab.inputs.NotebookExecutionWorkbenchRuntimeArgs;
    import com.pulumi.gcp.colab.inputs.NotebookExecutionWorkbenchRuntimeVmImageArgs;
    import com.pulumi.std.StdFunctions;
    import com.pulumi.std.inputs.Base64encodeArgs;
    import com.pulumi.resources.CustomResourceOptions;
    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var outputBucket = new Bucket("outputBucket", BucketArgs.builder()
                .name("my_bucket")
                .location("US")
                .forceDestroy(true)
                .uniformBucketLevelAccess(true)
                .build());
    
            var notebook_execution = new NotebookExecution("notebook-execution", NotebookExecutionArgs.builder()
                .displayName("Notebook execution workbench runtime vm name")
                .location("us-central1")
                .directNotebookSource(NotebookExecutionDirectNotebookSourceArgs.builder()
                    .content(StdFunctions.base64encode(Base64encodeArgs.builder()
                        .input("""
        {
          \"cells\": [
            {
              \"cell_type\": \"code\",
              \"execution_count\": null,
              \"metadata\": {},
              \"outputs\": [],
              \"source\": [
                \"print(\\\"Hello, World!\\\")\"
              ]
            }
          ],
          \"metadata\": {
            \"kernelspec\": {
              \"display_name\": \"Python 3\",
              \"language\": \"python\",
              \"name\": \"python3\"
            },
            \"language_info\": {
              \"codemirror_mode\": {
                \"name\": \"ipython\",
                \"version\": 3
              },
              \"file_extension\": \".py\",
              \"mimetype\": \"text/x-python\",
              \"name\": \"python\",
              \"nbconvert_exporter\": \"python\",
              \"pygments_lexer\": \"ipython3\",
              \"version\": \"3.8.5\"
            }
          },
          \"nbformat\": 4,
          \"nbformat_minor\": 4
        }
                        """)
                        .build()).result())
                    .build())
                .customEnvironmentSpec(NotebookExecutionCustomEnvironmentSpecArgs.builder()
                    .machineSpec(NotebookExecutionCustomEnvironmentSpecMachineSpecArgs.builder()
                        .machineType("n1-standard-2")
                        .build())
                    .persistentDiskSpec(NotebookExecutionCustomEnvironmentSpecPersistentDiskSpecArgs.builder()
                        .diskType("pd-standard")
                        .diskSizeGb("200")
                        .build())
                    .build())
                .workbenchRuntime(NotebookExecutionWorkbenchRuntimeArgs.builder()
                    .vmImage(NotebookExecutionWorkbenchRuntimeVmImageArgs.builder()
                        .project("cloud-notebooks-managed")
                        .name("workbench-instances-v20260713")
                        .build())
                    .build())
                .gcsOutputUri(outputBucket.name().applyValue(_name -> String.format("gs://%s", _name)))
                .serviceAccount("my@service-account.com")
                .build(), CustomResourceOptions.builder()
                    .dependsOn(outputBucket)
                    .build());
    
        }
    }
    
    resources:
      outputBucket:
        type: gcp:storage:Bucket
        name: output_bucket
        properties:
          name: my_bucket
          location: US
          forceDestroy: true
          uniformBucketLevelAccess: true
      notebook-execution:
        type: gcp:colab:NotebookExecution
        properties:
          displayName: Notebook execution workbench runtime vm name
          location: us-central1
          directNotebookSource:
            content:
              fn::invoke:
                function: std:base64encode
                arguments:
                  input: |2
                        {
                          \"cells\": [
                            {
                              \"cell_type\": \"code\",
                              \"execution_count\": null,
                              \"metadata\": {},
                              \"outputs\": [],
                              \"source\": [
                                \"print(\\\"Hello, World!\\\")\"
                              ]
                            }
                          ],
                          \"metadata\": {
                            \"kernelspec\": {
                              \"display_name\": \"Python 3\",
                              \"language\": \"python\",
                              \"name\": \"python3\"
                            },
                            \"language_info\": {
                              \"codemirror_mode\": {
                                \"name\": \"ipython\",
                                \"version\": 3
                              },
                              \"file_extension\": \".py\",
                              \"mimetype\": \"text/x-python\",
                              \"name\": \"python\",
                              \"nbconvert_exporter\": \"python\",
                              \"pygments_lexer\": \"ipython3\",
                              \"version\": \"3.8.5\"
                            }
                          },
                          \"nbformat\": 4,
                          \"nbformat_minor\": 4
                        }
                return: result
          customEnvironmentSpec:
            machineSpec:
              machineType: n1-standard-2
            persistentDiskSpec:
              diskType: pd-standard
              diskSizeGb: 200
          workbenchRuntime:
            vmImage:
              project: cloud-notebooks-managed
              name: workbench-instances-v20260713
          gcsOutputUri: gs://${outputBucket.name}
          serviceAccount: my@service-account.com
        options:
          dependsOn:
            - ${outputBucket}
    
    pulumi {
      required_providers {
        gcp = {
          source = "pulumi/gcp"
        }
        std = {
          source = "pulumi/std"
        }
      }
    }
    
    resource "gcp_storage_bucket" "output_bucket" {
      name                        = "my_bucket"
      location                    = "US"
      force_destroy               = true
      uniform_bucket_level_access = true
    }
    resource "gcp_colab_notebookexecution" "notebook-execution" {
      depends_on   = [gcp_storage_bucket.output_bucket]
      display_name = "Notebook execution workbench runtime vm name"
      location     = "us-central1"
      direct_notebook_source = {
        content = base64encode("    {\n      \\\"cells\\\": [\n        {\n          \\\"cell_type\\\": \\\"code\\\",\n          \\\"execution_count\\\": null,\n          \\\"metadata\\\": {},\n          \\\"outputs\\\": [],\n          \\\"source\\\": [\n            \\\"print(\\\\\\\"Hello, World!\\\\\\\")\\\"\n          ]\n        }\n      ],\n      \\\"metadata\\\": {\n        \\\"kernelspec\\\": {\n          \\\"display_name\\\": \\\"Python 3\\\",\n          \\\"language\\\": \\\"python\\\",\n          \\\"name\\\": \\\"python3\\\"\n        },\n        \\\"language_info\\\": {\n          \\\"codemirror_mode\\\": {\n            \\\"name\\\": \\\"ipython\\\",\n            \\\"version\\\": 3\n          },\n          \\\"file_extension\\\": \\\".py\\\",\n          \\\"mimetype\\\": \\\"text/x-python\\\",\n          \\\"name\\\": \\\"python\\\",\n          \\\"nbconvert_exporter\\\": \\\"python\\\",\n          \\\"pygments_lexer\\\": \\\"ipython3\\\",\n          \\\"version\\\": \\\"3.8.5\\\"\n        }\n      },\n      \\\"nbformat\\\": 4,\n      \\\"nbformat_minor\\\": 4\n    }\n")
      }
      custom_environment_spec = {
        machine_spec = {
          machine_type = "n1-standard-2"
        }
        persistent_disk_spec = {
          disk_type    = "pd-standard"
          disk_size_gb = 200
        }
      }
      workbench_runtime = {
        vm_image = {
          project = "cloud-notebooks-managed"
          name    = "workbench-instances-v20260713"
        }
      }
      gcs_output_uri  ="gs://${gcp_storage_bucket.output_bucket.name}"
      service_account = "my@service-account.com"
    }
    

    Colab Notebook Execution Full

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const myRuntimeTemplate = new gcp.colab.RuntimeTemplate("my_runtime_template", {
        name: "runtime-template-name",
        displayName: "Runtime template",
        location: "us-central1",
        machineSpec: {
            machineType: "e2-standard-4",
        },
        networkSpec: {
            enableInternetAccess: true,
        },
    });
    const outputBucket = new gcp.storage.Bucket("output_bucket", {
        name: "my_bucket",
        location: "US",
        forceDestroy: true,
        uniformBucketLevelAccess: true,
    });
    const notebook = new gcp.storage.BucketObject("notebook", {
        name: "hello_world.ipynb",
        bucket: outputBucket.name,
        content: `    {
          \\"cells\\": [
            {
              \\"cell_type\\": \\"code\\",
              \\"execution_count\\": null,
              \\"metadata\\": {},
              \\"outputs\\": [],
              \\"source\\": [
                \\"print(\\\\\\"Hello, World!\\\\\\")\\"
              ]
            }
          ],
          \\"metadata\\": {
            \\"kernelspec\\": {
              \\"display_name\\": \\"Python 3\\",
              \\"language\\": \\"python\\",
              \\"name\\": \\"python3\\"
            },
            \\"language_info\\": {
              \\"codemirror_mode\\": {
                \\"name\\": \\"ipython\\",
                \\"version\\": 3
              },
              \\"file_extension\\": \\".py\\",
              \\"mimetype\\": \\"text/x-python\\",
              \\"name\\": \\"python\\",
              \\"nbconvert_exporter\\": \\"python\\",
              \\"pygments_lexer\\": \\"ipython3\\",
              \\"version\\": \\"3.8.5\\"
            }
          },
          \\"nbformat\\": 4,
          \\"nbformat_minor\\": 4
        }
    `,
    });
    const notebook_execution = new gcp.colab.NotebookExecution("notebook-execution", {
        notebookExecutionJobId: "colab-notebook-execution",
        displayName: "Notebook execution full",
        location: "us-central1",
        executionTimeout: "86400s",
        gcsNotebookSource: {
            uri: pulumi.interpolate`gs://${notebook.bucket}/${notebook.name}`,
            generation: notebook.generation.apply(x =>String(x)),
        },
        serviceAccount: "my@service-account.com",
        gcsOutputUri: pulumi.interpolate`gs://${outputBucket.name}`,
        notebookRuntimeTemplateResourceName: pulumi.interpolate`projects/${myRuntimeTemplate.project}/locations/${myRuntimeTemplate.location}/notebookRuntimeTemplates/${myRuntimeTemplate.name}`,
    }, {
        dependsOn: [
            notebook,
            outputBucket,
            myRuntimeTemplate,
        ],
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    my_runtime_template = gcp.colab.RuntimeTemplate("my_runtime_template",
        name="runtime-template-name",
        display_name="Runtime template",
        location="us-central1",
        machine_spec={
            "machine_type": "e2-standard-4",
        },
        network_spec={
            "enable_internet_access": True,
        })
    output_bucket = gcp.storage.Bucket("output_bucket",
        name="my_bucket",
        location="US",
        force_destroy=True,
        uniform_bucket_level_access=True)
    notebook = gcp.storage.BucketObject("notebook",
        name="hello_world.ipynb",
        bucket=output_bucket.name,
        content="""    {
          \"cells\": [
            {
              \"cell_type\": \"code\",
              \"execution_count\": null,
              \"metadata\": {},
              \"outputs\": [],
              \"source\": [
                \"print(\\\"Hello, World!\\\")\"
              ]
            }
          ],
          \"metadata\": {
            \"kernelspec\": {
              \"display_name\": \"Python 3\",
              \"language\": \"python\",
              \"name\": \"python3\"
            },
            \"language_info\": {
              \"codemirror_mode\": {
                \"name\": \"ipython\",
                \"version\": 3
              },
              \"file_extension\": \".py\",
              \"mimetype\": \"text/x-python\",
              \"name\": \"python\",
              \"nbconvert_exporter\": \"python\",
              \"pygments_lexer\": \"ipython3\",
              \"version\": \"3.8.5\"
            }
          },
          \"nbformat\": 4,
          \"nbformat_minor\": 4
        }
    """)
    notebook_execution = gcp.colab.NotebookExecution("notebook-execution",
        notebook_execution_job_id="colab-notebook-execution",
        display_name="Notebook execution full",
        location="us-central1",
        execution_timeout="86400s",
        gcs_notebook_source={
            "uri": pulumi.Output.all(
                bucket=notebook.bucket,
                name=notebook.name
    ).apply(lambda resolved_outputs: f"gs://{resolved_outputs['bucket']}/{resolved_outputs['name']}")
    ,
            "generation": notebook.generation.apply(lambda x: str(x)),
        },
        service_account="my@service-account.com",
        gcs_output_uri=output_bucket.name.apply(lambda name: f"gs://{name}"),
        notebook_runtime_template_resource_name=pulumi.Output.all(
            project=my_runtime_template.project,
            location=my_runtime_template.location,
            name=my_runtime_template.name
    ).apply(lambda resolved_outputs: f"projects/{resolved_outputs['project']}/locations/{resolved_outputs['location']}/notebookRuntimeTemplates/{resolved_outputs['name']}")
    ,
        opts = pulumi.ResourceOptions(depends_on=[
                notebook,
                output_bucket,
                my_runtime_template,
            ]))
    
    package main
    
    import (
    	"fmt"
    
    	"github.com/pulumi/pulumi-gcp/sdk/v9/go/gcp/colab"
    	"github.com/pulumi/pulumi-gcp/sdk/v9/go/gcp/storage"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		myRuntimeTemplate, err := colab.NewRuntimeTemplate(ctx, "my_runtime_template", &colab.RuntimeTemplateArgs{
    			Name:        pulumi.String("runtime-template-name"),
    			DisplayName: pulumi.String("Runtime template"),
    			Location:    pulumi.String("us-central1"),
    			MachineSpec: &colab.RuntimeTemplateMachineSpecArgs{
    				MachineType: pulumi.String("e2-standard-4"),
    			},
    			NetworkSpec: &colab.RuntimeTemplateNetworkSpecArgs{
    				EnableInternetAccess: pulumi.Bool(true),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		outputBucket, err := storage.NewBucket(ctx, "output_bucket", &storage.BucketArgs{
    			Name:                     pulumi.String("my_bucket"),
    			Location:                 pulumi.String("US"),
    			ForceDestroy:             pulumi.Bool(true),
    			UniformBucketLevelAccess: pulumi.Bool(true),
    		})
    		if err != nil {
    			return err
    		}
    		notebook, err := storage.NewBucketObject(ctx, "notebook", &storage.BucketObjectArgs{
    			Name:   pulumi.String("hello_world.ipynb"),
    			Bucket: outputBucket.Name,
    			Content: pulumi.String(`    {
          \"cells\": [
            {
              \"cell_type\": \"code\",
              \"execution_count\": null,
              \"metadata\": {},
              \"outputs\": [],
              \"source\": [
                \"print(\\\"Hello, World!\\\")\"
              ]
            }
          ],
          \"metadata\": {
            \"kernelspec\": {
              \"display_name\": \"Python 3\",
              \"language\": \"python\",
              \"name\": \"python3\"
            },
            \"language_info\": {
              \"codemirror_mode\": {
                \"name\": \"ipython\",
                \"version\": 3
              },
              \"file_extension\": \".py\",
              \"mimetype\": \"text/x-python\",
              \"name\": \"python\",
              \"nbconvert_exporter\": \"python\",
              \"pygments_lexer\": \"ipython3\",
              \"version\": \"3.8.5\"
            }
          },
          \"nbformat\": 4,
          \"nbformat_minor\": 4
        }
    `),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = colab.NewNotebookExecution(ctx, "notebook-execution", &colab.NotebookExecutionArgs{
    			NotebookExecutionJobId: pulumi.String("colab-notebook-execution"),
    			DisplayName:            pulumi.String("Notebook execution full"),
    			Location:               pulumi.String("us-central1"),
    			ExecutionTimeout:       pulumi.String("86400s"),
    			GcsNotebookSource: &colab.NotebookExecutionGcsNotebookSourceArgs{
    				Uri: pulumi.All(notebook.Bucket, notebook.Name).ApplyT(func(_args []interface{}) (string, error) {
    					bucket := _args[0].(string)
    					name := _args[1].(string)
    					return fmt.Sprintf("gs://%v/%v", bucket, name), nil
    				}).(pulumi.StringOutput),
    				Generation: notebook.Generation,
    			},
    			ServiceAccount: pulumi.String("my@service-account.com"),
    			GcsOutputUri: outputBucket.Name.ApplyT(func(name string) (string, error) {
    				return fmt.Sprintf("gs://%v", name), nil
    			}).(pulumi.StringOutput),
    			NotebookRuntimeTemplateResourceName: pulumi.All(myRuntimeTemplate.Project, myRuntimeTemplate.Location, myRuntimeTemplate.Name).ApplyT(func(_args []interface{}) (string, error) {
    				project := _args[0].(string)
    				location := _args[1].(string)
    				name := _args[2].(string)
    				return fmt.Sprintf("projects/%v/locations/%v/notebookRuntimeTemplates/%v", project, location, name), nil
    			}).(pulumi.StringOutput),
    		}, pulumi.DependsOn([]pulumi.Resource{
    			notebook,
    			outputBucket,
    			myRuntimeTemplate,
    		}))
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var myRuntimeTemplate = new Gcp.Colab.RuntimeTemplate("my_runtime_template", new()
        {
            Name = "runtime-template-name",
            DisplayName = "Runtime template",
            Location = "us-central1",
            MachineSpec = new Gcp.Colab.Inputs.RuntimeTemplateMachineSpecArgs
            {
                MachineType = "e2-standard-4",
            },
            NetworkSpec = new Gcp.Colab.Inputs.RuntimeTemplateNetworkSpecArgs
            {
                EnableInternetAccess = true,
            },
        });
    
        var outputBucket = new Gcp.Storage.Bucket("output_bucket", new()
        {
            Name = "my_bucket",
            Location = "US",
            ForceDestroy = true,
            UniformBucketLevelAccess = true,
        });
    
        var notebook = new Gcp.Storage.BucketObject("notebook", new()
        {
            Name = "hello_world.ipynb",
            Bucket = outputBucket.Name,
            Content = @"    {
          \""cells\"": [
            {
              \""cell_type\"": \""code\"",
              \""execution_count\"": null,
              \""metadata\"": {},
              \""outputs\"": [],
              \""source\"": [
                \""print(\\\""Hello, World!\\\"")\""
              ]
            }
          ],
          \""metadata\"": {
            \""kernelspec\"": {
              \""display_name\"": \""Python 3\"",
              \""language\"": \""python\"",
              \""name\"": \""python3\""
            },
            \""language_info\"": {
              \""codemirror_mode\"": {
                \""name\"": \""ipython\"",
                \""version\"": 3
              },
              \""file_extension\"": \"".py\"",
              \""mimetype\"": \""text/x-python\"",
              \""name\"": \""python\"",
              \""nbconvert_exporter\"": \""python\"",
              \""pygments_lexer\"": \""ipython3\"",
              \""version\"": \""3.8.5\""
            }
          },
          \""nbformat\"": 4,
          \""nbformat_minor\"": 4
        }
    ",
        });
    
        var notebook_execution = new Gcp.Colab.NotebookExecution("notebook-execution", new()
        {
            NotebookExecutionJobId = "colab-notebook-execution",
            DisplayName = "Notebook execution full",
            Location = "us-central1",
            ExecutionTimeout = "86400s",
            GcsNotebookSource = new Gcp.Colab.Inputs.NotebookExecutionGcsNotebookSourceArgs
            {
                Uri = Output.Tuple(notebook.Bucket, notebook.Name).Apply(values =>
                {
                    var bucket = values.Item1;
                    var name = values.Item2;
                    return $"gs://{bucket}/{name}";
                }),
                Generation = notebook.Generation.Apply(x => x.ToString(System.Globalization.CultureInfo.InvariantCulture)),
            },
            ServiceAccount = "my@service-account.com",
            GcsOutputUri = outputBucket.Name.Apply(name => $"gs://{name}"),
            NotebookRuntimeTemplateResourceName = Output.Tuple(myRuntimeTemplate.Project, myRuntimeTemplate.Location, myRuntimeTemplate.Name).Apply(values =>
            {
                var project = values.Item1;
                var location = values.Item2;
                var name = values.Item3;
                return $"projects/{project}/locations/{location}/notebookRuntimeTemplates/{name}";
            }),
        }, new CustomResourceOptions
        {
            DependsOn =
            {
                notebook,
                outputBucket,
                myRuntimeTemplate,
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.colab.RuntimeTemplate;
    import com.pulumi.gcp.colab.RuntimeTemplateArgs;
    import com.pulumi.gcp.colab.inputs.RuntimeTemplateMachineSpecArgs;
    import com.pulumi.gcp.colab.inputs.RuntimeTemplateNetworkSpecArgs;
    import com.pulumi.gcp.storage.Bucket;
    import com.pulumi.gcp.storage.BucketArgs;
    import com.pulumi.gcp.storage.BucketObject;
    import com.pulumi.gcp.storage.BucketObjectArgs;
    import com.pulumi.gcp.colab.NotebookExecution;
    import com.pulumi.gcp.colab.NotebookExecutionArgs;
    import com.pulumi.gcp.colab.inputs.NotebookExecutionGcsNotebookSourceArgs;
    import com.pulumi.resources.CustomResourceOptions;
    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var myRuntimeTemplate = new RuntimeTemplate("myRuntimeTemplate", RuntimeTemplateArgs.builder()
                .name("runtime-template-name")
                .displayName("Runtime template")
                .location("us-central1")
                .machineSpec(RuntimeTemplateMachineSpecArgs.builder()
                    .machineType("e2-standard-4")
                    .build())
                .networkSpec(RuntimeTemplateNetworkSpecArgs.builder()
                    .enableInternetAccess(true)
                    .build())
                .build());
    
            var outputBucket = new Bucket("outputBucket", BucketArgs.builder()
                .name("my_bucket")
                .location("US")
                .forceDestroy(true)
                .uniformBucketLevelAccess(true)
                .build());
    
            var notebook = new BucketObject("notebook", BucketObjectArgs.builder()
                .name("hello_world.ipynb")
                .bucket(outputBucket.name())
                .content("""
        {
          \"cells\": [
            {
              \"cell_type\": \"code\",
              \"execution_count\": null,
              \"metadata\": {},
              \"outputs\": [],
              \"source\": [
                \"print(\\\"Hello, World!\\\")\"
              ]
            }
          ],
          \"metadata\": {
            \"kernelspec\": {
              \"display_name\": \"Python 3\",
              \"language\": \"python\",
              \"name\": \"python3\"
            },
            \"language_info\": {
              \"codemirror_mode\": {
                \"name\": \"ipython\",
                \"version\": 3
              },
              \"file_extension\": \".py\",
              \"mimetype\": \"text/x-python\",
              \"name\": \"python\",
              \"nbconvert_exporter\": \"python\",
              \"pygments_lexer\": \"ipython3\",
              \"version\": \"3.8.5\"
            }
          },
          \"nbformat\": 4,
          \"nbformat_minor\": 4
        }
                """)
                .build());
    
            var notebook_execution = new NotebookExecution("notebook-execution", NotebookExecutionArgs.builder()
                .notebookExecutionJobId("colab-notebook-execution")
                .displayName("Notebook execution full")
                .location("us-central1")
                .executionTimeout("86400s")
                .gcsNotebookSource(NotebookExecutionGcsNotebookSourceArgs.builder()
                    .uri(Output.tuple(notebook.bucket(), notebook.name()).applyValue(values -> {
                        var bucket = values.t1;
                        var name = values.t2;
                        return String.format("gs://%s/%s", bucket,name);
                    }))
                    .generation(notebook.generation())
                    .build())
                .serviceAccount("my@service-account.com")
                .gcsOutputUri(outputBucket.name().applyValue(_name -> String.format("gs://%s", _name)))
                .notebookRuntimeTemplateResourceName(Output.tuple(myRuntimeTemplate.project(), myRuntimeTemplate.location(), myRuntimeTemplate.name()).applyValue(values -> {
                    var project = values.t1;
                    var location = values.t2;
                    var name = values.t3;
                    return String.format("projects/%s/locations/%s/notebookRuntimeTemplates/%s", project,location,name);
                }))
                .build(), CustomResourceOptions.builder()
                    .dependsOn(                
                        notebook,
                        outputBucket,
                        myRuntimeTemplate)
                    .build());
    
        }
    }
    
    resources:
      myRuntimeTemplate:
        type: gcp:colab:RuntimeTemplate
        name: my_runtime_template
        properties:
          name: runtime-template-name
          displayName: Runtime template
          location: us-central1
          machineSpec:
            machineType: e2-standard-4
          networkSpec:
            enableInternetAccess: true
      outputBucket:
        type: gcp:storage:Bucket
        name: output_bucket
        properties:
          name: my_bucket
          location: US
          forceDestroy: true
          uniformBucketLevelAccess: true
      notebook:
        type: gcp:storage:BucketObject
        properties:
          name: hello_world.ipynb
          bucket: ${outputBucket.name}
          content: |2
                {
                  \"cells\": [
                    {
                      \"cell_type\": \"code\",
                      \"execution_count\": null,
                      \"metadata\": {},
                      \"outputs\": [],
                      \"source\": [
                        \"print(\\\"Hello, World!\\\")\"
                      ]
                    }
                  ],
                  \"metadata\": {
                    \"kernelspec\": {
                      \"display_name\": \"Python 3\",
                      \"language\": \"python\",
                      \"name\": \"python3\"
                    },
                    \"language_info\": {
                      \"codemirror_mode\": {
                        \"name\": \"ipython\",
                        \"version\": 3
                      },
                      \"file_extension\": \".py\",
                      \"mimetype\": \"text/x-python\",
                      \"name\": \"python\",
                      \"nbconvert_exporter\": \"python\",
                      \"pygments_lexer\": \"ipython3\",
                      \"version\": \"3.8.5\"
                    }
                  },
                  \"nbformat\": 4,
                  \"nbformat_minor\": 4
                }
      notebook-execution:
        type: gcp:colab:NotebookExecution
        properties:
          notebookExecutionJobId: colab-notebook-execution
          displayName: Notebook execution full
          location: us-central1
          executionTimeout: 86400s
          gcsNotebookSource:
            uri: gs://${notebook.bucket}/${notebook.name}
            generation: ${notebook.generation}
          serviceAccount: my@service-account.com
          gcsOutputUri: gs://${outputBucket.name}
          notebookRuntimeTemplateResourceName: projects/${myRuntimeTemplate.project}/locations/${myRuntimeTemplate.location}/notebookRuntimeTemplates/${myRuntimeTemplate.name}
        options:
          dependsOn:
            - ${notebook}
            - ${outputBucket}
            - ${myRuntimeTemplate}
    
    pulumi {
      required_providers {
        gcp = {
          source = "pulumi/gcp"
        }
      }
    }
    
    resource "gcp_colab_runtimetemplate" "my_runtime_template" {
      name         = "runtime-template-name"
      display_name = "Runtime template"
      location     = "us-central1"
      machine_spec = {
        machine_type = "e2-standard-4"
      }
      network_spec = {
        enable_internet_access = true
      }
    }
    resource "gcp_storage_bucket" "output_bucket" {
      name                        = "my_bucket"
      location                    = "US"
      force_destroy               = true
      uniform_bucket_level_access = true
    }
    resource "gcp_storage_bucketobject" "notebook" {
      name    = "hello_world.ipynb"
      bucket  = gcp_storage_bucket.output_bucket.name
      content = "    {\n      \\\"cells\\\": [\n        {\n          \\\"cell_type\\\": \\\"code\\\",\n          \\\"execution_count\\\": null,\n          \\\"metadata\\\": {},\n          \\\"outputs\\\": [],\n          \\\"source\\\": [\n            \\\"print(\\\\\\\"Hello, World!\\\\\\\")\\\"\n          ]\n        }\n      ],\n      \\\"metadata\\\": {\n        \\\"kernelspec\\\": {\n          \\\"display_name\\\": \\\"Python 3\\\",\n          \\\"language\\\": \\\"python\\\",\n          \\\"name\\\": \\\"python3\\\"\n        },\n        \\\"language_info\\\": {\n          \\\"codemirror_mode\\\": {\n            \\\"name\\\": \\\"ipython\\\",\n            \\\"version\\\": 3\n          },\n          \\\"file_extension\\\": \\\".py\\\",\n          \\\"mimetype\\\": \\\"text/x-python\\\",\n          \\\"name\\\": \\\"python\\\",\n          \\\"nbconvert_exporter\\\": \\\"python\\\",\n          \\\"pygments_lexer\\\": \\\"ipython3\\\",\n          \\\"version\\\": \\\"3.8.5\\\"\n        }\n      },\n      \\\"nbformat\\\": 4,\n      \\\"nbformat_minor\\\": 4\n    }\n"
    }
    resource "gcp_colab_notebookexecution" "notebook-execution" {
      depends_on                = [gcp_storage_bucketobject.notebook, gcp_storage_bucket.output_bucket, gcp_colab_runtimetemplate.my_runtime_template]
      notebook_execution_job_id = "colab-notebook-execution"
      display_name              = "Notebook execution full"
      location                  = "us-central1"
      execution_timeout         = "86400s"
      gcs_notebook_source = {
        uri        ="gs://${gcp_storage_bucketobject.notebook.bucket}/${gcp_storage_bucketobject.notebook.name}"
        generation = gcp_storage_bucketobject.notebook.generation
      }
      service_account                         = "my@service-account.com"
      gcs_output_uri                          ="gs://${gcp_storage_bucket.output_bucket.name}"
      notebook_runtime_template_resource_name ="projects/${gcp_colab_runtimetemplate.my_runtime_template.project}/locations/${gcp_colab_runtimetemplate.my_runtime_template.location}/notebookRuntimeTemplates/${gcp_colab_runtimetemplate.my_runtime_template.name}"
    }
    

    Colab Notebook Execution Dataform

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const myRuntimeTemplate = new gcp.colab.RuntimeTemplate("my_runtime_template", {
        name: "runtime-template-name",
        displayName: "Runtime template",
        location: "us-central1",
        machineSpec: {
            machineType: "e2-standard-4",
        },
        networkSpec: {
            enableInternetAccess: true,
        },
    });
    const outputBucket = new gcp.storage.Bucket("output_bucket", {
        name: "my_bucket",
        location: "US",
        forceDestroy: true,
        uniformBucketLevelAccess: true,
    });
    const secret = new gcp.secretmanager.Secret("secret", {
        secretId: "secret",
        replication: {
            auto: {},
        },
    });
    const secretVersion = new gcp.secretmanager.SecretVersion("secret_version", {
        secret: secret.id,
        secretData: "secret-data",
    });
    const dataformRepository = new gcp.dataform.Repository("dataform_repository", {
        name: "dataform-repository",
        displayName: "dataform_repository",
        npmrcEnvironmentVariablesSecretVersion: secretVersion.id,
        kmsKeyName: "my-crypto-key",
        labels: {
            label_foo1: "label-bar1",
        },
        gitRemoteSettings: {
            url: "https://github.com/OWNER/REPOSITORY.git",
            defaultBranch: "main",
            authenticationTokenSecretVersion: secretVersion.id,
        },
        workspaceCompilationOverrides: {
            defaultDatabase: "database",
            schemaSuffix: "_suffix",
            tablePrefix: "prefix_",
        },
    });
    const notebook_execution = new gcp.colab.NotebookExecution("notebook-execution", {
        displayName: "Notebook execution Dataform",
        location: "us-central1",
        dataformRepositorySource: {
            commitSha: "randomsha123",
            dataformRepositoryResourceName: pulumi.interpolate`projects/${myRuntimeTemplate.project}/locations/${myRuntimeTemplate.location}/repositories/${dataformRepository.name}`,
        },
        notebookRuntimeTemplateResourceName: pulumi.interpolate`projects/${myRuntimeTemplate.project}/locations/${myRuntimeTemplate.location}/notebookRuntimeTemplates/${myRuntimeTemplate.name}`,
        gcsOutputUri: pulumi.interpolate`gs://${outputBucket.name}`,
        serviceAccount: "my@service-account.com",
    }, {
        dependsOn: [
            myRuntimeTemplate,
            outputBucket,
            secretVersion,
            dataformRepository,
            secret,
        ],
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    my_runtime_template = gcp.colab.RuntimeTemplate("my_runtime_template",
        name="runtime-template-name",
        display_name="Runtime template",
        location="us-central1",
        machine_spec={
            "machine_type": "e2-standard-4",
        },
        network_spec={
            "enable_internet_access": True,
        })
    output_bucket = gcp.storage.Bucket("output_bucket",
        name="my_bucket",
        location="US",
        force_destroy=True,
        uniform_bucket_level_access=True)
    secret = gcp.secretmanager.Secret("secret",
        secret_id="secret",
        replication={
            "auto": {},
        })
    secret_version = gcp.secretmanager.SecretVersion("secret_version",
        secret=secret.id,
        secret_data="secret-data")
    dataform_repository = gcp.dataform.Repository("dataform_repository",
        name="dataform-repository",
        display_name="dataform_repository",
        npmrc_environment_variables_secret_version=secret_version.id,
        kms_key_name="my-crypto-key",
        labels={
            "label_foo1": "label-bar1",
        },
        git_remote_settings={
            "url": "https://github.com/OWNER/REPOSITORY.git",
            "default_branch": "main",
            "authentication_token_secret_version": secret_version.id,
        },
        workspace_compilation_overrides={
            "default_database": "database",
            "schema_suffix": "_suffix",
            "table_prefix": "prefix_",
        })
    notebook_execution = gcp.colab.NotebookExecution("notebook-execution",
        display_name="Notebook execution Dataform",
        location="us-central1",
        dataform_repository_source={
            "commit_sha": "randomsha123",
            "dataform_repository_resource_name": pulumi.Output.all(
                project=my_runtime_template.project,
                location=my_runtime_template.location,
                name=dataform_repository.name
    ).apply(lambda resolved_outputs: f"projects/{resolved_outputs['project']}/locations/{resolved_outputs['location']}/repositories/{resolved_outputs['name']}")
    ,
        },
        notebook_runtime_template_resource_name=pulumi.Output.all(
            project=my_runtime_template.project,
            location=my_runtime_template.location,
            name=my_runtime_template.name
    ).apply(lambda resolved_outputs: f"projects/{resolved_outputs['project']}/locations/{resolved_outputs['location']}/notebookRuntimeTemplates/{resolved_outputs['name']}")
    ,
        gcs_output_uri=output_bucket.name.apply(lambda name: f"gs://{name}"),
        service_account="my@service-account.com",
        opts = pulumi.ResourceOptions(depends_on=[
                my_runtime_template,
                output_bucket,
                secret_version,
                dataform_repository,
                secret,
            ]))
    
    package main
    
    import (
    	"fmt"
    
    	"github.com/pulumi/pulumi-gcp/sdk/v9/go/gcp/colab"
    	"github.com/pulumi/pulumi-gcp/sdk/v9/go/gcp/dataform"
    	"github.com/pulumi/pulumi-gcp/sdk/v9/go/gcp/secretmanager"
    	"github.com/pulumi/pulumi-gcp/sdk/v9/go/gcp/storage"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		myRuntimeTemplate, err := colab.NewRuntimeTemplate(ctx, "my_runtime_template", &colab.RuntimeTemplateArgs{
    			Name:        pulumi.String("runtime-template-name"),
    			DisplayName: pulumi.String("Runtime template"),
    			Location:    pulumi.String("us-central1"),
    			MachineSpec: &colab.RuntimeTemplateMachineSpecArgs{
    				MachineType: pulumi.String("e2-standard-4"),
    			},
    			NetworkSpec: &colab.RuntimeTemplateNetworkSpecArgs{
    				EnableInternetAccess: pulumi.Bool(true),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		outputBucket, err := storage.NewBucket(ctx, "output_bucket", &storage.BucketArgs{
    			Name:                     pulumi.String("my_bucket"),
    			Location:                 pulumi.String("US"),
    			ForceDestroy:             pulumi.Bool(true),
    			UniformBucketLevelAccess: pulumi.Bool(true),
    		})
    		if err != nil {
    			return err
    		}
    		secret, err := secretmanager.NewSecret(ctx, "secret", &secretmanager.SecretArgs{
    			SecretId: pulumi.String("secret"),
    			Replication: &secretmanager.SecretReplicationArgs{
    				Auto: &secretmanager.SecretReplicationAutoArgs{},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		secretVersion, err := secretmanager.NewSecretVersion(ctx, "secret_version", &secretmanager.SecretVersionArgs{
    			Secret:     secret.ID().ToIDOutput().ToStringOutput(),
    			SecretData: pulumi.String("secret-data"),
    		})
    		if err != nil {
    			return err
    		}
    		dataformRepository, err := dataform.NewRepository(ctx, "dataform_repository", &dataform.RepositoryArgs{
    			Name:                                   pulumi.String("dataform-repository"),
    			DisplayName:                            pulumi.String("dataform_repository"),
    			NpmrcEnvironmentVariablesSecretVersion: secretVersion.ID().ToIDOutput().ToStringOutput(),
    			KmsKeyName:                             pulumi.String("my-crypto-key"),
    			Labels: pulumi.StringMap{
    				"label_foo1": pulumi.String("label-bar1"),
    			},
    			GitRemoteSettings: &dataform.RepositoryGitRemoteSettingsArgs{
    				Url:                              pulumi.String("https://github.com/OWNER/REPOSITORY.git"),
    				DefaultBranch:                    pulumi.String("main"),
    				AuthenticationTokenSecretVersion: secretVersion.ID().ToIDOutput().ToStringOutput(),
    			},
    			WorkspaceCompilationOverrides: &dataform.RepositoryWorkspaceCompilationOverridesArgs{
    				DefaultDatabase: pulumi.String("database"),
    				SchemaSuffix:    pulumi.String("_suffix"),
    				TablePrefix:     pulumi.String("prefix_"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		_, err = colab.NewNotebookExecution(ctx, "notebook-execution", &colab.NotebookExecutionArgs{
    			DisplayName: pulumi.String("Notebook execution Dataform"),
    			Location:    pulumi.String("us-central1"),
    			DataformRepositorySource: &colab.NotebookExecutionDataformRepositorySourceArgs{
    				CommitSha: pulumi.String("randomsha123"),
    				DataformRepositoryResourceName: pulumi.All(myRuntimeTemplate.Project, myRuntimeTemplate.Location, dataformRepository.Name).ApplyT(func(_args []interface{}) (string, error) {
    					project := _args[0].(string)
    					location := _args[1].(string)
    					name := _args[2].(string)
    					return fmt.Sprintf("projects/%v/locations/%v/repositories/%v", project, location, name), nil
    				}).(pulumi.StringOutput),
    			},
    			NotebookRuntimeTemplateResourceName: pulumi.All(myRuntimeTemplate.Project, myRuntimeTemplate.Location, myRuntimeTemplate.Name).ApplyT(func(_args []interface{}) (string, error) {
    				project := _args[0].(string)
    				location := _args[1].(string)
    				name := _args[2].(string)
    				return fmt.Sprintf("projects/%v/locations/%v/notebookRuntimeTemplates/%v", project, location, name), nil
    			}).(pulumi.StringOutput),
    			GcsOutputUri: outputBucket.Name.ApplyT(func(name string) (string, error) {
    				return fmt.Sprintf("gs://%v", name), nil
    			}).(pulumi.StringOutput),
    			ServiceAccount: pulumi.String("my@service-account.com"),
    		}, pulumi.DependsOn([]pulumi.Resource{
    			myRuntimeTemplate,
    			outputBucket,
    			secretVersion,
    			dataformRepository,
    			secret,
    		}))
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var myRuntimeTemplate = new Gcp.Colab.RuntimeTemplate("my_runtime_template", new()
        {
            Name = "runtime-template-name",
            DisplayName = "Runtime template",
            Location = "us-central1",
            MachineSpec = new Gcp.Colab.Inputs.RuntimeTemplateMachineSpecArgs
            {
                MachineType = "e2-standard-4",
            },
            NetworkSpec = new Gcp.Colab.Inputs.RuntimeTemplateNetworkSpecArgs
            {
                EnableInternetAccess = true,
            },
        });
    
        var outputBucket = new Gcp.Storage.Bucket("output_bucket", new()
        {
            Name = "my_bucket",
            Location = "US",
            ForceDestroy = true,
            UniformBucketLevelAccess = true,
        });
    
        var secret = new Gcp.SecretManager.Secret("secret", new()
        {
            SecretId = "secret",
            Replication = new Gcp.SecretManager.Inputs.SecretReplicationArgs
            {
                Auto = null,
            },
        });
    
        var secretVersion = new Gcp.SecretManager.SecretVersion("secret_version", new()
        {
            Secret = secret.Id,
            SecretData = "secret-data",
        });
    
        var dataformRepository = new Gcp.Dataform.Repository("dataform_repository", new()
        {
            Name = "dataform-repository",
            DisplayName = "dataform_repository",
            NpmrcEnvironmentVariablesSecretVersion = secretVersion.Id,
            KmsKeyName = "my-crypto-key",
            Labels = 
            {
                { "label_foo1", "label-bar1" },
            },
            GitRemoteSettings = new Gcp.Dataform.Inputs.RepositoryGitRemoteSettingsArgs
            {
                Url = "https://github.com/OWNER/REPOSITORY.git",
                DefaultBranch = "main",
                AuthenticationTokenSecretVersion = secretVersion.Id,
            },
            WorkspaceCompilationOverrides = new Gcp.Dataform.Inputs.RepositoryWorkspaceCompilationOverridesArgs
            {
                DefaultDatabase = "database",
                SchemaSuffix = "_suffix",
                TablePrefix = "prefix_",
            },
        });
    
        var notebook_execution = new Gcp.Colab.NotebookExecution("notebook-execution", new()
        {
            DisplayName = "Notebook execution Dataform",
            Location = "us-central1",
            DataformRepositorySource = new Gcp.Colab.Inputs.NotebookExecutionDataformRepositorySourceArgs
            {
                CommitSha = "randomsha123",
                DataformRepositoryResourceName = Output.Tuple(myRuntimeTemplate.Project, myRuntimeTemplate.Location, dataformRepository.Name).Apply(values =>
                {
                    var project = values.Item1;
                    var location = values.Item2;
                    var name = values.Item3;
                    return $"projects/{project}/locations/{location}/repositories/{name}";
                }),
            },
            NotebookRuntimeTemplateResourceName = Output.Tuple(myRuntimeTemplate.Project, myRuntimeTemplate.Location, myRuntimeTemplate.Name).Apply(values =>
            {
                var project = values.Item1;
                var location = values.Item2;
                var name = values.Item3;
                return $"projects/{project}/locations/{location}/notebookRuntimeTemplates/{name}";
            }),
            GcsOutputUri = outputBucket.Name.Apply(name => $"gs://{name}"),
            ServiceAccount = "my@service-account.com",
        }, new CustomResourceOptions
        {
            DependsOn =
            {
                myRuntimeTemplate,
                outputBucket,
                secretVersion,
                dataformRepository,
                secret,
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.colab.RuntimeTemplate;
    import com.pulumi.gcp.colab.RuntimeTemplateArgs;
    import com.pulumi.gcp.colab.inputs.RuntimeTemplateMachineSpecArgs;
    import com.pulumi.gcp.colab.inputs.RuntimeTemplateNetworkSpecArgs;
    import com.pulumi.gcp.storage.Bucket;
    import com.pulumi.gcp.storage.BucketArgs;
    import com.pulumi.gcp.secretmanager.Secret;
    import com.pulumi.gcp.secretmanager.SecretArgs;
    import com.pulumi.gcp.secretmanager.inputs.SecretReplicationArgs;
    import com.pulumi.gcp.secretmanager.inputs.SecretReplicationAutoArgs;
    import com.pulumi.gcp.secretmanager.SecretVersion;
    import com.pulumi.gcp.secretmanager.SecretVersionArgs;
    import com.pulumi.gcp.dataform.Repository;
    import com.pulumi.gcp.dataform.RepositoryArgs;
    import com.pulumi.gcp.dataform.inputs.RepositoryGitRemoteSettingsArgs;
    import com.pulumi.gcp.dataform.inputs.RepositoryWorkspaceCompilationOverridesArgs;
    import com.pulumi.gcp.colab.NotebookExecution;
    import com.pulumi.gcp.colab.NotebookExecutionArgs;
    import com.pulumi.gcp.colab.inputs.NotebookExecutionDataformRepositorySourceArgs;
    import com.pulumi.resources.CustomResourceOptions;
    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var myRuntimeTemplate = new RuntimeTemplate("myRuntimeTemplate", RuntimeTemplateArgs.builder()
                .name("runtime-template-name")
                .displayName("Runtime template")
                .location("us-central1")
                .machineSpec(RuntimeTemplateMachineSpecArgs.builder()
                    .machineType("e2-standard-4")
                    .build())
                .networkSpec(RuntimeTemplateNetworkSpecArgs.builder()
                    .enableInternetAccess(true)
                    .build())
                .build());
    
            var outputBucket = new Bucket("outputBucket", BucketArgs.builder()
                .name("my_bucket")
                .location("US")
                .forceDestroy(true)
                .uniformBucketLevelAccess(true)
                .build());
    
            var secret = new Secret("secret", SecretArgs.builder()
                .secretId("secret")
                .replication(SecretReplicationArgs.builder()
                    .auto(SecretReplicationAutoArgs.builder()
                        .build())
                    .build())
                .build());
    
            var secretVersion = new SecretVersion("secretVersion", SecretVersionArgs.builder()
                .secret(secret.id())
                .secretData("secret-data")
                .build());
    
            var dataformRepository = new Repository("dataformRepository", RepositoryArgs.builder()
                .name("dataform-repository")
                .displayName("dataform_repository")
                .npmrcEnvironmentVariablesSecretVersion(secretVersion.id())
                .kmsKeyName("my-crypto-key")
                .labels(Map.of("label_foo1", "label-bar1"))
                .gitRemoteSettings(RepositoryGitRemoteSettingsArgs.builder()
                    .url("https://github.com/OWNER/REPOSITORY.git")
                    .defaultBranch("main")
                    .authenticationTokenSecretVersion(secretVersion.id())
                    .build())
                .workspaceCompilationOverrides(RepositoryWorkspaceCompilationOverridesArgs.builder()
                    .defaultDatabase("database")
                    .schemaSuffix("_suffix")
                    .tablePrefix("prefix_")
                    .build())
                .build());
    
            var notebook_execution = new NotebookExecution("notebook-execution", NotebookExecutionArgs.builder()
                .displayName("Notebook execution Dataform")
                .location("us-central1")
                .dataformRepositorySource(NotebookExecutionDataformRepositorySourceArgs.builder()
                    .commitSha("randomsha123")
                    .dataformRepositoryResourceName(Output.tuple(myRuntimeTemplate.project(), myRuntimeTemplate.location(), dataformRepository.name()).applyValue(values -> {
                        var project = values.t1;
                        var location = values.t2;
                        var name = values.t3;
                        return String.format("projects/%s/locations/%s/repositories/%s", project,location,name);
                    }))
                    .build())
                .notebookRuntimeTemplateResourceName(Output.tuple(myRuntimeTemplate.project(), myRuntimeTemplate.location(), myRuntimeTemplate.name()).applyValue(values -> {
                    var project = values.t1;
                    var location = values.t2;
                    var name = values.t3;
                    return String.format("projects/%s/locations/%s/notebookRuntimeTemplates/%s", project,location,name);
                }))
                .gcsOutputUri(outputBucket.name().applyValue(_name -> String.format("gs://%s", _name)))
                .serviceAccount("my@service-account.com")
                .build(), CustomResourceOptions.builder()
                    .dependsOn(                
                        myRuntimeTemplate,
                        outputBucket,
                        secretVersion,
                        dataformRepository,
                        secret)
                    .build());
    
        }
    }
    
    resources:
      myRuntimeTemplate:
        type: gcp:colab:RuntimeTemplate
        name: my_runtime_template
        properties:
          name: runtime-template-name
          displayName: Runtime template
          location: us-central1
          machineSpec:
            machineType: e2-standard-4
          networkSpec:
            enableInternetAccess: true
      outputBucket:
        type: gcp:storage:Bucket
        name: output_bucket
        properties:
          name: my_bucket
          location: US
          forceDestroy: true
          uniformBucketLevelAccess: true
      secret:
        type: gcp:secretmanager:Secret
        properties:
          secretId: secret
          replication:
            auto: {}
      secretVersion:
        type: gcp:secretmanager:SecretVersion
        name: secret_version
        properties:
          secret: ${secret.id}
          secretData: secret-data
      dataformRepository:
        type: gcp:dataform:Repository
        name: dataform_repository
        properties:
          name: dataform-repository
          displayName: dataform_repository
          npmrcEnvironmentVariablesSecretVersion: ${secretVersion.id}
          kmsKeyName: my-crypto-key
          labels:
            label_foo1: label-bar1
          gitRemoteSettings:
            url: https://github.com/OWNER/REPOSITORY.git
            defaultBranch: main
            authenticationTokenSecretVersion: ${secretVersion.id}
          workspaceCompilationOverrides:
            defaultDatabase: database
            schemaSuffix: _suffix
            tablePrefix: prefix_
      notebook-execution:
        type: gcp:colab:NotebookExecution
        properties:
          displayName: Notebook execution Dataform
          location: us-central1
          dataformRepositorySource:
            commitSha: randomsha123
            dataformRepositoryResourceName: projects/${myRuntimeTemplate.project}/locations/${myRuntimeTemplate.location}/repositories/${dataformRepository.name}
          notebookRuntimeTemplateResourceName: projects/${myRuntimeTemplate.project}/locations/${myRuntimeTemplate.location}/notebookRuntimeTemplates/${myRuntimeTemplate.name}
          gcsOutputUri: gs://${outputBucket.name}
          serviceAccount: my@service-account.com
        options:
          dependsOn:
            - ${myRuntimeTemplate}
            - ${outputBucket}
            - ${secretVersion}
            - ${dataformRepository}
            - ${secret}
    
    pulumi {
      required_providers {
        gcp = {
          source = "pulumi/gcp"
        }
      }
    }
    
    resource "gcp_colab_runtimetemplate" "my_runtime_template" {
      name         = "runtime-template-name"
      display_name = "Runtime template"
      location     = "us-central1"
      machine_spec = {
        machine_type = "e2-standard-4"
      }
      network_spec = {
        enable_internet_access = true
      }
    }
    resource "gcp_storage_bucket" "output_bucket" {
      name                        = "my_bucket"
      location                    = "US"
      force_destroy               = true
      uniform_bucket_level_access = true
    }
    resource "gcp_secretmanager_secret" "secret" {
      secret_id = "secret"
      replication = {
        auto = {}
      }
    }
    resource "gcp_secretmanager_secretversion" "secret_version" {
      secret      = gcp_secretmanager_secret.secret.id
      secret_data = "secret-data"
    }
    resource "gcp_dataform_repository" "dataform_repository" {
      name                                       = "dataform-repository"
      display_name                               = "dataform_repository"
      npmrc_environment_variables_secret_version = gcp_secretmanager_secretversion.secret_version.id
      kms_key_name                               = "my-crypto-key"
      labels = {
        "label_foo1" = "label-bar1"
      }
      git_remote_settings = {
        url                                 = "https://github.com/OWNER/REPOSITORY.git"
        default_branch                      = "main"
        authentication_token_secret_version = gcp_secretmanager_secretversion.secret_version.id
      }
      workspace_compilation_overrides = {
        default_database = "database"
        schema_suffix    = "_suffix"
        table_prefix     = "prefix_"
      }
    }
    resource "gcp_colab_notebookexecution" "notebook-execution" {
      depends_on   = [gcp_colab_runtimetemplate.my_runtime_template, gcp_storage_bucket.output_bucket, gcp_secretmanager_secretversion.secret_version, gcp_dataform_repository.dataform_repository, gcp_secretmanager_secret.secret]
      display_name = "Notebook execution Dataform"
      location     = "us-central1"
      dataform_repository_source = {
        commit_sha                        = "randomsha123"
        dataform_repository_resource_name ="projects/${gcp_colab_runtimetemplate.my_runtime_template.project}/locations/${gcp_colab_runtimetemplate.my_runtime_template.location}/repositories/${gcp_dataform_repository.dataform_repository.name}"
      }
      notebook_runtime_template_resource_name ="projects/${gcp_colab_runtimetemplate.my_runtime_template.project}/locations/${gcp_colab_runtimetemplate.my_runtime_template.location}/notebookRuntimeTemplates/${gcp_colab_runtimetemplate.my_runtime_template.name}"
      gcs_output_uri                          ="gs://${gcp_storage_bucket.output_bucket.name}"
      service_account                         = "my@service-account.com"
    }
    

    Create NotebookExecution Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new NotebookExecution(name: string, args: NotebookExecutionArgs, opts?: CustomResourceOptions);
    @overload
    def NotebookExecution(resource_name: str,
                          args: NotebookExecutionArgs,
                          opts: Optional[ResourceOptions] = None)
    
    @overload
    def NotebookExecution(resource_name: str,
                          opts: Optional[ResourceOptions] = None,
                          display_name: Optional[str] = None,
                          location: Optional[str] = None,
                          gcs_output_uri: Optional[str] = None,
                          direct_notebook_source: Optional[NotebookExecutionDirectNotebookSourceArgs] = None,
                          custom_environment_spec: Optional[NotebookExecutionCustomEnvironmentSpecArgs] = None,
                          execution_timeout: Optional[str] = None,
                          execution_user: Optional[str] = None,
                          gcs_notebook_source: Optional[NotebookExecutionGcsNotebookSourceArgs] = None,
                          deletion_policy: Optional[str] = None,
                          dataform_repository_source: Optional[NotebookExecutionDataformRepositorySourceArgs] = None,
                          notebook_execution_job_id: Optional[str] = None,
                          notebook_runtime_template_resource_name: Optional[str] = None,
                          project: Optional[str] = None,
                          service_account: Optional[str] = None,
                          workbench_runtime: Optional[NotebookExecutionWorkbenchRuntimeArgs] = None)
    func NewNotebookExecution(ctx *Context, name string, args NotebookExecutionArgs, opts ...ResourceOption) (*NotebookExecution, error)
    public NotebookExecution(string name, NotebookExecutionArgs args, CustomResourceOptions? opts = null)
    public NotebookExecution(String name, NotebookExecutionArgs args)
    public NotebookExecution(String name, NotebookExecutionArgs args, CustomResourceOptions options)
    
    type: gcp:colab:NotebookExecution
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    
    resource "gcp_colab_notebook_execution" "name" {
        # resource properties
    }

    Parameters

    name string
    The unique name of the resource.
    args NotebookExecutionArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args NotebookExecutionArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args NotebookExecutionArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args NotebookExecutionArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args NotebookExecutionArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var notebookExecutionResource = new Gcp.Colab.NotebookExecution("notebookExecutionResource", new()
    {
        DisplayName = "string",
        Location = "string",
        GcsOutputUri = "string",
        DirectNotebookSource = new Gcp.Colab.Inputs.NotebookExecutionDirectNotebookSourceArgs
        {
            Content = "string",
        },
        CustomEnvironmentSpec = new Gcp.Colab.Inputs.NotebookExecutionCustomEnvironmentSpecArgs
        {
            MachineSpec = new Gcp.Colab.Inputs.NotebookExecutionCustomEnvironmentSpecMachineSpecArgs
            {
                AcceleratorCount = 0,
                AcceleratorType = "string",
                MachineType = "string",
            },
            NetworkSpec = new Gcp.Colab.Inputs.NotebookExecutionCustomEnvironmentSpecNetworkSpecArgs
            {
                EnableInternetAccess = false,
                Network = "string",
                Subnetwork = "string",
            },
            PersistentDiskSpec = new Gcp.Colab.Inputs.NotebookExecutionCustomEnvironmentSpecPersistentDiskSpecArgs
            {
                DiskSizeGb = "string",
                DiskType = "string",
            },
            ShieldedInstanceConfig = new Gcp.Colab.Inputs.NotebookExecutionCustomEnvironmentSpecShieldedInstanceConfigArgs
            {
                EnableIntegrityMonitoring = false,
                EnableSecureBoot = false,
                EnableVtpm = false,
            },
        },
        ExecutionTimeout = "string",
        ExecutionUser = "string",
        GcsNotebookSource = new Gcp.Colab.Inputs.NotebookExecutionGcsNotebookSourceArgs
        {
            Uri = "string",
            Generation = "string",
        },
        DeletionPolicy = "string",
        DataformRepositorySource = new Gcp.Colab.Inputs.NotebookExecutionDataformRepositorySourceArgs
        {
            DataformRepositoryResourceName = "string",
            CommitSha = "string",
        },
        NotebookExecutionJobId = "string",
        NotebookRuntimeTemplateResourceName = "string",
        Project = "string",
        ServiceAccount = "string",
        WorkbenchRuntime = new Gcp.Colab.Inputs.NotebookExecutionWorkbenchRuntimeArgs
        {
            VmImage = new Gcp.Colab.Inputs.NotebookExecutionWorkbenchRuntimeVmImageArgs
            {
                Family = "string",
                Name = "string",
                Project = "string",
            },
        },
    });
    
    example, err := colab.NewNotebookExecution(ctx, "notebookExecutionResource", &colab.NotebookExecutionArgs{
    	DisplayName:  pulumi.String("string"),
    	Location:     pulumi.String("string"),
    	GcsOutputUri: pulumi.String("string"),
    	DirectNotebookSource: &colab.NotebookExecutionDirectNotebookSourceArgs{
    		Content: pulumi.String("string"),
    	},
    	CustomEnvironmentSpec: &colab.NotebookExecutionCustomEnvironmentSpecArgs{
    		MachineSpec: &colab.NotebookExecutionCustomEnvironmentSpecMachineSpecArgs{
    			AcceleratorCount: pulumi.Int(0),
    			AcceleratorType:  pulumi.String("string"),
    			MachineType:      pulumi.String("string"),
    		},
    		NetworkSpec: &colab.NotebookExecutionCustomEnvironmentSpecNetworkSpecArgs{
    			EnableInternetAccess: pulumi.Bool(false),
    			Network:              pulumi.String("string"),
    			Subnetwork:           pulumi.String("string"),
    		},
    		PersistentDiskSpec: &colab.NotebookExecutionCustomEnvironmentSpecPersistentDiskSpecArgs{
    			DiskSizeGb: pulumi.String("string"),
    			DiskType:   pulumi.String("string"),
    		},
    		ShieldedInstanceConfig: &colab.NotebookExecutionCustomEnvironmentSpecShieldedInstanceConfigArgs{
    			EnableIntegrityMonitoring: pulumi.Bool(false),
    			EnableSecureBoot:          pulumi.Bool(false),
    			EnableVtpm:                pulumi.Bool(false),
    		},
    	},
    	ExecutionTimeout: pulumi.String("string"),
    	ExecutionUser:    pulumi.String("string"),
    	GcsNotebookSource: &colab.NotebookExecutionGcsNotebookSourceArgs{
    		Uri:        pulumi.String("string"),
    		Generation: pulumi.String("string"),
    	},
    	DeletionPolicy: pulumi.String("string"),
    	DataformRepositorySource: &colab.NotebookExecutionDataformRepositorySourceArgs{
    		DataformRepositoryResourceName: pulumi.String("string"),
    		CommitSha:                      pulumi.String("string"),
    	},
    	NotebookExecutionJobId:              pulumi.String("string"),
    	NotebookRuntimeTemplateResourceName: pulumi.String("string"),
    	Project:                             pulumi.String("string"),
    	ServiceAccount:                      pulumi.String("string"),
    	WorkbenchRuntime: &colab.NotebookExecutionWorkbenchRuntimeArgs{
    		VmImage: &colab.NotebookExecutionWorkbenchRuntimeVmImageArgs{
    			Family:  pulumi.String("string"),
    			Name:    pulumi.String("string"),
    			Project: pulumi.String("string"),
    		},
    	},
    })
    
    resource "gcp_colab_notebook_execution" "notebookExecutionResource" {
      lifecycle {
        create_before_destroy = true
      }
      display_name   = "string"
      location       = "string"
      gcs_output_uri = "string"
      direct_notebook_source = {
        content = "string"
      }
      custom_environment_spec = {
        machine_spec = {
          accelerator_count = 0
          accelerator_type  = "string"
          machine_type      = "string"
        }
        network_spec = {
          enable_internet_access = false
          network                = "string"
          subnetwork             = "string"
        }
        persistent_disk_spec = {
          disk_size_gb = "string"
          disk_type    = "string"
        }
        shielded_instance_config = {
          enable_integrity_monitoring = false
          enable_secure_boot          = false
          enable_vtpm                 = false
        }
      }
      execution_timeout = "string"
      execution_user    = "string"
      gcs_notebook_source = {
        uri        = "string"
        generation = "string"
      }
      deletion_policy = "string"
      dataform_repository_source = {
        dataform_repository_resource_name = "string"
        commit_sha                        = "string"
      }
      notebook_execution_job_id               = "string"
      notebook_runtime_template_resource_name = "string"
      project                                 = "string"
      service_account                         = "string"
      workbench_runtime = {
        vm_image = {
          family  = "string"
          name    = "string"
          project = "string"
        }
      }
    }
    
    var notebookExecutionResource = new NotebookExecution("notebookExecutionResource", NotebookExecutionArgs.builder()
        .displayName("string")
        .location("string")
        .gcsOutputUri("string")
        .directNotebookSource(NotebookExecutionDirectNotebookSourceArgs.builder()
            .content("string")
            .build())
        .customEnvironmentSpec(NotebookExecutionCustomEnvironmentSpecArgs.builder()
            .machineSpec(NotebookExecutionCustomEnvironmentSpecMachineSpecArgs.builder()
                .acceleratorCount(0)
                .acceleratorType("string")
                .machineType("string")
                .build())
            .networkSpec(NotebookExecutionCustomEnvironmentSpecNetworkSpecArgs.builder()
                .enableInternetAccess(false)
                .network("string")
                .subnetwork("string")
                .build())
            .persistentDiskSpec(NotebookExecutionCustomEnvironmentSpecPersistentDiskSpecArgs.builder()
                .diskSizeGb("string")
                .diskType("string")
                .build())
            .shieldedInstanceConfig(NotebookExecutionCustomEnvironmentSpecShieldedInstanceConfigArgs.builder()
                .enableIntegrityMonitoring(false)
                .enableSecureBoot(false)
                .enableVtpm(false)
                .build())
            .build())
        .executionTimeout("string")
        .executionUser("string")
        .gcsNotebookSource(NotebookExecutionGcsNotebookSourceArgs.builder()
            .uri("string")
            .generation("string")
            .build())
        .deletionPolicy("string")
        .dataformRepositorySource(NotebookExecutionDataformRepositorySourceArgs.builder()
            .dataformRepositoryResourceName("string")
            .commitSha("string")
            .build())
        .notebookExecutionJobId("string")
        .notebookRuntimeTemplateResourceName("string")
        .project("string")
        .serviceAccount("string")
        .workbenchRuntime(NotebookExecutionWorkbenchRuntimeArgs.builder()
            .vmImage(NotebookExecutionWorkbenchRuntimeVmImageArgs.builder()
                .family("string")
                .name("string")
                .project("string")
                .build())
            .build())
        .build());
    
    notebook_execution_resource = gcp.colab.NotebookExecution("notebookExecutionResource",
        display_name="string",
        location="string",
        gcs_output_uri="string",
        direct_notebook_source={
            "content": "string",
        },
        custom_environment_spec={
            "machine_spec": {
                "accelerator_count": 0,
                "accelerator_type": "string",
                "machine_type": "string",
            },
            "network_spec": {
                "enable_internet_access": False,
                "network": "string",
                "subnetwork": "string",
            },
            "persistent_disk_spec": {
                "disk_size_gb": "string",
                "disk_type": "string",
            },
            "shielded_instance_config": {
                "enable_integrity_monitoring": False,
                "enable_secure_boot": False,
                "enable_vtpm": False,
            },
        },
        execution_timeout="string",
        execution_user="string",
        gcs_notebook_source={
            "uri": "string",
            "generation": "string",
        },
        deletion_policy="string",
        dataform_repository_source={
            "dataform_repository_resource_name": "string",
            "commit_sha": "string",
        },
        notebook_execution_job_id="string",
        notebook_runtime_template_resource_name="string",
        project="string",
        service_account="string",
        workbench_runtime={
            "vm_image": {
                "family": "string",
                "name": "string",
                "project": "string",
            },
        })
    
    const notebookExecutionResource = new gcp.colab.NotebookExecution("notebookExecutionResource", {
        displayName: "string",
        location: "string",
        gcsOutputUri: "string",
        directNotebookSource: {
            content: "string",
        },
        customEnvironmentSpec: {
            machineSpec: {
                acceleratorCount: 0,
                acceleratorType: "string",
                machineType: "string",
            },
            networkSpec: {
                enableInternetAccess: false,
                network: "string",
                subnetwork: "string",
            },
            persistentDiskSpec: {
                diskSizeGb: "string",
                diskType: "string",
            },
            shieldedInstanceConfig: {
                enableIntegrityMonitoring: false,
                enableSecureBoot: false,
                enableVtpm: false,
            },
        },
        executionTimeout: "string",
        executionUser: "string",
        gcsNotebookSource: {
            uri: "string",
            generation: "string",
        },
        deletionPolicy: "string",
        dataformRepositorySource: {
            dataformRepositoryResourceName: "string",
            commitSha: "string",
        },
        notebookExecutionJobId: "string",
        notebookRuntimeTemplateResourceName: "string",
        project: "string",
        serviceAccount: "string",
        workbenchRuntime: {
            vmImage: {
                family: "string",
                name: "string",
                project: "string",
            },
        },
    });
    
    type: gcp:colab:NotebookExecution
    properties:
        customEnvironmentSpec:
            machineSpec:
                acceleratorCount: 0
                acceleratorType: string
                machineType: string
            networkSpec:
                enableInternetAccess: false
                network: string
                subnetwork: string
            persistentDiskSpec:
                diskSizeGb: string
                diskType: string
            shieldedInstanceConfig:
                enableIntegrityMonitoring: false
                enableSecureBoot: false
                enableVtpm: false
        dataformRepositorySource:
            commitSha: string
            dataformRepositoryResourceName: string
        deletionPolicy: string
        directNotebookSource:
            content: string
        displayName: string
        executionTimeout: string
        executionUser: string
        gcsNotebookSource:
            generation: string
            uri: string
        gcsOutputUri: string
        location: string
        notebookExecutionJobId: string
        notebookRuntimeTemplateResourceName: string
        project: string
        serviceAccount: string
        workbenchRuntime:
            vmImage:
                family: string
                name: string
                project: string
    

    NotebookExecution Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

    The NotebookExecution resource accepts the following input properties:

    DisplayName string
    Required. The display name of the Notebook Execution.
    GcsOutputUri string
    The Cloud Storage location to upload the result to. Format:gs://bucket-name
    Location string
    The location for the resource: https://cloud.google.com/colab/docs/locations
    CustomEnvironmentSpec NotebookExecutionCustomEnvironmentSpec
    Compute configuration to use for an execution job Structure is documented below.
    DataformRepositorySource NotebookExecutionDataformRepositorySource
    The Dataform Repository containing the input notebook. Structure is documented below.
    DeletionPolicy string
    Whether Terraform will be prevented from destroying the resource. Defaults to DELETE. When a 'terraform destroy' or 'pulumi up' would delete the resource, the command will fail if this field is set to "PREVENT" in Terraform state. When set to "ABANDON", the command will remove the resource from Terraform management without updating or deleting the resource in the API. When set to "DELETE", deleting the resource is allowed.
    DirectNotebookSource NotebookExecutionDirectNotebookSource
    The content of the input notebook in ipynb format. Structure is documented below.
    ExecutionTimeout string
    Max running time of the execution job in seconds (default 86400s / 24 hrs).
    ExecutionUser string
    The user email to run the execution as.
    GcsNotebookSource NotebookExecutionGcsNotebookSource
    The Cloud Storage uri for the input notebook. Structure is documented below.
    NotebookExecutionJobId string
    User specified ID for the Notebook Execution Job
    NotebookRuntimeTemplateResourceName string
    The NotebookRuntimeTemplate to source compute configuration from.
    Project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    ServiceAccount string
    The service account to run the execution as.
    WorkbenchRuntime NotebookExecutionWorkbenchRuntime
    Configuration for a Workbench Instances-based environment. Structure is documented below.
    DisplayName string
    Required. The display name of the Notebook Execution.
    GcsOutputUri string
    The Cloud Storage location to upload the result to. Format:gs://bucket-name
    Location string
    The location for the resource: https://cloud.google.com/colab/docs/locations
    CustomEnvironmentSpec NotebookExecutionCustomEnvironmentSpecArgs
    Compute configuration to use for an execution job Structure is documented below.
    DataformRepositorySource NotebookExecutionDataformRepositorySourceArgs
    The Dataform Repository containing the input notebook. Structure is documented below.
    DeletionPolicy string
    Whether Terraform will be prevented from destroying the resource. Defaults to DELETE. When a 'terraform destroy' or 'pulumi up' would delete the resource, the command will fail if this field is set to "PREVENT" in Terraform state. When set to "ABANDON", the command will remove the resource from Terraform management without updating or deleting the resource in the API. When set to "DELETE", deleting the resource is allowed.
    DirectNotebookSource NotebookExecutionDirectNotebookSourceArgs
    The content of the input notebook in ipynb format. Structure is documented below.
    ExecutionTimeout string
    Max running time of the execution job in seconds (default 86400s / 24 hrs).
    ExecutionUser string
    The user email to run the execution as.
    GcsNotebookSource NotebookExecutionGcsNotebookSourceArgs
    The Cloud Storage uri for the input notebook. Structure is documented below.
    NotebookExecutionJobId string
    User specified ID for the Notebook Execution Job
    NotebookRuntimeTemplateResourceName string
    The NotebookRuntimeTemplate to source compute configuration from.
    Project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    ServiceAccount string
    The service account to run the execution as.
    WorkbenchRuntime NotebookExecutionWorkbenchRuntimeArgs
    Configuration for a Workbench Instances-based environment. Structure is documented below.
    display_name string
    Required. The display name of the Notebook Execution.
    gcs_output_uri string
    The Cloud Storage location to upload the result to. Format:gs://bucket-name
    location string
    The location for the resource: https://cloud.google.com/colab/docs/locations
    custom_environment_spec object
    Compute configuration to use for an execution job Structure is documented below.
    dataform_repository_source object
    The Dataform Repository containing the input notebook. Structure is documented below.
    deletion_policy string
    Whether Terraform will be prevented from destroying the resource. Defaults to DELETE. When a 'terraform destroy' or 'pulumi up' would delete the resource, the command will fail if this field is set to "PREVENT" in Terraform state. When set to "ABANDON", the command will remove the resource from Terraform management without updating or deleting the resource in the API. When set to "DELETE", deleting the resource is allowed.
    direct_notebook_source object
    The content of the input notebook in ipynb format. Structure is documented below.
    execution_timeout string
    Max running time of the execution job in seconds (default 86400s / 24 hrs).
    execution_user string
    The user email to run the execution as.
    gcs_notebook_source object
    The Cloud Storage uri for the input notebook. Structure is documented below.
    notebook_execution_job_id string
    User specified ID for the Notebook Execution Job
    notebook_runtime_template_resource_name string
    The NotebookRuntimeTemplate to source compute configuration from.
    project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    service_account string
    The service account to run the execution as.
    workbench_runtime object
    Configuration for a Workbench Instances-based environment. Structure is documented below.
    displayName String
    Required. The display name of the Notebook Execution.
    gcsOutputUri String
    The Cloud Storage location to upload the result to. Format:gs://bucket-name
    location String
    The location for the resource: https://cloud.google.com/colab/docs/locations
    customEnvironmentSpec NotebookExecutionCustomEnvironmentSpec
    Compute configuration to use for an execution job Structure is documented below.
    dataformRepositorySource NotebookExecutionDataformRepositorySource
    The Dataform Repository containing the input notebook. Structure is documented below.
    deletionPolicy String
    Whether Terraform will be prevented from destroying the resource. Defaults to DELETE. When a 'terraform destroy' or 'pulumi up' would delete the resource, the command will fail if this field is set to "PREVENT" in Terraform state. When set to "ABANDON", the command will remove the resource from Terraform management without updating or deleting the resource in the API. When set to "DELETE", deleting the resource is allowed.
    directNotebookSource NotebookExecutionDirectNotebookSource
    The content of the input notebook in ipynb format. Structure is documented below.
    executionTimeout String
    Max running time of the execution job in seconds (default 86400s / 24 hrs).
    executionUser String
    The user email to run the execution as.
    gcsNotebookSource NotebookExecutionGcsNotebookSource
    The Cloud Storage uri for the input notebook. Structure is documented below.
    notebookExecutionJobId String
    User specified ID for the Notebook Execution Job
    notebookRuntimeTemplateResourceName String
    The NotebookRuntimeTemplate to source compute configuration from.
    project String
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    serviceAccount String
    The service account to run the execution as.
    workbenchRuntime NotebookExecutionWorkbenchRuntime
    Configuration for a Workbench Instances-based environment. Structure is documented below.
    displayName string
    Required. The display name of the Notebook Execution.
    gcsOutputUri string
    The Cloud Storage location to upload the result to. Format:gs://bucket-name
    location string
    The location for the resource: https://cloud.google.com/colab/docs/locations
    customEnvironmentSpec NotebookExecutionCustomEnvironmentSpec
    Compute configuration to use for an execution job Structure is documented below.
    dataformRepositorySource NotebookExecutionDataformRepositorySource
    The Dataform Repository containing the input notebook. Structure is documented below.
    deletionPolicy string
    Whether Terraform will be prevented from destroying the resource. Defaults to DELETE. When a 'terraform destroy' or 'pulumi up' would delete the resource, the command will fail if this field is set to "PREVENT" in Terraform state. When set to "ABANDON", the command will remove the resource from Terraform management without updating or deleting the resource in the API. When set to "DELETE", deleting the resource is allowed.
    directNotebookSource NotebookExecutionDirectNotebookSource
    The content of the input notebook in ipynb format. Structure is documented below.
    executionTimeout string
    Max running time of the execution job in seconds (default 86400s / 24 hrs).
    executionUser string
    The user email to run the execution as.
    gcsNotebookSource NotebookExecutionGcsNotebookSource
    The Cloud Storage uri for the input notebook. Structure is documented below.
    notebookExecutionJobId string
    User specified ID for the Notebook Execution Job
    notebookRuntimeTemplateResourceName string
    The NotebookRuntimeTemplate to source compute configuration from.
    project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    serviceAccount string
    The service account to run the execution as.
    workbenchRuntime NotebookExecutionWorkbenchRuntime
    Configuration for a Workbench Instances-based environment. Structure is documented below.
    display_name str
    Required. The display name of the Notebook Execution.
    gcs_output_uri str
    The Cloud Storage location to upload the result to. Format:gs://bucket-name
    location str
    The location for the resource: https://cloud.google.com/colab/docs/locations
    custom_environment_spec NotebookExecutionCustomEnvironmentSpecArgs
    Compute configuration to use for an execution job Structure is documented below.
    dataform_repository_source NotebookExecutionDataformRepositorySourceArgs
    The Dataform Repository containing the input notebook. Structure is documented below.
    deletion_policy str
    Whether Terraform will be prevented from destroying the resource. Defaults to DELETE. When a 'terraform destroy' or 'pulumi up' would delete the resource, the command will fail if this field is set to "PREVENT" in Terraform state. When set to "ABANDON", the command will remove the resource from Terraform management without updating or deleting the resource in the API. When set to "DELETE", deleting the resource is allowed.
    direct_notebook_source NotebookExecutionDirectNotebookSourceArgs
    The content of the input notebook in ipynb format. Structure is documented below.
    execution_timeout str
    Max running time of the execution job in seconds (default 86400s / 24 hrs).
    execution_user str
    The user email to run the execution as.
    gcs_notebook_source NotebookExecutionGcsNotebookSourceArgs
    The Cloud Storage uri for the input notebook. Structure is documented below.
    notebook_execution_job_id str
    User specified ID for the Notebook Execution Job
    notebook_runtime_template_resource_name str
    The NotebookRuntimeTemplate to source compute configuration from.
    project str
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    service_account str
    The service account to run the execution as.
    workbench_runtime NotebookExecutionWorkbenchRuntimeArgs
    Configuration for a Workbench Instances-based environment. Structure is documented below.
    displayName String
    Required. The display name of the Notebook Execution.
    gcsOutputUri String
    The Cloud Storage location to upload the result to. Format:gs://bucket-name
    location String
    The location for the resource: https://cloud.google.com/colab/docs/locations
    customEnvironmentSpec Property Map
    Compute configuration to use for an execution job Structure is documented below.
    dataformRepositorySource Property Map
    The Dataform Repository containing the input notebook. Structure is documented below.
    deletionPolicy String
    Whether Terraform will be prevented from destroying the resource. Defaults to DELETE. When a 'terraform destroy' or 'pulumi up' would delete the resource, the command will fail if this field is set to "PREVENT" in Terraform state. When set to "ABANDON", the command will remove the resource from Terraform management without updating or deleting the resource in the API. When set to "DELETE", deleting the resource is allowed.
    directNotebookSource Property Map
    The content of the input notebook in ipynb format. Structure is documented below.
    executionTimeout String
    Max running time of the execution job in seconds (default 86400s / 24 hrs).
    executionUser String
    The user email to run the execution as.
    gcsNotebookSource Property Map
    The Cloud Storage uri for the input notebook. Structure is documented below.
    notebookExecutionJobId String
    User specified ID for the Notebook Execution Job
    notebookRuntimeTemplateResourceName String
    The NotebookRuntimeTemplate to source compute configuration from.
    project String
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    serviceAccount String
    The service account to run the execution as.
    workbenchRuntime Property Map
    Configuration for a Workbench Instances-based environment. Structure is documented below.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the NotebookExecution resource produces the following output properties:

    Id string
    The provider-assigned unique ID for this managed resource.
    Id string
    The provider-assigned unique ID for this managed resource.
    id string
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.
    id string
    The provider-assigned unique ID for this managed resource.
    id str
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.

    Look up Existing NotebookExecution Resource

    Get an existing NotebookExecution resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: NotebookExecutionState, opts?: CustomResourceOptions): NotebookExecution
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            custom_environment_spec: Optional[NotebookExecutionCustomEnvironmentSpecArgs] = None,
            dataform_repository_source: Optional[NotebookExecutionDataformRepositorySourceArgs] = None,
            deletion_policy: Optional[str] = None,
            direct_notebook_source: Optional[NotebookExecutionDirectNotebookSourceArgs] = None,
            display_name: Optional[str] = None,
            execution_timeout: Optional[str] = None,
            execution_user: Optional[str] = None,
            gcs_notebook_source: Optional[NotebookExecutionGcsNotebookSourceArgs] = None,
            gcs_output_uri: Optional[str] = None,
            location: Optional[str] = None,
            notebook_execution_job_id: Optional[str] = None,
            notebook_runtime_template_resource_name: Optional[str] = None,
            project: Optional[str] = None,
            service_account: Optional[str] = None,
            workbench_runtime: Optional[NotebookExecutionWorkbenchRuntimeArgs] = None) -> NotebookExecution
    func GetNotebookExecution(ctx *Context, name string, id IDInput, state *NotebookExecutionState, opts ...ResourceOption) (*NotebookExecution, error)
    public static NotebookExecution Get(string name, Input<string> id, NotebookExecutionState? state, CustomResourceOptions? opts = null)
    public static NotebookExecution get(String name, Output<String> id, NotebookExecutionState state, CustomResourceOptions options)
    resources:  _:    type: gcp:colab:NotebookExecution    get:      id: ${id}
    import {
      to = gcp_colab_notebook_execution.example
      id = "${id}"
    }
    
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    CustomEnvironmentSpec NotebookExecutionCustomEnvironmentSpec
    Compute configuration to use for an execution job Structure is documented below.
    DataformRepositorySource NotebookExecutionDataformRepositorySource
    The Dataform Repository containing the input notebook. Structure is documented below.
    DeletionPolicy string
    Whether Terraform will be prevented from destroying the resource. Defaults to DELETE. When a 'terraform destroy' or 'pulumi up' would delete the resource, the command will fail if this field is set to "PREVENT" in Terraform state. When set to "ABANDON", the command will remove the resource from Terraform management without updating or deleting the resource in the API. When set to "DELETE", deleting the resource is allowed.
    DirectNotebookSource NotebookExecutionDirectNotebookSource
    The content of the input notebook in ipynb format. Structure is documented below.
    DisplayName string
    Required. The display name of the Notebook Execution.
    ExecutionTimeout string
    Max running time of the execution job in seconds (default 86400s / 24 hrs).
    ExecutionUser string
    The user email to run the execution as.
    GcsNotebookSource NotebookExecutionGcsNotebookSource
    The Cloud Storage uri for the input notebook. Structure is documented below.
    GcsOutputUri string
    The Cloud Storage location to upload the result to. Format:gs://bucket-name
    Location string
    The location for the resource: https://cloud.google.com/colab/docs/locations
    NotebookExecutionJobId string
    User specified ID for the Notebook Execution Job
    NotebookRuntimeTemplateResourceName string
    The NotebookRuntimeTemplate to source compute configuration from.
    Project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    ServiceAccount string
    The service account to run the execution as.
    WorkbenchRuntime NotebookExecutionWorkbenchRuntime
    Configuration for a Workbench Instances-based environment. Structure is documented below.
    CustomEnvironmentSpec NotebookExecutionCustomEnvironmentSpecArgs
    Compute configuration to use for an execution job Structure is documented below.
    DataformRepositorySource NotebookExecutionDataformRepositorySourceArgs
    The Dataform Repository containing the input notebook. Structure is documented below.
    DeletionPolicy string
    Whether Terraform will be prevented from destroying the resource. Defaults to DELETE. When a 'terraform destroy' or 'pulumi up' would delete the resource, the command will fail if this field is set to "PREVENT" in Terraform state. When set to "ABANDON", the command will remove the resource from Terraform management without updating or deleting the resource in the API. When set to "DELETE", deleting the resource is allowed.
    DirectNotebookSource NotebookExecutionDirectNotebookSourceArgs
    The content of the input notebook in ipynb format. Structure is documented below.
    DisplayName string
    Required. The display name of the Notebook Execution.
    ExecutionTimeout string
    Max running time of the execution job in seconds (default 86400s / 24 hrs).
    ExecutionUser string
    The user email to run the execution as.
    GcsNotebookSource NotebookExecutionGcsNotebookSourceArgs
    The Cloud Storage uri for the input notebook. Structure is documented below.
    GcsOutputUri string
    The Cloud Storage location to upload the result to. Format:gs://bucket-name
    Location string
    The location for the resource: https://cloud.google.com/colab/docs/locations
    NotebookExecutionJobId string
    User specified ID for the Notebook Execution Job
    NotebookRuntimeTemplateResourceName string
    The NotebookRuntimeTemplate to source compute configuration from.
    Project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    ServiceAccount string
    The service account to run the execution as.
    WorkbenchRuntime NotebookExecutionWorkbenchRuntimeArgs
    Configuration for a Workbench Instances-based environment. Structure is documented below.
    custom_environment_spec object
    Compute configuration to use for an execution job Structure is documented below.
    dataform_repository_source object
    The Dataform Repository containing the input notebook. Structure is documented below.
    deletion_policy string
    Whether Terraform will be prevented from destroying the resource. Defaults to DELETE. When a 'terraform destroy' or 'pulumi up' would delete the resource, the command will fail if this field is set to "PREVENT" in Terraform state. When set to "ABANDON", the command will remove the resource from Terraform management without updating or deleting the resource in the API. When set to "DELETE", deleting the resource is allowed.
    direct_notebook_source object
    The content of the input notebook in ipynb format. Structure is documented below.
    display_name string
    Required. The display name of the Notebook Execution.
    execution_timeout string
    Max running time of the execution job in seconds (default 86400s / 24 hrs).
    execution_user string
    The user email to run the execution as.
    gcs_notebook_source object
    The Cloud Storage uri for the input notebook. Structure is documented below.
    gcs_output_uri string
    The Cloud Storage location to upload the result to. Format:gs://bucket-name
    location string
    The location for the resource: https://cloud.google.com/colab/docs/locations
    notebook_execution_job_id string
    User specified ID for the Notebook Execution Job
    notebook_runtime_template_resource_name string
    The NotebookRuntimeTemplate to source compute configuration from.
    project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    service_account string
    The service account to run the execution as.
    workbench_runtime object
    Configuration for a Workbench Instances-based environment. Structure is documented below.
    customEnvironmentSpec NotebookExecutionCustomEnvironmentSpec
    Compute configuration to use for an execution job Structure is documented below.
    dataformRepositorySource NotebookExecutionDataformRepositorySource
    The Dataform Repository containing the input notebook. Structure is documented below.
    deletionPolicy String
    Whether Terraform will be prevented from destroying the resource. Defaults to DELETE. When a 'terraform destroy' or 'pulumi up' would delete the resource, the command will fail if this field is set to "PREVENT" in Terraform state. When set to "ABANDON", the command will remove the resource from Terraform management without updating or deleting the resource in the API. When set to "DELETE", deleting the resource is allowed.
    directNotebookSource NotebookExecutionDirectNotebookSource
    The content of the input notebook in ipynb format. Structure is documented below.
    displayName String
    Required. The display name of the Notebook Execution.
    executionTimeout String
    Max running time of the execution job in seconds (default 86400s / 24 hrs).
    executionUser String
    The user email to run the execution as.
    gcsNotebookSource NotebookExecutionGcsNotebookSource
    The Cloud Storage uri for the input notebook. Structure is documented below.
    gcsOutputUri String
    The Cloud Storage location to upload the result to. Format:gs://bucket-name
    location String
    The location for the resource: https://cloud.google.com/colab/docs/locations
    notebookExecutionJobId String
    User specified ID for the Notebook Execution Job
    notebookRuntimeTemplateResourceName String
    The NotebookRuntimeTemplate to source compute configuration from.
    project String
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    serviceAccount String
    The service account to run the execution as.
    workbenchRuntime NotebookExecutionWorkbenchRuntime
    Configuration for a Workbench Instances-based environment. Structure is documented below.
    customEnvironmentSpec NotebookExecutionCustomEnvironmentSpec
    Compute configuration to use for an execution job Structure is documented below.
    dataformRepositorySource NotebookExecutionDataformRepositorySource
    The Dataform Repository containing the input notebook. Structure is documented below.
    deletionPolicy string
    Whether Terraform will be prevented from destroying the resource. Defaults to DELETE. When a 'terraform destroy' or 'pulumi up' would delete the resource, the command will fail if this field is set to "PREVENT" in Terraform state. When set to "ABANDON", the command will remove the resource from Terraform management without updating or deleting the resource in the API. When set to "DELETE", deleting the resource is allowed.
    directNotebookSource NotebookExecutionDirectNotebookSource
    The content of the input notebook in ipynb format. Structure is documented below.
    displayName string
    Required. The display name of the Notebook Execution.
    executionTimeout string
    Max running time of the execution job in seconds (default 86400s / 24 hrs).
    executionUser string
    The user email to run the execution as.
    gcsNotebookSource NotebookExecutionGcsNotebookSource
    The Cloud Storage uri for the input notebook. Structure is documented below.
    gcsOutputUri string
    The Cloud Storage location to upload the result to. Format:gs://bucket-name
    location string
    The location for the resource: https://cloud.google.com/colab/docs/locations
    notebookExecutionJobId string
    User specified ID for the Notebook Execution Job
    notebookRuntimeTemplateResourceName string
    The NotebookRuntimeTemplate to source compute configuration from.
    project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    serviceAccount string
    The service account to run the execution as.
    workbenchRuntime NotebookExecutionWorkbenchRuntime
    Configuration for a Workbench Instances-based environment. Structure is documented below.
    custom_environment_spec NotebookExecutionCustomEnvironmentSpecArgs
    Compute configuration to use for an execution job Structure is documented below.
    dataform_repository_source NotebookExecutionDataformRepositorySourceArgs
    The Dataform Repository containing the input notebook. Structure is documented below.
    deletion_policy str
    Whether Terraform will be prevented from destroying the resource. Defaults to DELETE. When a 'terraform destroy' or 'pulumi up' would delete the resource, the command will fail if this field is set to "PREVENT" in Terraform state. When set to "ABANDON", the command will remove the resource from Terraform management without updating or deleting the resource in the API. When set to "DELETE", deleting the resource is allowed.
    direct_notebook_source NotebookExecutionDirectNotebookSourceArgs
    The content of the input notebook in ipynb format. Structure is documented below.
    display_name str
    Required. The display name of the Notebook Execution.
    execution_timeout str
    Max running time of the execution job in seconds (default 86400s / 24 hrs).
    execution_user str
    The user email to run the execution as.
    gcs_notebook_source NotebookExecutionGcsNotebookSourceArgs
    The Cloud Storage uri for the input notebook. Structure is documented below.
    gcs_output_uri str
    The Cloud Storage location to upload the result to. Format:gs://bucket-name
    location str
    The location for the resource: https://cloud.google.com/colab/docs/locations
    notebook_execution_job_id str
    User specified ID for the Notebook Execution Job
    notebook_runtime_template_resource_name str
    The NotebookRuntimeTemplate to source compute configuration from.
    project str
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    service_account str
    The service account to run the execution as.
    workbench_runtime NotebookExecutionWorkbenchRuntimeArgs
    Configuration for a Workbench Instances-based environment. Structure is documented below.
    customEnvironmentSpec Property Map
    Compute configuration to use for an execution job Structure is documented below.
    dataformRepositorySource Property Map
    The Dataform Repository containing the input notebook. Structure is documented below.
    deletionPolicy String
    Whether Terraform will be prevented from destroying the resource. Defaults to DELETE. When a 'terraform destroy' or 'pulumi up' would delete the resource, the command will fail if this field is set to "PREVENT" in Terraform state. When set to "ABANDON", the command will remove the resource from Terraform management without updating or deleting the resource in the API. When set to "DELETE", deleting the resource is allowed.
    directNotebookSource Property Map
    The content of the input notebook in ipynb format. Structure is documented below.
    displayName String
    Required. The display name of the Notebook Execution.
    executionTimeout String
    Max running time of the execution job in seconds (default 86400s / 24 hrs).
    executionUser String
    The user email to run the execution as.
    gcsNotebookSource Property Map
    The Cloud Storage uri for the input notebook. Structure is documented below.
    gcsOutputUri String
    The Cloud Storage location to upload the result to. Format:gs://bucket-name
    location String
    The location for the resource: https://cloud.google.com/colab/docs/locations
    notebookExecutionJobId String
    User specified ID for the Notebook Execution Job
    notebookRuntimeTemplateResourceName String
    The NotebookRuntimeTemplate to source compute configuration from.
    project String
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    serviceAccount String
    The service account to run the execution as.
    workbenchRuntime Property Map
    Configuration for a Workbench Instances-based environment. Structure is documented below.

    Supporting Types

    NotebookExecutionCustomEnvironmentSpec, NotebookExecutionCustomEnvironmentSpecArgs

    MachineSpec NotebookExecutionCustomEnvironmentSpecMachineSpec
    'The machine configuration of the runtime.' Structure is documented below.
    NetworkSpec NotebookExecutionCustomEnvironmentSpecNetworkSpec
    The network configuration for the runtime. Structure is documented below.
    PersistentDiskSpec NotebookExecutionCustomEnvironmentSpecPersistentDiskSpec
    The configuration for the data disk of the runtime. Structure is documented below.
    ShieldedInstanceConfig NotebookExecutionCustomEnvironmentSpecShieldedInstanceConfig
    Shielded VM configuration. Structure is documented below.
    MachineSpec NotebookExecutionCustomEnvironmentSpecMachineSpec
    'The machine configuration of the runtime.' Structure is documented below.
    NetworkSpec NotebookExecutionCustomEnvironmentSpecNetworkSpec
    The network configuration for the runtime. Structure is documented below.
    PersistentDiskSpec NotebookExecutionCustomEnvironmentSpecPersistentDiskSpec
    The configuration for the data disk of the runtime. Structure is documented below.
    ShieldedInstanceConfig NotebookExecutionCustomEnvironmentSpecShieldedInstanceConfig
    Shielded VM configuration. Structure is documented below.
    machine_spec object
    'The machine configuration of the runtime.' Structure is documented below.
    network_spec object
    The network configuration for the runtime. Structure is documented below.
    persistent_disk_spec object
    The configuration for the data disk of the runtime. Structure is documented below.
    shielded_instance_config object
    Shielded VM configuration. Structure is documented below.
    machineSpec NotebookExecutionCustomEnvironmentSpecMachineSpec
    'The machine configuration of the runtime.' Structure is documented below.
    networkSpec NotebookExecutionCustomEnvironmentSpecNetworkSpec
    The network configuration for the runtime. Structure is documented below.
    persistentDiskSpec NotebookExecutionCustomEnvironmentSpecPersistentDiskSpec
    The configuration for the data disk of the runtime. Structure is documented below.
    shieldedInstanceConfig NotebookExecutionCustomEnvironmentSpecShieldedInstanceConfig
    Shielded VM configuration. Structure is documented below.
    machineSpec NotebookExecutionCustomEnvironmentSpecMachineSpec
    'The machine configuration of the runtime.' Structure is documented below.
    networkSpec NotebookExecutionCustomEnvironmentSpecNetworkSpec
    The network configuration for the runtime. Structure is documented below.
    persistentDiskSpec NotebookExecutionCustomEnvironmentSpecPersistentDiskSpec
    The configuration for the data disk of the runtime. Structure is documented below.
    shieldedInstanceConfig NotebookExecutionCustomEnvironmentSpecShieldedInstanceConfig
    Shielded VM configuration. Structure is documented below.
    machine_spec NotebookExecutionCustomEnvironmentSpecMachineSpec
    'The machine configuration of the runtime.' Structure is documented below.
    network_spec NotebookExecutionCustomEnvironmentSpecNetworkSpec
    The network configuration for the runtime. Structure is documented below.
    persistent_disk_spec NotebookExecutionCustomEnvironmentSpecPersistentDiskSpec
    The configuration for the data disk of the runtime. Structure is documented below.
    shielded_instance_config NotebookExecutionCustomEnvironmentSpecShieldedInstanceConfig
    Shielded VM configuration. Structure is documented below.
    machineSpec Property Map
    'The machine configuration of the runtime.' Structure is documented below.
    networkSpec Property Map
    The network configuration for the runtime. Structure is documented below.
    persistentDiskSpec Property Map
    The configuration for the data disk of the runtime. Structure is documented below.
    shieldedInstanceConfig Property Map
    Shielded VM configuration. Structure is documented below.

    NotebookExecutionCustomEnvironmentSpecMachineSpec, NotebookExecutionCustomEnvironmentSpecMachineSpecArgs

    AcceleratorCount int
    The number of accelerators used by the runtime.
    AcceleratorType string
    The type of hardware accelerator used by the runtime. If specified, acceleratorCount must also be specified.
    MachineType string
    The Compute Engine machine type selected for the runtime.
    AcceleratorCount int
    The number of accelerators used by the runtime.
    AcceleratorType string
    The type of hardware accelerator used by the runtime. If specified, acceleratorCount must also be specified.
    MachineType string
    The Compute Engine machine type selected for the runtime.
    accelerator_count number
    The number of accelerators used by the runtime.
    accelerator_type string
    The type of hardware accelerator used by the runtime. If specified, acceleratorCount must also be specified.
    machine_type string
    The Compute Engine machine type selected for the runtime.
    acceleratorCount Integer
    The number of accelerators used by the runtime.
    acceleratorType String
    The type of hardware accelerator used by the runtime. If specified, acceleratorCount must also be specified.
    machineType String
    The Compute Engine machine type selected for the runtime.
    acceleratorCount number
    The number of accelerators used by the runtime.
    acceleratorType string
    The type of hardware accelerator used by the runtime. If specified, acceleratorCount must also be specified.
    machineType string
    The Compute Engine machine type selected for the runtime.
    accelerator_count int
    The number of accelerators used by the runtime.
    accelerator_type str
    The type of hardware accelerator used by the runtime. If specified, acceleratorCount must also be specified.
    machine_type str
    The Compute Engine machine type selected for the runtime.
    acceleratorCount Number
    The number of accelerators used by the runtime.
    acceleratorType String
    The type of hardware accelerator used by the runtime. If specified, acceleratorCount must also be specified.
    machineType String
    The Compute Engine machine type selected for the runtime.

    NotebookExecutionCustomEnvironmentSpecNetworkSpec, NotebookExecutionCustomEnvironmentSpecNetworkSpecArgs

    EnableInternetAccess bool
    Enable public internet access for the runtime.
    Network string
    The name of the VPC that this runtime is in.
    Subnetwork string
    The name of the subnetwork that this runtime is in.
    EnableInternetAccess bool
    Enable public internet access for the runtime.
    Network string
    The name of the VPC that this runtime is in.
    Subnetwork string
    The name of the subnetwork that this runtime is in.
    enable_internet_access bool
    Enable public internet access for the runtime.
    network string
    The name of the VPC that this runtime is in.
    subnetwork string
    The name of the subnetwork that this runtime is in.
    enableInternetAccess Boolean
    Enable public internet access for the runtime.
    network String
    The name of the VPC that this runtime is in.
    subnetwork String
    The name of the subnetwork that this runtime is in.
    enableInternetAccess boolean
    Enable public internet access for the runtime.
    network string
    The name of the VPC that this runtime is in.
    subnetwork string
    The name of the subnetwork that this runtime is in.
    enable_internet_access bool
    Enable public internet access for the runtime.
    network str
    The name of the VPC that this runtime is in.
    subnetwork str
    The name of the subnetwork that this runtime is in.
    enableInternetAccess Boolean
    Enable public internet access for the runtime.
    network String
    The name of the VPC that this runtime is in.
    subnetwork String
    The name of the subnetwork that this runtime is in.

    NotebookExecutionCustomEnvironmentSpecPersistentDiskSpec, NotebookExecutionCustomEnvironmentSpecPersistentDiskSpecArgs

    DiskSizeGb string
    The disk size of the runtime in GB. If specified, the diskType must also be specified. The minimum size is 10GB and the maximum is 65536GB.
    DiskType string
    The type of the persistent disk.
    DiskSizeGb string
    The disk size of the runtime in GB. If specified, the diskType must also be specified. The minimum size is 10GB and the maximum is 65536GB.
    DiskType string
    The type of the persistent disk.
    disk_size_gb string
    The disk size of the runtime in GB. If specified, the diskType must also be specified. The minimum size is 10GB and the maximum is 65536GB.
    disk_type string
    The type of the persistent disk.
    diskSizeGb String
    The disk size of the runtime in GB. If specified, the diskType must also be specified. The minimum size is 10GB and the maximum is 65536GB.
    diskType String
    The type of the persistent disk.
    diskSizeGb string
    The disk size of the runtime in GB. If specified, the diskType must also be specified. The minimum size is 10GB and the maximum is 65536GB.
    diskType string
    The type of the persistent disk.
    disk_size_gb str
    The disk size of the runtime in GB. If specified, the diskType must also be specified. The minimum size is 10GB and the maximum is 65536GB.
    disk_type str
    The type of the persistent disk.
    diskSizeGb String
    The disk size of the runtime in GB. If specified, the diskType must also be specified. The minimum size is 10GB and the maximum is 65536GB.
    diskType String
    The type of the persistent disk.

    NotebookExecutionCustomEnvironmentSpecShieldedInstanceConfig, NotebookExecutionCustomEnvironmentSpecShieldedInstanceConfigArgs

    EnableIntegrityMonitoring bool
    Defines whether the instance has integrity monitoring enabled. Enables monitoring and attestation of the boot integrity of the instance. The attestation is performed against the integrity policy baseline. This baseline is initially derived from the implicitly trusted boot image when the instance is created. Enabled by default.
    EnableSecureBoot bool
    Defines whether the instance has Secure Boot enabled. Secure Boot helps ensure that the system only runs authentic software by verifying the digital signature of all boot components, and halting the boot process if signature verification fails. Disabled by default.
    EnableVtpm bool
    Defines whether the instance has the vTPM enabled. Enabled by default.
    EnableIntegrityMonitoring bool
    Defines whether the instance has integrity monitoring enabled. Enables monitoring and attestation of the boot integrity of the instance. The attestation is performed against the integrity policy baseline. This baseline is initially derived from the implicitly trusted boot image when the instance is created. Enabled by default.
    EnableSecureBoot bool
    Defines whether the instance has Secure Boot enabled. Secure Boot helps ensure that the system only runs authentic software by verifying the digital signature of all boot components, and halting the boot process if signature verification fails. Disabled by default.
    EnableVtpm bool
    Defines whether the instance has the vTPM enabled. Enabled by default.
    enable_integrity_monitoring bool
    Defines whether the instance has integrity monitoring enabled. Enables monitoring and attestation of the boot integrity of the instance. The attestation is performed against the integrity policy baseline. This baseline is initially derived from the implicitly trusted boot image when the instance is created. Enabled by default.
    enable_secure_boot bool
    Defines whether the instance has Secure Boot enabled. Secure Boot helps ensure that the system only runs authentic software by verifying the digital signature of all boot components, and halting the boot process if signature verification fails. Disabled by default.
    enable_vtpm bool
    Defines whether the instance has the vTPM enabled. Enabled by default.
    enableIntegrityMonitoring Boolean
    Defines whether the instance has integrity monitoring enabled. Enables monitoring and attestation of the boot integrity of the instance. The attestation is performed against the integrity policy baseline. This baseline is initially derived from the implicitly trusted boot image when the instance is created. Enabled by default.
    enableSecureBoot Boolean
    Defines whether the instance has Secure Boot enabled. Secure Boot helps ensure that the system only runs authentic software by verifying the digital signature of all boot components, and halting the boot process if signature verification fails. Disabled by default.
    enableVtpm Boolean
    Defines whether the instance has the vTPM enabled. Enabled by default.
    enableIntegrityMonitoring boolean
    Defines whether the instance has integrity monitoring enabled. Enables monitoring and attestation of the boot integrity of the instance. The attestation is performed against the integrity policy baseline. This baseline is initially derived from the implicitly trusted boot image when the instance is created. Enabled by default.
    enableSecureBoot boolean
    Defines whether the instance has Secure Boot enabled. Secure Boot helps ensure that the system only runs authentic software by verifying the digital signature of all boot components, and halting the boot process if signature verification fails. Disabled by default.
    enableVtpm boolean
    Defines whether the instance has the vTPM enabled. Enabled by default.
    enable_integrity_monitoring bool
    Defines whether the instance has integrity monitoring enabled. Enables monitoring and attestation of the boot integrity of the instance. The attestation is performed against the integrity policy baseline. This baseline is initially derived from the implicitly trusted boot image when the instance is created. Enabled by default.
    enable_secure_boot bool
    Defines whether the instance has Secure Boot enabled. Secure Boot helps ensure that the system only runs authentic software by verifying the digital signature of all boot components, and halting the boot process if signature verification fails. Disabled by default.
    enable_vtpm bool
    Defines whether the instance has the vTPM enabled. Enabled by default.
    enableIntegrityMonitoring Boolean
    Defines whether the instance has integrity monitoring enabled. Enables monitoring and attestation of the boot integrity of the instance. The attestation is performed against the integrity policy baseline. This baseline is initially derived from the implicitly trusted boot image when the instance is created. Enabled by default.
    enableSecureBoot Boolean
    Defines whether the instance has Secure Boot enabled. Secure Boot helps ensure that the system only runs authentic software by verifying the digital signature of all boot components, and halting the boot process if signature verification fails. Disabled by default.
    enableVtpm Boolean
    Defines whether the instance has the vTPM enabled. Enabled by default.

    NotebookExecutionDataformRepositorySource, NotebookExecutionDataformRepositorySourceArgs

    DataformRepositoryResourceName string
    The resource name of the Dataform Repository.
    CommitSha string
    The commit SHA to read repository with. If unset, the file will be read at HEAD.
    DataformRepositoryResourceName string
    The resource name of the Dataform Repository.
    CommitSha string
    The commit SHA to read repository with. If unset, the file will be read at HEAD.
    dataform_repository_resource_name string
    The resource name of the Dataform Repository.
    commit_sha string
    The commit SHA to read repository with. If unset, the file will be read at HEAD.
    dataformRepositoryResourceName String
    The resource name of the Dataform Repository.
    commitSha String
    The commit SHA to read repository with. If unset, the file will be read at HEAD.
    dataformRepositoryResourceName string
    The resource name of the Dataform Repository.
    commitSha string
    The commit SHA to read repository with. If unset, the file will be read at HEAD.
    dataform_repository_resource_name str
    The resource name of the Dataform Repository.
    commit_sha str
    The commit SHA to read repository with. If unset, the file will be read at HEAD.
    dataformRepositoryResourceName String
    The resource name of the Dataform Repository.
    commitSha String
    The commit SHA to read repository with. If unset, the file will be read at HEAD.

    NotebookExecutionDirectNotebookSource, NotebookExecutionDirectNotebookSourceArgs

    Content string
    The base64-encoded contents of the input notebook file.
    Content string
    The base64-encoded contents of the input notebook file.
    content string
    The base64-encoded contents of the input notebook file.
    content String
    The base64-encoded contents of the input notebook file.
    content string
    The base64-encoded contents of the input notebook file.
    content str
    The base64-encoded contents of the input notebook file.
    content String
    The base64-encoded contents of the input notebook file.

    NotebookExecutionGcsNotebookSource, NotebookExecutionGcsNotebookSourceArgs

    Uri string
    The Cloud Storage uri pointing to the ipynb file.
    Generation string
    The version of the Cloud Storage object to read. If unset, the current version of the object is read. See https://cloud.google.com/storage/docs/metadata#generation-number.
    Uri string
    The Cloud Storage uri pointing to the ipynb file.
    Generation string
    The version of the Cloud Storage object to read. If unset, the current version of the object is read. See https://cloud.google.com/storage/docs/metadata#generation-number.
    uri string
    The Cloud Storage uri pointing to the ipynb file.
    generation string
    The version of the Cloud Storage object to read. If unset, the current version of the object is read. See https://cloud.google.com/storage/docs/metadata#generation-number.
    uri String
    The Cloud Storage uri pointing to the ipynb file.
    generation String
    The version of the Cloud Storage object to read. If unset, the current version of the object is read. See https://cloud.google.com/storage/docs/metadata#generation-number.
    uri string
    The Cloud Storage uri pointing to the ipynb file.
    generation string
    The version of the Cloud Storage object to read. If unset, the current version of the object is read. See https://cloud.google.com/storage/docs/metadata#generation-number.
    uri str
    The Cloud Storage uri pointing to the ipynb file.
    generation str
    The version of the Cloud Storage object to read. If unset, the current version of the object is read. See https://cloud.google.com/storage/docs/metadata#generation-number.
    uri String
    The Cloud Storage uri pointing to the ipynb file.
    generation String
    The version of the Cloud Storage object to read. If unset, the current version of the object is read. See https://cloud.google.com/storage/docs/metadata#generation-number.

    NotebookExecutionWorkbenchRuntime, NotebookExecutionWorkbenchRuntimeArgs

    VmImage NotebookExecutionWorkbenchRuntimeVmImage
    Custom Compute Engine VM image for the Workbench instance. Structure is documented below.
    VmImage NotebookExecutionWorkbenchRuntimeVmImage
    Custom Compute Engine VM image for the Workbench instance. Structure is documented below.
    vm_image object
    Custom Compute Engine VM image for the Workbench instance. Structure is documented below.
    vmImage NotebookExecutionWorkbenchRuntimeVmImage
    Custom Compute Engine VM image for the Workbench instance. Structure is documented below.
    vmImage NotebookExecutionWorkbenchRuntimeVmImage
    Custom Compute Engine VM image for the Workbench instance. Structure is documented below.
    vm_image NotebookExecutionWorkbenchRuntimeVmImage
    Custom Compute Engine VM image for the Workbench instance. Structure is documented below.
    vmImage Property Map
    Custom Compute Engine VM image for the Workbench instance. Structure is documented below.

    NotebookExecutionWorkbenchRuntimeVmImage, NotebookExecutionWorkbenchRuntimeVmImageArgs

    Family string
    Use this VM image family to find the image; the newest image in this family will be used.
    Name string
    Use VM image name to find the image.
    Project string
    The name of the Google Cloud project that this VM image belongs to. Format: {project_id}
    Family string
    Use this VM image family to find the image; the newest image in this family will be used.
    Name string
    Use VM image name to find the image.
    Project string
    The name of the Google Cloud project that this VM image belongs to. Format: {project_id}
    family string
    Use this VM image family to find the image; the newest image in this family will be used.
    name string
    Use VM image name to find the image.
    project string
    The name of the Google Cloud project that this VM image belongs to. Format: {project_id}
    family String
    Use this VM image family to find the image; the newest image in this family will be used.
    name String
    Use VM image name to find the image.
    project String
    The name of the Google Cloud project that this VM image belongs to. Format: {project_id}
    family string
    Use this VM image family to find the image; the newest image in this family will be used.
    name string
    Use VM image name to find the image.
    project string
    The name of the Google Cloud project that this VM image belongs to. Format: {project_id}
    family str
    Use this VM image family to find the image; the newest image in this family will be used.
    name str
    Use VM image name to find the image.
    project str
    The name of the Google Cloud project that this VM image belongs to. Format: {project_id}
    family String
    Use this VM image family to find the image; the newest image in this family will be used.
    name String
    Use VM image name to find the image.
    project String
    The name of the Google Cloud project that this VM image belongs to. Format: {project_id}

    Import

    NotebookExecution can be imported using any of these accepted formats:

    • projects/{{project}}/locations/{{location}}/notebookExecutionJobs/{{notebook_execution_job_id}}
    • {{project}}/{{location}}/{{notebook_execution_job_id}}
    • {{location}}/{{notebook_execution_job_id}}

    When using the pulumi import command, NotebookExecution can be imported using one of the formats above. For example:

    $ pulumi import gcp:colab/notebookExecution:NotebookExecution default projects/{{project}}/locations/{{location}}/notebookExecutionJobs/{{notebook_execution_job_id}}
    $ pulumi import gcp:colab/notebookExecution:NotebookExecution default {{project}}/{{location}}/{{notebook_execution_job_id}}
    $ pulumi import gcp:colab/notebookExecution:NotebookExecution default {{location}}/{{notebook_execution_job_id}}
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    Google Cloud (GCP) Classic pulumi/pulumi-gcp
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the google-beta Terraform Provider.
    gcp logo
    Viewing docs for Google Cloud v9.36.1
    published on Thursday, Sep 3, 2026 by Pulumi

      Try Pulumi Cloud free.
      Your team will thank you.

      Start free trial