xref: /aosp_15_r20/external/googleapis/google/cloud/notebooks/v2/instance.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.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