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.v2; 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/cloud/notebooks/v2/gce_setup.proto"; 22*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/timestamp.proto"; 23*d5c09012SAndroid Build Coastguard Worker 24*d5c09012SAndroid Build Coastguard Workeroption csharp_namespace = "Google.Cloud.Notebooks.V2"; 25*d5c09012SAndroid Build Coastguard Workeroption go_package = "cloud.google.com/go/notebooks/apiv2/notebookspb;notebookspb"; 26*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true; 27*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "InstanceProto"; 28*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.cloud.notebooks.v2"; 29*d5c09012SAndroid Build Coastguard Workeroption php_namespace = "Google\\Cloud\\Notebooks\\V2"; 30*d5c09012SAndroid Build Coastguard Workeroption ruby_package = "Google::Cloud::Notebooks::V2"; 31*d5c09012SAndroid Build Coastguard Worker 32*d5c09012SAndroid Build Coastguard Worker// The entry of VM image upgrade history. 33*d5c09012SAndroid Build Coastguard Workermessage UpgradeHistoryEntry { 34*d5c09012SAndroid Build Coastguard Worker // The definition of the states of this upgrade history entry. 35*d5c09012SAndroid Build Coastguard Worker enum State { 36*d5c09012SAndroid Build Coastguard Worker // State is not specified. 37*d5c09012SAndroid Build Coastguard Worker STATE_UNSPECIFIED = 0; 38*d5c09012SAndroid Build Coastguard Worker 39*d5c09012SAndroid Build Coastguard Worker // The instance upgrade is started. 40*d5c09012SAndroid Build Coastguard Worker STARTED = 1; 41*d5c09012SAndroid Build Coastguard Worker 42*d5c09012SAndroid Build Coastguard Worker // The instance upgrade is succeeded. 43*d5c09012SAndroid Build Coastguard Worker SUCCEEDED = 2; 44*d5c09012SAndroid Build Coastguard Worker 45*d5c09012SAndroid Build Coastguard Worker // The instance upgrade is failed. 46*d5c09012SAndroid Build Coastguard Worker FAILED = 3; 47*d5c09012SAndroid Build Coastguard Worker } 48*d5c09012SAndroid Build Coastguard Worker 49*d5c09012SAndroid Build Coastguard Worker // The definition of operations of this upgrade history entry. 50*d5c09012SAndroid Build Coastguard Worker enum Action { 51*d5c09012SAndroid Build Coastguard Worker // Operation is not specified. 52*d5c09012SAndroid Build Coastguard Worker ACTION_UNSPECIFIED = 0; 53*d5c09012SAndroid Build Coastguard Worker 54*d5c09012SAndroid Build Coastguard Worker // Upgrade. 55*d5c09012SAndroid Build Coastguard Worker UPGRADE = 1; 56*d5c09012SAndroid Build Coastguard Worker 57*d5c09012SAndroid Build Coastguard Worker // Rollback. 58*d5c09012SAndroid Build Coastguard Worker ROLLBACK = 2; 59*d5c09012SAndroid Build Coastguard Worker } 60*d5c09012SAndroid Build Coastguard Worker 61*d5c09012SAndroid Build Coastguard Worker // Optional. The snapshot of the boot disk of this notebook instance before 62*d5c09012SAndroid Build Coastguard Worker // upgrade. 63*d5c09012SAndroid Build Coastguard Worker string snapshot = 1 [(google.api.field_behavior) = OPTIONAL]; 64*d5c09012SAndroid Build Coastguard Worker 65*d5c09012SAndroid Build Coastguard Worker // Optional. The VM image before this instance upgrade. 66*d5c09012SAndroid Build Coastguard Worker string vm_image = 2 [(google.api.field_behavior) = OPTIONAL]; 67*d5c09012SAndroid Build Coastguard Worker 68*d5c09012SAndroid Build Coastguard Worker // Optional. The container image before this instance upgrade. 69*d5c09012SAndroid Build Coastguard Worker string container_image = 3 [(google.api.field_behavior) = OPTIONAL]; 70*d5c09012SAndroid Build Coastguard Worker 71*d5c09012SAndroid Build Coastguard Worker // Optional. The framework of this notebook instance. 72*d5c09012SAndroid Build Coastguard Worker string framework = 4 [(google.api.field_behavior) = OPTIONAL]; 73*d5c09012SAndroid Build Coastguard Worker 74*d5c09012SAndroid Build Coastguard Worker // Optional. The version of the notebook instance before this upgrade. 75*d5c09012SAndroid Build Coastguard Worker string version = 5 [(google.api.field_behavior) = OPTIONAL]; 76*d5c09012SAndroid Build Coastguard Worker 77*d5c09012SAndroid Build Coastguard Worker // Output only. The state of this instance upgrade history entry. 78*d5c09012SAndroid Build Coastguard Worker State state = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; 79*d5c09012SAndroid Build Coastguard Worker 80*d5c09012SAndroid Build Coastguard Worker // Immutable. The time that this instance upgrade history entry is created. 81*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp create_time = 7 82*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = IMMUTABLE]; 83*d5c09012SAndroid Build Coastguard Worker 84*d5c09012SAndroid Build Coastguard Worker // Optional. Action. Rolloback or Upgrade. 85*d5c09012SAndroid Build Coastguard Worker Action action = 8 [(google.api.field_behavior) = OPTIONAL]; 86*d5c09012SAndroid Build Coastguard Worker 87*d5c09012SAndroid Build Coastguard Worker // Optional. Target VM Version, like m63. 88*d5c09012SAndroid Build Coastguard Worker string target_version = 9 [(google.api.field_behavior) = OPTIONAL]; 89*d5c09012SAndroid Build Coastguard Worker} 90*d5c09012SAndroid Build Coastguard Worker 91*d5c09012SAndroid Build Coastguard Worker// The definition of a notebook instance. 92*d5c09012SAndroid Build Coastguard Workermessage Instance { 93*d5c09012SAndroid Build Coastguard Worker option (google.api.resource) = { 94*d5c09012SAndroid Build Coastguard Worker type: "notebooks.googleapis.com/Instance" 95*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/locations/{location}/instances/{instance}" 96*d5c09012SAndroid Build Coastguard Worker plural: "instances" 97*d5c09012SAndroid Build Coastguard Worker singular: "instance" 98*d5c09012SAndroid Build Coastguard Worker }; 99*d5c09012SAndroid Build Coastguard Worker 100*d5c09012SAndroid Build Coastguard Worker // Output only. The name of this notebook instance. Format: 101*d5c09012SAndroid Build Coastguard Worker // `projects/{project_id}/locations/{location}/instances/{instance_id}` 102*d5c09012SAndroid Build Coastguard Worker string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; 103*d5c09012SAndroid Build Coastguard Worker 104*d5c09012SAndroid Build Coastguard Worker // Setup for the Notebook instance. 105*d5c09012SAndroid Build Coastguard Worker oneof infrastructure { 106*d5c09012SAndroid Build Coastguard Worker // Optional. Compute Engine setup for the notebook. Uses notebook-defined 107*d5c09012SAndroid Build Coastguard Worker // fields. 108*d5c09012SAndroid Build Coastguard Worker GceSetup gce_setup = 2 [(google.api.field_behavior) = OPTIONAL]; 109*d5c09012SAndroid Build Coastguard Worker } 110*d5c09012SAndroid Build Coastguard Worker 111*d5c09012SAndroid Build Coastguard Worker // Output only. The proxy endpoint that is used to access the Jupyter 112*d5c09012SAndroid Build Coastguard Worker // notebook. 113*d5c09012SAndroid Build Coastguard Worker string proxy_uri = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; 114*d5c09012SAndroid Build Coastguard Worker 115*d5c09012SAndroid Build Coastguard Worker // Optional. Input only. The owner of this instance after creation. Format: 116*d5c09012SAndroid Build Coastguard Worker // `[email protected]` 117*d5c09012SAndroid Build Coastguard Worker // 118*d5c09012SAndroid Build Coastguard Worker // Currently supports one owner only. If not specified, all of the service 119*d5c09012SAndroid Build Coastguard Worker // account users of your VM instance's service account can use 120*d5c09012SAndroid Build Coastguard Worker // the instance. 121*d5c09012SAndroid Build Coastguard Worker repeated string instance_owners = 4 [ 122*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = INPUT_ONLY, 123*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = OPTIONAL 124*d5c09012SAndroid Build Coastguard Worker ]; 125*d5c09012SAndroid Build Coastguard Worker 126*d5c09012SAndroid Build Coastguard Worker // Output only. Email address of entity that sent original CreateInstance 127*d5c09012SAndroid Build Coastguard Worker // request. 128*d5c09012SAndroid Build Coastguard Worker string creator = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; 129*d5c09012SAndroid Build Coastguard Worker 130*d5c09012SAndroid Build Coastguard Worker // Output only. The state of this instance. 131*d5c09012SAndroid Build Coastguard Worker State state = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; 132*d5c09012SAndroid Build Coastguard Worker 133*d5c09012SAndroid Build Coastguard Worker // Output only. The upgrade history of this instance. 134*d5c09012SAndroid Build Coastguard Worker repeated UpgradeHistoryEntry upgrade_history = 7 135*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 136*d5c09012SAndroid Build Coastguard Worker 137*d5c09012SAndroid Build Coastguard Worker // Output only. Unique ID of the resource. 138*d5c09012SAndroid Build Coastguard Worker string id = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; 139*d5c09012SAndroid Build Coastguard Worker 140*d5c09012SAndroid Build Coastguard Worker // Output only. Instance health_state. 141*d5c09012SAndroid Build Coastguard Worker HealthState health_state = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; 142*d5c09012SAndroid Build Coastguard Worker 143*d5c09012SAndroid Build Coastguard Worker // Output only. Additional information about instance health. 144*d5c09012SAndroid Build Coastguard Worker // Example: 145*d5c09012SAndroid Build Coastguard Worker // 146*d5c09012SAndroid Build Coastguard Worker // healthInfo": { 147*d5c09012SAndroid Build Coastguard Worker // "docker_proxy_agent_status": "1", 148*d5c09012SAndroid Build Coastguard Worker // "docker_status": "1", 149*d5c09012SAndroid Build Coastguard Worker // "jupyterlab_api_status": "-1", 150*d5c09012SAndroid Build Coastguard Worker // "jupyterlab_status": "-1", 151*d5c09012SAndroid Build Coastguard Worker // "updated": "2020-10-18 09:40:03.573409" 152*d5c09012SAndroid Build Coastguard Worker // } 153*d5c09012SAndroid Build Coastguard Worker map<string, string> health_info = 10 154*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 155*d5c09012SAndroid Build Coastguard Worker 156*d5c09012SAndroid Build Coastguard Worker // Output only. Instance creation time. 157*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp create_time = 11 158*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 159*d5c09012SAndroid Build Coastguard Worker 160*d5c09012SAndroid Build Coastguard Worker // Output only. Instance update time. 161*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp update_time = 12 162*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 163*d5c09012SAndroid Build Coastguard Worker 164*d5c09012SAndroid Build Coastguard Worker // Optional. If true, the notebook instance will not register with the proxy. 165*d5c09012SAndroid Build Coastguard Worker bool disable_proxy_access = 13 [(google.api.field_behavior) = OPTIONAL]; 166*d5c09012SAndroid Build Coastguard Worker 167*d5c09012SAndroid Build Coastguard Worker // Optional. Labels to apply to this instance. 168*d5c09012SAndroid Build Coastguard Worker // These can be later modified by the UpdateInstance method. 169*d5c09012SAndroid Build Coastguard Worker map<string, string> labels = 14 [(google.api.field_behavior) = OPTIONAL]; 170*d5c09012SAndroid Build Coastguard Worker} 171*d5c09012SAndroid Build Coastguard Worker 172*d5c09012SAndroid Build Coastguard Worker// The definition of the states of this instance. 173*d5c09012SAndroid Build Coastguard Workerenum State { 174*d5c09012SAndroid Build Coastguard Worker // State is not specified. 175*d5c09012SAndroid Build Coastguard Worker STATE_UNSPECIFIED = 0; 176*d5c09012SAndroid Build Coastguard Worker 177*d5c09012SAndroid Build Coastguard Worker // The control logic is starting the instance. 178*d5c09012SAndroid Build Coastguard Worker STARTING = 1; 179*d5c09012SAndroid Build Coastguard Worker 180*d5c09012SAndroid Build Coastguard Worker // The control logic is installing required frameworks and registering the 181*d5c09012SAndroid Build Coastguard Worker // instance with notebook proxy 182*d5c09012SAndroid Build Coastguard Worker PROVISIONING = 2; 183*d5c09012SAndroid Build Coastguard Worker 184*d5c09012SAndroid Build Coastguard Worker // The instance is running. 185*d5c09012SAndroid Build Coastguard Worker ACTIVE = 3; 186*d5c09012SAndroid Build Coastguard Worker 187*d5c09012SAndroid Build Coastguard Worker // The control logic is stopping the instance. 188*d5c09012SAndroid Build Coastguard Worker STOPPING = 4; 189*d5c09012SAndroid Build Coastguard Worker 190*d5c09012SAndroid Build Coastguard Worker // The instance is stopped. 191*d5c09012SAndroid Build Coastguard Worker STOPPED = 5; 192*d5c09012SAndroid Build Coastguard Worker 193*d5c09012SAndroid Build Coastguard Worker // The instance is deleted. 194*d5c09012SAndroid Build Coastguard Worker DELETED = 6; 195*d5c09012SAndroid Build Coastguard Worker 196*d5c09012SAndroid Build Coastguard Worker // The instance is upgrading. 197*d5c09012SAndroid Build Coastguard Worker UPGRADING = 7; 198*d5c09012SAndroid Build Coastguard Worker 199*d5c09012SAndroid Build Coastguard Worker // The instance is being created. 200*d5c09012SAndroid Build Coastguard Worker INITIALIZING = 8; 201*d5c09012SAndroid Build Coastguard Worker 202*d5c09012SAndroid Build Coastguard Worker // The instance is suspending. 203*d5c09012SAndroid Build Coastguard Worker SUSPENDING = 9; 204*d5c09012SAndroid Build Coastguard Worker 205*d5c09012SAndroid Build Coastguard Worker // The instance is suspended. 206*d5c09012SAndroid Build Coastguard Worker SUSPENDED = 10; 207*d5c09012SAndroid Build Coastguard Worker} 208*d5c09012SAndroid Build Coastguard Worker 209*d5c09012SAndroid Build Coastguard Worker// The instance health state. 210*d5c09012SAndroid Build Coastguard Workerenum HealthState { 211*d5c09012SAndroid Build Coastguard Worker // The instance substate is unknown. 212*d5c09012SAndroid Build Coastguard Worker HEALTH_STATE_UNSPECIFIED = 0; 213*d5c09012SAndroid Build Coastguard Worker 214*d5c09012SAndroid Build Coastguard Worker // The instance is known to be in an healthy state 215*d5c09012SAndroid Build Coastguard Worker // (for example, critical daemons are running) 216*d5c09012SAndroid Build Coastguard Worker // Applies to ACTIVE state. 217*d5c09012SAndroid Build Coastguard Worker HEALTHY = 1; 218*d5c09012SAndroid Build Coastguard Worker 219*d5c09012SAndroid Build Coastguard Worker // The instance is known to be in an unhealthy state 220*d5c09012SAndroid Build Coastguard Worker // (for example, critical daemons are not running) 221*d5c09012SAndroid Build Coastguard Worker // Applies to ACTIVE state. 222*d5c09012SAndroid Build Coastguard Worker UNHEALTHY = 2; 223*d5c09012SAndroid Build Coastguard Worker 224*d5c09012SAndroid Build Coastguard Worker // The instance has not installed health monitoring agent. 225*d5c09012SAndroid Build Coastguard Worker // Applies to ACTIVE state. 226*d5c09012SAndroid Build Coastguard Worker AGENT_NOT_INSTALLED = 3; 227*d5c09012SAndroid Build Coastguard Worker 228*d5c09012SAndroid Build Coastguard Worker // The instance health monitoring agent is not running. 229*d5c09012SAndroid Build Coastguard Worker // Applies to ACTIVE state. 230*d5c09012SAndroid Build Coastguard Worker AGENT_NOT_RUNNING = 4; 231*d5c09012SAndroid Build Coastguard Worker} 232