xref: /aosp_15_r20/external/googleapis/google/cloud/notebooks/v1/execution.proto (revision d5c09012810ac0c9f33fe448fb6da8260d444cc9)
1*d5c09012SAndroid Build Coastguard Worker// Copyright 2023 Google LLC
2*d5c09012SAndroid Build Coastguard Worker//
3*d5c09012SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License");
4*d5c09012SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License.
5*d5c09012SAndroid Build Coastguard Worker// You may obtain a copy of the License at
6*d5c09012SAndroid Build Coastguard Worker//
7*d5c09012SAndroid Build Coastguard Worker//     http://www.apache.org/licenses/LICENSE-2.0
8*d5c09012SAndroid Build Coastguard Worker//
9*d5c09012SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software
10*d5c09012SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS,
11*d5c09012SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*d5c09012SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and
13*d5c09012SAndroid Build Coastguard Worker// limitations under the License.
14*d5c09012SAndroid Build Coastguard Worker
15*d5c09012SAndroid Build Coastguard Workersyntax = "proto3";
16*d5c09012SAndroid Build Coastguard Worker
17*d5c09012SAndroid Build Coastguard Workerpackage google.cloud.notebooks.v1;
18*d5c09012SAndroid Build Coastguard Worker
19*d5c09012SAndroid Build Coastguard Workerimport "google/api/field_behavior.proto";
20*d5c09012SAndroid Build Coastguard Workerimport "google/api/resource.proto";
21*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/timestamp.proto";
22*d5c09012SAndroid Build Coastguard Worker
23*d5c09012SAndroid Build Coastguard Workeroption go_package = "cloud.google.com/go/notebooks/apiv1/notebookspb;notebookspb";
24*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true;
25*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "ExecutionProto";
26*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.cloud.notebooks.v1";
27*d5c09012SAndroid Build Coastguard Workeroption (google.api.resource_definition) = {
28*d5c09012SAndroid Build Coastguard Worker  type: "aiplatform.googleapis.com/Tensorboard"
29*d5c09012SAndroid Build Coastguard Worker  pattern: "projects/{project}/locations/{location}/tensorboards/{tensorboard}"
30*d5c09012SAndroid Build Coastguard Worker};
31*d5c09012SAndroid Build Coastguard Worker
32*d5c09012SAndroid Build Coastguard Worker// The description a notebook execution workload.
33*d5c09012SAndroid Build Coastguard Workermessage ExecutionTemplate {
34*d5c09012SAndroid Build Coastguard Worker  // Required. Specifies the machine types, the number of replicas for workers
35*d5c09012SAndroid Build Coastguard Worker  // and parameter servers.
36*d5c09012SAndroid Build Coastguard Worker  enum ScaleTier {
37*d5c09012SAndroid Build Coastguard Worker    // Unspecified Scale Tier.
38*d5c09012SAndroid Build Coastguard Worker    SCALE_TIER_UNSPECIFIED = 0;
39*d5c09012SAndroid Build Coastguard Worker
40*d5c09012SAndroid Build Coastguard Worker    // A single worker instance. This tier is suitable for learning how to use
41*d5c09012SAndroid Build Coastguard Worker    // Cloud ML, and for experimenting with new models using small datasets.
42*d5c09012SAndroid Build Coastguard Worker    BASIC = 1;
43*d5c09012SAndroid Build Coastguard Worker
44*d5c09012SAndroid Build Coastguard Worker    // Many workers and a few parameter servers.
45*d5c09012SAndroid Build Coastguard Worker    STANDARD_1 = 2;
46*d5c09012SAndroid Build Coastguard Worker
47*d5c09012SAndroid Build Coastguard Worker    // A large number of workers with many parameter servers.
48*d5c09012SAndroid Build Coastguard Worker    PREMIUM_1 = 3;
49*d5c09012SAndroid Build Coastguard Worker
50*d5c09012SAndroid Build Coastguard Worker    // A single worker instance with a K80 GPU.
51*d5c09012SAndroid Build Coastguard Worker    BASIC_GPU = 4;
52*d5c09012SAndroid Build Coastguard Worker
53*d5c09012SAndroid Build Coastguard Worker    // A single worker instance with a Cloud TPU.
54*d5c09012SAndroid Build Coastguard Worker    BASIC_TPU = 5;
55*d5c09012SAndroid Build Coastguard Worker
56*d5c09012SAndroid Build Coastguard Worker    // The CUSTOM tier is not a set tier, but rather enables you to use your
57*d5c09012SAndroid Build Coastguard Worker    // own cluster specification. When you use this tier, set values to
58*d5c09012SAndroid Build Coastguard Worker    // configure your processing cluster according to these guidelines:
59*d5c09012SAndroid Build Coastguard Worker    //
60*d5c09012SAndroid Build Coastguard Worker    // *   You _must_ set `ExecutionTemplate.masterType` to specify the type
61*d5c09012SAndroid Build Coastguard Worker    //     of machine to use for your master node. This is the only required
62*d5c09012SAndroid Build Coastguard Worker    //     setting.
63*d5c09012SAndroid Build Coastguard Worker    CUSTOM = 6;
64*d5c09012SAndroid Build Coastguard Worker  }
65*d5c09012SAndroid Build Coastguard Worker
66*d5c09012SAndroid Build Coastguard Worker  // Hardware accelerator types for AI Platform Training jobs.
67*d5c09012SAndroid Build Coastguard Worker  enum SchedulerAcceleratorType {
68*d5c09012SAndroid Build Coastguard Worker    // Unspecified accelerator type. Default to no GPU.
69*d5c09012SAndroid Build Coastguard Worker    SCHEDULER_ACCELERATOR_TYPE_UNSPECIFIED = 0;
70*d5c09012SAndroid Build Coastguard Worker
71*d5c09012SAndroid Build Coastguard Worker    // Nvidia Tesla K80 GPU.
72*d5c09012SAndroid Build Coastguard Worker    NVIDIA_TESLA_K80 = 1;
73*d5c09012SAndroid Build Coastguard Worker
74*d5c09012SAndroid Build Coastguard Worker    // Nvidia Tesla P100 GPU.
75*d5c09012SAndroid Build Coastguard Worker    NVIDIA_TESLA_P100 = 2;
76*d5c09012SAndroid Build Coastguard Worker
77*d5c09012SAndroid Build Coastguard Worker    // Nvidia Tesla V100 GPU.
78*d5c09012SAndroid Build Coastguard Worker    NVIDIA_TESLA_V100 = 3;
79*d5c09012SAndroid Build Coastguard Worker
80*d5c09012SAndroid Build Coastguard Worker    // Nvidia Tesla P4 GPU.
81*d5c09012SAndroid Build Coastguard Worker    NVIDIA_TESLA_P4 = 4;
82*d5c09012SAndroid Build Coastguard Worker
83*d5c09012SAndroid Build Coastguard Worker    // Nvidia Tesla T4 GPU.
84*d5c09012SAndroid Build Coastguard Worker    NVIDIA_TESLA_T4 = 5;
85*d5c09012SAndroid Build Coastguard Worker
86*d5c09012SAndroid Build Coastguard Worker    // Nvidia Tesla A100 GPU.
87*d5c09012SAndroid Build Coastguard Worker    NVIDIA_TESLA_A100 = 10;
88*d5c09012SAndroid Build Coastguard Worker
89*d5c09012SAndroid Build Coastguard Worker    // TPU v2.
90*d5c09012SAndroid Build Coastguard Worker    TPU_V2 = 6;
91*d5c09012SAndroid Build Coastguard Worker
92*d5c09012SAndroid Build Coastguard Worker    // TPU v3.
93*d5c09012SAndroid Build Coastguard Worker    TPU_V3 = 7;
94*d5c09012SAndroid Build Coastguard Worker  }
95*d5c09012SAndroid Build Coastguard Worker
96*d5c09012SAndroid Build Coastguard Worker  // Definition of a hardware accelerator. Note that not all combinations
97*d5c09012SAndroid Build Coastguard Worker  // of `type` and `core_count` are valid. Check [GPUs on
98*d5c09012SAndroid Build Coastguard Worker  // Compute Engine](https://cloud.google.com/compute/docs/gpus) to find a valid
99*d5c09012SAndroid Build Coastguard Worker  // combination. TPUs are not supported.
100*d5c09012SAndroid Build Coastguard Worker  message SchedulerAcceleratorConfig {
101*d5c09012SAndroid Build Coastguard Worker    // Type of this accelerator.
102*d5c09012SAndroid Build Coastguard Worker    SchedulerAcceleratorType type = 1;
103*d5c09012SAndroid Build Coastguard Worker
104*d5c09012SAndroid Build Coastguard Worker    // Count of cores of this accelerator.
105*d5c09012SAndroid Build Coastguard Worker    int64 core_count = 2;
106*d5c09012SAndroid Build Coastguard Worker  }
107*d5c09012SAndroid Build Coastguard Worker
108*d5c09012SAndroid Build Coastguard Worker  // The backend used for this execution.
109*d5c09012SAndroid Build Coastguard Worker  enum JobType {
110*d5c09012SAndroid Build Coastguard Worker    // No type specified.
111*d5c09012SAndroid Build Coastguard Worker    JOB_TYPE_UNSPECIFIED = 0;
112*d5c09012SAndroid Build Coastguard Worker
113*d5c09012SAndroid Build Coastguard Worker    // Custom Job in `aiplatform.googleapis.com`.
114*d5c09012SAndroid Build Coastguard Worker    // Default value for an execution.
115*d5c09012SAndroid Build Coastguard Worker    VERTEX_AI = 1;
116*d5c09012SAndroid Build Coastguard Worker
117*d5c09012SAndroid Build Coastguard Worker    // Run execution on a cluster with Dataproc as a job.
118*d5c09012SAndroid Build Coastguard Worker    // https://cloud.google.com/dataproc/docs/reference/rest/v1/projects.regions.jobs
119*d5c09012SAndroid Build Coastguard Worker    DATAPROC = 2;
120*d5c09012SAndroid Build Coastguard Worker  }
121*d5c09012SAndroid Build Coastguard Worker
122*d5c09012SAndroid Build Coastguard Worker  // Parameters used in Dataproc JobType executions.
123*d5c09012SAndroid Build Coastguard Worker  message DataprocParameters {
124*d5c09012SAndroid Build Coastguard Worker    // URI for cluster used to run Dataproc execution.
125*d5c09012SAndroid Build Coastguard Worker    // Format: `projects/{PROJECT_ID}/regions/{REGION}/clusters/{CLUSTER_NAME}`
126*d5c09012SAndroid Build Coastguard Worker    string cluster = 1;
127*d5c09012SAndroid Build Coastguard Worker  }
128*d5c09012SAndroid Build Coastguard Worker
129*d5c09012SAndroid Build Coastguard Worker  // Parameters used in Vertex AI JobType executions.
130*d5c09012SAndroid Build Coastguard Worker  message VertexAIParameters {
131*d5c09012SAndroid Build Coastguard Worker    // The full name of the Compute Engine
132*d5c09012SAndroid Build Coastguard Worker    // [network](https://cloud.google.com/compute/docs/networks-and-firewalls#networks)
133*d5c09012SAndroid Build Coastguard Worker    // to which the Job should be peered. For example,
134*d5c09012SAndroid Build Coastguard Worker    // `projects/12345/global/networks/myVPC`.
135*d5c09012SAndroid Build Coastguard Worker    // [Format](https://cloud.google.com/compute/docs/reference/rest/v1/networks/insert)
136*d5c09012SAndroid Build Coastguard Worker    // is of the form `projects/{project}/global/networks/{network}`.
137*d5c09012SAndroid Build Coastguard Worker    // Where `{project}` is a project number, as in `12345`, and `{network}` is
138*d5c09012SAndroid Build Coastguard Worker    // a network name.
139*d5c09012SAndroid Build Coastguard Worker    //
140*d5c09012SAndroid Build Coastguard Worker    // Private services access must already be configured for the network. If
141*d5c09012SAndroid Build Coastguard Worker    // left unspecified, the job is not peered with any network.
142*d5c09012SAndroid Build Coastguard Worker    string network = 1;
143*d5c09012SAndroid Build Coastguard Worker
144*d5c09012SAndroid Build Coastguard Worker    // Environment variables.
145*d5c09012SAndroid Build Coastguard Worker    // At most 100 environment variables can be specified and unique.
146*d5c09012SAndroid Build Coastguard Worker    // Example: `GCP_BUCKET=gs://my-bucket/samples/`
147*d5c09012SAndroid Build Coastguard Worker    map<string, string> env = 2;
148*d5c09012SAndroid Build Coastguard Worker  }
149*d5c09012SAndroid Build Coastguard Worker
150*d5c09012SAndroid Build Coastguard Worker  // Required. Scale tier of the hardware used for notebook execution.
151*d5c09012SAndroid Build Coastguard Worker  // DEPRECATED Will be discontinued. As right now only CUSTOM is supported.
152*d5c09012SAndroid Build Coastguard Worker  ScaleTier scale_tier = 1 [
153*d5c09012SAndroid Build Coastguard Worker    deprecated = true,
154*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED
155*d5c09012SAndroid Build Coastguard Worker  ];
156*d5c09012SAndroid Build Coastguard Worker
157*d5c09012SAndroid Build Coastguard Worker  // Specifies the type of virtual machine to use for your training
158*d5c09012SAndroid Build Coastguard Worker  // job's master worker. You must specify this field when `scaleTier` is set to
159*d5c09012SAndroid Build Coastguard Worker  // `CUSTOM`.
160*d5c09012SAndroid Build Coastguard Worker  //
161*d5c09012SAndroid Build Coastguard Worker  // You can use certain Compute Engine machine types directly in this field.
162*d5c09012SAndroid Build Coastguard Worker  // The following types are supported:
163*d5c09012SAndroid Build Coastguard Worker  //
164*d5c09012SAndroid Build Coastguard Worker  // - `n1-standard-4`
165*d5c09012SAndroid Build Coastguard Worker  // - `n1-standard-8`
166*d5c09012SAndroid Build Coastguard Worker  // - `n1-standard-16`
167*d5c09012SAndroid Build Coastguard Worker  // - `n1-standard-32`
168*d5c09012SAndroid Build Coastguard Worker  // - `n1-standard-64`
169*d5c09012SAndroid Build Coastguard Worker  // - `n1-standard-96`
170*d5c09012SAndroid Build Coastguard Worker  // - `n1-highmem-2`
171*d5c09012SAndroid Build Coastguard Worker  // - `n1-highmem-4`
172*d5c09012SAndroid Build Coastguard Worker  // - `n1-highmem-8`
173*d5c09012SAndroid Build Coastguard Worker  // - `n1-highmem-16`
174*d5c09012SAndroid Build Coastguard Worker  // - `n1-highmem-32`
175*d5c09012SAndroid Build Coastguard Worker  // - `n1-highmem-64`
176*d5c09012SAndroid Build Coastguard Worker  // - `n1-highmem-96`
177*d5c09012SAndroid Build Coastguard Worker  // - `n1-highcpu-16`
178*d5c09012SAndroid Build Coastguard Worker  // - `n1-highcpu-32`
179*d5c09012SAndroid Build Coastguard Worker  // - `n1-highcpu-64`
180*d5c09012SAndroid Build Coastguard Worker  // - `n1-highcpu-96`
181*d5c09012SAndroid Build Coastguard Worker  //
182*d5c09012SAndroid Build Coastguard Worker  //
183*d5c09012SAndroid Build Coastguard Worker  // Alternatively, you can use the following legacy machine types:
184*d5c09012SAndroid Build Coastguard Worker  //
185*d5c09012SAndroid Build Coastguard Worker  // - `standard`
186*d5c09012SAndroid Build Coastguard Worker  // - `large_model`
187*d5c09012SAndroid Build Coastguard Worker  // - `complex_model_s`
188*d5c09012SAndroid Build Coastguard Worker  // - `complex_model_m`
189*d5c09012SAndroid Build Coastguard Worker  // - `complex_model_l`
190*d5c09012SAndroid Build Coastguard Worker  // - `standard_gpu`
191*d5c09012SAndroid Build Coastguard Worker  // - `complex_model_m_gpu`
192*d5c09012SAndroid Build Coastguard Worker  // - `complex_model_l_gpu`
193*d5c09012SAndroid Build Coastguard Worker  // - `standard_p100`
194*d5c09012SAndroid Build Coastguard Worker  // - `complex_model_m_p100`
195*d5c09012SAndroid Build Coastguard Worker  // - `standard_v100`
196*d5c09012SAndroid Build Coastguard Worker  // - `large_model_v100`
197*d5c09012SAndroid Build Coastguard Worker  // - `complex_model_m_v100`
198*d5c09012SAndroid Build Coastguard Worker  // - `complex_model_l_v100`
199*d5c09012SAndroid Build Coastguard Worker  //
200*d5c09012SAndroid Build Coastguard Worker  //
201*d5c09012SAndroid Build Coastguard Worker  // Finally, if you want to use a TPU for training, specify `cloud_tpu` in this
202*d5c09012SAndroid Build Coastguard Worker  // field. Learn more about the [special configuration options for training
203*d5c09012SAndroid Build Coastguard Worker  // with
204*d5c09012SAndroid Build Coastguard Worker  // TPU](https://cloud.google.com/ai-platform/training/docs/using-tpus#configuring_a_custom_tpu_machine).
205*d5c09012SAndroid Build Coastguard Worker  string master_type = 2;
206*d5c09012SAndroid Build Coastguard Worker
207*d5c09012SAndroid Build Coastguard Worker  // Configuration (count and accelerator type) for hardware running notebook
208*d5c09012SAndroid Build Coastguard Worker  // execution.
209*d5c09012SAndroid Build Coastguard Worker  SchedulerAcceleratorConfig accelerator_config = 3;
210*d5c09012SAndroid Build Coastguard Worker
211*d5c09012SAndroid Build Coastguard Worker  // Labels for execution.
212*d5c09012SAndroid Build Coastguard Worker  // If execution is scheduled, a field included will be 'nbs-scheduled'.
213*d5c09012SAndroid Build Coastguard Worker  // Otherwise, it is an immediate execution, and an included field will be
214*d5c09012SAndroid Build Coastguard Worker  // 'nbs-immediate'. Use fields to efficiently index between various types of
215*d5c09012SAndroid Build Coastguard Worker  // executions.
216*d5c09012SAndroid Build Coastguard Worker  map<string, string> labels = 4;
217*d5c09012SAndroid Build Coastguard Worker
218*d5c09012SAndroid Build Coastguard Worker  // Path to the notebook file to execute.
219*d5c09012SAndroid Build Coastguard Worker  // Must be in a Google Cloud Storage bucket.
220*d5c09012SAndroid Build Coastguard Worker  // Format: `gs://{bucket_name}/{folder}/{notebook_file_name}`
221*d5c09012SAndroid Build Coastguard Worker  // Ex: `gs://notebook_user/scheduled_notebooks/sentiment_notebook.ipynb`
222*d5c09012SAndroid Build Coastguard Worker  string input_notebook_file = 5;
223*d5c09012SAndroid Build Coastguard Worker
224*d5c09012SAndroid Build Coastguard Worker  // Container Image URI to a DLVM
225*d5c09012SAndroid Build Coastguard Worker  // Example: 'gcr.io/deeplearning-platform-release/base-cu100'
226*d5c09012SAndroid Build Coastguard Worker  // More examples can be found at:
227*d5c09012SAndroid Build Coastguard Worker  // https://cloud.google.com/ai-platform/deep-learning-containers/docs/choosing-container
228*d5c09012SAndroid Build Coastguard Worker  string container_image_uri = 6;
229*d5c09012SAndroid Build Coastguard Worker
230*d5c09012SAndroid Build Coastguard Worker  // Path to the notebook folder to write to.
231*d5c09012SAndroid Build Coastguard Worker  // Must be in a Google Cloud Storage bucket path.
232*d5c09012SAndroid Build Coastguard Worker  // Format: `gs://{bucket_name}/{folder}`
233*d5c09012SAndroid Build Coastguard Worker  // Ex: `gs://notebook_user/scheduled_notebooks`
234*d5c09012SAndroid Build Coastguard Worker  string output_notebook_folder = 7;
235*d5c09012SAndroid Build Coastguard Worker
236*d5c09012SAndroid Build Coastguard Worker  // Parameters to be overridden in the notebook during execution.
237*d5c09012SAndroid Build Coastguard Worker  // Ref https://papermill.readthedocs.io/en/latest/usage-parameterize.html on
238*d5c09012SAndroid Build Coastguard Worker  // how to specifying parameters in the input notebook and pass them here
239*d5c09012SAndroid Build Coastguard Worker  // in an YAML file.
240*d5c09012SAndroid Build Coastguard Worker  // Ex: `gs://notebook_user/scheduled_notebooks/sentiment_notebook_params.yaml`
241*d5c09012SAndroid Build Coastguard Worker  string params_yaml_file = 8;
242*d5c09012SAndroid Build Coastguard Worker
243*d5c09012SAndroid Build Coastguard Worker  // Parameters used within the 'input_notebook_file' notebook.
244*d5c09012SAndroid Build Coastguard Worker  string parameters = 9;
245*d5c09012SAndroid Build Coastguard Worker
246*d5c09012SAndroid Build Coastguard Worker  // The email address of a service account to use when running the execution.
247*d5c09012SAndroid Build Coastguard Worker  // You must have the `iam.serviceAccounts.actAs` permission for the specified
248*d5c09012SAndroid Build Coastguard Worker  // service account.
249*d5c09012SAndroid Build Coastguard Worker  string service_account = 10;
250*d5c09012SAndroid Build Coastguard Worker
251*d5c09012SAndroid Build Coastguard Worker  // The type of Job to be used on this execution.
252*d5c09012SAndroid Build Coastguard Worker  JobType job_type = 11;
253*d5c09012SAndroid Build Coastguard Worker
254*d5c09012SAndroid Build Coastguard Worker  // Parameters for an execution type.
255*d5c09012SAndroid Build Coastguard Worker  // NOTE: There are currently no extra parameters for VertexAI jobs.
256*d5c09012SAndroid Build Coastguard Worker  oneof job_parameters {
257*d5c09012SAndroid Build Coastguard Worker    // Parameters used in Dataproc JobType executions.
258*d5c09012SAndroid Build Coastguard Worker    DataprocParameters dataproc_parameters = 12;
259*d5c09012SAndroid Build Coastguard Worker
260*d5c09012SAndroid Build Coastguard Worker    // Parameters used in Vertex AI JobType executions.
261*d5c09012SAndroid Build Coastguard Worker    VertexAIParameters vertex_ai_parameters = 13;
262*d5c09012SAndroid Build Coastguard Worker  }
263*d5c09012SAndroid Build Coastguard Worker
264*d5c09012SAndroid Build Coastguard Worker  // Name of the kernel spec to use. This must be specified if the
265*d5c09012SAndroid Build Coastguard Worker  // kernel spec name on the execution target does not match the name in the
266*d5c09012SAndroid Build Coastguard Worker  // input notebook file.
267*d5c09012SAndroid Build Coastguard Worker  string kernel_spec = 14;
268*d5c09012SAndroid Build Coastguard Worker
269*d5c09012SAndroid Build Coastguard Worker  // The name of a Vertex AI [Tensorboard] resource to which this execution
270*d5c09012SAndroid Build Coastguard Worker  // will upload Tensorboard logs.
271*d5c09012SAndroid Build Coastguard Worker  // Format:
272*d5c09012SAndroid Build Coastguard Worker  // `projects/{project}/locations/{location}/tensorboards/{tensorboard}`
273*d5c09012SAndroid Build Coastguard Worker  string tensorboard = 15 [(google.api.resource_reference) = {
274*d5c09012SAndroid Build Coastguard Worker                             type: "aiplatform.googleapis.com/Tensorboard"
275*d5c09012SAndroid Build Coastguard Worker                           }];
276*d5c09012SAndroid Build Coastguard Worker}
277*d5c09012SAndroid Build Coastguard Worker
278*d5c09012SAndroid Build Coastguard Worker// The definition of a single executed notebook.
279*d5c09012SAndroid Build Coastguard Workermessage Execution {
280*d5c09012SAndroid Build Coastguard Worker  option (google.api.resource) = {
281*d5c09012SAndroid Build Coastguard Worker    type: "notebooks.googleapis.com/Execution"
282*d5c09012SAndroid Build Coastguard Worker    pattern: "projects/{project}/location/{location}/executions/{execution}"
283*d5c09012SAndroid Build Coastguard Worker  };
284*d5c09012SAndroid Build Coastguard Worker
285*d5c09012SAndroid Build Coastguard Worker  // Enum description of the state of the underlying AIP job.
286*d5c09012SAndroid Build Coastguard Worker  enum State {
287*d5c09012SAndroid Build Coastguard Worker    // The job state is unspecified.
288*d5c09012SAndroid Build Coastguard Worker    STATE_UNSPECIFIED = 0;
289*d5c09012SAndroid Build Coastguard Worker
290*d5c09012SAndroid Build Coastguard Worker    // The job has been just created and processing has not yet begun.
291*d5c09012SAndroid Build Coastguard Worker    QUEUED = 1;
292*d5c09012SAndroid Build Coastguard Worker
293*d5c09012SAndroid Build Coastguard Worker    // The service is preparing to execution the job.
294*d5c09012SAndroid Build Coastguard Worker    PREPARING = 2;
295*d5c09012SAndroid Build Coastguard Worker
296*d5c09012SAndroid Build Coastguard Worker    // The job is in progress.
297*d5c09012SAndroid Build Coastguard Worker    RUNNING = 3;
298*d5c09012SAndroid Build Coastguard Worker
299*d5c09012SAndroid Build Coastguard Worker    // The job completed successfully.
300*d5c09012SAndroid Build Coastguard Worker    SUCCEEDED = 4;
301*d5c09012SAndroid Build Coastguard Worker
302*d5c09012SAndroid Build Coastguard Worker    // The job failed.
303*d5c09012SAndroid Build Coastguard Worker    // `error_message` should contain the details of the failure.
304*d5c09012SAndroid Build Coastguard Worker    FAILED = 5;
305*d5c09012SAndroid Build Coastguard Worker
306*d5c09012SAndroid Build Coastguard Worker    // The job is being cancelled.
307*d5c09012SAndroid Build Coastguard Worker    // `error_message` should describe the reason for the cancellation.
308*d5c09012SAndroid Build Coastguard Worker    CANCELLING = 6;
309*d5c09012SAndroid Build Coastguard Worker
310*d5c09012SAndroid Build Coastguard Worker    // The job has been cancelled.
311*d5c09012SAndroid Build Coastguard Worker    // `error_message` should describe the reason for the cancellation.
312*d5c09012SAndroid Build Coastguard Worker    CANCELLED = 7;
313*d5c09012SAndroid Build Coastguard Worker
314*d5c09012SAndroid Build Coastguard Worker    // The job has become expired (relevant to Vertex AI jobs)
315*d5c09012SAndroid Build Coastguard Worker    // https://cloud.google.com/vertex-ai/docs/reference/rest/v1/JobState
316*d5c09012SAndroid Build Coastguard Worker    EXPIRED = 9;
317*d5c09012SAndroid Build Coastguard Worker
318*d5c09012SAndroid Build Coastguard Worker    // The Execution is being created.
319*d5c09012SAndroid Build Coastguard Worker    INITIALIZING = 10;
320*d5c09012SAndroid Build Coastguard Worker  }
321*d5c09012SAndroid Build Coastguard Worker
322*d5c09012SAndroid Build Coastguard Worker  // execute metadata including name, hardware spec, region, labels, etc.
323*d5c09012SAndroid Build Coastguard Worker  ExecutionTemplate execution_template = 1;
324*d5c09012SAndroid Build Coastguard Worker
325*d5c09012SAndroid Build Coastguard Worker  // Output only. The resource name of the execute. Format:
326*d5c09012SAndroid Build Coastguard Worker  // `projects/{project_id}/locations/{location}/executions/{execution_id}`
327*d5c09012SAndroid Build Coastguard Worker  string name = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
328*d5c09012SAndroid Build Coastguard Worker
329*d5c09012SAndroid Build Coastguard Worker  // Output only. Name used for UI purposes.
330*d5c09012SAndroid Build Coastguard Worker  // Name can only contain alphanumeric characters and underscores '_'.
331*d5c09012SAndroid Build Coastguard Worker  string display_name = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
332*d5c09012SAndroid Build Coastguard Worker
333*d5c09012SAndroid Build Coastguard Worker  // A brief description of this execution.
334*d5c09012SAndroid Build Coastguard Worker  string description = 4;
335*d5c09012SAndroid Build Coastguard Worker
336*d5c09012SAndroid Build Coastguard Worker  // Output only. Time the Execution was instantiated.
337*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp create_time = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
338*d5c09012SAndroid Build Coastguard Worker
339*d5c09012SAndroid Build Coastguard Worker  // Output only. Time the Execution was last updated.
340*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp update_time = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
341*d5c09012SAndroid Build Coastguard Worker
342*d5c09012SAndroid Build Coastguard Worker  // Output only. State of the underlying AI Platform job.
343*d5c09012SAndroid Build Coastguard Worker  State state = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
344*d5c09012SAndroid Build Coastguard Worker
345*d5c09012SAndroid Build Coastguard Worker  // Output notebook file generated by this execution
346*d5c09012SAndroid Build Coastguard Worker  string output_notebook_file = 8;
347*d5c09012SAndroid Build Coastguard Worker
348*d5c09012SAndroid Build Coastguard Worker  // Output only. The URI of the external job used to execute the notebook.
349*d5c09012SAndroid Build Coastguard Worker  string job_uri = 9 [(google.api.field_behavior) = OUTPUT_ONLY];
350*d5c09012SAndroid Build Coastguard Worker}
351