// Copyright 2024 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. syntax = "proto3"; package google.cloud.aiplatform.v1beta1; import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/cloud/aiplatform/v1beta1/encryption_spec.proto"; import "google/cloud/aiplatform/v1beta1/job_state.proto"; import "google/protobuf/duration.proto"; import "google/protobuf/timestamp.proto"; import "google/rpc/status.proto"; option csharp_namespace = "Google.Cloud.AIPlatform.V1Beta1"; option go_package = "cloud.google.com/go/aiplatform/apiv1beta1/aiplatformpb;aiplatformpb"; option java_multiple_files = true; option java_outer_classname = "NotebookExecutionJobProto"; option java_package = "com.google.cloud.aiplatform.v1beta1"; option php_namespace = "Google\\Cloud\\AIPlatform\\V1beta1"; option ruby_package = "Google::Cloud::AIPlatform::V1beta1"; // NotebookExecutionJob represents an instance of a notebook execution. message NotebookExecutionJob { option (google.api.resource) = { type: "aiplatform.googleapis.com/NotebookExecutionJob" pattern: "projects/{project}/locations/{location}/notebookExecutionJobs/{notebook_execution_job}" plural: "notebookExecutionJobs" singular: "notebookExecutionJob" }; // The Dataform Repository containing the input notebook. message DataformRepositorySource { // The resource name of the Dataform Repository. Format: // `projects/{project_id}/locations/{location}/repositories/{repository_id}` string dataform_repository_resource_name = 1; // The commit SHA to read repository with. If unset, the file will be read // at HEAD. string commit_sha = 2; } // The Cloud Storage uri for the input notebook. message GcsNotebookSource { // The Cloud Storage uri pointing to the ipynb file. Format: // `gs://bucket/notebook_file.ipynb` string uri = 1; // 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. string generation = 2; } // The content of the input notebook in ipynb format. message DirectNotebookSource { // The base64-encoded contents of the input notebook file. bytes content = 1; } // The input notebook. oneof notebook_source { // The Dataform Repository pointing to a single file notebook repository. DataformRepositorySource dataform_repository_source = 3; // The Cloud Storage url pointing to the ipynb file. Format: // `gs://bucket/notebook_file.ipynb` GcsNotebookSource gcs_notebook_source = 4; // The contents of an input notebook file. DirectNotebookSource direct_notebook_source = 17; } // The compute config to use for an execution job. oneof environment_spec { // The NotebookRuntimeTemplate to source compute configuration from. string notebook_runtime_template_resource_name = 14 [(google.api.resource_reference) = { type: "aiplatform.googleapis.com/NotebookRuntimeTemplate" }]; } // The location to store the notebook execution result. oneof execution_sink { // The Cloud Storage location to upload the result to. Format: // `gs://bucket-name` string gcs_output_uri = 8; } // The identity to run the execution as. oneof execution_identity { // The user email to run the execution as. Only supported by Colab runtimes. string execution_user = 9; // The service account to run the execution as. string service_account = 18; } // Output only. The resource name of this NotebookExecutionJob. Format: // `projects/{project_id}/locations/{location}/notebookExecutionJobs/{job_id}` string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; // The display name of the NotebookExecutionJob. The name can be up to 128 // characters long and can consist of any UTF-8 characters. string display_name = 2; // Max running time of the execution job in seconds (default 86400s / 24 hrs). google.protobuf.Duration execution_timeout = 5; // Output only. The Schedule resource name if this job is triggered by one. // Format: // `projects/{project_id}/locations/{location}/schedules/{schedule_id}` string schedule_resource_name = 6 [ (google.api.field_behavior) = OUTPUT_ONLY, (google.api.resource_reference) = { type: "aiplatform.googleapis.com/Schedule" } ]; // Output only. The state of the NotebookExecutionJob. JobState job_state = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. Populated when the NotebookExecutionJob is completed. When // there is an error during notebook execution, the error details are // populated. google.rpc.Status status = 11 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. Timestamp when this NotebookExecutionJob was created. google.protobuf.Timestamp create_time = 12 [(google.api.field_behavior) = OUTPUT_ONLY]; // Output only. Timestamp when this NotebookExecutionJob was most recently // updated. google.protobuf.Timestamp update_time = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; // The labels with user-defined metadata to organize NotebookExecutionJobs. // // 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. // System reserved label keys are prefixed with "aiplatform.googleapis.com/" // and are immutable. map labels = 19; // Customer-managed encryption key spec for the notebook execution job. // This field is auto-populated if the // [NotebookService.NotebookRuntimeTemplate][] has an encryption spec. EncryptionSpec encryption_spec = 22; }