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 csharp_namespace = "Google.Cloud.Notebooks.V1"; 24*d5c09012SAndroid Build Coastguard Workeroption go_package = "cloud.google.com/go/notebooks/apiv1/notebookspb;notebookspb"; 25*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true; 26*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "EnvironmentProto"; 27*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.cloud.notebooks.v1"; 28*d5c09012SAndroid Build Coastguard Workeroption php_namespace = "Google\\Cloud\\Notebooks\\V1"; 29*d5c09012SAndroid Build Coastguard Workeroption ruby_package = "Google::Cloud::Notebooks::V1"; 30*d5c09012SAndroid Build Coastguard Worker 31*d5c09012SAndroid Build Coastguard Worker// Definition of a software environment that is used to start a notebook 32*d5c09012SAndroid Build Coastguard Worker// instance. 33*d5c09012SAndroid Build Coastguard Workermessage Environment { 34*d5c09012SAndroid Build Coastguard Worker option (google.api.resource) = { 35*d5c09012SAndroid Build Coastguard Worker type: "notebooks.googleapis.com/Environment" 36*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/environments/{environment}" 37*d5c09012SAndroid Build Coastguard Worker }; 38*d5c09012SAndroid Build Coastguard Worker 39*d5c09012SAndroid Build Coastguard Worker // Output only. Name of this environment. 40*d5c09012SAndroid Build Coastguard Worker // Format: 41*d5c09012SAndroid Build Coastguard Worker // `projects/{project_id}/locations/{location}/environments/{environment_id}` 42*d5c09012SAndroid Build Coastguard Worker string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; 43*d5c09012SAndroid Build Coastguard Worker 44*d5c09012SAndroid Build Coastguard Worker // Display name of this environment for the UI. 45*d5c09012SAndroid Build Coastguard Worker string display_name = 2; 46*d5c09012SAndroid Build Coastguard Worker 47*d5c09012SAndroid Build Coastguard Worker // A brief description of this environment. 48*d5c09012SAndroid Build Coastguard Worker string description = 3; 49*d5c09012SAndroid Build Coastguard Worker 50*d5c09012SAndroid Build Coastguard Worker // Type of the environment; can be one of VM image, or container image. 51*d5c09012SAndroid Build Coastguard Worker oneof image_type { 52*d5c09012SAndroid Build Coastguard Worker // Use a Compute Engine VM image to start the notebook instance. 53*d5c09012SAndroid Build Coastguard Worker VmImage vm_image = 6; 54*d5c09012SAndroid Build Coastguard Worker 55*d5c09012SAndroid Build Coastguard Worker // Use a container image to start the notebook instance. 56*d5c09012SAndroid Build Coastguard Worker ContainerImage container_image = 7; 57*d5c09012SAndroid Build Coastguard Worker } 58*d5c09012SAndroid Build Coastguard Worker 59*d5c09012SAndroid Build Coastguard Worker // Path to a Bash script that automatically runs after a notebook instance 60*d5c09012SAndroid Build Coastguard Worker // fully boots up. The path must be a URL or 61*d5c09012SAndroid Build Coastguard Worker // Cloud Storage path. Example: `"gs://path-to-file/file-name"` 62*d5c09012SAndroid Build Coastguard Worker string post_startup_script = 8; 63*d5c09012SAndroid Build Coastguard Worker 64*d5c09012SAndroid Build Coastguard Worker // Output only. The time at which this environment was created. 65*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp create_time = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; 66*d5c09012SAndroid Build Coastguard Worker} 67*d5c09012SAndroid Build Coastguard Worker 68*d5c09012SAndroid Build Coastguard Worker// Definition of a custom Compute Engine virtual machine image for starting a 69*d5c09012SAndroid Build Coastguard Worker// notebook instance with the environment installed directly on the VM. 70*d5c09012SAndroid Build Coastguard Workermessage VmImage { 71*d5c09012SAndroid Build Coastguard Worker // Required. The name of the Google Cloud project that this VM image belongs to. 72*d5c09012SAndroid Build Coastguard Worker // Format: `{project_id}` 73*d5c09012SAndroid Build Coastguard Worker string project = 1 [(google.api.field_behavior) = REQUIRED]; 74*d5c09012SAndroid Build Coastguard Worker 75*d5c09012SAndroid Build Coastguard Worker // The reference to an external Compute Engine VM image. 76*d5c09012SAndroid Build Coastguard Worker oneof image { 77*d5c09012SAndroid Build Coastguard Worker // Use VM image name to find the image. 78*d5c09012SAndroid Build Coastguard Worker string image_name = 2; 79*d5c09012SAndroid Build Coastguard Worker 80*d5c09012SAndroid Build Coastguard Worker // Use this VM image family to find the image; the newest image in this 81*d5c09012SAndroid Build Coastguard Worker // family will be used. 82*d5c09012SAndroid Build Coastguard Worker string image_family = 3; 83*d5c09012SAndroid Build Coastguard Worker } 84*d5c09012SAndroid Build Coastguard Worker} 85*d5c09012SAndroid Build Coastguard Worker 86*d5c09012SAndroid Build Coastguard Worker// Definition of a container image for starting a notebook instance with the 87*d5c09012SAndroid Build Coastguard Worker// environment installed in a container. 88*d5c09012SAndroid Build Coastguard Workermessage ContainerImage { 89*d5c09012SAndroid Build Coastguard Worker // Required. The path to the container image repository. For example: 90*d5c09012SAndroid Build Coastguard Worker // `gcr.io/{project_id}/{image_name}` 91*d5c09012SAndroid Build Coastguard Worker string repository = 1 [(google.api.field_behavior) = REQUIRED]; 92*d5c09012SAndroid Build Coastguard Worker 93*d5c09012SAndroid Build Coastguard Worker // The tag of the container image. If not specified, this defaults 94*d5c09012SAndroid Build Coastguard Worker // to the latest tag. 95*d5c09012SAndroid Build Coastguard Worker string tag = 2; 96*d5c09012SAndroid Build Coastguard Worker} 97