1. Registry
  2. Packages
  3. Google Cloud (GCP) Classic
  4. API Docs
  5. colab
  6. Schedule
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

    ‘Colab Enterprise Notebook Execution Schedules.’

    To get more information about Schedule, see:

    Example Usage

    Colab Schedule Basic

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const myRuntimeTemplate = new gcp.colab.RuntimeTemplate("my_runtime_template", {
        name: "runtime-template",
        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 schedule = new gcp.colab.Schedule("schedule", {
        displayName: "basic-schedule",
        location: "us-west1",
        maxConcurrentRunCount: "2",
        cron: "TZ=America/Los_Angeles * * * * *",
        createNotebookExecutionJobRequest: {
            notebookExecutionJob: {
                displayName: "Notebook execution",
                gcsNotebookSource: {
                    uri: pulumi.interpolate`gs://${notebook.bucket}/${notebook.name}`,
                    generation: notebook.generation.apply(x =>String(x)),
                },
                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
    
    my_runtime_template = gcp.colab.RuntimeTemplate("my_runtime_template",
        name="runtime-template",
        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
        }
    """)
    schedule = gcp.colab.Schedule("schedule",
        display_name="basic-schedule",
        location="us-west1",
        max_concurrent_run_count="2",
        cron="TZ=America/Los_Angeles * * * * *",
        create_notebook_execution_job_request={
            "notebook_execution_job": {
                "display_name": "Notebook execution",
                "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)),
                },
                "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/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"),
    			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.NewSchedule(ctx, "schedule", &colab.ScheduleArgs{
    			DisplayName:           pulumi.String("basic-schedule"),
    			Location:              pulumi.String("us-west1"),
    			MaxConcurrentRunCount: pulumi.String("2"),
    			Cron:                  pulumi.String("TZ=America/Los_Angeles * * * * *"),
    			CreateNotebookExecutionJobRequest: &colab.ScheduleCreateNotebookExecutionJobRequestArgs{
    				NotebookExecutionJob: &colab.ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobArgs{
    					DisplayName: pulumi.String("Notebook execution"),
    					GcsNotebookSource: &colab.ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobGcsNotebookSourceArgs{
    						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,
    					},
    					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;
    
    return await Deployment.RunAsync(() => 
    {
        var myRuntimeTemplate = new Gcp.Colab.RuntimeTemplate("my_runtime_template", new()
        {
            Name = "runtime-template",
            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 schedule = new Gcp.Colab.Schedule("schedule", new()
        {
            DisplayName = "basic-schedule",
            Location = "us-west1",
            MaxConcurrentRunCount = "2",
            Cron = "TZ=America/Los_Angeles * * * * *",
            CreateNotebookExecutionJobRequest = new Gcp.Colab.Inputs.ScheduleCreateNotebookExecutionJobRequestArgs
            {
                NotebookExecutionJob = new Gcp.Colab.Inputs.ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobArgs
                {
                    DisplayName = "Notebook execution",
                    GcsNotebookSource = new Gcp.Colab.Inputs.ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobGcsNotebookSourceArgs
                    {
                        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)),
                    },
                    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.storage.BucketObject;
    import com.pulumi.gcp.storage.BucketObjectArgs;
    import com.pulumi.gcp.colab.Schedule;
    import com.pulumi.gcp.colab.ScheduleArgs;
    import com.pulumi.gcp.colab.inputs.ScheduleCreateNotebookExecutionJobRequestArgs;
    import com.pulumi.gcp.colab.inputs.ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobArgs;
    import com.pulumi.gcp.colab.inputs.ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobGcsNotebookSourceArgs;
    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")
                .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 schedule = new Schedule("schedule", ScheduleArgs.builder()
                .displayName("basic-schedule")
                .location("us-west1")
                .maxConcurrentRunCount("2")
                .cron("TZ=America/Los_Angeles * * * * *")
                .createNotebookExecutionJobRequest(ScheduleCreateNotebookExecutionJobRequestArgs.builder()
                    .notebookExecutionJob(ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobArgs.builder()
                        .displayName("Notebook execution")
                        .gcsNotebookSource(ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobGcsNotebookSourceArgs.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())
                        .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())
                    .build())
                .build(), CustomResourceOptions.builder()
                    .dependsOn(                
                        myRuntimeTemplate,
                        outputBucket)
                    .build());
    
        }
    }
    
    resources:
      myRuntimeTemplate:
        type: gcp:colab:RuntimeTemplate
        name: my_runtime_template
        properties:
          name: runtime-template
          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
                }
      schedule:
        type: gcp:colab:Schedule
        properties:
          displayName: basic-schedule
          location: us-west1
          maxConcurrentRunCount: 2
          cron: TZ=America/Los_Angeles * * * * *
          createNotebookExecutionJobRequest:
            notebookExecutionJob:
              displayName: Notebook execution
              gcsNotebookSource:
                uri: gs://${notebook.bucket}/${notebook.name}
                generation: ${notebook.generation}
              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"
        }
      }
    }
    
    resource "gcp_colab_runtimetemplate" "my_runtime_template" {
      name         = "runtime-template"
      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_schedule" "schedule" {
      depends_on               = [gcp_colab_runtimetemplate.my_runtime_template, gcp_storage_bucket.output_bucket]
      display_name             = "basic-schedule"
      location                 = "us-west1"
      max_concurrent_run_count = 2
      cron                     = "TZ=America/Los_Angeles * * * * *"
      create_notebook_execution_job_request = {
        notebook_execution_job = {
          display_name = "Notebook execution"
          gcs_notebook_source = {
            uri        ="gs://${gcp_storage_bucketobject.notebook.bucket}/${gcp_storage_bucketobject.notebook.name}"
            generation = gcp_storage_bucketobject.notebook.generation
          }
          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 Schedule Paused

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const myRuntimeTemplate = new gcp.colab.RuntimeTemplate("my_runtime_template", {
        name: "runtime-template",
        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 schedule = new gcp.colab.Schedule("schedule", {
        displayName: "paused-schedule",
        location: "us-west1",
        maxConcurrentRunCount: "2",
        cron: "TZ=America/Los_Angeles * * * * *",
        desiredState: "PAUSED",
        createNotebookExecutionJobRequest: {
            notebookExecutionJob: {
                displayName: "Notebook execution",
                gcsNotebookSource: {
                    uri: pulumi.interpolate`gs://${notebook.bucket}/${notebook.name}`,
                    generation: notebook.generation.apply(x =>String(x)),
                },
                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
    
    my_runtime_template = gcp.colab.RuntimeTemplate("my_runtime_template",
        name="runtime-template",
        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
        }
    """)
    schedule = gcp.colab.Schedule("schedule",
        display_name="paused-schedule",
        location="us-west1",
        max_concurrent_run_count="2",
        cron="TZ=America/Los_Angeles * * * * *",
        desired_state="PAUSED",
        create_notebook_execution_job_request={
            "notebook_execution_job": {
                "display_name": "Notebook execution",
                "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)),
                },
                "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/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"),
    			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.NewSchedule(ctx, "schedule", &colab.ScheduleArgs{
    			DisplayName:           pulumi.String("paused-schedule"),
    			Location:              pulumi.String("us-west1"),
    			MaxConcurrentRunCount: pulumi.String("2"),
    			Cron:                  pulumi.String("TZ=America/Los_Angeles * * * * *"),
    			DesiredState:          pulumi.String("PAUSED"),
    			CreateNotebookExecutionJobRequest: &colab.ScheduleCreateNotebookExecutionJobRequestArgs{
    				NotebookExecutionJob: &colab.ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobArgs{
    					DisplayName: pulumi.String("Notebook execution"),
    					GcsNotebookSource: &colab.ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobGcsNotebookSourceArgs{
    						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,
    					},
    					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;
    
    return await Deployment.RunAsync(() => 
    {
        var myRuntimeTemplate = new Gcp.Colab.RuntimeTemplate("my_runtime_template", new()
        {
            Name = "runtime-template",
            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 schedule = new Gcp.Colab.Schedule("schedule", new()
        {
            DisplayName = "paused-schedule",
            Location = "us-west1",
            MaxConcurrentRunCount = "2",
            Cron = "TZ=America/Los_Angeles * * * * *",
            DesiredState = "PAUSED",
            CreateNotebookExecutionJobRequest = new Gcp.Colab.Inputs.ScheduleCreateNotebookExecutionJobRequestArgs
            {
                NotebookExecutionJob = new Gcp.Colab.Inputs.ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobArgs
                {
                    DisplayName = "Notebook execution",
                    GcsNotebookSource = new Gcp.Colab.Inputs.ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobGcsNotebookSourceArgs
                    {
                        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)),
                    },
                    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.storage.BucketObject;
    import com.pulumi.gcp.storage.BucketObjectArgs;
    import com.pulumi.gcp.colab.Schedule;
    import com.pulumi.gcp.colab.ScheduleArgs;
    import com.pulumi.gcp.colab.inputs.ScheduleCreateNotebookExecutionJobRequestArgs;
    import com.pulumi.gcp.colab.inputs.ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobArgs;
    import com.pulumi.gcp.colab.inputs.ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobGcsNotebookSourceArgs;
    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")
                .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 schedule = new Schedule("schedule", ScheduleArgs.builder()
                .displayName("paused-schedule")
                .location("us-west1")
                .maxConcurrentRunCount("2")
                .cron("TZ=America/Los_Angeles * * * * *")
                .desiredState("PAUSED")
                .createNotebookExecutionJobRequest(ScheduleCreateNotebookExecutionJobRequestArgs.builder()
                    .notebookExecutionJob(ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobArgs.builder()
                        .displayName("Notebook execution")
                        .gcsNotebookSource(ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobGcsNotebookSourceArgs.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())
                        .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())
                    .build())
                .build(), CustomResourceOptions.builder()
                    .dependsOn(                
                        myRuntimeTemplate,
                        outputBucket)
                    .build());
    
        }
    }
    
    resources:
      myRuntimeTemplate:
        type: gcp:colab:RuntimeTemplate
        name: my_runtime_template
        properties:
          name: runtime-template
          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
                }
      schedule:
        type: gcp:colab:Schedule
        properties:
          displayName: paused-schedule
          location: us-west1
          maxConcurrentRunCount: 2
          cron: TZ=America/Los_Angeles * * * * *
          desiredState: PAUSED
          createNotebookExecutionJobRequest:
            notebookExecutionJob:
              displayName: Notebook execution
              gcsNotebookSource:
                uri: gs://${notebook.bucket}/${notebook.name}
                generation: ${notebook.generation}
              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"
        }
      }
    }
    
    resource "gcp_colab_runtimetemplate" "my_runtime_template" {
      name         = "runtime-template"
      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_schedule" "schedule" {
      depends_on               = [gcp_colab_runtimetemplate.my_runtime_template, gcp_storage_bucket.output_bucket]
      display_name             = "paused-schedule"
      location                 = "us-west1"
      max_concurrent_run_count = 2
      cron                     = "TZ=America/Los_Angeles * * * * *"
      desired_state            = "PAUSED"
      create_notebook_execution_job_request = {
        notebook_execution_job = {
          display_name = "Notebook execution"
          gcs_notebook_source = {
            uri        ="gs://${gcp_storage_bucketobject.notebook.bucket}/${gcp_storage_bucketobject.notebook.name}"
            generation = gcp_storage_bucketobject.notebook.generation
          }
          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 Schedule 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",
        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-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 schedule = new gcp.colab.Schedule("schedule", {
        displayName: "full-schedule",
        location: "us-west1",
        allowQueueing: true,
        maxConcurrentRunCount: "2",
        cron: "TZ=America/Los_Angeles * * * * *",
        maxRunCount: "5",
        startTime: "2014-10-02T15:01:23Z",
        endTime: "2014-10-10T15:01:23Z",
        desiredState: "ACTIVE",
        createNotebookExecutionJobRequest: {
            notebookExecutionJob: {
                displayName: "Notebook execution",
                executionTimeout: "86400s",
                dataformRepositorySource: {
                    commitSha: "randomsha123",
                    dataformRepositoryResourceName: pulumi.interpolate`projects/my-project-name/locations/us-west1/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,
        ],
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    my_runtime_template = gcp.colab.RuntimeTemplate("my_runtime_template",
        name="runtime-template",
        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-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_",
        })
    schedule = gcp.colab.Schedule("schedule",
        display_name="full-schedule",
        location="us-west1",
        allow_queueing=True,
        max_concurrent_run_count="2",
        cron="TZ=America/Los_Angeles * * * * *",
        max_run_count="5",
        start_time="2014-10-02T15:01:23Z",
        end_time="2014-10-10T15:01:23Z",
        desired_state="ACTIVE",
        create_notebook_execution_job_request={
            "notebook_execution_job": {
                "display_name": "Notebook execution",
                "execution_timeout": "86400s",
                "dataform_repository_source": {
                    "commit_sha": "randomsha123",
                    "dataform_repository_resource_name": dataform_repository.name.apply(lambda name: f"projects/my-project-name/locations/us-west1/repositories/{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,
            ]))
    
    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"),
    			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-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.NewSchedule(ctx, "schedule", &colab.ScheduleArgs{
    			DisplayName:           pulumi.String("full-schedule"),
    			Location:              pulumi.String("us-west1"),
    			AllowQueueing:         pulumi.Bool(true),
    			MaxConcurrentRunCount: pulumi.String("2"),
    			Cron:                  pulumi.String("TZ=America/Los_Angeles * * * * *"),
    			MaxRunCount:           pulumi.String("5"),
    			StartTime:             pulumi.String("2014-10-02T15:01:23Z"),
    			EndTime:               pulumi.String("2014-10-10T15:01:23Z"),
    			DesiredState:          pulumi.String("ACTIVE"),
    			CreateNotebookExecutionJobRequest: &colab.ScheduleCreateNotebookExecutionJobRequestArgs{
    				NotebookExecutionJob: &colab.ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobArgs{
    					DisplayName:      pulumi.String("Notebook execution"),
    					ExecutionTimeout: pulumi.String("86400s"),
    					DataformRepositorySource: &colab.ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobDataformRepositorySourceArgs{
    						CommitSha: pulumi.String("randomsha123"),
    						DataformRepositoryResourceName: dataformRepository.Name.ApplyT(func(name string) (string, error) {
    							return fmt.Sprintf("projects/my-project-name/locations/us-west1/repositories/%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),
    					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,
    		}))
    		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",
            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-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 schedule = new Gcp.Colab.Schedule("schedule", new()
        {
            DisplayName = "full-schedule",
            Location = "us-west1",
            AllowQueueing = true,
            MaxConcurrentRunCount = "2",
            Cron = "TZ=America/Los_Angeles * * * * *",
            MaxRunCount = "5",
            StartTime = "2014-10-02T15:01:23Z",
            EndTime = "2014-10-10T15:01:23Z",
            DesiredState = "ACTIVE",
            CreateNotebookExecutionJobRequest = new Gcp.Colab.Inputs.ScheduleCreateNotebookExecutionJobRequestArgs
            {
                NotebookExecutionJob = new Gcp.Colab.Inputs.ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobArgs
                {
                    DisplayName = "Notebook execution",
                    ExecutionTimeout = "86400s",
                    DataformRepositorySource = new Gcp.Colab.Inputs.ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobDataformRepositorySourceArgs
                    {
                        CommitSha = "randomsha123",
                        DataformRepositoryResourceName = dataformRepository.Name.Apply(name => $"projects/my-project-name/locations/us-west1/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,
            },
        });
    
    });
    
    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.Schedule;
    import com.pulumi.gcp.colab.ScheduleArgs;
    import com.pulumi.gcp.colab.inputs.ScheduleCreateNotebookExecutionJobRequestArgs;
    import com.pulumi.gcp.colab.inputs.ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobArgs;
    import com.pulumi.gcp.colab.inputs.ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobDataformRepositorySourceArgs;
    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")
                .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-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 schedule = new Schedule("schedule", ScheduleArgs.builder()
                .displayName("full-schedule")
                .location("us-west1")
                .allowQueueing(true)
                .maxConcurrentRunCount("2")
                .cron("TZ=America/Los_Angeles * * * * *")
                .maxRunCount("5")
                .startTime("2014-10-02T15:01:23Z")
                .endTime("2014-10-10T15:01:23Z")
                .desiredState("ACTIVE")
                .createNotebookExecutionJobRequest(ScheduleCreateNotebookExecutionJobRequestArgs.builder()
                    .notebookExecutionJob(ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobArgs.builder()
                        .displayName("Notebook execution")
                        .executionTimeout("86400s")
                        .dataformRepositorySource(ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobDataformRepositorySourceArgs.builder()
                            .commitSha("randomsha123")
                            .dataformRepositoryResourceName(dataformRepository.name().applyValue(_name -> String.format("projects/my-project-name/locations/us-west1/repositories/%s", _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())
                    .build())
                .build(), CustomResourceOptions.builder()
                    .dependsOn(                
                        myRuntimeTemplate,
                        outputBucket,
                        secretVersion,
                        dataformRepository)
                    .build());
    
        }
    }
    
    resources:
      myRuntimeTemplate:
        type: gcp:colab:RuntimeTemplate
        name: my_runtime_template
        properties:
          name: runtime-template
          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-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_
      schedule:
        type: gcp:colab:Schedule
        properties:
          displayName: full-schedule
          location: us-west1
          allowQueueing: true
          maxConcurrentRunCount: 2
          cron: TZ=America/Los_Angeles * * * * *
          maxRunCount: 5
          startTime: 2014-10-02T15:01:23Z
          endTime: 2014-10-10T15:01:23Z
          desiredState: ACTIVE
          createNotebookExecutionJobRequest:
            notebookExecutionJob:
              displayName: Notebook execution
              executionTimeout: 86400s
              dataformRepositorySource:
                commitSha: randomsha123
                dataformRepositoryResourceName: projects/my-project-name/locations/us-west1/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}
    
    pulumi {
      required_providers {
        gcp = {
          source = "pulumi/gcp"
        }
      }
    }
    
    resource "gcp_colab_runtimetemplate" "my_runtime_template" {
      name         = "runtime-template"
      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-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_schedule" "schedule" {
      depends_on               = [gcp_colab_runtimetemplate.my_runtime_template, gcp_storage_bucket.output_bucket, gcp_secretmanager_secretversion.secret_version, gcp_dataform_repository.dataform_repository]
      display_name             = "full-schedule"
      location                 = "us-west1"
      allow_queueing           = true
      max_concurrent_run_count = 2
      cron                     = "TZ=America/Los_Angeles * * * * *"
      max_run_count            = 5
      start_time               = "2014-10-02T15:01:23Z"
      end_time                 = "2014-10-10T15:01:23Z"
      desired_state            = "ACTIVE"
      create_notebook_execution_job_request = {
        notebook_execution_job = {
          display_name      = "Notebook execution"
          execution_timeout = "86400s"
          dataform_repository_source = {
            commit_sha                        = "randomsha123"
            dataform_repository_resource_name ="projects/my-project-name/locations/us-west1/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"
        }
      }
    }
    

    Colab Schedule Notebook Full

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const project = gcp.organizations.getProject({});
    const bucket = new gcp.storage.Bucket("bucket", {
        name: "my_bucket",
        location: "us-central1",
        uniformBucketLevelAccess: true,
        forceDestroy: true,
    });
    const notebook = new gcp.storage.BucketObject("notebook", {
        name: "hello_world.ipynb",
        bucket: 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
        }
    `,
    });
    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 schedule = new gcp.colab.Schedule("schedule", {
        displayName: "full-notebook-schedule",
        location: "us-central1",
        maxConcurrentRunCount: "2",
        cron: "*/5 * * * *",
        startTime: "2030-01-01T00:00:00Z",
        createNotebookExecutionJobRequest: {
            parent: project.then(project => `projects/${project.projectId}/locations/us-central1`),
            notebookExecutionJob: {
                displayName: "test-notebook-execution-job",
                gcsOutputUri: pulumi.interpolate`gs://${bucket.name}`,
                serviceAccount: "my@service-account.com",
                kernelName: "python3",
                gcsNotebookSource: {
                    uri: pulumi.interpolate`gs://${notebook.bucket}/${notebook.name}`,
                    generation: notebook.generation.apply(x =>String(x)),
                },
                customEnvironmentSpec: {
                    machineSpec: {
                        machineType: "n1-standard-4",
                        acceleratorType: "NVIDIA_TESLA_T4",
                        acceleratorCount: 1,
                        gpuPartitionSize: "1g.10gb",
                        tpuTopology: "2x2",
                    },
                    persistentDiskSpec: {
                        diskSizeGb: "100",
                        diskType: "pd-standard",
                    },
                    networkSpec: {
                        enableInternetAccess: true,
                        network: myNetwork.id,
                        subnetwork: mySubnetwork.id,
                    },
                },
                encryptionSpec: {
                    kmsKeyName: "my-key",
                },
                labels: {
                    test: "value",
                },
            },
        },
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    project = gcp.organizations.get_project()
    bucket = gcp.storage.Bucket("bucket",
        name="my_bucket",
        location="us-central1",
        uniform_bucket_level_access=True,
        force_destroy=True)
    notebook = gcp.storage.BucketObject("notebook",
        name="hello_world.ipynb",
        bucket=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
        }
    """)
    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")
    schedule = gcp.colab.Schedule("schedule",
        display_name="full-notebook-schedule",
        location="us-central1",
        max_concurrent_run_count="2",
        cron="*/5 * * * *",
        start_time="2030-01-01T00:00:00Z",
        create_notebook_execution_job_request={
            "parent": f"projects/{project.project_id}/locations/us-central1",
            "notebook_execution_job": {
                "display_name": "test-notebook-execution-job",
                "gcs_output_uri": bucket.name.apply(lambda name: f"gs://{name}"),
                "service_account": "my@service-account.com",
                "kernel_name": "python3",
                "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)),
                },
                "custom_environment_spec": {
                    "machine_spec": {
                        "machine_type": "n1-standard-4",
                        "accelerator_type": "NVIDIA_TESLA_T4",
                        "accelerator_count": 1,
                        "gpu_partition_size": "1g.10gb",
                        "tpu_topology": "2x2",
                    },
                    "persistent_disk_spec": {
                        "disk_size_gb": "100",
                        "disk_type": "pd-standard",
                    },
                    "network_spec": {
                        "enable_internet_access": True,
                        "network": my_network.id,
                        "subnetwork": my_subnetwork.id,
                    },
                },
                "encryption_spec": {
                    "kms_key_name": "my-key",
                },
                "labels": {
                    "test": "value",
                },
            },
        })
    
    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/organizations"
    	"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 {
    		project, err := organizations.LookupProject(ctx, &organizations.LookupProjectArgs{}, nil)
    		if err != nil {
    			return err
    		}
    		bucket, err := storage.NewBucket(ctx, "bucket", &storage.BucketArgs{
    			Name:                     pulumi.String("my_bucket"),
    			Location:                 pulumi.String("us-central1"),
    			UniformBucketLevelAccess: pulumi.Bool(true),
    			ForceDestroy:             pulumi.Bool(true),
    		})
    		if err != nil {
    			return err
    		}
    		notebook, err := storage.NewBucketObject(ctx, "notebook", &storage.BucketObjectArgs{
    			Name:   pulumi.String("hello_world.ipynb"),
    			Bucket: bucket.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
    		}
    		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
    		}
    		_, err = colab.NewSchedule(ctx, "schedule", &colab.ScheduleArgs{
    			DisplayName:           pulumi.String("full-notebook-schedule"),
    			Location:              pulumi.String("us-central1"),
    			MaxConcurrentRunCount: pulumi.String("2"),
    			Cron:                  pulumi.String("*/5 * * * *"),
    			StartTime:             pulumi.String("2030-01-01T00:00:00Z"),
    			CreateNotebookExecutionJobRequest: &colab.ScheduleCreateNotebookExecutionJobRequestArgs{
    				Parent: pulumi.Sprintf("projects/%v/locations/us-central1", project.ProjectId),
    				NotebookExecutionJob: &colab.ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobArgs{
    					DisplayName: pulumi.String("test-notebook-execution-job"),
    					GcsOutputUri: bucket.Name.ApplyT(func(name string) (string, error) {
    						return fmt.Sprintf("gs://%v", name), nil
    					}).(pulumi.StringOutput),
    					ServiceAccount: pulumi.String("my@service-account.com"),
    					KernelName:     pulumi.String("python3"),
    					GcsNotebookSource: &colab.ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobGcsNotebookSourceArgs{
    						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,
    					},
    					CustomEnvironmentSpec: &colab.ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobCustomEnvironmentSpecArgs{
    						MachineSpec: &colab.ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobCustomEnvironmentSpecMachineSpecArgs{
    							MachineType:      pulumi.String("n1-standard-4"),
    							AcceleratorType:  pulumi.String("NVIDIA_TESLA_T4"),
    							AcceleratorCount: pulumi.Int(1),
    							GpuPartitionSize: pulumi.String("1g.10gb"),
    							TpuTopology:      pulumi.String("2x2"),
    						},
    						PersistentDiskSpec: &colab.ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobCustomEnvironmentSpecPersistentDiskSpecArgs{
    							DiskSizeGb: pulumi.String("100"),
    							DiskType:   pulumi.String("pd-standard"),
    						},
    						NetworkSpec: &colab.ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobCustomEnvironmentSpecNetworkSpecArgs{
    							EnableInternetAccess: pulumi.Bool(true),
    							Network:              myNetwork.ID().ToIDOutput().ToStringOutput(),
    							Subnetwork:           mySubnetwork.ID().ToIDOutput().ToStringOutput(),
    						},
    					},
    					EncryptionSpec: &colab.ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobEncryptionSpecArgs{
    						KmsKeyName: pulumi.String("my-key"),
    					},
    					Labels: pulumi.StringMap{
    						"test": pulumi.String("value"),
    					},
    				},
    			},
    		})
    		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 project = Gcp.Organizations.GetProject.Invoke();
    
        var bucket = new Gcp.Storage.Bucket("bucket", new()
        {
            Name = "my_bucket",
            Location = "us-central1",
            UniformBucketLevelAccess = true,
            ForceDestroy = true,
        });
    
        var notebook = new Gcp.Storage.BucketObject("notebook", new()
        {
            Name = "hello_world.ipynb",
            Bucket = 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
        }
    ",
        });
    
        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 schedule = new Gcp.Colab.Schedule("schedule", new()
        {
            DisplayName = "full-notebook-schedule",
            Location = "us-central1",
            MaxConcurrentRunCount = "2",
            Cron = "*/5 * * * *",
            StartTime = "2030-01-01T00:00:00Z",
            CreateNotebookExecutionJobRequest = new Gcp.Colab.Inputs.ScheduleCreateNotebookExecutionJobRequestArgs
            {
                Parent = $"projects/{project.Apply(getProjectResult => getProjectResult.ProjectId)}/locations/us-central1",
                NotebookExecutionJob = new Gcp.Colab.Inputs.ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobArgs
                {
                    DisplayName = "test-notebook-execution-job",
                    GcsOutputUri = bucket.Name.Apply(name => $"gs://{name}"),
                    ServiceAccount = "my@service-account.com",
                    KernelName = "python3",
                    GcsNotebookSource = new Gcp.Colab.Inputs.ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobGcsNotebookSourceArgs
                    {
                        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)),
                    },
                    CustomEnvironmentSpec = new Gcp.Colab.Inputs.ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobCustomEnvironmentSpecArgs
                    {
                        MachineSpec = new Gcp.Colab.Inputs.ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobCustomEnvironmentSpecMachineSpecArgs
                        {
                            MachineType = "n1-standard-4",
                            AcceleratorType = "NVIDIA_TESLA_T4",
                            AcceleratorCount = 1,
                            GpuPartitionSize = "1g.10gb",
                            TpuTopology = "2x2",
                        },
                        PersistentDiskSpec = new Gcp.Colab.Inputs.ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobCustomEnvironmentSpecPersistentDiskSpecArgs
                        {
                            DiskSizeGb = "100",
                            DiskType = "pd-standard",
                        },
                        NetworkSpec = new Gcp.Colab.Inputs.ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobCustomEnvironmentSpecNetworkSpecArgs
                        {
                            EnableInternetAccess = true,
                            Network = myNetwork.Id,
                            Subnetwork = mySubnetwork.Id,
                        },
                    },
                    EncryptionSpec = new Gcp.Colab.Inputs.ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobEncryptionSpecArgs
                    {
                        KmsKeyName = "my-key",
                    },
                    Labels = 
                    {
                        { "test", "value" },
                    },
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.organizations.OrganizationsFunctions;
    import com.pulumi.gcp.organizations.inputs.GetProjectArgs;
    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.compute.Network;
    import com.pulumi.gcp.compute.NetworkArgs;
    import com.pulumi.gcp.compute.Subnetwork;
    import com.pulumi.gcp.compute.SubnetworkArgs;
    import com.pulumi.gcp.colab.Schedule;
    import com.pulumi.gcp.colab.ScheduleArgs;
    import com.pulumi.gcp.colab.inputs.ScheduleCreateNotebookExecutionJobRequestArgs;
    import com.pulumi.gcp.colab.inputs.ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobArgs;
    import com.pulumi.gcp.colab.inputs.ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobGcsNotebookSourceArgs;
    import com.pulumi.gcp.colab.inputs.ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobCustomEnvironmentSpecArgs;
    import com.pulumi.gcp.colab.inputs.ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobCustomEnvironmentSpecMachineSpecArgs;
    import com.pulumi.gcp.colab.inputs.ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobCustomEnvironmentSpecPersistentDiskSpecArgs;
    import com.pulumi.gcp.colab.inputs.ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobCustomEnvironmentSpecNetworkSpecArgs;
    import com.pulumi.gcp.colab.inputs.ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobEncryptionSpecArgs;
    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) {
            final var project = OrganizationsFunctions.getProject(GetProjectArgs.builder()
                .build());
    
            var bucket = new Bucket("bucket", BucketArgs.builder()
                .name("my_bucket")
                .location("us-central1")
                .uniformBucketLevelAccess(true)
                .forceDestroy(true)
                .build());
    
            var notebook = new BucketObject("notebook", BucketObjectArgs.builder()
                .name("hello_world.ipynb")
                .bucket(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
        }
                """)
                .build());
    
            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 schedule = new Schedule("schedule", ScheduleArgs.builder()
                .displayName("full-notebook-schedule")
                .location("us-central1")
                .maxConcurrentRunCount("2")
                .cron("*/5 * * * *")
                .startTime("2030-01-01T00:00:00Z")
                .createNotebookExecutionJobRequest(ScheduleCreateNotebookExecutionJobRequestArgs.builder()
                    .parent(String.format("projects/%s/locations/us-central1", project.projectId()))
                    .notebookExecutionJob(ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobArgs.builder()
                        .displayName("test-notebook-execution-job")
                        .gcsOutputUri(bucket.name().applyValue(_name -> String.format("gs://%s", _name)))
                        .serviceAccount("my@service-account.com")
                        .kernelName("python3")
                        .gcsNotebookSource(ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobGcsNotebookSourceArgs.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())
                        .customEnvironmentSpec(ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobCustomEnvironmentSpecArgs.builder()
                            .machineSpec(ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobCustomEnvironmentSpecMachineSpecArgs.builder()
                                .machineType("n1-standard-4")
                                .acceleratorType("NVIDIA_TESLA_T4")
                                .acceleratorCount(1)
                                .gpuPartitionSize("1g.10gb")
                                .tpuTopology("2x2")
                                .build())
                            .persistentDiskSpec(ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobCustomEnvironmentSpecPersistentDiskSpecArgs.builder()
                                .diskSizeGb("100")
                                .diskType("pd-standard")
                                .build())
                            .networkSpec(ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobCustomEnvironmentSpecNetworkSpecArgs.builder()
                                .enableInternetAccess(true)
                                .network(myNetwork.id())
                                .subnetwork(mySubnetwork.id())
                                .build())
                            .build())
                        .encryptionSpec(ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobEncryptionSpecArgs.builder()
                            .kmsKeyName("my-key")
                            .build())
                        .labels(Map.of("test", "value"))
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      bucket:
        type: gcp:storage:Bucket
        properties:
          name: my_bucket
          location: us-central1
          uniformBucketLevelAccess: true
          forceDestroy: true
      notebook:
        type: gcp:storage:BucketObject
        properties:
          name: hello_world.ipynb
          bucket: ${bucket.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
                }
      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
      schedule:
        type: gcp:colab:Schedule
        properties:
          displayName: full-notebook-schedule
          location: us-central1
          maxConcurrentRunCount: 2
          cron: '*/5 * * * *'
          startTime: 2030-01-01T00:00:00Z
          createNotebookExecutionJobRequest:
            parent: projects/${project.projectId}/locations/us-central1
            notebookExecutionJob:
              displayName: test-notebook-execution-job
              gcsOutputUri: gs://${bucket.name}
              serviceAccount: my@service-account.com
              kernelName: python3
              gcsNotebookSource:
                uri: gs://${notebook.bucket}/${notebook.name}
                generation: ${notebook.generation}
              customEnvironmentSpec:
                machineSpec:
                  machineType: n1-standard-4
                  acceleratorType: NVIDIA_TESLA_T4
                  acceleratorCount: 1
                  gpuPartitionSize: 1g.10gb
                  tpuTopology: 2x2
                persistentDiskSpec:
                  diskSizeGb: '100'
                  diskType: pd-standard
                networkSpec:
                  enableInternetAccess: true
                  network: ${myNetwork.id}
                  subnetwork: ${mySubnetwork.id}
              encryptionSpec:
                kmsKeyName: my-key
              labels:
                test: value
    variables:
      project:
        fn::invoke:
          function: gcp:organizations:getProject
          arguments: {}
    
    pulumi {
      required_providers {
        gcp = {
          source = "pulumi/gcp"
        }
      }
    }
    
    data "gcp_organizations_getproject" "project" {
    }
    
    resource "gcp_storage_bucket" "bucket" {
      name                        = "my_bucket"
      location                    = "us-central1"
      uniform_bucket_level_access = true
      force_destroy               = true
    }
    resource "gcp_storage_bucketobject" "notebook" {
      name    = "hello_world.ipynb"
      bucket  = gcp_storage_bucket.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_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_colab_schedule" "schedule" {
      display_name             = "full-notebook-schedule"
      location                 = "us-central1"
      max_concurrent_run_count = 2
      cron                     = "*/5 * * * *"
      start_time               = "2030-01-01T00:00:00Z"
      create_notebook_execution_job_request = {
        parent ="projects/${data.gcp_organizations_getproject.project.project_id}/locations/us-central1"
        notebook_execution_job = {
          display_name    = "test-notebook-execution-job"
          gcs_output_uri  ="gs://${gcp_storage_bucket.bucket.name}"
          service_account = "my@service-account.com"
          kernel_name     = "python3"
          gcs_notebook_source = {
            uri        ="gs://${gcp_storage_bucketobject.notebook.bucket}/${gcp_storage_bucketobject.notebook.name}"
            generation = gcp_storage_bucketobject.notebook.generation
          }
          custom_environment_spec = {
            machine_spec = {
              machine_type       = "n1-standard-4"
              accelerator_type   = "NVIDIA_TESLA_T4"
              accelerator_count  = 1
              gpu_partition_size = "1g.10gb"
              tpu_topology       = "2x2"
            }
            persistent_disk_spec = {
              disk_size_gb = "100"
              disk_type    = "pd-standard"
            }
            network_spec = {
              enable_internet_access = true
              network                = gcp_compute_network.my_network.id
              subnetwork             = gcp_compute_subnetwork.my_subnetwork.id
            }
          }
          encryption_spec = {
            kms_key_name = "my-key"
          }
          labels = {
            "test" = "value"
          }
        }
      }
    }
    

    Colab Schedule Pipeline

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const project = gcp.organizations.getProject({});
    const bucket = new gcp.storage.Bucket("bucket", {
        name: "pipeline-job",
        location: "us-central1",
        uniformBucketLevelAccess: true,
        forceDestroy: true,
    });
    const myNetwork = new gcp.compute.Network("my_network", {
        name: "colab-test-default",
        autoCreateSubnetworks: false,
    });
    const schedule = new gcp.colab.Schedule("schedule", {
        displayName: "test-schedule",
        location: "us-central1",
        maxConcurrentRunCount: "2",
        cron: "*/5 * * * *",
        allowQueueing: true,
        maxConcurrentActiveRunCount: "2",
        maxRunCount: "10",
        startTime: "2030-01-01T00:00:00Z",
        endTime: "2030-01-02T00:00:00Z",
        createPipelineJobRequest: {
            parent: project.then(project => `projects/${project.projectId}/locations/us-central1`),
            pipelineJob: {
                displayName: "test-pipeline-job",
                preflightValidations: true,
                network: myNetwork.id,
                serviceAccount: project.then(project => `${project.number}-compute@developer.gserviceaccount.com`),
                templateUri: "https://us-kfp.pkg.dev/proj/repo/template/v1",
                reservedIpRanges: ["vertex-ai-ip-range"],
                labels: {
                    key: "value-one",
                },
                encryptionSpec: {
                    kmsKeyName: "my-key",
                },
                pscInterfaceConfig: {
                    networkAttachment: project.then(project => `projects/${project.projectId}/regions/us-central1/networkAttachments/my-attachment`),
                    dnsPeeringConfigs: [{
                        domain: "my-internal-domain.corp.",
                        targetNetwork: myNetwork.id,
                        targetProject: project.then(project => project.projectId),
                    }],
                },
                pipelineSpec: JSON.stringify({
                    pipelineInfo: {
                        name: "hello-world",
                    },
                    root: {
                        dag: {
                            tasks: {},
                        },
                    },
                    schemaVersion: "2.1.0",
                    sdkVersion: "kfp-2.0.0",
                }),
                runtimeConfig: {
                    gcsOutputDirectory: pulumi.interpolate`gs://${bucket.name}/pipeline_root`,
                    failurePolicy: "PIPELINE_FAILURE_POLICY_FAIL_FAST",
                    parameterValues: {
                        param1: "val1",
                    },
                },
            },
        },
    });
    
    import pulumi
    import json
    import pulumi_gcp as gcp
    
    project = gcp.organizations.get_project()
    bucket = gcp.storage.Bucket("bucket",
        name="pipeline-job",
        location="us-central1",
        uniform_bucket_level_access=True,
        force_destroy=True)
    my_network = gcp.compute.Network("my_network",
        name="colab-test-default",
        auto_create_subnetworks=False)
    schedule = gcp.colab.Schedule("schedule",
        display_name="test-schedule",
        location="us-central1",
        max_concurrent_run_count="2",
        cron="*/5 * * * *",
        allow_queueing=True,
        max_concurrent_active_run_count="2",
        max_run_count="10",
        start_time="2030-01-01T00:00:00Z",
        end_time="2030-01-02T00:00:00Z",
        create_pipeline_job_request={
            "parent": f"projects/{project.project_id}/locations/us-central1",
            "pipeline_job": {
                "display_name": "test-pipeline-job",
                "preflight_validations": True,
                "network": my_network.id,
                "service_account": f"{project.number}-compute@developer.gserviceaccount.com",
                "template_uri": "https://us-kfp.pkg.dev/proj/repo/template/v1",
                "reserved_ip_ranges": ["vertex-ai-ip-range"],
                "labels": {
                    "key": "value-one",
                },
                "encryption_spec": {
                    "kms_key_name": "my-key",
                },
                "psc_interface_config": {
                    "network_attachment": f"projects/{project.project_id}/regions/us-central1/networkAttachments/my-attachment",
                    "dns_peering_configs": [{
                        "domain": "my-internal-domain.corp.",
                        "target_network": my_network.id,
                        "target_project": project.project_id,
                    }],
                },
                "pipeline_spec": json.dumps({
                    "pipelineInfo": {
                        "name": "hello-world",
                    },
                    "root": {
                        "dag": {
                            "tasks": {},
                        },
                    },
                    "schemaVersion": "2.1.0",
                    "sdkVersion": "kfp-2.0.0",
                }),
                "runtime_config": {
                    "gcs_output_directory": bucket.name.apply(lambda name: f"gs://{name}/pipeline_root"),
                    "failure_policy": "PIPELINE_FAILURE_POLICY_FAIL_FAST",
                    "parameter_values": {
                        "param1": "val1",
                    },
                },
            },
        })
    
    package main
    
    import (
    	"encoding/json"
    	"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/organizations"
    	"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 {
    		project, err := organizations.LookupProject(ctx, &organizations.LookupProjectArgs{}, nil)
    		if err != nil {
    			return err
    		}
    		bucket, err := storage.NewBucket(ctx, "bucket", &storage.BucketArgs{
    			Name:                     pulumi.String("pipeline-job"),
    			Location:                 pulumi.String("us-central1"),
    			UniformBucketLevelAccess: pulumi.Bool(true),
    			ForceDestroy:             pulumi.Bool(true),
    		})
    		if err != nil {
    			return err
    		}
    		myNetwork, err := compute.NewNetwork(ctx, "my_network", &compute.NetworkArgs{
    			Name:                  pulumi.String("colab-test-default"),
    			AutoCreateSubnetworks: pulumi.Bool(false),
    		})
    		if err != nil {
    			return err
    		}
    		tmpJSON0, err := json.Marshal(map[string]interface{}{
    			"pipelineInfo": map[string]string{
    				"name": "hello-world",
    			},
    			"root": map[string]map[string]map[string]interface{}{
    				"dag": map[string]map[string]interface{}{
    					"tasks": map[string]interface{}{},
    				},
    			},
    			"schemaVersion": "2.1.0",
    			"sdkVersion":    "kfp-2.0.0",
    		})
    		if err != nil {
    			return err
    		}
    		json0 := string(tmpJSON0)
    		_, err = colab.NewSchedule(ctx, "schedule", &colab.ScheduleArgs{
    			DisplayName:                 pulumi.String("test-schedule"),
    			Location:                    pulumi.String("us-central1"),
    			MaxConcurrentRunCount:       pulumi.String("2"),
    			Cron:                        pulumi.String("*/5 * * * *"),
    			AllowQueueing:               pulumi.Bool(true),
    			MaxConcurrentActiveRunCount: pulumi.String("2"),
    			MaxRunCount:                 pulumi.String("10"),
    			StartTime:                   pulumi.String("2030-01-01T00:00:00Z"),
    			EndTime:                     pulumi.String("2030-01-02T00:00:00Z"),
    			CreatePipelineJobRequest: &colab.ScheduleCreatePipelineJobRequestArgs{
    				Parent: pulumi.Sprintf("projects/%v/locations/us-central1", project.ProjectId),
    				PipelineJob: &colab.ScheduleCreatePipelineJobRequestPipelineJobArgs{
    					DisplayName:          pulumi.String("test-pipeline-job"),
    					PreflightValidations: pulumi.Bool(true),
    					Network:              myNetwork.ID().ToIDOutput().ToStringOutput(),
    					ServiceAccount:       pulumi.Sprintf("%v-compute@developer.gserviceaccount.com", project.Number),
    					TemplateUri:          pulumi.String("https://us-kfp.pkg.dev/proj/repo/template/v1"),
    					ReservedIpRanges: pulumi.StringArray{
    						pulumi.String("vertex-ai-ip-range"),
    					},
    					Labels: pulumi.StringMap{
    						"key": pulumi.String("value-one"),
    					},
    					EncryptionSpec: &colab.ScheduleCreatePipelineJobRequestPipelineJobEncryptionSpecArgs{
    						KmsKeyName: pulumi.String("my-key"),
    					},
    					PscInterfaceConfig: &colab.ScheduleCreatePipelineJobRequestPipelineJobPscInterfaceConfigArgs{
    						NetworkAttachment: pulumi.Sprintf("projects/%v/regions/us-central1/networkAttachments/my-attachment", project.ProjectId),
    						DnsPeeringConfigs: colab.ScheduleCreatePipelineJobRequestPipelineJobPscInterfaceConfigDnsPeeringConfigArray{
    							&colab.ScheduleCreatePipelineJobRequestPipelineJobPscInterfaceConfigDnsPeeringConfigArgs{
    								Domain:        pulumi.String("my-internal-domain.corp."),
    								TargetNetwork: myNetwork.ID().ToIDOutput().ToStringOutput(),
    								TargetProject: pulumi.String(project.ProjectId),
    							},
    						},
    					},
    					PipelineSpec: pulumi.String(json0),
    					RuntimeConfig: &colab.ScheduleCreatePipelineJobRequestPipelineJobRuntimeConfigArgs{
    						GcsOutputDirectory: bucket.Name.ApplyT(func(name string) (string, error) {
    							return fmt.Sprintf("gs://%v/pipeline_root", name), nil
    						}).(pulumi.StringOutput),
    						FailurePolicy: pulumi.String("PIPELINE_FAILURE_POLICY_FAIL_FAST"),
    						ParameterValues: pulumi.StringMap{
    							"param1": pulumi.String("val1"),
    						},
    					},
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using System.Text.Json;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var project = Gcp.Organizations.GetProject.Invoke();
    
        var bucket = new Gcp.Storage.Bucket("bucket", new()
        {
            Name = "pipeline-job",
            Location = "us-central1",
            UniformBucketLevelAccess = true,
            ForceDestroy = true,
        });
    
        var myNetwork = new Gcp.Compute.Network("my_network", new()
        {
            Name = "colab-test-default",
            AutoCreateSubnetworks = false,
        });
    
        var schedule = new Gcp.Colab.Schedule("schedule", new()
        {
            DisplayName = "test-schedule",
            Location = "us-central1",
            MaxConcurrentRunCount = "2",
            Cron = "*/5 * * * *",
            AllowQueueing = true,
            MaxConcurrentActiveRunCount = "2",
            MaxRunCount = "10",
            StartTime = "2030-01-01T00:00:00Z",
            EndTime = "2030-01-02T00:00:00Z",
            CreatePipelineJobRequest = new Gcp.Colab.Inputs.ScheduleCreatePipelineJobRequestArgs
            {
                Parent = $"projects/{project.Apply(getProjectResult => getProjectResult.ProjectId)}/locations/us-central1",
                PipelineJob = new Gcp.Colab.Inputs.ScheduleCreatePipelineJobRequestPipelineJobArgs
                {
                    DisplayName = "test-pipeline-job",
                    PreflightValidations = true,
                    Network = myNetwork.Id,
                    ServiceAccount = $"{project.Apply(getProjectResult => getProjectResult.Number)}-compute@developer.gserviceaccount.com",
                    TemplateUri = "https://us-kfp.pkg.dev/proj/repo/template/v1",
                    ReservedIpRanges = new[]
                    {
                        "vertex-ai-ip-range",
                    },
                    Labels = 
                    {
                        { "key", "value-one" },
                    },
                    EncryptionSpec = new Gcp.Colab.Inputs.ScheduleCreatePipelineJobRequestPipelineJobEncryptionSpecArgs
                    {
                        KmsKeyName = "my-key",
                    },
                    PscInterfaceConfig = new Gcp.Colab.Inputs.ScheduleCreatePipelineJobRequestPipelineJobPscInterfaceConfigArgs
                    {
                        NetworkAttachment = $"projects/{project.Apply(getProjectResult => getProjectResult.ProjectId)}/regions/us-central1/networkAttachments/my-attachment",
                        DnsPeeringConfigs = new[]
                        {
                            new Gcp.Colab.Inputs.ScheduleCreatePipelineJobRequestPipelineJobPscInterfaceConfigDnsPeeringConfigArgs
                            {
                                Domain = "my-internal-domain.corp.",
                                TargetNetwork = myNetwork.Id,
                                TargetProject = project.Apply(getProjectResult => getProjectResult.ProjectId),
                            },
                        },
                    },
                    PipelineSpec = JsonSerializer.Serialize(new Dictionary<string, object?>
                    {
                        ["pipelineInfo"] = new Dictionary<string, object?>
                        {
                            ["name"] = "hello-world",
                        },
                        ["root"] = new Dictionary<string, object?>
                        {
                            ["dag"] = new Dictionary<string, object?>
                            {
                                ["tasks"] = new Dictionary<string, object?>
                                {
                                },
                            },
                        },
                        ["schemaVersion"] = "2.1.0",
                        ["sdkVersion"] = "kfp-2.0.0",
                    }),
                    RuntimeConfig = new Gcp.Colab.Inputs.ScheduleCreatePipelineJobRequestPipelineJobRuntimeConfigArgs
                    {
                        GcsOutputDirectory = bucket.Name.Apply(name => $"gs://{name}/pipeline_root"),
                        FailurePolicy = "PIPELINE_FAILURE_POLICY_FAIL_FAST",
                        ParameterValues = 
                        {
                            { "param1", "val1" },
                        },
                    },
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.gcp.organizations.OrganizationsFunctions;
    import com.pulumi.gcp.organizations.inputs.GetProjectArgs;
    import com.pulumi.gcp.storage.Bucket;
    import com.pulumi.gcp.storage.BucketArgs;
    import com.pulumi.gcp.compute.Network;
    import com.pulumi.gcp.compute.NetworkArgs;
    import com.pulumi.gcp.colab.Schedule;
    import com.pulumi.gcp.colab.ScheduleArgs;
    import com.pulumi.gcp.colab.inputs.ScheduleCreatePipelineJobRequestArgs;
    import com.pulumi.gcp.colab.inputs.ScheduleCreatePipelineJobRequestPipelineJobArgs;
    import com.pulumi.gcp.colab.inputs.ScheduleCreatePipelineJobRequestPipelineJobEncryptionSpecArgs;
    import com.pulumi.gcp.colab.inputs.ScheduleCreatePipelineJobRequestPipelineJobPscInterfaceConfigArgs;
    import com.pulumi.gcp.colab.inputs.ScheduleCreatePipelineJobRequestPipelineJobPscInterfaceConfigDnsPeeringConfigArgs;
    import com.pulumi.gcp.colab.inputs.ScheduleCreatePipelineJobRequestPipelineJobRuntimeConfigArgs;
    import static com.pulumi.codegen.internal.Serialization.*;
    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) {
            final var project = OrganizationsFunctions.getProject(GetProjectArgs.builder()
                .build());
    
            var bucket = new Bucket("bucket", BucketArgs.builder()
                .name("pipeline-job")
                .location("us-central1")
                .uniformBucketLevelAccess(true)
                .forceDestroy(true)
                .build());
    
            var myNetwork = new Network("myNetwork", NetworkArgs.builder()
                .name("colab-test-default")
                .autoCreateSubnetworks(false)
                .build());
    
            var schedule = new Schedule("schedule", ScheduleArgs.builder()
                .displayName("test-schedule")
                .location("us-central1")
                .maxConcurrentRunCount("2")
                .cron("*/5 * * * *")
                .allowQueueing(true)
                .maxConcurrentActiveRunCount("2")
                .maxRunCount("10")
                .startTime("2030-01-01T00:00:00Z")
                .endTime("2030-01-02T00:00:00Z")
                .createPipelineJobRequest(ScheduleCreatePipelineJobRequestArgs.builder()
                    .parent(String.format("projects/%s/locations/us-central1", project.projectId()))
                    .pipelineJob(ScheduleCreatePipelineJobRequestPipelineJobArgs.builder()
                        .displayName("test-pipeline-job")
                        .preflightValidations(true)
                        .network(myNetwork.id())
                        .serviceAccount(String.format("%s-compute@developer.gserviceaccount.com", project.number()))
                        .templateUri("https://us-kfp.pkg.dev/proj/repo/template/v1")
                        .reservedIpRanges("vertex-ai-ip-range")
                        .labels(Map.of("key", "value-one"))
                        .encryptionSpec(ScheduleCreatePipelineJobRequestPipelineJobEncryptionSpecArgs.builder()
                            .kmsKeyName("my-key")
                            .build())
                        .pscInterfaceConfig(ScheduleCreatePipelineJobRequestPipelineJobPscInterfaceConfigArgs.builder()
                            .networkAttachment(String.format("projects/%s/regions/us-central1/networkAttachments/my-attachment", project.projectId()))
                            .dnsPeeringConfigs(ScheduleCreatePipelineJobRequestPipelineJobPscInterfaceConfigDnsPeeringConfigArgs.builder()
                                .domain("my-internal-domain.corp.")
                                .targetNetwork(myNetwork.id())
                                .targetProject(project.projectId())
                                .build())
                            .build())
                        .pipelineSpec(serializeJson(
                            jsonObject(
                                jsonProperty("pipelineInfo", jsonObject(
                                    jsonProperty("name", "hello-world")
                                )),
                                jsonProperty("root", jsonObject(
                                    jsonProperty("dag", jsonObject(
                                        jsonProperty("tasks", jsonObject(
    
                                        ))
                                    ))
                                )),
                                jsonProperty("schemaVersion", "2.1.0"),
                                jsonProperty("sdkVersion", "kfp-2.0.0")
                            )))
                        .runtimeConfig(ScheduleCreatePipelineJobRequestPipelineJobRuntimeConfigArgs.builder()
                            .gcsOutputDirectory(bucket.name().applyValue(_name -> String.format("gs://%s/pipeline_root", _name)))
                            .failurePolicy("PIPELINE_FAILURE_POLICY_FAIL_FAST")
                            .parameterValues(Map.of("param1", "val1"))
                            .build())
                        .build())
                    .build())
                .build());
    
        }
    }
    
    resources:
      bucket:
        type: gcp:storage:Bucket
        properties:
          name: pipeline-job
          location: us-central1
          uniformBucketLevelAccess: true
          forceDestroy: true
      myNetwork:
        type: gcp:compute:Network
        name: my_network
        properties:
          name: colab-test-default
          autoCreateSubnetworks: false
      schedule:
        type: gcp:colab:Schedule
        properties:
          displayName: test-schedule
          location: us-central1
          maxConcurrentRunCount: 2
          cron: '*/5 * * * *'
          allowQueueing: true
          maxConcurrentActiveRunCount: 2
          maxRunCount: '10'
          startTime: 2030-01-01T00:00:00Z
          endTime: 2030-01-02T00:00:00Z
          createPipelineJobRequest:
            parent: projects/${project.projectId}/locations/us-central1
            pipelineJob:
              displayName: test-pipeline-job
              preflightValidations: true
              network: ${myNetwork.id}
              serviceAccount: ${project.number}-compute@developer.gserviceaccount.com
              templateUri: https://us-kfp.pkg.dev/proj/repo/template/v1
              reservedIpRanges:
                - vertex-ai-ip-range
              labels:
                key: value-one
              encryptionSpec:
                kmsKeyName: my-key
              pscInterfaceConfig:
                networkAttachment: projects/${project.projectId}/regions/us-central1/networkAttachments/my-attachment
                dnsPeeringConfigs:
                  - domain: my-internal-domain.corp.
                    targetNetwork: ${myNetwork.id}
                    targetProject: ${project.projectId}
              pipelineSpec:
                fn::toJSON:
                  pipelineInfo:
                    name: hello-world
                  root:
                    dag:
                      tasks: {}
                  schemaVersion: 2.1.0
                  sdkVersion: kfp-2.0.0
              runtimeConfig:
                gcsOutputDirectory: gs://${bucket.name}/pipeline_root
                failurePolicy: PIPELINE_FAILURE_POLICY_FAIL_FAST
                parameterValues:
                  param1: val1
    variables:
      project:
        fn::invoke:
          function: gcp:organizations:getProject
          arguments: {}
    
    pulumi {
      required_providers {
        gcp = {
          source = "pulumi/gcp"
        }
      }
    }
    
    data "gcp_organizations_getproject" "project" {
    }
    
    resource "gcp_storage_bucket" "bucket" {
      name                        = "pipeline-job"
      location                    = "us-central1"
      uniform_bucket_level_access = true
      force_destroy               = true
    }
    resource "gcp_compute_network" "my_network" {
      name                    = "colab-test-default"
      auto_create_subnetworks = false
    }
    resource "gcp_colab_schedule" "schedule" {
      display_name                    = "test-schedule"
      location                        = "us-central1"
      max_concurrent_run_count        = 2
      cron                            = "*/5 * * * *"
      allow_queueing                  = true
      max_concurrent_active_run_count = 2
      max_run_count                   = "10"
      start_time                      = "2030-01-01T00:00:00Z"
      end_time                        = "2030-01-02T00:00:00Z"
      create_pipeline_job_request = {
        parent ="projects/${data.gcp_organizations_getproject.project.project_id}/locations/us-central1"
        pipeline_job = {
          display_name          = "test-pipeline-job"
          preflight_validations = true
          network               = gcp_compute_network.my_network.id
          service_account       ="${data.gcp_organizations_getproject.project.number}-compute@developer.gserviceaccount.com"
          template_uri          = "https://us-kfp.pkg.dev/proj/repo/template/v1"
          reserved_ip_ranges    = ["vertex-ai-ip-range"]
          labels = {
            "key" = "value-one"
          }
          encryption_spec = {
            kms_key_name = "my-key"
          }
          psc_interface_config = {
            network_attachment ="projects/${data.gcp_organizations_getproject.project.project_id}/regions/us-central1/networkAttachments/my-attachment"
            dns_peering_configs = [{
              "domain"        = "my-internal-domain.corp."
              "targetNetwork" = gcp_compute_network.my_network.id
              "targetProject" = data.gcp_organizations_getproject.project.project_id
            }]
          }
          pipeline_spec = jsonencode({
            "pipelineInfo" = {
              "name" = "hello-world"
            }
            "root" = {
              "dag" = {
                "tasks" = {}
              }
            }
            "schemaVersion" = "2.1.0"
            "sdkVersion"    = "kfp-2.0.0"
          })
          runtime_config = {
            gcs_output_directory ="gs://${gcp_storage_bucket.bucket.name}/pipeline_root"
            failure_policy       = "PIPELINE_FAILURE_POLICY_FAIL_FAST"
            parameter_values = {
              "param1" = "val1"
            }
          }
        }
      }
    }
    

    Create Schedule Resource

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

    Constructor syntax

    new Schedule(name: string, args: ScheduleArgs, opts?: CustomResourceOptions);
    @overload
    def Schedule(resource_name: str,
                 args: ScheduleArgs,
                 opts: Optional[ResourceOptions] = None)
    
    @overload
    def Schedule(resource_name: str,
                 opts: Optional[ResourceOptions] = None,
                 display_name: Optional[str] = None,
                 location: Optional[str] = None,
                 max_concurrent_run_count: Optional[str] = None,
                 cron: Optional[str] = None,
                 deletion_policy: Optional[str] = None,
                 desired_state: Optional[str] = None,
                 allow_queueing: Optional[bool] = None,
                 project: Optional[str] = None,
                 create_notebook_execution_job_request: Optional[ScheduleCreateNotebookExecutionJobRequestArgs] = None,
                 max_concurrent_active_run_count: Optional[str] = None,
                 create_pipeline_job_request: Optional[ScheduleCreatePipelineJobRequestArgs] = None,
                 max_run_count: Optional[str] = None,
                 end_time: Optional[str] = None,
                 start_time: Optional[str] = None)
    func NewSchedule(ctx *Context, name string, args ScheduleArgs, opts ...ResourceOption) (*Schedule, error)
    public Schedule(string name, ScheduleArgs args, CustomResourceOptions? opts = null)
    public Schedule(String name, ScheduleArgs args)
    public Schedule(String name, ScheduleArgs args, CustomResourceOptions options)
    
    type: gcp:colab:Schedule
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    
    resource "gcp_colab_schedule" "name" {
        # resource properties
    }

    Parameters

    name string
    The unique name of the resource.
    args ScheduleArgs
    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 ScheduleArgs
    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 ScheduleArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args ScheduleArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args ScheduleArgs
    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 scheduleResource = new Gcp.Colab.Schedule("scheduleResource", new()
    {
        DisplayName = "string",
        Location = "string",
        MaxConcurrentRunCount = "string",
        Cron = "string",
        DeletionPolicy = "string",
        DesiredState = "string",
        AllowQueueing = false,
        Project = "string",
        CreateNotebookExecutionJobRequest = new Gcp.Colab.Inputs.ScheduleCreateNotebookExecutionJobRequestArgs
        {
            NotebookExecutionJob = new Gcp.Colab.Inputs.ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobArgs
            {
                DisplayName = "string",
                GcsOutputUri = "string",
                EncryptionSpec = new Gcp.Colab.Inputs.ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobEncryptionSpecArgs
                {
                    KmsKeyName = "string",
                },
                JobState = "string",
                CreateTime = "string",
                ExecutionTimeout = "string",
                ExecutionUser = "string",
                GcsNotebookSource = new Gcp.Colab.Inputs.ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobGcsNotebookSourceArgs
                {
                    Uri = "string",
                    Generation = "string",
                },
                CustomEnvironmentSpec = new Gcp.Colab.Inputs.ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobCustomEnvironmentSpecArgs
                {
                    MachineSpec = new Gcp.Colab.Inputs.ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobCustomEnvironmentSpecMachineSpecArgs
                    {
                        AcceleratorCount = 0,
                        AcceleratorType = "string",
                        GpuPartitionSize = "string",
                        MachineType = "string",
                        ReservationAffinity = new Gcp.Colab.Inputs.ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobCustomEnvironmentSpecMachineSpecReservationAffinityArgs
                        {
                            ReservationAffinityType = "string",
                            Key = "string",
                            UseReservationPool = false,
                            Values = new[]
                            {
                                "string",
                            },
                        },
                        TpuTopology = "string",
                    },
                    NetworkSpec = new Gcp.Colab.Inputs.ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobCustomEnvironmentSpecNetworkSpecArgs
                    {
                        EnableInternetAccess = false,
                        Network = "string",
                        Subnetwork = "string",
                    },
                    PersistentDiskSpec = new Gcp.Colab.Inputs.ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobCustomEnvironmentSpecPersistentDiskSpecArgs
                    {
                        DiskSizeGb = "string",
                        DiskType = "string",
                    },
                },
                DataformRepositorySource = new Gcp.Colab.Inputs.ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobDataformRepositorySourceArgs
                {
                    DataformRepositoryResourceName = "string",
                    CommitSha = "string",
                },
                KernelName = "string",
                Labels = 
                {
                    { "string", "string" },
                },
                Name = "string",
                NotebookRuntimeTemplateResourceName = "string",
                ScheduleResourceName = "string",
                ServiceAccount = "string",
                UpdateTime = "string",
                WorkbenchRuntime = null,
            },
            NotebookExecutionJobId = "string",
            Parent = "string",
        },
        MaxConcurrentActiveRunCount = "string",
        CreatePipelineJobRequest = new Gcp.Colab.Inputs.ScheduleCreatePipelineJobRequestArgs
        {
            PipelineJob = new Gcp.Colab.Inputs.ScheduleCreatePipelineJobRequestPipelineJobArgs
            {
                CreateTime = "string",
                DisplayName = "string",
                EncryptionSpec = new Gcp.Colab.Inputs.ScheduleCreatePipelineJobRequestPipelineJobEncryptionSpecArgs
                {
                    KmsKeyName = "string",
                },
                EndTime = "string",
                Labels = 
                {
                    { "string", "string" },
                },
                Name = "string",
                Network = "string",
                PipelineSpec = "string",
                PreflightValidations = false,
                PscInterfaceConfig = new Gcp.Colab.Inputs.ScheduleCreatePipelineJobRequestPipelineJobPscInterfaceConfigArgs
                {
                    DnsPeeringConfigs = new[]
                    {
                        new Gcp.Colab.Inputs.ScheduleCreatePipelineJobRequestPipelineJobPscInterfaceConfigDnsPeeringConfigArgs
                        {
                            Domain = "string",
                            TargetNetwork = "string",
                            TargetProject = "string",
                        },
                    },
                    NetworkAttachment = "string",
                },
                ReservedIpRanges = new[]
                {
                    "string",
                },
                RuntimeConfig = new Gcp.Colab.Inputs.ScheduleCreatePipelineJobRequestPipelineJobRuntimeConfigArgs
                {
                    GcsOutputDirectory = "string",
                    FailurePolicy = "string",
                    ParameterValues = 
                    {
                        { "string", "string" },
                    },
                },
                ScheduleName = "string",
                ServiceAccount = "string",
                StartTime = "string",
                State = "string",
                TemplateMetadatas = new[]
                {
                    new Gcp.Colab.Inputs.ScheduleCreatePipelineJobRequestPipelineJobTemplateMetadataArgs
                    {
                        Version = "string",
                    },
                },
                TemplateUri = "string",
                UpdateTime = "string",
            },
            Parent = "string",
            PipelineJobId = "string",
        },
        MaxRunCount = "string",
        EndTime = "string",
        StartTime = "string",
    });
    
    example, err := colab.NewSchedule(ctx, "scheduleResource", &colab.ScheduleArgs{
    	DisplayName:           pulumi.String("string"),
    	Location:              pulumi.String("string"),
    	MaxConcurrentRunCount: pulumi.String("string"),
    	Cron:                  pulumi.String("string"),
    	DeletionPolicy:        pulumi.String("string"),
    	DesiredState:          pulumi.String("string"),
    	AllowQueueing:         pulumi.Bool(false),
    	Project:               pulumi.String("string"),
    	CreateNotebookExecutionJobRequest: &colab.ScheduleCreateNotebookExecutionJobRequestArgs{
    		NotebookExecutionJob: &colab.ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobArgs{
    			DisplayName:  pulumi.String("string"),
    			GcsOutputUri: pulumi.String("string"),
    			EncryptionSpec: &colab.ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobEncryptionSpecArgs{
    				KmsKeyName: pulumi.String("string"),
    			},
    			JobState:         pulumi.String("string"),
    			CreateTime:       pulumi.String("string"),
    			ExecutionTimeout: pulumi.String("string"),
    			ExecutionUser:    pulumi.String("string"),
    			GcsNotebookSource: &colab.ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobGcsNotebookSourceArgs{
    				Uri:        pulumi.String("string"),
    				Generation: pulumi.String("string"),
    			},
    			CustomEnvironmentSpec: &colab.ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobCustomEnvironmentSpecArgs{
    				MachineSpec: &colab.ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobCustomEnvironmentSpecMachineSpecArgs{
    					AcceleratorCount: pulumi.Int(0),
    					AcceleratorType:  pulumi.String("string"),
    					GpuPartitionSize: pulumi.String("string"),
    					MachineType:      pulumi.String("string"),
    					ReservationAffinity: &colab.ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobCustomEnvironmentSpecMachineSpecReservationAffinityArgs{
    						ReservationAffinityType: pulumi.String("string"),
    						Key:                     pulumi.String("string"),
    						UseReservationPool:      pulumi.Bool(false),
    						Values: pulumi.StringArray{
    							pulumi.String("string"),
    						},
    					},
    					TpuTopology: pulumi.String("string"),
    				},
    				NetworkSpec: &colab.ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobCustomEnvironmentSpecNetworkSpecArgs{
    					EnableInternetAccess: pulumi.Bool(false),
    					Network:              pulumi.String("string"),
    					Subnetwork:           pulumi.String("string"),
    				},
    				PersistentDiskSpec: &colab.ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobCustomEnvironmentSpecPersistentDiskSpecArgs{
    					DiskSizeGb: pulumi.String("string"),
    					DiskType:   pulumi.String("string"),
    				},
    			},
    			DataformRepositorySource: &colab.ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobDataformRepositorySourceArgs{
    				DataformRepositoryResourceName: pulumi.String("string"),
    				CommitSha:                      pulumi.String("string"),
    			},
    			KernelName: pulumi.String("string"),
    			Labels: pulumi.StringMap{
    				"string": pulumi.String("string"),
    			},
    			Name:                                pulumi.String("string"),
    			NotebookRuntimeTemplateResourceName: pulumi.String("string"),
    			ScheduleResourceName:                pulumi.String("string"),
    			ServiceAccount:                      pulumi.String("string"),
    			UpdateTime:                          pulumi.String("string"),
    			WorkbenchRuntime:                    &colab.ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobWorkbenchRuntimeArgs{},
    		},
    		NotebookExecutionJobId: pulumi.String("string"),
    		Parent:                 pulumi.String("string"),
    	},
    	MaxConcurrentActiveRunCount: pulumi.String("string"),
    	CreatePipelineJobRequest: &colab.ScheduleCreatePipelineJobRequestArgs{
    		PipelineJob: &colab.ScheduleCreatePipelineJobRequestPipelineJobArgs{
    			CreateTime:  pulumi.String("string"),
    			DisplayName: pulumi.String("string"),
    			EncryptionSpec: &colab.ScheduleCreatePipelineJobRequestPipelineJobEncryptionSpecArgs{
    				KmsKeyName: pulumi.String("string"),
    			},
    			EndTime: pulumi.String("string"),
    			Labels: pulumi.StringMap{
    				"string": pulumi.String("string"),
    			},
    			Name:                 pulumi.String("string"),
    			Network:              pulumi.String("string"),
    			PipelineSpec:         pulumi.String("string"),
    			PreflightValidations: pulumi.Bool(false),
    			PscInterfaceConfig: &colab.ScheduleCreatePipelineJobRequestPipelineJobPscInterfaceConfigArgs{
    				DnsPeeringConfigs: colab.ScheduleCreatePipelineJobRequestPipelineJobPscInterfaceConfigDnsPeeringConfigArray{
    					&colab.ScheduleCreatePipelineJobRequestPipelineJobPscInterfaceConfigDnsPeeringConfigArgs{
    						Domain:        pulumi.String("string"),
    						TargetNetwork: pulumi.String("string"),
    						TargetProject: pulumi.String("string"),
    					},
    				},
    				NetworkAttachment: pulumi.String("string"),
    			},
    			ReservedIpRanges: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			RuntimeConfig: &colab.ScheduleCreatePipelineJobRequestPipelineJobRuntimeConfigArgs{
    				GcsOutputDirectory: pulumi.String("string"),
    				FailurePolicy:      pulumi.String("string"),
    				ParameterValues: pulumi.StringMap{
    					"string": pulumi.String("string"),
    				},
    			},
    			ScheduleName:   pulumi.String("string"),
    			ServiceAccount: pulumi.String("string"),
    			StartTime:      pulumi.String("string"),
    			State:          pulumi.String("string"),
    			TemplateMetadatas: colab.ScheduleCreatePipelineJobRequestPipelineJobTemplateMetadataArray{
    				&colab.ScheduleCreatePipelineJobRequestPipelineJobTemplateMetadataArgs{
    					Version: pulumi.String("string"),
    				},
    			},
    			TemplateUri: pulumi.String("string"),
    			UpdateTime:  pulumi.String("string"),
    		},
    		Parent:        pulumi.String("string"),
    		PipelineJobId: pulumi.String("string"),
    	},
    	MaxRunCount: pulumi.String("string"),
    	EndTime:     pulumi.String("string"),
    	StartTime:   pulumi.String("string"),
    })
    
    resource "gcp_colab_schedule" "scheduleResource" {
      lifecycle {
        create_before_destroy = true
      }
      display_name             = "string"
      location                 = "string"
      max_concurrent_run_count = "string"
      cron                     = "string"
      deletion_policy          = "string"
      desired_state            = "string"
      allow_queueing           = false
      project                  = "string"
      create_notebook_execution_job_request = {
        notebook_execution_job = {
          display_name   = "string"
          gcs_output_uri = "string"
          encryption_spec = {
            kms_key_name = "string"
          }
          job_state         = "string"
          create_time       = "string"
          execution_timeout = "string"
          execution_user    = "string"
          gcs_notebook_source = {
            uri        = "string"
            generation = "string"
          }
          custom_environment_spec = {
            machine_spec = {
              accelerator_count  = 0
              accelerator_type   = "string"
              gpu_partition_size = "string"
              machine_type       = "string"
              reservation_affinity = {
                reservation_affinity_type = "string"
                key                       = "string"
                use_reservation_pool      = false
                values                    = ["string"]
              }
              tpu_topology = "string"
            }
            network_spec = {
              enable_internet_access = false
              network                = "string"
              subnetwork             = "string"
            }
            persistent_disk_spec = {
              disk_size_gb = "string"
              disk_type    = "string"
            }
          }
          dataform_repository_source = {
            dataform_repository_resource_name = "string"
            commit_sha                        = "string"
          }
          kernel_name = "string"
          labels = {
            "string" = "string"
          }
          name                                    = "string"
          notebook_runtime_template_resource_name = "string"
          schedule_resource_name                  = "string"
          service_account                         = "string"
          update_time                             = "string"
          workbench_runtime                       = {}
        }
        notebook_execution_job_id = "string"
        parent                    = "string"
      }
      max_concurrent_active_run_count = "string"
      create_pipeline_job_request = {
        pipeline_job = {
          create_time  = "string"
          display_name = "string"
          encryption_spec = {
            kms_key_name = "string"
          }
          end_time = "string"
          labels = {
            "string" = "string"
          }
          name                  = "string"
          network               = "string"
          pipeline_spec         = "string"
          preflight_validations = false
          psc_interface_config = {
            dns_peering_configs = [{
              domain         = "string"
              target_network = "string"
              target_project = "string"
            }]
            network_attachment = "string"
          }
          reserved_ip_ranges = ["string"]
          runtime_config = {
            gcs_output_directory = "string"
            failure_policy       = "string"
            parameter_values = {
              "string" = "string"
            }
          }
          schedule_name   = "string"
          service_account = "string"
          start_time      = "string"
          state           = "string"
          template_metadatas = [{
            version = "string"
          }]
          template_uri = "string"
          update_time  = "string"
        }
        parent          = "string"
        pipeline_job_id = "string"
      }
      max_run_count = "string"
      end_time      = "string"
      start_time    = "string"
    }
    
    var scheduleResource = new Schedule("scheduleResource", ScheduleArgs.builder()
        .displayName("string")
        .location("string")
        .maxConcurrentRunCount("string")
        .cron("string")
        .deletionPolicy("string")
        .desiredState("string")
        .allowQueueing(false)
        .project("string")
        .createNotebookExecutionJobRequest(ScheduleCreateNotebookExecutionJobRequestArgs.builder()
            .notebookExecutionJob(ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobArgs.builder()
                .displayName("string")
                .gcsOutputUri("string")
                .encryptionSpec(ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobEncryptionSpecArgs.builder()
                    .kmsKeyName("string")
                    .build())
                .jobState("string")
                .createTime("string")
                .executionTimeout("string")
                .executionUser("string")
                .gcsNotebookSource(ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobGcsNotebookSourceArgs.builder()
                    .uri("string")
                    .generation("string")
                    .build())
                .customEnvironmentSpec(ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobCustomEnvironmentSpecArgs.builder()
                    .machineSpec(ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobCustomEnvironmentSpecMachineSpecArgs.builder()
                        .acceleratorCount(0)
                        .acceleratorType("string")
                        .gpuPartitionSize("string")
                        .machineType("string")
                        .reservationAffinity(ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobCustomEnvironmentSpecMachineSpecReservationAffinityArgs.builder()
                            .reservationAffinityType("string")
                            .key("string")
                            .useReservationPool(false)
                            .values("string")
                            .build())
                        .tpuTopology("string")
                        .build())
                    .networkSpec(ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobCustomEnvironmentSpecNetworkSpecArgs.builder()
                        .enableInternetAccess(false)
                        .network("string")
                        .subnetwork("string")
                        .build())
                    .persistentDiskSpec(ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobCustomEnvironmentSpecPersistentDiskSpecArgs.builder()
                        .diskSizeGb("string")
                        .diskType("string")
                        .build())
                    .build())
                .dataformRepositorySource(ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobDataformRepositorySourceArgs.builder()
                    .dataformRepositoryResourceName("string")
                    .commitSha("string")
                    .build())
                .kernelName("string")
                .labels(Map.of("string", "string"))
                .name("string")
                .notebookRuntimeTemplateResourceName("string")
                .scheduleResourceName("string")
                .serviceAccount("string")
                .updateTime("string")
                .workbenchRuntime(ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobWorkbenchRuntimeArgs.builder()
                    .build())
                .build())
            .notebookExecutionJobId("string")
            .parent("string")
            .build())
        .maxConcurrentActiveRunCount("string")
        .createPipelineJobRequest(ScheduleCreatePipelineJobRequestArgs.builder()
            .pipelineJob(ScheduleCreatePipelineJobRequestPipelineJobArgs.builder()
                .createTime("string")
                .displayName("string")
                .encryptionSpec(ScheduleCreatePipelineJobRequestPipelineJobEncryptionSpecArgs.builder()
                    .kmsKeyName("string")
                    .build())
                .endTime("string")
                .labels(Map.of("string", "string"))
                .name("string")
                .network("string")
                .pipelineSpec("string")
                .preflightValidations(false)
                .pscInterfaceConfig(ScheduleCreatePipelineJobRequestPipelineJobPscInterfaceConfigArgs.builder()
                    .dnsPeeringConfigs(ScheduleCreatePipelineJobRequestPipelineJobPscInterfaceConfigDnsPeeringConfigArgs.builder()
                        .domain("string")
                        .targetNetwork("string")
                        .targetProject("string")
                        .build())
                    .networkAttachment("string")
                    .build())
                .reservedIpRanges("string")
                .runtimeConfig(ScheduleCreatePipelineJobRequestPipelineJobRuntimeConfigArgs.builder()
                    .gcsOutputDirectory("string")
                    .failurePolicy("string")
                    .parameterValues(Map.of("string", "string"))
                    .build())
                .scheduleName("string")
                .serviceAccount("string")
                .startTime("string")
                .state("string")
                .templateMetadatas(ScheduleCreatePipelineJobRequestPipelineJobTemplateMetadataArgs.builder()
                    .version("string")
                    .build())
                .templateUri("string")
                .updateTime("string")
                .build())
            .parent("string")
            .pipelineJobId("string")
            .build())
        .maxRunCount("string")
        .endTime("string")
        .startTime("string")
        .build());
    
    schedule_resource = gcp.colab.Schedule("scheduleResource",
        display_name="string",
        location="string",
        max_concurrent_run_count="string",
        cron="string",
        deletion_policy="string",
        desired_state="string",
        allow_queueing=False,
        project="string",
        create_notebook_execution_job_request={
            "notebook_execution_job": {
                "display_name": "string",
                "gcs_output_uri": "string",
                "encryption_spec": {
                    "kms_key_name": "string",
                },
                "job_state": "string",
                "create_time": "string",
                "execution_timeout": "string",
                "execution_user": "string",
                "gcs_notebook_source": {
                    "uri": "string",
                    "generation": "string",
                },
                "custom_environment_spec": {
                    "machine_spec": {
                        "accelerator_count": 0,
                        "accelerator_type": "string",
                        "gpu_partition_size": "string",
                        "machine_type": "string",
                        "reservation_affinity": {
                            "reservation_affinity_type": "string",
                            "key": "string",
                            "use_reservation_pool": False,
                            "values": ["string"],
                        },
                        "tpu_topology": "string",
                    },
                    "network_spec": {
                        "enable_internet_access": False,
                        "network": "string",
                        "subnetwork": "string",
                    },
                    "persistent_disk_spec": {
                        "disk_size_gb": "string",
                        "disk_type": "string",
                    },
                },
                "dataform_repository_source": {
                    "dataform_repository_resource_name": "string",
                    "commit_sha": "string",
                },
                "kernel_name": "string",
                "labels": {
                    "string": "string",
                },
                "name": "string",
                "notebook_runtime_template_resource_name": "string",
                "schedule_resource_name": "string",
                "service_account": "string",
                "update_time": "string",
                "workbench_runtime": {},
            },
            "notebook_execution_job_id": "string",
            "parent": "string",
        },
        max_concurrent_active_run_count="string",
        create_pipeline_job_request={
            "pipeline_job": {
                "create_time": "string",
                "display_name": "string",
                "encryption_spec": {
                    "kms_key_name": "string",
                },
                "end_time": "string",
                "labels": {
                    "string": "string",
                },
                "name": "string",
                "network": "string",
                "pipeline_spec": "string",
                "preflight_validations": False,
                "psc_interface_config": {
                    "dns_peering_configs": [{
                        "domain": "string",
                        "target_network": "string",
                        "target_project": "string",
                    }],
                    "network_attachment": "string",
                },
                "reserved_ip_ranges": ["string"],
                "runtime_config": {
                    "gcs_output_directory": "string",
                    "failure_policy": "string",
                    "parameter_values": {
                        "string": "string",
                    },
                },
                "schedule_name": "string",
                "service_account": "string",
                "start_time": "string",
                "state": "string",
                "template_metadatas": [{
                    "version": "string",
                }],
                "template_uri": "string",
                "update_time": "string",
            },
            "parent": "string",
            "pipeline_job_id": "string",
        },
        max_run_count="string",
        end_time="string",
        start_time="string")
    
    const scheduleResource = new gcp.colab.Schedule("scheduleResource", {
        displayName: "string",
        location: "string",
        maxConcurrentRunCount: "string",
        cron: "string",
        deletionPolicy: "string",
        desiredState: "string",
        allowQueueing: false,
        project: "string",
        createNotebookExecutionJobRequest: {
            notebookExecutionJob: {
                displayName: "string",
                gcsOutputUri: "string",
                encryptionSpec: {
                    kmsKeyName: "string",
                },
                jobState: "string",
                createTime: "string",
                executionTimeout: "string",
                executionUser: "string",
                gcsNotebookSource: {
                    uri: "string",
                    generation: "string",
                },
                customEnvironmentSpec: {
                    machineSpec: {
                        acceleratorCount: 0,
                        acceleratorType: "string",
                        gpuPartitionSize: "string",
                        machineType: "string",
                        reservationAffinity: {
                            reservationAffinityType: "string",
                            key: "string",
                            useReservationPool: false,
                            values: ["string"],
                        },
                        tpuTopology: "string",
                    },
                    networkSpec: {
                        enableInternetAccess: false,
                        network: "string",
                        subnetwork: "string",
                    },
                    persistentDiskSpec: {
                        diskSizeGb: "string",
                        diskType: "string",
                    },
                },
                dataformRepositorySource: {
                    dataformRepositoryResourceName: "string",
                    commitSha: "string",
                },
                kernelName: "string",
                labels: {
                    string: "string",
                },
                name: "string",
                notebookRuntimeTemplateResourceName: "string",
                scheduleResourceName: "string",
                serviceAccount: "string",
                updateTime: "string",
                workbenchRuntime: {},
            },
            notebookExecutionJobId: "string",
            parent: "string",
        },
        maxConcurrentActiveRunCount: "string",
        createPipelineJobRequest: {
            pipelineJob: {
                createTime: "string",
                displayName: "string",
                encryptionSpec: {
                    kmsKeyName: "string",
                },
                endTime: "string",
                labels: {
                    string: "string",
                },
                name: "string",
                network: "string",
                pipelineSpec: "string",
                preflightValidations: false,
                pscInterfaceConfig: {
                    dnsPeeringConfigs: [{
                        domain: "string",
                        targetNetwork: "string",
                        targetProject: "string",
                    }],
                    networkAttachment: "string",
                },
                reservedIpRanges: ["string"],
                runtimeConfig: {
                    gcsOutputDirectory: "string",
                    failurePolicy: "string",
                    parameterValues: {
                        string: "string",
                    },
                },
                scheduleName: "string",
                serviceAccount: "string",
                startTime: "string",
                state: "string",
                templateMetadatas: [{
                    version: "string",
                }],
                templateUri: "string",
                updateTime: "string",
            },
            parent: "string",
            pipelineJobId: "string",
        },
        maxRunCount: "string",
        endTime: "string",
        startTime: "string",
    });
    
    type: gcp:colab:Schedule
    properties:
        allowQueueing: false
        createNotebookExecutionJobRequest:
            notebookExecutionJob:
                createTime: string
                customEnvironmentSpec:
                    machineSpec:
                        acceleratorCount: 0
                        acceleratorType: string
                        gpuPartitionSize: string
                        machineType: string
                        reservationAffinity:
                            key: string
                            reservationAffinityType: string
                            useReservationPool: false
                            values:
                                - string
                        tpuTopology: string
                    networkSpec:
                        enableInternetAccess: false
                        network: string
                        subnetwork: string
                    persistentDiskSpec:
                        diskSizeGb: string
                        diskType: string
                dataformRepositorySource:
                    commitSha: string
                    dataformRepositoryResourceName: string
                displayName: string
                encryptionSpec:
                    kmsKeyName: string
                executionTimeout: string
                executionUser: string
                gcsNotebookSource:
                    generation: string
                    uri: string
                gcsOutputUri: string
                jobState: string
                kernelName: string
                labels:
                    string: string
                name: string
                notebookRuntimeTemplateResourceName: string
                scheduleResourceName: string
                serviceAccount: string
                updateTime: string
                workbenchRuntime: {}
            notebookExecutionJobId: string
            parent: string
        createPipelineJobRequest:
            parent: string
            pipelineJob:
                createTime: string
                displayName: string
                encryptionSpec:
                    kmsKeyName: string
                endTime: string
                labels:
                    string: string
                name: string
                network: string
                pipelineSpec: string
                preflightValidations: false
                pscInterfaceConfig:
                    dnsPeeringConfigs:
                        - domain: string
                          targetNetwork: string
                          targetProject: string
                    networkAttachment: string
                reservedIpRanges:
                    - string
                runtimeConfig:
                    failurePolicy: string
                    gcsOutputDirectory: string
                    parameterValues:
                        string: string
                scheduleName: string
                serviceAccount: string
                startTime: string
                state: string
                templateMetadatas:
                    - version: string
                templateUri: string
                updateTime: string
            pipelineJobId: string
        cron: string
        deletionPolicy: string
        desiredState: string
        displayName: string
        endTime: string
        location: string
        maxConcurrentActiveRunCount: string
        maxConcurrentRunCount: string
        maxRunCount: string
        project: string
        startTime: string
    

    Schedule 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 Schedule resource accepts the following input properties:

    Cron string
    Cron schedule (https://en.wikipedia.org/wiki/Cron) to launch scheduled runs.
    DisplayName string
    Required. The display name of the Schedule.
    Location string
    The location for the resource: https://cloud.google.com/colab/docs/locations
    MaxConcurrentRunCount string
    Maximum number of runs that can be started concurrently for this Schedule. This is the limit for starting the scheduled requests and not the execution of the notebook execution jobs created by the requests.
    AllowQueueing bool
    Whether new scheduled runs can be queued when maxConcurrentRuns limit is reached. If set to true, new runs will be queued instead of skipped. Default to false.
    CreateNotebookExecutionJobRequest ScheduleCreateNotebookExecutionJobRequest
    Request for google_colab_notebook_execution. Structure is documented below.
    CreatePipelineJobRequest ScheduleCreatePipelineJobRequest
    Request message for PipelineService.CreatePipelineJob. 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.
    DesiredState string
    Desired state of the Colab Schedule. Set this field to ACTIVE to start/resume the schedule, and PAUSED to pause the schedule.
    EndTime string
    Timestamp after which no new runs can be scheduled. If specified, the schedule will be completed when either endTime is reached or when scheduledRunCount >= max_run_count. Must be in the RFC 3339 (https://www.ietf.org/rfc/rfc3339.txt) format.
    MaxConcurrentActiveRunCount string
    Specifies the maximum number of active runs that can be executed concurrently for this Schedule. This limits the number of runs that can be in a non-terminal state at the same time. Currently, this field is only supported for requests of type CreatePipelineJobRequest.
    MaxRunCount string
    Maximum run count of the schedule. If specified, The schedule will be completed when either startedRunCount >= maxRunCount or when endTime is reached. If not specified, new runs will keep getting scheduled until this Schedule is paused or deleted. Already scheduled runs will be allowed to complete. Unset if not specified.
    Project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    StartTime string
    The timestamp after which the first run can be scheduled. Defaults to the schedule creation time. Must be in the RFC 3339 (https://www.ietf.org/rfc/rfc3339.txt) format.
    Cron string
    Cron schedule (https://en.wikipedia.org/wiki/Cron) to launch scheduled runs.
    DisplayName string
    Required. The display name of the Schedule.
    Location string
    The location for the resource: https://cloud.google.com/colab/docs/locations
    MaxConcurrentRunCount string
    Maximum number of runs that can be started concurrently for this Schedule. This is the limit for starting the scheduled requests and not the execution of the notebook execution jobs created by the requests.
    AllowQueueing bool
    Whether new scheduled runs can be queued when maxConcurrentRuns limit is reached. If set to true, new runs will be queued instead of skipped. Default to false.
    CreateNotebookExecutionJobRequest ScheduleCreateNotebookExecutionJobRequestArgs
    Request for google_colab_notebook_execution. Structure is documented below.
    CreatePipelineJobRequest ScheduleCreatePipelineJobRequestArgs
    Request message for PipelineService.CreatePipelineJob. 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.
    DesiredState string
    Desired state of the Colab Schedule. Set this field to ACTIVE to start/resume the schedule, and PAUSED to pause the schedule.
    EndTime string
    Timestamp after which no new runs can be scheduled. If specified, the schedule will be completed when either endTime is reached or when scheduledRunCount >= max_run_count. Must be in the RFC 3339 (https://www.ietf.org/rfc/rfc3339.txt) format.
    MaxConcurrentActiveRunCount string
    Specifies the maximum number of active runs that can be executed concurrently for this Schedule. This limits the number of runs that can be in a non-terminal state at the same time. Currently, this field is only supported for requests of type CreatePipelineJobRequest.
    MaxRunCount string
    Maximum run count of the schedule. If specified, The schedule will be completed when either startedRunCount >= maxRunCount or when endTime is reached. If not specified, new runs will keep getting scheduled until this Schedule is paused or deleted. Already scheduled runs will be allowed to complete. Unset if not specified.
    Project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    StartTime string
    The timestamp after which the first run can be scheduled. Defaults to the schedule creation time. Must be in the RFC 3339 (https://www.ietf.org/rfc/rfc3339.txt) format.
    cron string
    Cron schedule (https://en.wikipedia.org/wiki/Cron) to launch scheduled runs.
    display_name string
    Required. The display name of the Schedule.
    location string
    The location for the resource: https://cloud.google.com/colab/docs/locations
    max_concurrent_run_count string
    Maximum number of runs that can be started concurrently for this Schedule. This is the limit for starting the scheduled requests and not the execution of the notebook execution jobs created by the requests.
    allow_queueing bool
    Whether new scheduled runs can be queued when maxConcurrentRuns limit is reached. If set to true, new runs will be queued instead of skipped. Default to false.
    create_notebook_execution_job_request object
    Request for google_colab_notebook_execution. Structure is documented below.
    create_pipeline_job_request object
    Request message for PipelineService.CreatePipelineJob. 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.
    desired_state string
    Desired state of the Colab Schedule. Set this field to ACTIVE to start/resume the schedule, and PAUSED to pause the schedule.
    end_time string
    Timestamp after which no new runs can be scheduled. If specified, the schedule will be completed when either endTime is reached or when scheduledRunCount >= max_run_count. Must be in the RFC 3339 (https://www.ietf.org/rfc/rfc3339.txt) format.
    max_concurrent_active_run_count string
    Specifies the maximum number of active runs that can be executed concurrently for this Schedule. This limits the number of runs that can be in a non-terminal state at the same time. Currently, this field is only supported for requests of type CreatePipelineJobRequest.
    max_run_count string
    Maximum run count of the schedule. If specified, The schedule will be completed when either startedRunCount >= maxRunCount or when endTime is reached. If not specified, new runs will keep getting scheduled until this Schedule is paused or deleted. Already scheduled runs will be allowed to complete. Unset if not specified.
    project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    start_time string
    The timestamp after which the first run can be scheduled. Defaults to the schedule creation time. Must be in the RFC 3339 (https://www.ietf.org/rfc/rfc3339.txt) format.
    cron String
    Cron schedule (https://en.wikipedia.org/wiki/Cron) to launch scheduled runs.
    displayName String
    Required. The display name of the Schedule.
    location String
    The location for the resource: https://cloud.google.com/colab/docs/locations
    maxConcurrentRunCount String
    Maximum number of runs that can be started concurrently for this Schedule. This is the limit for starting the scheduled requests and not the execution of the notebook execution jobs created by the requests.
    allowQueueing Boolean
    Whether new scheduled runs can be queued when maxConcurrentRuns limit is reached. If set to true, new runs will be queued instead of skipped. Default to false.
    createNotebookExecutionJobRequest ScheduleCreateNotebookExecutionJobRequest
    Request for google_colab_notebook_execution. Structure is documented below.
    createPipelineJobRequest ScheduleCreatePipelineJobRequest
    Request message for PipelineService.CreatePipelineJob. 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.
    desiredState String
    Desired state of the Colab Schedule. Set this field to ACTIVE to start/resume the schedule, and PAUSED to pause the schedule.
    endTime String
    Timestamp after which no new runs can be scheduled. If specified, the schedule will be completed when either endTime is reached or when scheduledRunCount >= max_run_count. Must be in the RFC 3339 (https://www.ietf.org/rfc/rfc3339.txt) format.
    maxConcurrentActiveRunCount String
    Specifies the maximum number of active runs that can be executed concurrently for this Schedule. This limits the number of runs that can be in a non-terminal state at the same time. Currently, this field is only supported for requests of type CreatePipelineJobRequest.
    maxRunCount String
    Maximum run count of the schedule. If specified, The schedule will be completed when either startedRunCount >= maxRunCount or when endTime is reached. If not specified, new runs will keep getting scheduled until this Schedule is paused or deleted. Already scheduled runs will be allowed to complete. Unset if not specified.
    project String
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    startTime String
    The timestamp after which the first run can be scheduled. Defaults to the schedule creation time. Must be in the RFC 3339 (https://www.ietf.org/rfc/rfc3339.txt) format.
    cron string
    Cron schedule (https://en.wikipedia.org/wiki/Cron) to launch scheduled runs.
    displayName string
    Required. The display name of the Schedule.
    location string
    The location for the resource: https://cloud.google.com/colab/docs/locations
    maxConcurrentRunCount string
    Maximum number of runs that can be started concurrently for this Schedule. This is the limit for starting the scheduled requests and not the execution of the notebook execution jobs created by the requests.
    allowQueueing boolean
    Whether new scheduled runs can be queued when maxConcurrentRuns limit is reached. If set to true, new runs will be queued instead of skipped. Default to false.
    createNotebookExecutionJobRequest ScheduleCreateNotebookExecutionJobRequest
    Request for google_colab_notebook_execution. Structure is documented below.
    createPipelineJobRequest ScheduleCreatePipelineJobRequest
    Request message for PipelineService.CreatePipelineJob. 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.
    desiredState string
    Desired state of the Colab Schedule. Set this field to ACTIVE to start/resume the schedule, and PAUSED to pause the schedule.
    endTime string
    Timestamp after which no new runs can be scheduled. If specified, the schedule will be completed when either endTime is reached or when scheduledRunCount >= max_run_count. Must be in the RFC 3339 (https://www.ietf.org/rfc/rfc3339.txt) format.
    maxConcurrentActiveRunCount string
    Specifies the maximum number of active runs that can be executed concurrently for this Schedule. This limits the number of runs that can be in a non-terminal state at the same time. Currently, this field is only supported for requests of type CreatePipelineJobRequest.
    maxRunCount string
    Maximum run count of the schedule. If specified, The schedule will be completed when either startedRunCount >= maxRunCount or when endTime is reached. If not specified, new runs will keep getting scheduled until this Schedule is paused or deleted. Already scheduled runs will be allowed to complete. Unset if not specified.
    project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    startTime string
    The timestamp after which the first run can be scheduled. Defaults to the schedule creation time. Must be in the RFC 3339 (https://www.ietf.org/rfc/rfc3339.txt) format.
    cron str
    Cron schedule (https://en.wikipedia.org/wiki/Cron) to launch scheduled runs.
    display_name str
    Required. The display name of the Schedule.
    location str
    The location for the resource: https://cloud.google.com/colab/docs/locations
    max_concurrent_run_count str
    Maximum number of runs that can be started concurrently for this Schedule. This is the limit for starting the scheduled requests and not the execution of the notebook execution jobs created by the requests.
    allow_queueing bool
    Whether new scheduled runs can be queued when maxConcurrentRuns limit is reached. If set to true, new runs will be queued instead of skipped. Default to false.
    create_notebook_execution_job_request ScheduleCreateNotebookExecutionJobRequestArgs
    Request for google_colab_notebook_execution. Structure is documented below.
    create_pipeline_job_request ScheduleCreatePipelineJobRequestArgs
    Request message for PipelineService.CreatePipelineJob. 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.
    desired_state str
    Desired state of the Colab Schedule. Set this field to ACTIVE to start/resume the schedule, and PAUSED to pause the schedule.
    end_time str
    Timestamp after which no new runs can be scheduled. If specified, the schedule will be completed when either endTime is reached or when scheduledRunCount >= max_run_count. Must be in the RFC 3339 (https://www.ietf.org/rfc/rfc3339.txt) format.
    max_concurrent_active_run_count str
    Specifies the maximum number of active runs that can be executed concurrently for this Schedule. This limits the number of runs that can be in a non-terminal state at the same time. Currently, this field is only supported for requests of type CreatePipelineJobRequest.
    max_run_count str
    Maximum run count of the schedule. If specified, The schedule will be completed when either startedRunCount >= maxRunCount or when endTime is reached. If not specified, new runs will keep getting scheduled until this Schedule is paused or deleted. Already scheduled runs will be allowed to complete. Unset if not specified.
    project str
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    start_time str
    The timestamp after which the first run can be scheduled. Defaults to the schedule creation time. Must be in the RFC 3339 (https://www.ietf.org/rfc/rfc3339.txt) format.
    cron String
    Cron schedule (https://en.wikipedia.org/wiki/Cron) to launch scheduled runs.
    displayName String
    Required. The display name of the Schedule.
    location String
    The location for the resource: https://cloud.google.com/colab/docs/locations
    maxConcurrentRunCount String
    Maximum number of runs that can be started concurrently for this Schedule. This is the limit for starting the scheduled requests and not the execution of the notebook execution jobs created by the requests.
    allowQueueing Boolean
    Whether new scheduled runs can be queued when maxConcurrentRuns limit is reached. If set to true, new runs will be queued instead of skipped. Default to false.
    createNotebookExecutionJobRequest Property Map
    Request for google_colab_notebook_execution. Structure is documented below.
    createPipelineJobRequest Property Map
    Request message for PipelineService.CreatePipelineJob. 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.
    desiredState String
    Desired state of the Colab Schedule. Set this field to ACTIVE to start/resume the schedule, and PAUSED to pause the schedule.
    endTime String
    Timestamp after which no new runs can be scheduled. If specified, the schedule will be completed when either endTime is reached or when scheduledRunCount >= max_run_count. Must be in the RFC 3339 (https://www.ietf.org/rfc/rfc3339.txt) format.
    maxConcurrentActiveRunCount String
    Specifies the maximum number of active runs that can be executed concurrently for this Schedule. This limits the number of runs that can be in a non-terminal state at the same time. Currently, this field is only supported for requests of type CreatePipelineJobRequest.
    maxRunCount String
    Maximum run count of the schedule. If specified, The schedule will be completed when either startedRunCount >= maxRunCount or when endTime is reached. If not specified, new runs will keep getting scheduled until this Schedule is paused or deleted. Already scheduled runs will be allowed to complete. Unset if not specified.
    project String
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    startTime String
    The timestamp after which the first run can be scheduled. Defaults to the schedule creation time. Must be in the RFC 3339 (https://www.ietf.org/rfc/rfc3339.txt) format.

    Outputs

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

    CatchUp bool
    Whether to backfill missed runs when the schedule is resumed from PAUSED state. If set to true, all missed runs will be scheduled. New runs will be scheduled after the backfill is complete. Default to false.
    CreateTime string
    Timestamp when this Schedule was created.
    Id string
    The provider-assigned unique ID for this managed resource.
    LastPauseTime string
    Timestamp when this Schedule was last paused. Unset if never paused.
    LastResumeTime string
    Timestamp when this Schedule was last resumed. Unset if never resumed from pause.
    LastScheduledRunResponses List<ScheduleLastScheduledRunResponse>
    Status of a scheduled run. Structure is documented below.
    Name string
    The resource name of the Schedule
    NextRunTime string
    Timestamp when this Schedule should schedule the next run. Having a nextRunTime in the past means the runs are being started behind schedule.
    StartedRunCount string
    The number of runs started by this schedule.
    State string
    Output only. The state of the schedule.
    UpdateTime string
    Timestamp when this Schedule was updated.
    CatchUp bool
    Whether to backfill missed runs when the schedule is resumed from PAUSED state. If set to true, all missed runs will be scheduled. New runs will be scheduled after the backfill is complete. Default to false.
    CreateTime string
    Timestamp when this Schedule was created.
    Id string
    The provider-assigned unique ID for this managed resource.
    LastPauseTime string
    Timestamp when this Schedule was last paused. Unset if never paused.
    LastResumeTime string
    Timestamp when this Schedule was last resumed. Unset if never resumed from pause.
    LastScheduledRunResponses []ScheduleLastScheduledRunResponse
    Status of a scheduled run. Structure is documented below.
    Name string
    The resource name of the Schedule
    NextRunTime string
    Timestamp when this Schedule should schedule the next run. Having a nextRunTime in the past means the runs are being started behind schedule.
    StartedRunCount string
    The number of runs started by this schedule.
    State string
    Output only. The state of the schedule.
    UpdateTime string
    Timestamp when this Schedule was updated.
    catch_up bool
    Whether to backfill missed runs when the schedule is resumed from PAUSED state. If set to true, all missed runs will be scheduled. New runs will be scheduled after the backfill is complete. Default to false.
    create_time string
    Timestamp when this Schedule was created.
    id string
    The provider-assigned unique ID for this managed resource.
    last_pause_time string
    Timestamp when this Schedule was last paused. Unset if never paused.
    last_resume_time string
    Timestamp when this Schedule was last resumed. Unset if never resumed from pause.
    last_scheduled_run_responses list(object)
    Status of a scheduled run. Structure is documented below.
    name string
    The resource name of the Schedule
    next_run_time string
    Timestamp when this Schedule should schedule the next run. Having a nextRunTime in the past means the runs are being started behind schedule.
    started_run_count string
    The number of runs started by this schedule.
    state string
    Output only. The state of the schedule.
    update_time string
    Timestamp when this Schedule was updated.
    catchUp Boolean
    Whether to backfill missed runs when the schedule is resumed from PAUSED state. If set to true, all missed runs will be scheduled. New runs will be scheduled after the backfill is complete. Default to false.
    createTime String
    Timestamp when this Schedule was created.
    id String
    The provider-assigned unique ID for this managed resource.
    lastPauseTime String
    Timestamp when this Schedule was last paused. Unset if never paused.
    lastResumeTime String
    Timestamp when this Schedule was last resumed. Unset if never resumed from pause.
    lastScheduledRunResponses List<ScheduleLastScheduledRunResponse>
    Status of a scheduled run. Structure is documented below.
    name String
    The resource name of the Schedule
    nextRunTime String
    Timestamp when this Schedule should schedule the next run. Having a nextRunTime in the past means the runs are being started behind schedule.
    startedRunCount String
    The number of runs started by this schedule.
    state String
    Output only. The state of the schedule.
    updateTime String
    Timestamp when this Schedule was updated.
    catchUp boolean
    Whether to backfill missed runs when the schedule is resumed from PAUSED state. If set to true, all missed runs will be scheduled. New runs will be scheduled after the backfill is complete. Default to false.
    createTime string
    Timestamp when this Schedule was created.
    id string
    The provider-assigned unique ID for this managed resource.
    lastPauseTime string
    Timestamp when this Schedule was last paused. Unset if never paused.
    lastResumeTime string
    Timestamp when this Schedule was last resumed. Unset if never resumed from pause.
    lastScheduledRunResponses ScheduleLastScheduledRunResponse[]
    Status of a scheduled run. Structure is documented below.
    name string
    The resource name of the Schedule
    nextRunTime string
    Timestamp when this Schedule should schedule the next run. Having a nextRunTime in the past means the runs are being started behind schedule.
    startedRunCount string
    The number of runs started by this schedule.
    state string
    Output only. The state of the schedule.
    updateTime string
    Timestamp when this Schedule was updated.
    catch_up bool
    Whether to backfill missed runs when the schedule is resumed from PAUSED state. If set to true, all missed runs will be scheduled. New runs will be scheduled after the backfill is complete. Default to false.
    create_time str
    Timestamp when this Schedule was created.
    id str
    The provider-assigned unique ID for this managed resource.
    last_pause_time str
    Timestamp when this Schedule was last paused. Unset if never paused.
    last_resume_time str
    Timestamp when this Schedule was last resumed. Unset if never resumed from pause.
    last_scheduled_run_responses Sequence[ScheduleLastScheduledRunResponse]
    Status of a scheduled run. Structure is documented below.
    name str
    The resource name of the Schedule
    next_run_time str
    Timestamp when this Schedule should schedule the next run. Having a nextRunTime in the past means the runs are being started behind schedule.
    started_run_count str
    The number of runs started by this schedule.
    state str
    Output only. The state of the schedule.
    update_time str
    Timestamp when this Schedule was updated.
    catchUp Boolean
    Whether to backfill missed runs when the schedule is resumed from PAUSED state. If set to true, all missed runs will be scheduled. New runs will be scheduled after the backfill is complete. Default to false.
    createTime String
    Timestamp when this Schedule was created.
    id String
    The provider-assigned unique ID for this managed resource.
    lastPauseTime String
    Timestamp when this Schedule was last paused. Unset if never paused.
    lastResumeTime String
    Timestamp when this Schedule was last resumed. Unset if never resumed from pause.
    lastScheduledRunResponses List<Property Map>
    Status of a scheduled run. Structure is documented below.
    name String
    The resource name of the Schedule
    nextRunTime String
    Timestamp when this Schedule should schedule the next run. Having a nextRunTime in the past means the runs are being started behind schedule.
    startedRunCount String
    The number of runs started by this schedule.
    state String
    Output only. The state of the schedule.
    updateTime String
    Timestamp when this Schedule was updated.

    Look up Existing Schedule Resource

    Get an existing Schedule 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?: ScheduleState, opts?: CustomResourceOptions): Schedule
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            allow_queueing: Optional[bool] = None,
            catch_up: Optional[bool] = None,
            create_notebook_execution_job_request: Optional[ScheduleCreateNotebookExecutionJobRequestArgs] = None,
            create_pipeline_job_request: Optional[ScheduleCreatePipelineJobRequestArgs] = None,
            create_time: Optional[str] = None,
            cron: Optional[str] = None,
            deletion_policy: Optional[str] = None,
            desired_state: Optional[str] = None,
            display_name: Optional[str] = None,
            end_time: Optional[str] = None,
            last_pause_time: Optional[str] = None,
            last_resume_time: Optional[str] = None,
            last_scheduled_run_responses: Optional[Sequence[ScheduleLastScheduledRunResponseArgs]] = None,
            location: Optional[str] = None,
            max_concurrent_active_run_count: Optional[str] = None,
            max_concurrent_run_count: Optional[str] = None,
            max_run_count: Optional[str] = None,
            name: Optional[str] = None,
            next_run_time: Optional[str] = None,
            project: Optional[str] = None,
            start_time: Optional[str] = None,
            started_run_count: Optional[str] = None,
            state: Optional[str] = None,
            update_time: Optional[str] = None) -> Schedule
    func GetSchedule(ctx *Context, name string, id IDInput, state *ScheduleState, opts ...ResourceOption) (*Schedule, error)
    public static Schedule Get(string name, Input<string> id, ScheduleState? state, CustomResourceOptions? opts = null)
    public static Schedule get(String name, Output<String> id, ScheduleState state, CustomResourceOptions options)
    resources:  _:    type: gcp:colab:Schedule    get:      id: ${id}
    import {
      to = gcp_colab_schedule.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:
    AllowQueueing bool
    Whether new scheduled runs can be queued when maxConcurrentRuns limit is reached. If set to true, new runs will be queued instead of skipped. Default to false.
    CatchUp bool
    Whether to backfill missed runs when the schedule is resumed from PAUSED state. If set to true, all missed runs will be scheduled. New runs will be scheduled after the backfill is complete. Default to false.
    CreateNotebookExecutionJobRequest ScheduleCreateNotebookExecutionJobRequest
    Request for google_colab_notebook_execution. Structure is documented below.
    CreatePipelineJobRequest ScheduleCreatePipelineJobRequest
    Request message for PipelineService.CreatePipelineJob. Structure is documented below.
    CreateTime string
    Timestamp when this Schedule was created.
    Cron string
    Cron schedule (https://en.wikipedia.org/wiki/Cron) to launch scheduled runs.
    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.
    DesiredState string
    Desired state of the Colab Schedule. Set this field to ACTIVE to start/resume the schedule, and PAUSED to pause the schedule.
    DisplayName string
    Required. The display name of the Schedule.
    EndTime string
    Timestamp after which no new runs can be scheduled. If specified, the schedule will be completed when either endTime is reached or when scheduledRunCount >= max_run_count. Must be in the RFC 3339 (https://www.ietf.org/rfc/rfc3339.txt) format.
    LastPauseTime string
    Timestamp when this Schedule was last paused. Unset if never paused.
    LastResumeTime string
    Timestamp when this Schedule was last resumed. Unset if never resumed from pause.
    LastScheduledRunResponses List<ScheduleLastScheduledRunResponse>
    Status of a scheduled run. Structure is documented below.
    Location string
    The location for the resource: https://cloud.google.com/colab/docs/locations
    MaxConcurrentActiveRunCount string
    Specifies the maximum number of active runs that can be executed concurrently for this Schedule. This limits the number of runs that can be in a non-terminal state at the same time. Currently, this field is only supported for requests of type CreatePipelineJobRequest.
    MaxConcurrentRunCount string
    Maximum number of runs that can be started concurrently for this Schedule. This is the limit for starting the scheduled requests and not the execution of the notebook execution jobs created by the requests.
    MaxRunCount string
    Maximum run count of the schedule. If specified, The schedule will be completed when either startedRunCount >= maxRunCount or when endTime is reached. If not specified, new runs will keep getting scheduled until this Schedule is paused or deleted. Already scheduled runs will be allowed to complete. Unset if not specified.
    Name string
    The resource name of the Schedule
    NextRunTime string
    Timestamp when this Schedule should schedule the next run. Having a nextRunTime in the past means the runs are being started behind schedule.
    Project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    StartTime string
    The timestamp after which the first run can be scheduled. Defaults to the schedule creation time. Must be in the RFC 3339 (https://www.ietf.org/rfc/rfc3339.txt) format.
    StartedRunCount string
    The number of runs started by this schedule.
    State string
    Output only. The state of the schedule.
    UpdateTime string
    Timestamp when this Schedule was updated.
    AllowQueueing bool
    Whether new scheduled runs can be queued when maxConcurrentRuns limit is reached. If set to true, new runs will be queued instead of skipped. Default to false.
    CatchUp bool
    Whether to backfill missed runs when the schedule is resumed from PAUSED state. If set to true, all missed runs will be scheduled. New runs will be scheduled after the backfill is complete. Default to false.
    CreateNotebookExecutionJobRequest ScheduleCreateNotebookExecutionJobRequestArgs
    Request for google_colab_notebook_execution. Structure is documented below.
    CreatePipelineJobRequest ScheduleCreatePipelineJobRequestArgs
    Request message for PipelineService.CreatePipelineJob. Structure is documented below.
    CreateTime string
    Timestamp when this Schedule was created.
    Cron string
    Cron schedule (https://en.wikipedia.org/wiki/Cron) to launch scheduled runs.
    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.
    DesiredState string
    Desired state of the Colab Schedule. Set this field to ACTIVE to start/resume the schedule, and PAUSED to pause the schedule.
    DisplayName string
    Required. The display name of the Schedule.
    EndTime string
    Timestamp after which no new runs can be scheduled. If specified, the schedule will be completed when either endTime is reached or when scheduledRunCount >= max_run_count. Must be in the RFC 3339 (https://www.ietf.org/rfc/rfc3339.txt) format.
    LastPauseTime string
    Timestamp when this Schedule was last paused. Unset if never paused.
    LastResumeTime string
    Timestamp when this Schedule was last resumed. Unset if never resumed from pause.
    LastScheduledRunResponses []ScheduleLastScheduledRunResponseArgs
    Status of a scheduled run. Structure is documented below.
    Location string
    The location for the resource: https://cloud.google.com/colab/docs/locations
    MaxConcurrentActiveRunCount string
    Specifies the maximum number of active runs that can be executed concurrently for this Schedule. This limits the number of runs that can be in a non-terminal state at the same time. Currently, this field is only supported for requests of type CreatePipelineJobRequest.
    MaxConcurrentRunCount string
    Maximum number of runs that can be started concurrently for this Schedule. This is the limit for starting the scheduled requests and not the execution of the notebook execution jobs created by the requests.
    MaxRunCount string
    Maximum run count of the schedule. If specified, The schedule will be completed when either startedRunCount >= maxRunCount or when endTime is reached. If not specified, new runs will keep getting scheduled until this Schedule is paused or deleted. Already scheduled runs will be allowed to complete. Unset if not specified.
    Name string
    The resource name of the Schedule
    NextRunTime string
    Timestamp when this Schedule should schedule the next run. Having a nextRunTime in the past means the runs are being started behind schedule.
    Project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    StartTime string
    The timestamp after which the first run can be scheduled. Defaults to the schedule creation time. Must be in the RFC 3339 (https://www.ietf.org/rfc/rfc3339.txt) format.
    StartedRunCount string
    The number of runs started by this schedule.
    State string
    Output only. The state of the schedule.
    UpdateTime string
    Timestamp when this Schedule was updated.
    allow_queueing bool
    Whether new scheduled runs can be queued when maxConcurrentRuns limit is reached. If set to true, new runs will be queued instead of skipped. Default to false.
    catch_up bool
    Whether to backfill missed runs when the schedule is resumed from PAUSED state. If set to true, all missed runs will be scheduled. New runs will be scheduled after the backfill is complete. Default to false.
    create_notebook_execution_job_request object
    Request for google_colab_notebook_execution. Structure is documented below.
    create_pipeline_job_request object
    Request message for PipelineService.CreatePipelineJob. Structure is documented below.
    create_time string
    Timestamp when this Schedule was created.
    cron string
    Cron schedule (https://en.wikipedia.org/wiki/Cron) to launch scheduled runs.
    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.
    desired_state string
    Desired state of the Colab Schedule. Set this field to ACTIVE to start/resume the schedule, and PAUSED to pause the schedule.
    display_name string
    Required. The display name of the Schedule.
    end_time string
    Timestamp after which no new runs can be scheduled. If specified, the schedule will be completed when either endTime is reached or when scheduledRunCount >= max_run_count. Must be in the RFC 3339 (https://www.ietf.org/rfc/rfc3339.txt) format.
    last_pause_time string
    Timestamp when this Schedule was last paused. Unset if never paused.
    last_resume_time string
    Timestamp when this Schedule was last resumed. Unset if never resumed from pause.
    last_scheduled_run_responses list(object)
    Status of a scheduled run. Structure is documented below.
    location string
    The location for the resource: https://cloud.google.com/colab/docs/locations
    max_concurrent_active_run_count string
    Specifies the maximum number of active runs that can be executed concurrently for this Schedule. This limits the number of runs that can be in a non-terminal state at the same time. Currently, this field is only supported for requests of type CreatePipelineJobRequest.
    max_concurrent_run_count string
    Maximum number of runs that can be started concurrently for this Schedule. This is the limit for starting the scheduled requests and not the execution of the notebook execution jobs created by the requests.
    max_run_count string
    Maximum run count of the schedule. If specified, The schedule will be completed when either startedRunCount >= maxRunCount or when endTime is reached. If not specified, new runs will keep getting scheduled until this Schedule is paused or deleted. Already scheduled runs will be allowed to complete. Unset if not specified.
    name string
    The resource name of the Schedule
    next_run_time string
    Timestamp when this Schedule should schedule the next run. Having a nextRunTime in the past means the runs are being started behind schedule.
    project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    start_time string
    The timestamp after which the first run can be scheduled. Defaults to the schedule creation time. Must be in the RFC 3339 (https://www.ietf.org/rfc/rfc3339.txt) format.
    started_run_count string
    The number of runs started by this schedule.
    state string
    Output only. The state of the schedule.
    update_time string
    Timestamp when this Schedule was updated.
    allowQueueing Boolean
    Whether new scheduled runs can be queued when maxConcurrentRuns limit is reached. If set to true, new runs will be queued instead of skipped. Default to false.
    catchUp Boolean
    Whether to backfill missed runs when the schedule is resumed from PAUSED state. If set to true, all missed runs will be scheduled. New runs will be scheduled after the backfill is complete. Default to false.
    createNotebookExecutionJobRequest ScheduleCreateNotebookExecutionJobRequest
    Request for google_colab_notebook_execution. Structure is documented below.
    createPipelineJobRequest ScheduleCreatePipelineJobRequest
    Request message for PipelineService.CreatePipelineJob. Structure is documented below.
    createTime String
    Timestamp when this Schedule was created.
    cron String
    Cron schedule (https://en.wikipedia.org/wiki/Cron) to launch scheduled runs.
    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.
    desiredState String
    Desired state of the Colab Schedule. Set this field to ACTIVE to start/resume the schedule, and PAUSED to pause the schedule.
    displayName String
    Required. The display name of the Schedule.
    endTime String
    Timestamp after which no new runs can be scheduled. If specified, the schedule will be completed when either endTime is reached or when scheduledRunCount >= max_run_count. Must be in the RFC 3339 (https://www.ietf.org/rfc/rfc3339.txt) format.
    lastPauseTime String
    Timestamp when this Schedule was last paused. Unset if never paused.
    lastResumeTime String
    Timestamp when this Schedule was last resumed. Unset if never resumed from pause.
    lastScheduledRunResponses List<ScheduleLastScheduledRunResponse>
    Status of a scheduled run. Structure is documented below.
    location String
    The location for the resource: https://cloud.google.com/colab/docs/locations
    maxConcurrentActiveRunCount String
    Specifies the maximum number of active runs that can be executed concurrently for this Schedule. This limits the number of runs that can be in a non-terminal state at the same time. Currently, this field is only supported for requests of type CreatePipelineJobRequest.
    maxConcurrentRunCount String
    Maximum number of runs that can be started concurrently for this Schedule. This is the limit for starting the scheduled requests and not the execution of the notebook execution jobs created by the requests.
    maxRunCount String
    Maximum run count of the schedule. If specified, The schedule will be completed when either startedRunCount >= maxRunCount or when endTime is reached. If not specified, new runs will keep getting scheduled until this Schedule is paused or deleted. Already scheduled runs will be allowed to complete. Unset if not specified.
    name String
    The resource name of the Schedule
    nextRunTime String
    Timestamp when this Schedule should schedule the next run. Having a nextRunTime in the past means the runs are being started behind schedule.
    project String
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    startTime String
    The timestamp after which the first run can be scheduled. Defaults to the schedule creation time. Must be in the RFC 3339 (https://www.ietf.org/rfc/rfc3339.txt) format.
    startedRunCount String
    The number of runs started by this schedule.
    state String
    Output only. The state of the schedule.
    updateTime String
    Timestamp when this Schedule was updated.
    allowQueueing boolean
    Whether new scheduled runs can be queued when maxConcurrentRuns limit is reached. If set to true, new runs will be queued instead of skipped. Default to false.
    catchUp boolean
    Whether to backfill missed runs when the schedule is resumed from PAUSED state. If set to true, all missed runs will be scheduled. New runs will be scheduled after the backfill is complete. Default to false.
    createNotebookExecutionJobRequest ScheduleCreateNotebookExecutionJobRequest
    Request for google_colab_notebook_execution. Structure is documented below.
    createPipelineJobRequest ScheduleCreatePipelineJobRequest
    Request message for PipelineService.CreatePipelineJob. Structure is documented below.
    createTime string
    Timestamp when this Schedule was created.
    cron string
    Cron schedule (https://en.wikipedia.org/wiki/Cron) to launch scheduled runs.
    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.
    desiredState string
    Desired state of the Colab Schedule. Set this field to ACTIVE to start/resume the schedule, and PAUSED to pause the schedule.
    displayName string
    Required. The display name of the Schedule.
    endTime string
    Timestamp after which no new runs can be scheduled. If specified, the schedule will be completed when either endTime is reached or when scheduledRunCount >= max_run_count. Must be in the RFC 3339 (https://www.ietf.org/rfc/rfc3339.txt) format.
    lastPauseTime string
    Timestamp when this Schedule was last paused. Unset if never paused.
    lastResumeTime string
    Timestamp when this Schedule was last resumed. Unset if never resumed from pause.
    lastScheduledRunResponses ScheduleLastScheduledRunResponse[]
    Status of a scheduled run. Structure is documented below.
    location string
    The location for the resource: https://cloud.google.com/colab/docs/locations
    maxConcurrentActiveRunCount string
    Specifies the maximum number of active runs that can be executed concurrently for this Schedule. This limits the number of runs that can be in a non-terminal state at the same time. Currently, this field is only supported for requests of type CreatePipelineJobRequest.
    maxConcurrentRunCount string
    Maximum number of runs that can be started concurrently for this Schedule. This is the limit for starting the scheduled requests and not the execution of the notebook execution jobs created by the requests.
    maxRunCount string
    Maximum run count of the schedule. If specified, The schedule will be completed when either startedRunCount >= maxRunCount or when endTime is reached. If not specified, new runs will keep getting scheduled until this Schedule is paused or deleted. Already scheduled runs will be allowed to complete. Unset if not specified.
    name string
    The resource name of the Schedule
    nextRunTime string
    Timestamp when this Schedule should schedule the next run. Having a nextRunTime in the past means the runs are being started behind schedule.
    project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    startTime string
    The timestamp after which the first run can be scheduled. Defaults to the schedule creation time. Must be in the RFC 3339 (https://www.ietf.org/rfc/rfc3339.txt) format.
    startedRunCount string
    The number of runs started by this schedule.
    state string
    Output only. The state of the schedule.
    updateTime string
    Timestamp when this Schedule was updated.
    allow_queueing bool
    Whether new scheduled runs can be queued when maxConcurrentRuns limit is reached. If set to true, new runs will be queued instead of skipped. Default to false.
    catch_up bool
    Whether to backfill missed runs when the schedule is resumed from PAUSED state. If set to true, all missed runs will be scheduled. New runs will be scheduled after the backfill is complete. Default to false.
    create_notebook_execution_job_request ScheduleCreateNotebookExecutionJobRequestArgs
    Request for google_colab_notebook_execution. Structure is documented below.
    create_pipeline_job_request ScheduleCreatePipelineJobRequestArgs
    Request message for PipelineService.CreatePipelineJob. Structure is documented below.
    create_time str
    Timestamp when this Schedule was created.
    cron str
    Cron schedule (https://en.wikipedia.org/wiki/Cron) to launch scheduled runs.
    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.
    desired_state str
    Desired state of the Colab Schedule. Set this field to ACTIVE to start/resume the schedule, and PAUSED to pause the schedule.
    display_name str
    Required. The display name of the Schedule.
    end_time str
    Timestamp after which no new runs can be scheduled. If specified, the schedule will be completed when either endTime is reached or when scheduledRunCount >= max_run_count. Must be in the RFC 3339 (https://www.ietf.org/rfc/rfc3339.txt) format.
    last_pause_time str
    Timestamp when this Schedule was last paused. Unset if never paused.
    last_resume_time str
    Timestamp when this Schedule was last resumed. Unset if never resumed from pause.
    last_scheduled_run_responses Sequence[ScheduleLastScheduledRunResponseArgs]
    Status of a scheduled run. Structure is documented below.
    location str
    The location for the resource: https://cloud.google.com/colab/docs/locations
    max_concurrent_active_run_count str
    Specifies the maximum number of active runs that can be executed concurrently for this Schedule. This limits the number of runs that can be in a non-terminal state at the same time. Currently, this field is only supported for requests of type CreatePipelineJobRequest.
    max_concurrent_run_count str
    Maximum number of runs that can be started concurrently for this Schedule. This is the limit for starting the scheduled requests and not the execution of the notebook execution jobs created by the requests.
    max_run_count str
    Maximum run count of the schedule. If specified, The schedule will be completed when either startedRunCount >= maxRunCount or when endTime is reached. If not specified, new runs will keep getting scheduled until this Schedule is paused or deleted. Already scheduled runs will be allowed to complete. Unset if not specified.
    name str
    The resource name of the Schedule
    next_run_time str
    Timestamp when this Schedule should schedule the next run. Having a nextRunTime in the past means the runs are being started behind schedule.
    project str
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    start_time str
    The timestamp after which the first run can be scheduled. Defaults to the schedule creation time. Must be in the RFC 3339 (https://www.ietf.org/rfc/rfc3339.txt) format.
    started_run_count str
    The number of runs started by this schedule.
    state str
    Output only. The state of the schedule.
    update_time str
    Timestamp when this Schedule was updated.
    allowQueueing Boolean
    Whether new scheduled runs can be queued when maxConcurrentRuns limit is reached. If set to true, new runs will be queued instead of skipped. Default to false.
    catchUp Boolean
    Whether to backfill missed runs when the schedule is resumed from PAUSED state. If set to true, all missed runs will be scheduled. New runs will be scheduled after the backfill is complete. Default to false.
    createNotebookExecutionJobRequest Property Map
    Request for google_colab_notebook_execution. Structure is documented below.
    createPipelineJobRequest Property Map
    Request message for PipelineService.CreatePipelineJob. Structure is documented below.
    createTime String
    Timestamp when this Schedule was created.
    cron String
    Cron schedule (https://en.wikipedia.org/wiki/Cron) to launch scheduled runs.
    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.
    desiredState String
    Desired state of the Colab Schedule. Set this field to ACTIVE to start/resume the schedule, and PAUSED to pause the schedule.
    displayName String
    Required. The display name of the Schedule.
    endTime String
    Timestamp after which no new runs can be scheduled. If specified, the schedule will be completed when either endTime is reached or when scheduledRunCount >= max_run_count. Must be in the RFC 3339 (https://www.ietf.org/rfc/rfc3339.txt) format.
    lastPauseTime String
    Timestamp when this Schedule was last paused. Unset if never paused.
    lastResumeTime String
    Timestamp when this Schedule was last resumed. Unset if never resumed from pause.
    lastScheduledRunResponses List<Property Map>
    Status of a scheduled run. Structure is documented below.
    location String
    The location for the resource: https://cloud.google.com/colab/docs/locations
    maxConcurrentActiveRunCount String
    Specifies the maximum number of active runs that can be executed concurrently for this Schedule. This limits the number of runs that can be in a non-terminal state at the same time. Currently, this field is only supported for requests of type CreatePipelineJobRequest.
    maxConcurrentRunCount String
    Maximum number of runs that can be started concurrently for this Schedule. This is the limit for starting the scheduled requests and not the execution of the notebook execution jobs created by the requests.
    maxRunCount String
    Maximum run count of the schedule. If specified, The schedule will be completed when either startedRunCount >= maxRunCount or when endTime is reached. If not specified, new runs will keep getting scheduled until this Schedule is paused or deleted. Already scheduled runs will be allowed to complete. Unset if not specified.
    name String
    The resource name of the Schedule
    nextRunTime String
    Timestamp when this Schedule should schedule the next run. Having a nextRunTime in the past means the runs are being started behind schedule.
    project String
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    startTime String
    The timestamp after which the first run can be scheduled. Defaults to the schedule creation time. Must be in the RFC 3339 (https://www.ietf.org/rfc/rfc3339.txt) format.
    startedRunCount String
    The number of runs started by this schedule.
    state String
    Output only. The state of the schedule.
    updateTime String
    Timestamp when this Schedule was updated.

    Supporting Types

    ScheduleCreateNotebookExecutionJobRequest, ScheduleCreateNotebookExecutionJobRequestArgs

    NotebookExecutionJob ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJob
    The NotebookExecutionJob to create. Structure is documented below.
    NotebookExecutionJobId string
    (Output) User specified ID for the NotebookExecutionJob.
    Parent string
    The resource name of the Location to create the NotebookExecutionJob. Format: projects/{project}/locations/{location}
    NotebookExecutionJob ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJob
    The NotebookExecutionJob to create. Structure is documented below.
    NotebookExecutionJobId string
    (Output) User specified ID for the NotebookExecutionJob.
    Parent string
    The resource name of the Location to create the NotebookExecutionJob. Format: projects/{project}/locations/{location}
    notebook_execution_job object
    The NotebookExecutionJob to create. Structure is documented below.
    notebook_execution_job_id string
    (Output) User specified ID for the NotebookExecutionJob.
    parent string
    The resource name of the Location to create the NotebookExecutionJob. Format: projects/{project}/locations/{location}
    notebookExecutionJob ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJob
    The NotebookExecutionJob to create. Structure is documented below.
    notebookExecutionJobId String
    (Output) User specified ID for the NotebookExecutionJob.
    parent String
    The resource name of the Location to create the NotebookExecutionJob. Format: projects/{project}/locations/{location}
    notebookExecutionJob ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJob
    The NotebookExecutionJob to create. Structure is documented below.
    notebookExecutionJobId string
    (Output) User specified ID for the NotebookExecutionJob.
    parent string
    The resource name of the Location to create the NotebookExecutionJob. Format: projects/{project}/locations/{location}
    notebook_execution_job ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJob
    The NotebookExecutionJob to create. Structure is documented below.
    notebook_execution_job_id str
    (Output) User specified ID for the NotebookExecutionJob.
    parent str
    The resource name of the Location to create the NotebookExecutionJob. Format: projects/{project}/locations/{location}
    notebookExecutionJob Property Map
    The NotebookExecutionJob to create. Structure is documented below.
    notebookExecutionJobId String
    (Output) User specified ID for the NotebookExecutionJob.
    parent String
    The resource name of the Location to create the NotebookExecutionJob. Format: projects/{project}/locations/{location}

    ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJob, ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobArgs

    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
    CreateTime string
    (Output) Timestamp when this NotebookExecutionJob was created.
    CustomEnvironmentSpec ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobCustomEnvironmentSpec
    Compute configuration to use for an execution job. Structure is documented below.
    DataformRepositorySource ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobDataformRepositorySource
    The Dataform Repository containing the input notebook. Structure is documented below.
    EncryptionSpec ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobEncryptionSpec
    Represents a customer-managed encryption key specification that can be applied to a Vertex AI resource. Structure is documented below.
    ExecutionTimeout string
    Max running time of the execution job in seconds (default 86400s / 24 hrs). A duration in seconds with up to nine fractional digits, ending with "s". Example: "3.5s".
    ExecutionUser string
    The user email to run the execution as.
    GcsNotebookSource ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobGcsNotebookSource
    The Cloud Storage uri for the input notebook. Structure is documented below.
    JobState string
    (Output) Possible values: JOB_STATE_QUEUED JOB_STATE_PENDING JOB_STATE_RUNNING JOB_STATE_SUCCEEDED JOB_STATE_FAILED JOB_STATE_CANCELLING JOB_STATE_CANCELLED JOB_STATE_PAUSED JOB_STATE_EXPIRED JOB_STATE_UPDATING JOB_STATE_PARTIALLY_SUCCEEDED
    KernelName string
    The name of the kernel to use during notebook execution. If unset, the default kernel is used.
    Labels Dictionary<string, string>
    The labels with user-defined metadata to organize NotebookExecutionJobs.
    Name string
    (Output) The resource name of this NotebookExecutionJob. Format: projects/{project_id}/locations/{location}/notebookExecutionJobs/{job_id}
    NotebookRuntimeTemplateResourceName string
    The NotebookRuntimeTemplate to source compute configuration from.
    ScheduleResourceName string
    (Output) The Schedule resource name if this job is triggered by one. Format: projects/{project_id}/locations/{location}/schedules/{schedule_id}
    ServiceAccount string
    The service account to run the execution as.
    UpdateTime string
    (Output) Timestamp when this NotebookExecutionJob was most recently updated.
    WorkbenchRuntime ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobWorkbenchRuntime
    Configuration for a Workbench Instances-based environment.
    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
    CreateTime string
    (Output) Timestamp when this NotebookExecutionJob was created.
    CustomEnvironmentSpec ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobCustomEnvironmentSpec
    Compute configuration to use for an execution job. Structure is documented below.
    DataformRepositorySource ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobDataformRepositorySource
    The Dataform Repository containing the input notebook. Structure is documented below.
    EncryptionSpec ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobEncryptionSpec
    Represents a customer-managed encryption key specification that can be applied to a Vertex AI resource. Structure is documented below.
    ExecutionTimeout string
    Max running time of the execution job in seconds (default 86400s / 24 hrs). A duration in seconds with up to nine fractional digits, ending with "s". Example: "3.5s".
    ExecutionUser string
    The user email to run the execution as.
    GcsNotebookSource ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobGcsNotebookSource
    The Cloud Storage uri for the input notebook. Structure is documented below.
    JobState string
    (Output) Possible values: JOB_STATE_QUEUED JOB_STATE_PENDING JOB_STATE_RUNNING JOB_STATE_SUCCEEDED JOB_STATE_FAILED JOB_STATE_CANCELLING JOB_STATE_CANCELLED JOB_STATE_PAUSED JOB_STATE_EXPIRED JOB_STATE_UPDATING JOB_STATE_PARTIALLY_SUCCEEDED
    KernelName string
    The name of the kernel to use during notebook execution. If unset, the default kernel is used.
    Labels map[string]string
    The labels with user-defined metadata to organize NotebookExecutionJobs.
    Name string
    (Output) The resource name of this NotebookExecutionJob. Format: projects/{project_id}/locations/{location}/notebookExecutionJobs/{job_id}
    NotebookRuntimeTemplateResourceName string
    The NotebookRuntimeTemplate to source compute configuration from.
    ScheduleResourceName string
    (Output) The Schedule resource name if this job is triggered by one. Format: projects/{project_id}/locations/{location}/schedules/{schedule_id}
    ServiceAccount string
    The service account to run the execution as.
    UpdateTime string
    (Output) Timestamp when this NotebookExecutionJob was most recently updated.
    WorkbenchRuntime ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobWorkbenchRuntime
    Configuration for a Workbench Instances-based environment.
    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
    create_time string
    (Output) Timestamp when this NotebookExecutionJob was created.
    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.
    encryption_spec object
    Represents a customer-managed encryption key specification that can be applied to a Vertex AI resource. Structure is documented below.
    execution_timeout string
    Max running time of the execution job in seconds (default 86400s / 24 hrs). A duration in seconds with up to nine fractional digits, ending with "s". Example: "3.5s".
    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.
    job_state string
    (Output) Possible values: JOB_STATE_QUEUED JOB_STATE_PENDING JOB_STATE_RUNNING JOB_STATE_SUCCEEDED JOB_STATE_FAILED JOB_STATE_CANCELLING JOB_STATE_CANCELLED JOB_STATE_PAUSED JOB_STATE_EXPIRED JOB_STATE_UPDATING JOB_STATE_PARTIALLY_SUCCEEDED
    kernel_name string
    The name of the kernel to use during notebook execution. If unset, the default kernel is used.
    labels map(string)
    The labels with user-defined metadata to organize NotebookExecutionJobs.
    name string
    (Output) The resource name of this NotebookExecutionJob. Format: projects/{project_id}/locations/{location}/notebookExecutionJobs/{job_id}
    notebook_runtime_template_resource_name string
    The NotebookRuntimeTemplate to source compute configuration from.
    schedule_resource_name string
    (Output) The Schedule resource name if this job is triggered by one. Format: projects/{project_id}/locations/{location}/schedules/{schedule_id}
    service_account string
    The service account to run the execution as.
    update_time string
    (Output) Timestamp when this NotebookExecutionJob was most recently updated.
    workbench_runtime object
    Configuration for a Workbench Instances-based environment.
    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
    createTime String
    (Output) Timestamp when this NotebookExecutionJob was created.
    customEnvironmentSpec ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobCustomEnvironmentSpec
    Compute configuration to use for an execution job. Structure is documented below.
    dataformRepositorySource ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobDataformRepositorySource
    The Dataform Repository containing the input notebook. Structure is documented below.
    encryptionSpec ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobEncryptionSpec
    Represents a customer-managed encryption key specification that can be applied to a Vertex AI resource. Structure is documented below.
    executionTimeout String
    Max running time of the execution job in seconds (default 86400s / 24 hrs). A duration in seconds with up to nine fractional digits, ending with "s". Example: "3.5s".
    executionUser String
    The user email to run the execution as.
    gcsNotebookSource ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobGcsNotebookSource
    The Cloud Storage uri for the input notebook. Structure is documented below.
    jobState String
    (Output) Possible values: JOB_STATE_QUEUED JOB_STATE_PENDING JOB_STATE_RUNNING JOB_STATE_SUCCEEDED JOB_STATE_FAILED JOB_STATE_CANCELLING JOB_STATE_CANCELLED JOB_STATE_PAUSED JOB_STATE_EXPIRED JOB_STATE_UPDATING JOB_STATE_PARTIALLY_SUCCEEDED
    kernelName String
    The name of the kernel to use during notebook execution. If unset, the default kernel is used.
    labels Map<String,String>
    The labels with user-defined metadata to organize NotebookExecutionJobs.
    name String
    (Output) The resource name of this NotebookExecutionJob. Format: projects/{project_id}/locations/{location}/notebookExecutionJobs/{job_id}
    notebookRuntimeTemplateResourceName String
    The NotebookRuntimeTemplate to source compute configuration from.
    scheduleResourceName String
    (Output) The Schedule resource name if this job is triggered by one. Format: projects/{project_id}/locations/{location}/schedules/{schedule_id}
    serviceAccount String
    The service account to run the execution as.
    updateTime String
    (Output) Timestamp when this NotebookExecutionJob was most recently updated.
    workbenchRuntime ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobWorkbenchRuntime
    Configuration for a Workbench Instances-based environment.
    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
    createTime string
    (Output) Timestamp when this NotebookExecutionJob was created.
    customEnvironmentSpec ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobCustomEnvironmentSpec
    Compute configuration to use for an execution job. Structure is documented below.
    dataformRepositorySource ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobDataformRepositorySource
    The Dataform Repository containing the input notebook. Structure is documented below.
    encryptionSpec ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobEncryptionSpec
    Represents a customer-managed encryption key specification that can be applied to a Vertex AI resource. Structure is documented below.
    executionTimeout string
    Max running time of the execution job in seconds (default 86400s / 24 hrs). A duration in seconds with up to nine fractional digits, ending with "s". Example: "3.5s".
    executionUser string
    The user email to run the execution as.
    gcsNotebookSource ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobGcsNotebookSource
    The Cloud Storage uri for the input notebook. Structure is documented below.
    jobState string
    (Output) Possible values: JOB_STATE_QUEUED JOB_STATE_PENDING JOB_STATE_RUNNING JOB_STATE_SUCCEEDED JOB_STATE_FAILED JOB_STATE_CANCELLING JOB_STATE_CANCELLED JOB_STATE_PAUSED JOB_STATE_EXPIRED JOB_STATE_UPDATING JOB_STATE_PARTIALLY_SUCCEEDED
    kernelName string
    The name of the kernel to use during notebook execution. If unset, the default kernel is used.
    labels {[key: string]: string}
    The labels with user-defined metadata to organize NotebookExecutionJobs.
    name string
    (Output) The resource name of this NotebookExecutionJob. Format: projects/{project_id}/locations/{location}/notebookExecutionJobs/{job_id}
    notebookRuntimeTemplateResourceName string
    The NotebookRuntimeTemplate to source compute configuration from.
    scheduleResourceName string
    (Output) The Schedule resource name if this job is triggered by one. Format: projects/{project_id}/locations/{location}/schedules/{schedule_id}
    serviceAccount string
    The service account to run the execution as.
    updateTime string
    (Output) Timestamp when this NotebookExecutionJob was most recently updated.
    workbenchRuntime ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobWorkbenchRuntime
    Configuration for a Workbench Instances-based environment.
    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
    create_time str
    (Output) Timestamp when this NotebookExecutionJob was created.
    custom_environment_spec ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobCustomEnvironmentSpec
    Compute configuration to use for an execution job. Structure is documented below.
    dataform_repository_source ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobDataformRepositorySource
    The Dataform Repository containing the input notebook. Structure is documented below.
    encryption_spec ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobEncryptionSpec
    Represents a customer-managed encryption key specification that can be applied to a Vertex AI resource. Structure is documented below.
    execution_timeout str
    Max running time of the execution job in seconds (default 86400s / 24 hrs). A duration in seconds with up to nine fractional digits, ending with "s". Example: "3.5s".
    execution_user str
    The user email to run the execution as.
    gcs_notebook_source ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobGcsNotebookSource
    The Cloud Storage uri for the input notebook. Structure is documented below.
    job_state str
    (Output) Possible values: JOB_STATE_QUEUED JOB_STATE_PENDING JOB_STATE_RUNNING JOB_STATE_SUCCEEDED JOB_STATE_FAILED JOB_STATE_CANCELLING JOB_STATE_CANCELLED JOB_STATE_PAUSED JOB_STATE_EXPIRED JOB_STATE_UPDATING JOB_STATE_PARTIALLY_SUCCEEDED
    kernel_name str
    The name of the kernel to use during notebook execution. If unset, the default kernel is used.
    labels Mapping[str, str]
    The labels with user-defined metadata to organize NotebookExecutionJobs.
    name str
    (Output) The resource name of this NotebookExecutionJob. Format: projects/{project_id}/locations/{location}/notebookExecutionJobs/{job_id}
    notebook_runtime_template_resource_name str
    The NotebookRuntimeTemplate to source compute configuration from.
    schedule_resource_name str
    (Output) The Schedule resource name if this job is triggered by one. Format: projects/{project_id}/locations/{location}/schedules/{schedule_id}
    service_account str
    The service account to run the execution as.
    update_time str
    (Output) Timestamp when this NotebookExecutionJob was most recently updated.
    workbench_runtime ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobWorkbenchRuntime
    Configuration for a Workbench Instances-based environment.
    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
    createTime String
    (Output) Timestamp when this NotebookExecutionJob was created.
    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.
    encryptionSpec Property Map
    Represents a customer-managed encryption key specification that can be applied to a Vertex AI resource. Structure is documented below.
    executionTimeout String
    Max running time of the execution job in seconds (default 86400s / 24 hrs). A duration in seconds with up to nine fractional digits, ending with "s". Example: "3.5s".
    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.
    jobState String
    (Output) Possible values: JOB_STATE_QUEUED JOB_STATE_PENDING JOB_STATE_RUNNING JOB_STATE_SUCCEEDED JOB_STATE_FAILED JOB_STATE_CANCELLING JOB_STATE_CANCELLED JOB_STATE_PAUSED JOB_STATE_EXPIRED JOB_STATE_UPDATING JOB_STATE_PARTIALLY_SUCCEEDED
    kernelName String
    The name of the kernel to use during notebook execution. If unset, the default kernel is used.
    labels Map<String>
    The labels with user-defined metadata to organize NotebookExecutionJobs.
    name String
    (Output) The resource name of this NotebookExecutionJob. Format: projects/{project_id}/locations/{location}/notebookExecutionJobs/{job_id}
    notebookRuntimeTemplateResourceName String
    The NotebookRuntimeTemplate to source compute configuration from.
    scheduleResourceName String
    (Output) The Schedule resource name if this job is triggered by one. Format: projects/{project_id}/locations/{location}/schedules/{schedule_id}
    serviceAccount String
    The service account to run the execution as.
    updateTime String
    (Output) Timestamp when this NotebookExecutionJob was most recently updated.
    workbenchRuntime Property Map
    Configuration for a Workbench Instances-based environment.

    ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobCustomEnvironmentSpec, ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobCustomEnvironmentSpecArgs

    machine_spec object
    Specification of a single machine. Structure is documented below.
    network_spec object
    Network spec. Structure is documented below.
    persistent_disk_spec object
    Represents the spec of persistent disk options. Structure is documented below.
    machineSpec Property Map
    Specification of a single machine. Structure is documented below.
    networkSpec Property Map
    Network spec. Structure is documented below.
    persistentDiskSpec Property Map
    Represents the spec of persistent disk options. Structure is documented below.

    ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobCustomEnvironmentSpecMachineSpec, ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobCustomEnvironmentSpecMachineSpecArgs

    AcceleratorCount int
    The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the acceleratorCount from 1 to N for machine with N GPUs. If acceleratorCount is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set acceleratorCount to 1 to 8. If acceleratorCount is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihostGpuNodeCount is set, the co-scheduling will not be enabled.
    AcceleratorType string
    Possible values: NVIDIA_TESLA_K80 NVIDIA_TESLA_P100 NVIDIA_TESLA_V100 NVIDIA_TESLA_P4 NVIDIA_TESLA_T4 NVIDIA_TESLA_A100 NVIDIA_A100_80GB NVIDIA_L4 NVIDIA_H100_80GB NVIDIA_H100_MEGA_80GB NVIDIA_H200_141GB NVIDIA_B200 NVIDIA_GB200 NVIDIA_RTX_PRO_6000 TPU_V2 TPU_V3 TPU_V4_POD TPU_V5_LITEPOD
    GpuPartitionSize string
    The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to Nvidia GPU Partitioning for the available partition sizes. If set, the acceleratorCount should be set to 1.
    MachineType string
    The type of the machine. See the list of machine types supported for prediction See the list of machine types supported for custom training. For DeployedModel this field is optional, and the default value is n1-standard-2. For BatchPredictionJob or as part of WorkerPoolSpec this field is required.
    ReservationAffinity ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobCustomEnvironmentSpecMachineSpecReservationAffinity
    A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. Structure is documented below.
    TpuTopology string
    The topology of the TPUs. Corresponds to the TPU topologies available from GKE. (Example: tpu_topology: "2x2x1").
    AcceleratorCount int
    The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the acceleratorCount from 1 to N for machine with N GPUs. If acceleratorCount is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set acceleratorCount to 1 to 8. If acceleratorCount is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihostGpuNodeCount is set, the co-scheduling will not be enabled.
    AcceleratorType string
    Possible values: NVIDIA_TESLA_K80 NVIDIA_TESLA_P100 NVIDIA_TESLA_V100 NVIDIA_TESLA_P4 NVIDIA_TESLA_T4 NVIDIA_TESLA_A100 NVIDIA_A100_80GB NVIDIA_L4 NVIDIA_H100_80GB NVIDIA_H100_MEGA_80GB NVIDIA_H200_141GB NVIDIA_B200 NVIDIA_GB200 NVIDIA_RTX_PRO_6000 TPU_V2 TPU_V3 TPU_V4_POD TPU_V5_LITEPOD
    GpuPartitionSize string
    The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to Nvidia GPU Partitioning for the available partition sizes. If set, the acceleratorCount should be set to 1.
    MachineType string
    The type of the machine. See the list of machine types supported for prediction See the list of machine types supported for custom training. For DeployedModel this field is optional, and the default value is n1-standard-2. For BatchPredictionJob or as part of WorkerPoolSpec this field is required.
    ReservationAffinity ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobCustomEnvironmentSpecMachineSpecReservationAffinity
    A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. Structure is documented below.
    TpuTopology string
    The topology of the TPUs. Corresponds to the TPU topologies available from GKE. (Example: tpu_topology: "2x2x1").
    accelerator_count number
    The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the acceleratorCount from 1 to N for machine with N GPUs. If acceleratorCount is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set acceleratorCount to 1 to 8. If acceleratorCount is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihostGpuNodeCount is set, the co-scheduling will not be enabled.
    accelerator_type string
    Possible values: NVIDIA_TESLA_K80 NVIDIA_TESLA_P100 NVIDIA_TESLA_V100 NVIDIA_TESLA_P4 NVIDIA_TESLA_T4 NVIDIA_TESLA_A100 NVIDIA_A100_80GB NVIDIA_L4 NVIDIA_H100_80GB NVIDIA_H100_MEGA_80GB NVIDIA_H200_141GB NVIDIA_B200 NVIDIA_GB200 NVIDIA_RTX_PRO_6000 TPU_V2 TPU_V3 TPU_V4_POD TPU_V5_LITEPOD
    gpu_partition_size string
    The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to Nvidia GPU Partitioning for the available partition sizes. If set, the acceleratorCount should be set to 1.
    machine_type string
    The type of the machine. See the list of machine types supported for prediction See the list of machine types supported for custom training. For DeployedModel this field is optional, and the default value is n1-standard-2. For BatchPredictionJob or as part of WorkerPoolSpec this field is required.
    reservation_affinity object
    A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. Structure is documented below.
    tpu_topology string
    The topology of the TPUs. Corresponds to the TPU topologies available from GKE. (Example: tpu_topology: "2x2x1").
    acceleratorCount Integer
    The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the acceleratorCount from 1 to N for machine with N GPUs. If acceleratorCount is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set acceleratorCount to 1 to 8. If acceleratorCount is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihostGpuNodeCount is set, the co-scheduling will not be enabled.
    acceleratorType String
    Possible values: NVIDIA_TESLA_K80 NVIDIA_TESLA_P100 NVIDIA_TESLA_V100 NVIDIA_TESLA_P4 NVIDIA_TESLA_T4 NVIDIA_TESLA_A100 NVIDIA_A100_80GB NVIDIA_L4 NVIDIA_H100_80GB NVIDIA_H100_MEGA_80GB NVIDIA_H200_141GB NVIDIA_B200 NVIDIA_GB200 NVIDIA_RTX_PRO_6000 TPU_V2 TPU_V3 TPU_V4_POD TPU_V5_LITEPOD
    gpuPartitionSize String
    The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to Nvidia GPU Partitioning for the available partition sizes. If set, the acceleratorCount should be set to 1.
    machineType String
    The type of the machine. See the list of machine types supported for prediction See the list of machine types supported for custom training. For DeployedModel this field is optional, and the default value is n1-standard-2. For BatchPredictionJob or as part of WorkerPoolSpec this field is required.
    reservationAffinity ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobCustomEnvironmentSpecMachineSpecReservationAffinity
    A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. Structure is documented below.
    tpuTopology String
    The topology of the TPUs. Corresponds to the TPU topologies available from GKE. (Example: tpu_topology: "2x2x1").
    acceleratorCount number
    The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the acceleratorCount from 1 to N for machine with N GPUs. If acceleratorCount is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set acceleratorCount to 1 to 8. If acceleratorCount is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihostGpuNodeCount is set, the co-scheduling will not be enabled.
    acceleratorType string
    Possible values: NVIDIA_TESLA_K80 NVIDIA_TESLA_P100 NVIDIA_TESLA_V100 NVIDIA_TESLA_P4 NVIDIA_TESLA_T4 NVIDIA_TESLA_A100 NVIDIA_A100_80GB NVIDIA_L4 NVIDIA_H100_80GB NVIDIA_H100_MEGA_80GB NVIDIA_H200_141GB NVIDIA_B200 NVIDIA_GB200 NVIDIA_RTX_PRO_6000 TPU_V2 TPU_V3 TPU_V4_POD TPU_V5_LITEPOD
    gpuPartitionSize string
    The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to Nvidia GPU Partitioning for the available partition sizes. If set, the acceleratorCount should be set to 1.
    machineType string
    The type of the machine. See the list of machine types supported for prediction See the list of machine types supported for custom training. For DeployedModel this field is optional, and the default value is n1-standard-2. For BatchPredictionJob or as part of WorkerPoolSpec this field is required.
    reservationAffinity ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobCustomEnvironmentSpecMachineSpecReservationAffinity
    A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. Structure is documented below.
    tpuTopology string
    The topology of the TPUs. Corresponds to the TPU topologies available from GKE. (Example: tpu_topology: "2x2x1").
    accelerator_count int
    The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the acceleratorCount from 1 to N for machine with N GPUs. If acceleratorCount is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set acceleratorCount to 1 to 8. If acceleratorCount is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihostGpuNodeCount is set, the co-scheduling will not be enabled.
    accelerator_type str
    Possible values: NVIDIA_TESLA_K80 NVIDIA_TESLA_P100 NVIDIA_TESLA_V100 NVIDIA_TESLA_P4 NVIDIA_TESLA_T4 NVIDIA_TESLA_A100 NVIDIA_A100_80GB NVIDIA_L4 NVIDIA_H100_80GB NVIDIA_H100_MEGA_80GB NVIDIA_H200_141GB NVIDIA_B200 NVIDIA_GB200 NVIDIA_RTX_PRO_6000 TPU_V2 TPU_V3 TPU_V4_POD TPU_V5_LITEPOD
    gpu_partition_size str
    The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to Nvidia GPU Partitioning for the available partition sizes. If set, the acceleratorCount should be set to 1.
    machine_type str
    The type of the machine. See the list of machine types supported for prediction See the list of machine types supported for custom training. For DeployedModel this field is optional, and the default value is n1-standard-2. For BatchPredictionJob or as part of WorkerPoolSpec this field is required.
    reservation_affinity ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobCustomEnvironmentSpecMachineSpecReservationAffinity
    A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. Structure is documented below.
    tpu_topology str
    The topology of the TPUs. Corresponds to the TPU topologies available from GKE. (Example: tpu_topology: "2x2x1").
    acceleratorCount Number
    The number of accelerators to attach to the machine. For accelerator optimized machine types (https://cloud.google.com/compute/docs/accelerator-optimized-machines), One may set the acceleratorCount from 1 to N for machine with N GPUs. If acceleratorCount is less than or equal to N / 2, Vertex will co-schedule the replicas of the model into the same VM to save cost. For example, if the machine type is a3-highgpu-8g, which has 8 H100 GPUs, one can set acceleratorCount to 1 to 8. If acceleratorCount is 1, 2, 3, or 4, Vertex will co-schedule 8, 4, 2, or 2 replicas of the model into the same VM to save cost. When co-scheduling, CPU, memory and storage on the VM will be distributed to replicas on the VM. For example, one can expect a co-scheduled replica requesting 2 GPUs out of a 8-GPU VM will receive 25% of the CPU, memory and storage of the VM. Note that the feature is not compatible with multihost_gpu_node_count. When multihostGpuNodeCount is set, the co-scheduling will not be enabled.
    acceleratorType String
    Possible values: NVIDIA_TESLA_K80 NVIDIA_TESLA_P100 NVIDIA_TESLA_V100 NVIDIA_TESLA_P4 NVIDIA_TESLA_T4 NVIDIA_TESLA_A100 NVIDIA_A100_80GB NVIDIA_L4 NVIDIA_H100_80GB NVIDIA_H100_MEGA_80GB NVIDIA_H200_141GB NVIDIA_B200 NVIDIA_GB200 NVIDIA_RTX_PRO_6000 TPU_V2 TPU_V3 TPU_V4_POD TPU_V5_LITEPOD
    gpuPartitionSize String
    The Nvidia GPU partition size. When specified, the requested accelerators will be partitioned into smaller GPU partitions. For example, if the request is for 8 units of NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will create 8 * 7 = 56 partitioned MIG instances. The partition size must be a value supported by the requested accelerator. Refer to Nvidia GPU Partitioning for the available partition sizes. If set, the acceleratorCount should be set to 1.
    machineType String
    The type of the machine. See the list of machine types supported for prediction See the list of machine types supported for custom training. For DeployedModel this field is optional, and the default value is n1-standard-2. For BatchPredictionJob or as part of WorkerPoolSpec this field is required.
    reservationAffinity Property Map
    A ReservationAffinity can be used to configure a Vertex AI resource (e.g., a DeployedModel) to draw its Compute Engine resources from a Shared Reservation, or exclusively from on-demand capacity. Structure is documented below.
    tpuTopology String
    The topology of the TPUs. Corresponds to the TPU topologies available from GKE. (Example: tpu_topology: "2x2x1").

    ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobCustomEnvironmentSpecMachineSpecReservationAffinity, ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobCustomEnvironmentSpecMachineSpecReservationAffinityArgs

    ReservationAffinityType string
    Specifies the reservation affinity type. Possible values: NO_RESERVATION ANY_RESERVATION SPECIFIC_RESERVATION SPECIFIC_THEN_ANY_RESERVATION SPECIFIC_THEN_NO_RESERVATION
    Key string
    Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, use compute.googleapis.com/reservation-name as the key and specify the name of your reservation as its value.
    UseReservationPool bool
    When set to true, resources will be drawn from go/cloud-ai-gcp-pool.
    Values List<string>
    Corresponds to the label values of a reservation resource. This must be the full resource name of the reservation or reservation block.
    ReservationAffinityType string
    Specifies the reservation affinity type. Possible values: NO_RESERVATION ANY_RESERVATION SPECIFIC_RESERVATION SPECIFIC_THEN_ANY_RESERVATION SPECIFIC_THEN_NO_RESERVATION
    Key string
    Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, use compute.googleapis.com/reservation-name as the key and specify the name of your reservation as its value.
    UseReservationPool bool
    When set to true, resources will be drawn from go/cloud-ai-gcp-pool.
    Values []string
    Corresponds to the label values of a reservation resource. This must be the full resource name of the reservation or reservation block.
    reservation_affinity_type string
    Specifies the reservation affinity type. Possible values: NO_RESERVATION ANY_RESERVATION SPECIFIC_RESERVATION SPECIFIC_THEN_ANY_RESERVATION SPECIFIC_THEN_NO_RESERVATION
    key string
    Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, use compute.googleapis.com/reservation-name as the key and specify the name of your reservation as its value.
    use_reservation_pool bool
    When set to true, resources will be drawn from go/cloud-ai-gcp-pool.
    values list(string)
    Corresponds to the label values of a reservation resource. This must be the full resource name of the reservation or reservation block.
    reservationAffinityType String
    Specifies the reservation affinity type. Possible values: NO_RESERVATION ANY_RESERVATION SPECIFIC_RESERVATION SPECIFIC_THEN_ANY_RESERVATION SPECIFIC_THEN_NO_RESERVATION
    key String
    Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, use compute.googleapis.com/reservation-name as the key and specify the name of your reservation as its value.
    useReservationPool Boolean
    When set to true, resources will be drawn from go/cloud-ai-gcp-pool.
    values List<String>
    Corresponds to the label values of a reservation resource. This must be the full resource name of the reservation or reservation block.
    reservationAffinityType string
    Specifies the reservation affinity type. Possible values: NO_RESERVATION ANY_RESERVATION SPECIFIC_RESERVATION SPECIFIC_THEN_ANY_RESERVATION SPECIFIC_THEN_NO_RESERVATION
    key string
    Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, use compute.googleapis.com/reservation-name as the key and specify the name of your reservation as its value.
    useReservationPool boolean
    When set to true, resources will be drawn from go/cloud-ai-gcp-pool.
    values string[]
    Corresponds to the label values of a reservation resource. This must be the full resource name of the reservation or reservation block.
    reservation_affinity_type str
    Specifies the reservation affinity type. Possible values: NO_RESERVATION ANY_RESERVATION SPECIFIC_RESERVATION SPECIFIC_THEN_ANY_RESERVATION SPECIFIC_THEN_NO_RESERVATION
    key str
    Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, use compute.googleapis.com/reservation-name as the key and specify the name of your reservation as its value.
    use_reservation_pool bool
    When set to true, resources will be drawn from go/cloud-ai-gcp-pool.
    values Sequence[str]
    Corresponds to the label values of a reservation resource. This must be the full resource name of the reservation or reservation block.
    reservationAffinityType String
    Specifies the reservation affinity type. Possible values: NO_RESERVATION ANY_RESERVATION SPECIFIC_RESERVATION SPECIFIC_THEN_ANY_RESERVATION SPECIFIC_THEN_NO_RESERVATION
    key String
    Corresponds to the label key of a reservation resource. To target a SPECIFIC_RESERVATION by name, use compute.googleapis.com/reservation-name as the key and specify the name of your reservation as its value.
    useReservationPool Boolean
    When set to true, resources will be drawn from go/cloud-ai-gcp-pool.
    values List<String>
    Corresponds to the label values of a reservation resource. This must be the full resource name of the reservation or reservation block.

    ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobCustomEnvironmentSpecNetworkSpec, ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobCustomEnvironmentSpecNetworkSpecArgs

    EnableInternetAccess bool
    Whether to enable public internet access. Default false.
    Network string
    The full name of the Google Compute Engine network
    Subnetwork string
    The name of the subnet that this instance is in. Format: projects/{project_id_or_number}/regions/{region}/subnetworks/{subnetwork_id}
    EnableInternetAccess bool
    Whether to enable public internet access. Default false.
    Network string
    The full name of the Google Compute Engine network
    Subnetwork string
    The name of the subnet that this instance is in. Format: projects/{project_id_or_number}/regions/{region}/subnetworks/{subnetwork_id}
    enable_internet_access bool
    Whether to enable public internet access. Default false.
    network string
    The full name of the Google Compute Engine network
    subnetwork string
    The name of the subnet that this instance is in. Format: projects/{project_id_or_number}/regions/{region}/subnetworks/{subnetwork_id}
    enableInternetAccess Boolean
    Whether to enable public internet access. Default false.
    network String
    The full name of the Google Compute Engine network
    subnetwork String
    The name of the subnet that this instance is in. Format: projects/{project_id_or_number}/regions/{region}/subnetworks/{subnetwork_id}
    enableInternetAccess boolean
    Whether to enable public internet access. Default false.
    network string
    The full name of the Google Compute Engine network
    subnetwork string
    The name of the subnet that this instance is in. Format: projects/{project_id_or_number}/regions/{region}/subnetworks/{subnetwork_id}
    enable_internet_access bool
    Whether to enable public internet access. Default false.
    network str
    The full name of the Google Compute Engine network
    subnetwork str
    The name of the subnet that this instance is in. Format: projects/{project_id_or_number}/regions/{region}/subnetworks/{subnetwork_id}
    enableInternetAccess Boolean
    Whether to enable public internet access. Default false.
    network String
    The full name of the Google Compute Engine network
    subnetwork String
    The name of the subnet that this instance is in. Format: projects/{project_id_or_number}/regions/{region}/subnetworks/{subnetwork_id}

    ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobCustomEnvironmentSpecPersistentDiskSpec, ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobCustomEnvironmentSpecPersistentDiskSpecArgs

    DiskSizeGb string
    Size in GB of the disk (default is 100GB).
    DiskType string
    Type of the disk (default is "pd-standard"). Valid values: "pd-ssd" (Persistent Disk Solid State Drive) "pd-standard" (Persistent Disk Hard Disk Drive) "pd-balanced" (Balanced Persistent Disk) "pd-extreme" (Extreme Persistent Disk)
    DiskSizeGb string
    Size in GB of the disk (default is 100GB).
    DiskType string
    Type of the disk (default is "pd-standard"). Valid values: "pd-ssd" (Persistent Disk Solid State Drive) "pd-standard" (Persistent Disk Hard Disk Drive) "pd-balanced" (Balanced Persistent Disk) "pd-extreme" (Extreme Persistent Disk)
    disk_size_gb string
    Size in GB of the disk (default is 100GB).
    disk_type string
    Type of the disk (default is "pd-standard"). Valid values: "pd-ssd" (Persistent Disk Solid State Drive) "pd-standard" (Persistent Disk Hard Disk Drive) "pd-balanced" (Balanced Persistent Disk) "pd-extreme" (Extreme Persistent Disk)
    diskSizeGb String
    Size in GB of the disk (default is 100GB).
    diskType String
    Type of the disk (default is "pd-standard"). Valid values: "pd-ssd" (Persistent Disk Solid State Drive) "pd-standard" (Persistent Disk Hard Disk Drive) "pd-balanced" (Balanced Persistent Disk) "pd-extreme" (Extreme Persistent Disk)
    diskSizeGb string
    Size in GB of the disk (default is 100GB).
    diskType string
    Type of the disk (default is "pd-standard"). Valid values: "pd-ssd" (Persistent Disk Solid State Drive) "pd-standard" (Persistent Disk Hard Disk Drive) "pd-balanced" (Balanced Persistent Disk) "pd-extreme" (Extreme Persistent Disk)
    disk_size_gb str
    Size in GB of the disk (default is 100GB).
    disk_type str
    Type of the disk (default is "pd-standard"). Valid values: "pd-ssd" (Persistent Disk Solid State Drive) "pd-standard" (Persistent Disk Hard Disk Drive) "pd-balanced" (Balanced Persistent Disk) "pd-extreme" (Extreme Persistent Disk)
    diskSizeGb String
    Size in GB of the disk (default is 100GB).
    diskType String
    Type of the disk (default is "pd-standard"). Valid values: "pd-ssd" (Persistent Disk Solid State Drive) "pd-standard" (Persistent Disk Hard Disk Drive) "pd-balanced" (Balanced Persistent Disk) "pd-extreme" (Extreme Persistent Disk)

    ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobDataformRepositorySource, ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobDataformRepositorySourceArgs

    DataformRepositoryResourceName string
    The resource name of the Dataform Repository. Format: projects/{project_id}/locations/{location}/repositories/{repository_id}
    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. Format: projects/{project_id}/locations/{location}/repositories/{repository_id}
    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. Format: projects/{project_id}/locations/{location}/repositories/{repository_id}
    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. Format: projects/{project_id}/locations/{location}/repositories/{repository_id}
    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. Format: projects/{project_id}/locations/{location}/repositories/{repository_id}
    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. Format: projects/{project_id}/locations/{location}/repositories/{repository_id}
    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. Format: projects/{project_id}/locations/{location}/repositories/{repository_id}
    commitSha String
    The commit SHA to read repository with. If unset, the file will be read at HEAD.

    ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobEncryptionSpec, ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobEncryptionSpecArgs

    KmsKeyName string
    Resource name of the Cloud KMS key used to protect the resource. The Cloud KMS key must be in the same region as the resource. It must have the format projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}.
    KmsKeyName string
    Resource name of the Cloud KMS key used to protect the resource. The Cloud KMS key must be in the same region as the resource. It must have the format projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}.
    kms_key_name string
    Resource name of the Cloud KMS key used to protect the resource. The Cloud KMS key must be in the same region as the resource. It must have the format projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}.
    kmsKeyName String
    Resource name of the Cloud KMS key used to protect the resource. The Cloud KMS key must be in the same region as the resource. It must have the format projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}.
    kmsKeyName string
    Resource name of the Cloud KMS key used to protect the resource. The Cloud KMS key must be in the same region as the resource. It must have the format projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}.
    kms_key_name str
    Resource name of the Cloud KMS key used to protect the resource. The Cloud KMS key must be in the same region as the resource. It must have the format projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}.
    kmsKeyName String
    Resource name of the Cloud KMS key used to protect the resource. The Cloud KMS key must be in the same region as the resource. It must have the format projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}.

    ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobGcsNotebookSource, ScheduleCreateNotebookExecutionJobRequestNotebookExecutionJobGcsNotebookSourceArgs

    Uri string
    The Cloud Storage uri pointing to the ipynb file. Format: gs://bucket/notebook_file.ipynb
    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. Format: gs://bucket/notebook_file.ipynb
    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. Format: gs://bucket/notebook_file.ipynb
    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. Format: gs://bucket/notebook_file.ipynb
    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. Format: gs://bucket/notebook_file.ipynb
    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. Format: gs://bucket/notebook_file.ipynb
    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. Format: gs://bucket/notebook_file.ipynb
    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.

    ScheduleCreatePipelineJobRequest, ScheduleCreatePipelineJobRequestArgs

    PipelineJob ScheduleCreatePipelineJobRequestPipelineJob
    An instance of a machine learning PipelineJob. Structure is documented below.
    Parent string
    The resource name of the Location to create the PipelineJob in. Format: projects/{project}/locations/{location}
    PipelineJobId string
    (Output) The ID to use for the PipelineJob, which will become the final component of the PipelineJob name. If not provided, an ID will be automatically generated. This value should be less than 128 characters, and valid characters are /a-z-/.
    PipelineJob ScheduleCreatePipelineJobRequestPipelineJob
    An instance of a machine learning PipelineJob. Structure is documented below.
    Parent string
    The resource name of the Location to create the PipelineJob in. Format: projects/{project}/locations/{location}
    PipelineJobId string
    (Output) The ID to use for the PipelineJob, which will become the final component of the PipelineJob name. If not provided, an ID will be automatically generated. This value should be less than 128 characters, and valid characters are /a-z-/.
    pipeline_job object
    An instance of a machine learning PipelineJob. Structure is documented below.
    parent string
    The resource name of the Location to create the PipelineJob in. Format: projects/{project}/locations/{location}
    pipeline_job_id string
    (Output) The ID to use for the PipelineJob, which will become the final component of the PipelineJob name. If not provided, an ID will be automatically generated. This value should be less than 128 characters, and valid characters are /a-z-/.
    pipelineJob ScheduleCreatePipelineJobRequestPipelineJob
    An instance of a machine learning PipelineJob. Structure is documented below.
    parent String
    The resource name of the Location to create the PipelineJob in. Format: projects/{project}/locations/{location}
    pipelineJobId String
    (Output) The ID to use for the PipelineJob, which will become the final component of the PipelineJob name. If not provided, an ID will be automatically generated. This value should be less than 128 characters, and valid characters are /a-z-/.
    pipelineJob ScheduleCreatePipelineJobRequestPipelineJob
    An instance of a machine learning PipelineJob. Structure is documented below.
    parent string
    The resource name of the Location to create the PipelineJob in. Format: projects/{project}/locations/{location}
    pipelineJobId string
    (Output) The ID to use for the PipelineJob, which will become the final component of the PipelineJob name. If not provided, an ID will be automatically generated. This value should be less than 128 characters, and valid characters are /a-z-/.
    pipeline_job ScheduleCreatePipelineJobRequestPipelineJob
    An instance of a machine learning PipelineJob. Structure is documented below.
    parent str
    The resource name of the Location to create the PipelineJob in. Format: projects/{project}/locations/{location}
    pipeline_job_id str
    (Output) The ID to use for the PipelineJob, which will become the final component of the PipelineJob name. If not provided, an ID will be automatically generated. This value should be less than 128 characters, and valid characters are /a-z-/.
    pipelineJob Property Map
    An instance of a machine learning PipelineJob. Structure is documented below.
    parent String
    The resource name of the Location to create the PipelineJob in. Format: projects/{project}/locations/{location}
    pipelineJobId String
    (Output) The ID to use for the PipelineJob, which will become the final component of the PipelineJob name. If not provided, an ID will be automatically generated. This value should be less than 128 characters, and valid characters are /a-z-/.

    ScheduleCreatePipelineJobRequestPipelineJob, ScheduleCreatePipelineJobRequestPipelineJobArgs

    CreateTime string
    (Output) Pipeline creation time.
    DisplayName string
    The display name of the Pipeline. The name can be up to 128 characters long and can consist of any UTF-8 characters.
    EncryptionSpec ScheduleCreatePipelineJobRequestPipelineJobEncryptionSpec
    Represents a customer-managed encryption key specification that can be applied to a Vertex AI resource. Structure is documented below.
    EndTime string
    (Output) Pipeline end time.
    Labels Dictionary<string, string>
    The labels with user-defined metadata to organize PipelineJob. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels. Note there is some reserved label key for Vertex AI Pipelines. - vertex-ai-pipelines-run-billing-id, user set value will get overrided.
    Name string
    (Output) The resource name of the PipelineJob.
    Network string
    The full name of the Compute Engine network to which the Pipeline Job's workload should be peered. For example, projects/12345/global/networks/myVPC. Format is of the form projects/{project}/global/networks/{network}. Where {project} is a project number, as in 12345, and {network} is a network name. Private services access must already be configured for the network. Pipeline job will apply the network configuration to the Google Cloud resources being launched, if applied, such as Vertex AI Training or Dataflow job. If left unspecified, the workload is not peered with any network.
    PipelineSpec string
    A compiled definition of a pipeline, represented as a JSON object. Defines the structure of the pipeline, including its components, tasks, and parameters. This specification is generated by compiling a pipeline function defined in Python using the Kubeflow Pipelines SDK.
    PreflightValidations bool
    Whether to do component level validations before job creation.
    PscInterfaceConfig ScheduleCreatePipelineJobRequestPipelineJobPscInterfaceConfig
    Configuration for PSC-I. Structure is documented below.
    ReservedIpRanges List<string>
    A list of names for the reserved ip ranges under the VPC network that can be used for this Pipeline Job's workload. If set, we will deploy the Pipeline Job's workload within the provided ip ranges. Otherwise, the job will be deployed to any ip ranges under the provided VPC network. Example: ['vertex-ai-ip-range'].
    RuntimeConfig ScheduleCreatePipelineJobRequestPipelineJobRuntimeConfig
    The runtime config of a PipelineJob. Structure is documented below.
    ScheduleName string
    (Output) The schedule resource name. Only returned if the Pipeline is created by Schedule API.
    ServiceAccount string
    The service account that the pipeline workload runs as. If not specified, the Compute Engine default service account in the project will be used. See https://cloud.google.com/compute/docs/access/service-accounts#default_service_account Users starting the pipeline must have the iam.serviceAccounts.actAs permission on this service account.
    StartTime string
    (Output) Pipeline start time.
    State string
    (Output) Possible values: PIPELINE_STATE_QUEUED PIPELINE_STATE_PENDING PIPELINE_STATE_RUNNING PIPELINE_STATE_SUCCEEDED PIPELINE_STATE_FAILED PIPELINE_STATE_CANCELLING PIPELINE_STATE_CANCELLED PIPELINE_STATE_PAUSED
    TemplateMetadatas List<ScheduleCreatePipelineJobRequestPipelineJobTemplateMetadata>
    (Output) Pipeline template metadata if PipelineJob.template_uri is from supported template registry. Currently, the only supported registry is Artifact Registry. Structure is documented below.
    TemplateUri string
    A template uri from where the PipelineJob.pipeline_spec, if empty, will be downloaded. Currently, only uri from Vertex Template Registry & Gallery is supported. Reference to https://cloud.google.com/vertex-ai/docs/pipelines/create-pipeline-template.
    UpdateTime string
    (Output) Timestamp when this PipelineJob was most recently updated.
    CreateTime string
    (Output) Pipeline creation time.
    DisplayName string
    The display name of the Pipeline. The name can be up to 128 characters long and can consist of any UTF-8 characters.
    EncryptionSpec ScheduleCreatePipelineJobRequestPipelineJobEncryptionSpec
    Represents a customer-managed encryption key specification that can be applied to a Vertex AI resource. Structure is documented below.
    EndTime string
    (Output) Pipeline end time.
    Labels map[string]string
    The labels with user-defined metadata to organize PipelineJob. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels. Note there is some reserved label key for Vertex AI Pipelines. - vertex-ai-pipelines-run-billing-id, user set value will get overrided.
    Name string
    (Output) The resource name of the PipelineJob.
    Network string
    The full name of the Compute Engine network to which the Pipeline Job's workload should be peered. For example, projects/12345/global/networks/myVPC. Format is of the form projects/{project}/global/networks/{network}. Where {project} is a project number, as in 12345, and {network} is a network name. Private services access must already be configured for the network. Pipeline job will apply the network configuration to the Google Cloud resources being launched, if applied, such as Vertex AI Training or Dataflow job. If left unspecified, the workload is not peered with any network.
    PipelineSpec string
    A compiled definition of a pipeline, represented as a JSON object. Defines the structure of the pipeline, including its components, tasks, and parameters. This specification is generated by compiling a pipeline function defined in Python using the Kubeflow Pipelines SDK.
    PreflightValidations bool
    Whether to do component level validations before job creation.
    PscInterfaceConfig ScheduleCreatePipelineJobRequestPipelineJobPscInterfaceConfig
    Configuration for PSC-I. Structure is documented below.
    ReservedIpRanges []string
    A list of names for the reserved ip ranges under the VPC network that can be used for this Pipeline Job's workload. If set, we will deploy the Pipeline Job's workload within the provided ip ranges. Otherwise, the job will be deployed to any ip ranges under the provided VPC network. Example: ['vertex-ai-ip-range'].
    RuntimeConfig ScheduleCreatePipelineJobRequestPipelineJobRuntimeConfig
    The runtime config of a PipelineJob. Structure is documented below.
    ScheduleName string
    (Output) The schedule resource name. Only returned if the Pipeline is created by Schedule API.
    ServiceAccount string
    The service account that the pipeline workload runs as. If not specified, the Compute Engine default service account in the project will be used. See https://cloud.google.com/compute/docs/access/service-accounts#default_service_account Users starting the pipeline must have the iam.serviceAccounts.actAs permission on this service account.
    StartTime string
    (Output) Pipeline start time.
    State string
    (Output) Possible values: PIPELINE_STATE_QUEUED PIPELINE_STATE_PENDING PIPELINE_STATE_RUNNING PIPELINE_STATE_SUCCEEDED PIPELINE_STATE_FAILED PIPELINE_STATE_CANCELLING PIPELINE_STATE_CANCELLED PIPELINE_STATE_PAUSED
    TemplateMetadatas []ScheduleCreatePipelineJobRequestPipelineJobTemplateMetadata
    (Output) Pipeline template metadata if PipelineJob.template_uri is from supported template registry. Currently, the only supported registry is Artifact Registry. Structure is documented below.
    TemplateUri string
    A template uri from where the PipelineJob.pipeline_spec, if empty, will be downloaded. Currently, only uri from Vertex Template Registry & Gallery is supported. Reference to https://cloud.google.com/vertex-ai/docs/pipelines/create-pipeline-template.
    UpdateTime string
    (Output) Timestamp when this PipelineJob was most recently updated.
    create_time string
    (Output) Pipeline creation time.
    display_name string
    The display name of the Pipeline. The name can be up to 128 characters long and can consist of any UTF-8 characters.
    encryption_spec object
    Represents a customer-managed encryption key specification that can be applied to a Vertex AI resource. Structure is documented below.
    end_time string
    (Output) Pipeline end time.
    labels map(string)
    The labels with user-defined metadata to organize PipelineJob. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels. Note there is some reserved label key for Vertex AI Pipelines. - vertex-ai-pipelines-run-billing-id, user set value will get overrided.
    name string
    (Output) The resource name of the PipelineJob.
    network string
    The full name of the Compute Engine network to which the Pipeline Job's workload should be peered. For example, projects/12345/global/networks/myVPC. Format is of the form projects/{project}/global/networks/{network}. Where {project} is a project number, as in 12345, and {network} is a network name. Private services access must already be configured for the network. Pipeline job will apply the network configuration to the Google Cloud resources being launched, if applied, such as Vertex AI Training or Dataflow job. If left unspecified, the workload is not peered with any network.
    pipeline_spec string
    A compiled definition of a pipeline, represented as a JSON object. Defines the structure of the pipeline, including its components, tasks, and parameters. This specification is generated by compiling a pipeline function defined in Python using the Kubeflow Pipelines SDK.
    preflight_validations bool
    Whether to do component level validations before job creation.
    psc_interface_config object
    Configuration for PSC-I. Structure is documented below.
    reserved_ip_ranges list(string)
    A list of names for the reserved ip ranges under the VPC network that can be used for this Pipeline Job's workload. If set, we will deploy the Pipeline Job's workload within the provided ip ranges. Otherwise, the job will be deployed to any ip ranges under the provided VPC network. Example: ['vertex-ai-ip-range'].
    runtime_config object
    The runtime config of a PipelineJob. Structure is documented below.
    schedule_name string
    (Output) The schedule resource name. Only returned if the Pipeline is created by Schedule API.
    service_account string
    The service account that the pipeline workload runs as. If not specified, the Compute Engine default service account in the project will be used. See https://cloud.google.com/compute/docs/access/service-accounts#default_service_account Users starting the pipeline must have the iam.serviceAccounts.actAs permission on this service account.
    start_time string
    (Output) Pipeline start time.
    state string
    (Output) Possible values: PIPELINE_STATE_QUEUED PIPELINE_STATE_PENDING PIPELINE_STATE_RUNNING PIPELINE_STATE_SUCCEEDED PIPELINE_STATE_FAILED PIPELINE_STATE_CANCELLING PIPELINE_STATE_CANCELLED PIPELINE_STATE_PAUSED
    template_metadatas list(object)
    (Output) Pipeline template metadata if PipelineJob.template_uri is from supported template registry. Currently, the only supported registry is Artifact Registry. Structure is documented below.
    template_uri string
    A template uri from where the PipelineJob.pipeline_spec, if empty, will be downloaded. Currently, only uri from Vertex Template Registry & Gallery is supported. Reference to https://cloud.google.com/vertex-ai/docs/pipelines/create-pipeline-template.
    update_time string
    (Output) Timestamp when this PipelineJob was most recently updated.
    createTime String
    (Output) Pipeline creation time.
    displayName String
    The display name of the Pipeline. The name can be up to 128 characters long and can consist of any UTF-8 characters.
    encryptionSpec ScheduleCreatePipelineJobRequestPipelineJobEncryptionSpec
    Represents a customer-managed encryption key specification that can be applied to a Vertex AI resource. Structure is documented below.
    endTime String
    (Output) Pipeline end time.
    labels Map<String,String>
    The labels with user-defined metadata to organize PipelineJob. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels. Note there is some reserved label key for Vertex AI Pipelines. - vertex-ai-pipelines-run-billing-id, user set value will get overrided.
    name String
    (Output) The resource name of the PipelineJob.
    network String
    The full name of the Compute Engine network to which the Pipeline Job's workload should be peered. For example, projects/12345/global/networks/myVPC. Format is of the form projects/{project}/global/networks/{network}. Where {project} is a project number, as in 12345, and {network} is a network name. Private services access must already be configured for the network. Pipeline job will apply the network configuration to the Google Cloud resources being launched, if applied, such as Vertex AI Training or Dataflow job. If left unspecified, the workload is not peered with any network.
    pipelineSpec String
    A compiled definition of a pipeline, represented as a JSON object. Defines the structure of the pipeline, including its components, tasks, and parameters. This specification is generated by compiling a pipeline function defined in Python using the Kubeflow Pipelines SDK.
    preflightValidations Boolean
    Whether to do component level validations before job creation.
    pscInterfaceConfig ScheduleCreatePipelineJobRequestPipelineJobPscInterfaceConfig
    Configuration for PSC-I. Structure is documented below.
    reservedIpRanges List<String>
    A list of names for the reserved ip ranges under the VPC network that can be used for this Pipeline Job's workload. If set, we will deploy the Pipeline Job's workload within the provided ip ranges. Otherwise, the job will be deployed to any ip ranges under the provided VPC network. Example: ['vertex-ai-ip-range'].
    runtimeConfig ScheduleCreatePipelineJobRequestPipelineJobRuntimeConfig
    The runtime config of a PipelineJob. Structure is documented below.
    scheduleName String
    (Output) The schedule resource name. Only returned if the Pipeline is created by Schedule API.
    serviceAccount String
    The service account that the pipeline workload runs as. If not specified, the Compute Engine default service account in the project will be used. See https://cloud.google.com/compute/docs/access/service-accounts#default_service_account Users starting the pipeline must have the iam.serviceAccounts.actAs permission on this service account.
    startTime String
    (Output) Pipeline start time.
    state String
    (Output) Possible values: PIPELINE_STATE_QUEUED PIPELINE_STATE_PENDING PIPELINE_STATE_RUNNING PIPELINE_STATE_SUCCEEDED PIPELINE_STATE_FAILED PIPELINE_STATE_CANCELLING PIPELINE_STATE_CANCELLED PIPELINE_STATE_PAUSED
    templateMetadatas List<ScheduleCreatePipelineJobRequestPipelineJobTemplateMetadata>
    (Output) Pipeline template metadata if PipelineJob.template_uri is from supported template registry. Currently, the only supported registry is Artifact Registry. Structure is documented below.
    templateUri String
    A template uri from where the PipelineJob.pipeline_spec, if empty, will be downloaded. Currently, only uri from Vertex Template Registry & Gallery is supported. Reference to https://cloud.google.com/vertex-ai/docs/pipelines/create-pipeline-template.
    updateTime String
    (Output) Timestamp when this PipelineJob was most recently updated.
    createTime string
    (Output) Pipeline creation time.
    displayName string
    The display name of the Pipeline. The name can be up to 128 characters long and can consist of any UTF-8 characters.
    encryptionSpec ScheduleCreatePipelineJobRequestPipelineJobEncryptionSpec
    Represents a customer-managed encryption key specification that can be applied to a Vertex AI resource. Structure is documented below.
    endTime string
    (Output) Pipeline end time.
    labels {[key: string]: string}
    The labels with user-defined metadata to organize PipelineJob. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels. Note there is some reserved label key for Vertex AI Pipelines. - vertex-ai-pipelines-run-billing-id, user set value will get overrided.
    name string
    (Output) The resource name of the PipelineJob.
    network string
    The full name of the Compute Engine network to which the Pipeline Job's workload should be peered. For example, projects/12345/global/networks/myVPC. Format is of the form projects/{project}/global/networks/{network}. Where {project} is a project number, as in 12345, and {network} is a network name. Private services access must already be configured for the network. Pipeline job will apply the network configuration to the Google Cloud resources being launched, if applied, such as Vertex AI Training or Dataflow job. If left unspecified, the workload is not peered with any network.
    pipelineSpec string
    A compiled definition of a pipeline, represented as a JSON object. Defines the structure of the pipeline, including its components, tasks, and parameters. This specification is generated by compiling a pipeline function defined in Python using the Kubeflow Pipelines SDK.
    preflightValidations boolean
    Whether to do component level validations before job creation.
    pscInterfaceConfig ScheduleCreatePipelineJobRequestPipelineJobPscInterfaceConfig
    Configuration for PSC-I. Structure is documented below.
    reservedIpRanges string[]
    A list of names for the reserved ip ranges under the VPC network that can be used for this Pipeline Job's workload. If set, we will deploy the Pipeline Job's workload within the provided ip ranges. Otherwise, the job will be deployed to any ip ranges under the provided VPC network. Example: ['vertex-ai-ip-range'].
    runtimeConfig ScheduleCreatePipelineJobRequestPipelineJobRuntimeConfig
    The runtime config of a PipelineJob. Structure is documented below.
    scheduleName string
    (Output) The schedule resource name. Only returned if the Pipeline is created by Schedule API.
    serviceAccount string
    The service account that the pipeline workload runs as. If not specified, the Compute Engine default service account in the project will be used. See https://cloud.google.com/compute/docs/access/service-accounts#default_service_account Users starting the pipeline must have the iam.serviceAccounts.actAs permission on this service account.
    startTime string
    (Output) Pipeline start time.
    state string
    (Output) Possible values: PIPELINE_STATE_QUEUED PIPELINE_STATE_PENDING PIPELINE_STATE_RUNNING PIPELINE_STATE_SUCCEEDED PIPELINE_STATE_FAILED PIPELINE_STATE_CANCELLING PIPELINE_STATE_CANCELLED PIPELINE_STATE_PAUSED
    templateMetadatas ScheduleCreatePipelineJobRequestPipelineJobTemplateMetadata[]
    (Output) Pipeline template metadata if PipelineJob.template_uri is from supported template registry. Currently, the only supported registry is Artifact Registry. Structure is documented below.
    templateUri string
    A template uri from where the PipelineJob.pipeline_spec, if empty, will be downloaded. Currently, only uri from Vertex Template Registry & Gallery is supported. Reference to https://cloud.google.com/vertex-ai/docs/pipelines/create-pipeline-template.
    updateTime string
    (Output) Timestamp when this PipelineJob was most recently updated.
    create_time str
    (Output) Pipeline creation time.
    display_name str
    The display name of the Pipeline. The name can be up to 128 characters long and can consist of any UTF-8 characters.
    encryption_spec ScheduleCreatePipelineJobRequestPipelineJobEncryptionSpec
    Represents a customer-managed encryption key specification that can be applied to a Vertex AI resource. Structure is documented below.
    end_time str
    (Output) Pipeline end time.
    labels Mapping[str, str]
    The labels with user-defined metadata to organize PipelineJob. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels. Note there is some reserved label key for Vertex AI Pipelines. - vertex-ai-pipelines-run-billing-id, user set value will get overrided.
    name str
    (Output) The resource name of the PipelineJob.
    network str
    The full name of the Compute Engine network to which the Pipeline Job's workload should be peered. For example, projects/12345/global/networks/myVPC. Format is of the form projects/{project}/global/networks/{network}. Where {project} is a project number, as in 12345, and {network} is a network name. Private services access must already be configured for the network. Pipeline job will apply the network configuration to the Google Cloud resources being launched, if applied, such as Vertex AI Training or Dataflow job. If left unspecified, the workload is not peered with any network.
    pipeline_spec str
    A compiled definition of a pipeline, represented as a JSON object. Defines the structure of the pipeline, including its components, tasks, and parameters. This specification is generated by compiling a pipeline function defined in Python using the Kubeflow Pipelines SDK.
    preflight_validations bool
    Whether to do component level validations before job creation.
    psc_interface_config ScheduleCreatePipelineJobRequestPipelineJobPscInterfaceConfig
    Configuration for PSC-I. Structure is documented below.
    reserved_ip_ranges Sequence[str]
    A list of names for the reserved ip ranges under the VPC network that can be used for this Pipeline Job's workload. If set, we will deploy the Pipeline Job's workload within the provided ip ranges. Otherwise, the job will be deployed to any ip ranges under the provided VPC network. Example: ['vertex-ai-ip-range'].
    runtime_config ScheduleCreatePipelineJobRequestPipelineJobRuntimeConfig
    The runtime config of a PipelineJob. Structure is documented below.
    schedule_name str
    (Output) The schedule resource name. Only returned if the Pipeline is created by Schedule API.
    service_account str
    The service account that the pipeline workload runs as. If not specified, the Compute Engine default service account in the project will be used. See https://cloud.google.com/compute/docs/access/service-accounts#default_service_account Users starting the pipeline must have the iam.serviceAccounts.actAs permission on this service account.
    start_time str
    (Output) Pipeline start time.
    state str
    (Output) Possible values: PIPELINE_STATE_QUEUED PIPELINE_STATE_PENDING PIPELINE_STATE_RUNNING PIPELINE_STATE_SUCCEEDED PIPELINE_STATE_FAILED PIPELINE_STATE_CANCELLING PIPELINE_STATE_CANCELLED PIPELINE_STATE_PAUSED
    template_metadatas Sequence[ScheduleCreatePipelineJobRequestPipelineJobTemplateMetadata]
    (Output) Pipeline template metadata if PipelineJob.template_uri is from supported template registry. Currently, the only supported registry is Artifact Registry. Structure is documented below.
    template_uri str
    A template uri from where the PipelineJob.pipeline_spec, if empty, will be downloaded. Currently, only uri from Vertex Template Registry & Gallery is supported. Reference to https://cloud.google.com/vertex-ai/docs/pipelines/create-pipeline-template.
    update_time str
    (Output) Timestamp when this PipelineJob was most recently updated.
    createTime String
    (Output) Pipeline creation time.
    displayName String
    The display name of the Pipeline. The name can be up to 128 characters long and can consist of any UTF-8 characters.
    encryptionSpec Property Map
    Represents a customer-managed encryption key specification that can be applied to a Vertex AI resource. Structure is documented below.
    endTime String
    (Output) Pipeline end time.
    labels Map<String>
    The labels with user-defined metadata to organize PipelineJob. Label keys and values can be no longer than 64 characters (Unicode codepoints), can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. See https://goo.gl/xmQnxf for more information and examples of labels. Note there is some reserved label key for Vertex AI Pipelines. - vertex-ai-pipelines-run-billing-id, user set value will get overrided.
    name String
    (Output) The resource name of the PipelineJob.
    network String
    The full name of the Compute Engine network to which the Pipeline Job's workload should be peered. For example, projects/12345/global/networks/myVPC. Format is of the form projects/{project}/global/networks/{network}. Where {project} is a project number, as in 12345, and {network} is a network name. Private services access must already be configured for the network. Pipeline job will apply the network configuration to the Google Cloud resources being launched, if applied, such as Vertex AI Training or Dataflow job. If left unspecified, the workload is not peered with any network.
    pipelineSpec String
    A compiled definition of a pipeline, represented as a JSON object. Defines the structure of the pipeline, including its components, tasks, and parameters. This specification is generated by compiling a pipeline function defined in Python using the Kubeflow Pipelines SDK.
    preflightValidations Boolean
    Whether to do component level validations before job creation.
    pscInterfaceConfig Property Map
    Configuration for PSC-I. Structure is documented below.
    reservedIpRanges List<String>
    A list of names for the reserved ip ranges under the VPC network that can be used for this Pipeline Job's workload. If set, we will deploy the Pipeline Job's workload within the provided ip ranges. Otherwise, the job will be deployed to any ip ranges under the provided VPC network. Example: ['vertex-ai-ip-range'].
    runtimeConfig Property Map
    The runtime config of a PipelineJob. Structure is documented below.
    scheduleName String
    (Output) The schedule resource name. Only returned if the Pipeline is created by Schedule API.
    serviceAccount String
    The service account that the pipeline workload runs as. If not specified, the Compute Engine default service account in the project will be used. See https://cloud.google.com/compute/docs/access/service-accounts#default_service_account Users starting the pipeline must have the iam.serviceAccounts.actAs permission on this service account.
    startTime String
    (Output) Pipeline start time.
    state String
    (Output) Possible values: PIPELINE_STATE_QUEUED PIPELINE_STATE_PENDING PIPELINE_STATE_RUNNING PIPELINE_STATE_SUCCEEDED PIPELINE_STATE_FAILED PIPELINE_STATE_CANCELLING PIPELINE_STATE_CANCELLED PIPELINE_STATE_PAUSED
    templateMetadatas List<Property Map>
    (Output) Pipeline template metadata if PipelineJob.template_uri is from supported template registry. Currently, the only supported registry is Artifact Registry. Structure is documented below.
    templateUri String
    A template uri from where the PipelineJob.pipeline_spec, if empty, will be downloaded. Currently, only uri from Vertex Template Registry & Gallery is supported. Reference to https://cloud.google.com/vertex-ai/docs/pipelines/create-pipeline-template.
    updateTime String
    (Output) Timestamp when this PipelineJob was most recently updated.

    ScheduleCreatePipelineJobRequestPipelineJobEncryptionSpec, ScheduleCreatePipelineJobRequestPipelineJobEncryptionSpecArgs

    KmsKeyName string
    Resource name of the Cloud KMS key used to protect the resource. The Cloud KMS key must be in the same region as the resource. It must have the format projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}.
    KmsKeyName string
    Resource name of the Cloud KMS key used to protect the resource. The Cloud KMS key must be in the same region as the resource. It must have the format projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}.
    kms_key_name string
    Resource name of the Cloud KMS key used to protect the resource. The Cloud KMS key must be in the same region as the resource. It must have the format projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}.
    kmsKeyName String
    Resource name of the Cloud KMS key used to protect the resource. The Cloud KMS key must be in the same region as the resource. It must have the format projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}.
    kmsKeyName string
    Resource name of the Cloud KMS key used to protect the resource. The Cloud KMS key must be in the same region as the resource. It must have the format projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}.
    kms_key_name str
    Resource name of the Cloud KMS key used to protect the resource. The Cloud KMS key must be in the same region as the resource. It must have the format projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}.
    kmsKeyName String
    Resource name of the Cloud KMS key used to protect the resource. The Cloud KMS key must be in the same region as the resource. It must have the format projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}.

    ScheduleCreatePipelineJobRequestPipelineJobPscInterfaceConfig, ScheduleCreatePipelineJobRequestPipelineJobPscInterfaceConfigArgs

    DnsPeeringConfigs List<ScheduleCreatePipelineJobRequestPipelineJobPscInterfaceConfigDnsPeeringConfig>
    DNS peering configurations. When specified, Vertex AI will attempt to configure DNS peering zones in the tenant project VPC to resolve the specified domains using the target network's Cloud DNS. The user must grant the dns.peer role to the Vertex AI Service Agent on the target project. Structure is documented below.
    NetworkAttachment string
    The name of the Compute Engine network attachment to attach to the resource within the region and user project. To specify this field, you must have already [created a network attachment] (https://cloud.google.com/vpc/docs/create-manage-network-attachments#create-network-attachments). This field is only used for resources using PSC-I.
    DnsPeeringConfigs []ScheduleCreatePipelineJobRequestPipelineJobPscInterfaceConfigDnsPeeringConfig
    DNS peering configurations. When specified, Vertex AI will attempt to configure DNS peering zones in the tenant project VPC to resolve the specified domains using the target network's Cloud DNS. The user must grant the dns.peer role to the Vertex AI Service Agent on the target project. Structure is documented below.
    NetworkAttachment string
    The name of the Compute Engine network attachment to attach to the resource within the region and user project. To specify this field, you must have already [created a network attachment] (https://cloud.google.com/vpc/docs/create-manage-network-attachments#create-network-attachments). This field is only used for resources using PSC-I.
    dns_peering_configs list(object)
    DNS peering configurations. When specified, Vertex AI will attempt to configure DNS peering zones in the tenant project VPC to resolve the specified domains using the target network's Cloud DNS. The user must grant the dns.peer role to the Vertex AI Service Agent on the target project. Structure is documented below.
    network_attachment string
    The name of the Compute Engine network attachment to attach to the resource within the region and user project. To specify this field, you must have already [created a network attachment] (https://cloud.google.com/vpc/docs/create-manage-network-attachments#create-network-attachments). This field is only used for resources using PSC-I.
    dnsPeeringConfigs List<ScheduleCreatePipelineJobRequestPipelineJobPscInterfaceConfigDnsPeeringConfig>
    DNS peering configurations. When specified, Vertex AI will attempt to configure DNS peering zones in the tenant project VPC to resolve the specified domains using the target network's Cloud DNS. The user must grant the dns.peer role to the Vertex AI Service Agent on the target project. Structure is documented below.
    networkAttachment String
    The name of the Compute Engine network attachment to attach to the resource within the region and user project. To specify this field, you must have already [created a network attachment] (https://cloud.google.com/vpc/docs/create-manage-network-attachments#create-network-attachments). This field is only used for resources using PSC-I.
    dnsPeeringConfigs ScheduleCreatePipelineJobRequestPipelineJobPscInterfaceConfigDnsPeeringConfig[]
    DNS peering configurations. When specified, Vertex AI will attempt to configure DNS peering zones in the tenant project VPC to resolve the specified domains using the target network's Cloud DNS. The user must grant the dns.peer role to the Vertex AI Service Agent on the target project. Structure is documented below.
    networkAttachment string
    The name of the Compute Engine network attachment to attach to the resource within the region and user project. To specify this field, you must have already [created a network attachment] (https://cloud.google.com/vpc/docs/create-manage-network-attachments#create-network-attachments). This field is only used for resources using PSC-I.
    dns_peering_configs Sequence[ScheduleCreatePipelineJobRequestPipelineJobPscInterfaceConfigDnsPeeringConfig]
    DNS peering configurations. When specified, Vertex AI will attempt to configure DNS peering zones in the tenant project VPC to resolve the specified domains using the target network's Cloud DNS. The user must grant the dns.peer role to the Vertex AI Service Agent on the target project. Structure is documented below.
    network_attachment str
    The name of the Compute Engine network attachment to attach to the resource within the region and user project. To specify this field, you must have already [created a network attachment] (https://cloud.google.com/vpc/docs/create-manage-network-attachments#create-network-attachments). This field is only used for resources using PSC-I.
    dnsPeeringConfigs List<Property Map>
    DNS peering configurations. When specified, Vertex AI will attempt to configure DNS peering zones in the tenant project VPC to resolve the specified domains using the target network's Cloud DNS. The user must grant the dns.peer role to the Vertex AI Service Agent on the target project. Structure is documented below.
    networkAttachment String
    The name of the Compute Engine network attachment to attach to the resource within the region and user project. To specify this field, you must have already [created a network attachment] (https://cloud.google.com/vpc/docs/create-manage-network-attachments#create-network-attachments). This field is only used for resources using PSC-I.

    ScheduleCreatePipelineJobRequestPipelineJobPscInterfaceConfigDnsPeeringConfig, ScheduleCreatePipelineJobRequestPipelineJobPscInterfaceConfigDnsPeeringConfigArgs

    Domain string
    The DNS name suffix of the zone being peered to, e.g., "my-internal-domain.corp.". Must end with a dot.
    TargetNetwork string
    The VPC network name in the targetProject where the DNS zone specified by 'domain' is visible.
    TargetProject string
    The project ID hosting the Cloud DNS managed zone that contains the 'domain'. The Vertex AI Service Agent requires the dns.peer role on this project.
    Domain string
    The DNS name suffix of the zone being peered to, e.g., "my-internal-domain.corp.". Must end with a dot.
    TargetNetwork string
    The VPC network name in the targetProject where the DNS zone specified by 'domain' is visible.
    TargetProject string
    The project ID hosting the Cloud DNS managed zone that contains the 'domain'. The Vertex AI Service Agent requires the dns.peer role on this project.
    domain string
    The DNS name suffix of the zone being peered to, e.g., "my-internal-domain.corp.". Must end with a dot.
    target_network string
    The VPC network name in the targetProject where the DNS zone specified by 'domain' is visible.
    target_project string
    The project ID hosting the Cloud DNS managed zone that contains the 'domain'. The Vertex AI Service Agent requires the dns.peer role on this project.
    domain String
    The DNS name suffix of the zone being peered to, e.g., "my-internal-domain.corp.". Must end with a dot.
    targetNetwork String
    The VPC network name in the targetProject where the DNS zone specified by 'domain' is visible.
    targetProject String
    The project ID hosting the Cloud DNS managed zone that contains the 'domain'. The Vertex AI Service Agent requires the dns.peer role on this project.
    domain string
    The DNS name suffix of the zone being peered to, e.g., "my-internal-domain.corp.". Must end with a dot.
    targetNetwork string
    The VPC network name in the targetProject where the DNS zone specified by 'domain' is visible.
    targetProject string
    The project ID hosting the Cloud DNS managed zone that contains the 'domain'. The Vertex AI Service Agent requires the dns.peer role on this project.
    domain str
    The DNS name suffix of the zone being peered to, e.g., "my-internal-domain.corp.". Must end with a dot.
    target_network str
    The VPC network name in the targetProject where the DNS zone specified by 'domain' is visible.
    target_project str
    The project ID hosting the Cloud DNS managed zone that contains the 'domain'. The Vertex AI Service Agent requires the dns.peer role on this project.
    domain String
    The DNS name suffix of the zone being peered to, e.g., "my-internal-domain.corp.". Must end with a dot.
    targetNetwork String
    The VPC network name in the targetProject where the DNS zone specified by 'domain' is visible.
    targetProject String
    The project ID hosting the Cloud DNS managed zone that contains the 'domain'. The Vertex AI Service Agent requires the dns.peer role on this project.

    ScheduleCreatePipelineJobRequestPipelineJobRuntimeConfig, ScheduleCreatePipelineJobRequestPipelineJobRuntimeConfigArgs

    GcsOutputDirectory string
    A path in a Cloud Storage bucket, which will be treated as the root output directory of the pipeline. It is used by the system to generate the paths of output artifacts. The artifact paths are generated with a sub-path pattern {job_id}/{task_id}/{output_key} under the specified output directory. The service account specified in this pipeline must have the storage.objects.get and storage.objects.create permissions for this bucket.
    FailurePolicy string
    Possible values: PIPELINE_FAILURE_POLICY_FAIL_SLOW PIPELINE_FAILURE_POLICY_FAIL_FAST
    ParameterValues Dictionary<string, string>

    The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using PipelineJob.pipeline_spec.schema_version 2.1.0, such as pipelines built using Kubeflow Pipelines SDK 1.9 or higher and the v2 DSL.

    The templateMetadata block contains:

    GcsOutputDirectory string
    A path in a Cloud Storage bucket, which will be treated as the root output directory of the pipeline. It is used by the system to generate the paths of output artifacts. The artifact paths are generated with a sub-path pattern {job_id}/{task_id}/{output_key} under the specified output directory. The service account specified in this pipeline must have the storage.objects.get and storage.objects.create permissions for this bucket.
    FailurePolicy string
    Possible values: PIPELINE_FAILURE_POLICY_FAIL_SLOW PIPELINE_FAILURE_POLICY_FAIL_FAST
    ParameterValues map[string]string

    The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using PipelineJob.pipeline_spec.schema_version 2.1.0, such as pipelines built using Kubeflow Pipelines SDK 1.9 or higher and the v2 DSL.

    The templateMetadata block contains:

    gcs_output_directory string
    A path in a Cloud Storage bucket, which will be treated as the root output directory of the pipeline. It is used by the system to generate the paths of output artifacts. The artifact paths are generated with a sub-path pattern {job_id}/{task_id}/{output_key} under the specified output directory. The service account specified in this pipeline must have the storage.objects.get and storage.objects.create permissions for this bucket.
    failure_policy string
    Possible values: PIPELINE_FAILURE_POLICY_FAIL_SLOW PIPELINE_FAILURE_POLICY_FAIL_FAST
    parameter_values map(string)

    The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using PipelineJob.pipeline_spec.schema_version 2.1.0, such as pipelines built using Kubeflow Pipelines SDK 1.9 or higher and the v2 DSL.

    The templateMetadata block contains:

    gcsOutputDirectory String
    A path in a Cloud Storage bucket, which will be treated as the root output directory of the pipeline. It is used by the system to generate the paths of output artifacts. The artifact paths are generated with a sub-path pattern {job_id}/{task_id}/{output_key} under the specified output directory. The service account specified in this pipeline must have the storage.objects.get and storage.objects.create permissions for this bucket.
    failurePolicy String
    Possible values: PIPELINE_FAILURE_POLICY_FAIL_SLOW PIPELINE_FAILURE_POLICY_FAIL_FAST
    parameterValues Map<String,String>

    The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using PipelineJob.pipeline_spec.schema_version 2.1.0, such as pipelines built using Kubeflow Pipelines SDK 1.9 or higher and the v2 DSL.

    The templateMetadata block contains:

    gcsOutputDirectory string
    A path in a Cloud Storage bucket, which will be treated as the root output directory of the pipeline. It is used by the system to generate the paths of output artifacts. The artifact paths are generated with a sub-path pattern {job_id}/{task_id}/{output_key} under the specified output directory. The service account specified in this pipeline must have the storage.objects.get and storage.objects.create permissions for this bucket.
    failurePolicy string
    Possible values: PIPELINE_FAILURE_POLICY_FAIL_SLOW PIPELINE_FAILURE_POLICY_FAIL_FAST
    parameterValues {[key: string]: string}

    The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using PipelineJob.pipeline_spec.schema_version 2.1.0, such as pipelines built using Kubeflow Pipelines SDK 1.9 or higher and the v2 DSL.

    The templateMetadata block contains:

    gcs_output_directory str
    A path in a Cloud Storage bucket, which will be treated as the root output directory of the pipeline. It is used by the system to generate the paths of output artifacts. The artifact paths are generated with a sub-path pattern {job_id}/{task_id}/{output_key} under the specified output directory. The service account specified in this pipeline must have the storage.objects.get and storage.objects.create permissions for this bucket.
    failure_policy str
    Possible values: PIPELINE_FAILURE_POLICY_FAIL_SLOW PIPELINE_FAILURE_POLICY_FAIL_FAST
    parameter_values Mapping[str, str]

    The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using PipelineJob.pipeline_spec.schema_version 2.1.0, such as pipelines built using Kubeflow Pipelines SDK 1.9 or higher and the v2 DSL.

    The templateMetadata block contains:

    gcsOutputDirectory String
    A path in a Cloud Storage bucket, which will be treated as the root output directory of the pipeline. It is used by the system to generate the paths of output artifacts. The artifact paths are generated with a sub-path pattern {job_id}/{task_id}/{output_key} under the specified output directory. The service account specified in this pipeline must have the storage.objects.get and storage.objects.create permissions for this bucket.
    failurePolicy String
    Possible values: PIPELINE_FAILURE_POLICY_FAIL_SLOW PIPELINE_FAILURE_POLICY_FAIL_FAST
    parameterValues Map<String>

    The runtime parameters of the PipelineJob. The parameters will be passed into PipelineJob.pipeline_spec to replace the placeholders at runtime. This field is used by pipelines built using PipelineJob.pipeline_spec.schema_version 2.1.0, such as pipelines built using Kubeflow Pipelines SDK 1.9 or higher and the v2 DSL.

    The templateMetadata block contains:

    ScheduleCreatePipelineJobRequestPipelineJobTemplateMetadata, ScheduleCreatePipelineJobRequestPipelineJobTemplateMetadataArgs

    Version string
    The versionName in artifact registry. Will always be presented in output if the PipelineJob.template_uri is from supported template registry. Format is "sha256:abcdef123456...".
    Version string
    The versionName in artifact registry. Will always be presented in output if the PipelineJob.template_uri is from supported template registry. Format is "sha256:abcdef123456...".
    version string
    The versionName in artifact registry. Will always be presented in output if the PipelineJob.template_uri is from supported template registry. Format is "sha256:abcdef123456...".
    version String
    The versionName in artifact registry. Will always be presented in output if the PipelineJob.template_uri is from supported template registry. Format is "sha256:abcdef123456...".
    version string
    The versionName in artifact registry. Will always be presented in output if the PipelineJob.template_uri is from supported template registry. Format is "sha256:abcdef123456...".
    version str
    The versionName in artifact registry. Will always be presented in output if the PipelineJob.template_uri is from supported template registry. Format is "sha256:abcdef123456...".
    version String
    The versionName in artifact registry. Will always be presented in output if the PipelineJob.template_uri is from supported template registry. Format is "sha256:abcdef123456...".

    ScheduleLastScheduledRunResponse, ScheduleLastScheduledRunResponseArgs

    RunResponse string
    (Output) The response of the scheduled run.
    ScheduledRunTime string
    (Output) The scheduled run time based on the user-specified schedule.
    RunResponse string
    (Output) The response of the scheduled run.
    ScheduledRunTime string
    (Output) The scheduled run time based on the user-specified schedule.
    run_response string
    (Output) The response of the scheduled run.
    scheduled_run_time string
    (Output) The scheduled run time based on the user-specified schedule.
    runResponse String
    (Output) The response of the scheduled run.
    scheduledRunTime String
    (Output) The scheduled run time based on the user-specified schedule.
    runResponse string
    (Output) The response of the scheduled run.
    scheduledRunTime string
    (Output) The scheduled run time based on the user-specified schedule.
    run_response str
    (Output) The response of the scheduled run.
    scheduled_run_time str
    (Output) The scheduled run time based on the user-specified schedule.
    runResponse String
    (Output) The response of the scheduled run.
    scheduledRunTime String
    (Output) The scheduled run time based on the user-specified schedule.

    Import

    Schedule can be imported using any of these accepted formats:

    • projects/{{project}}/locations/{{location}}/schedules/{{name}}
    • {{project}}/{{location}}/{{name}}
    • {{location}}/{{name}}

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

    $ pulumi import gcp:colab/schedule:Schedule default projects/{{project}}/locations/{{location}}/schedules/{{name}}
    $ pulumi import gcp:colab/schedule:Schedule default {{project}}/{{location}}/{{name}}
    $ pulumi import gcp:colab/schedule:Schedule default {{location}}/{{name}}
    

    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