xref: /aosp_15_r20/external/googleapis/google/cloud/notebooks/v2/service.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/annotations.proto";
20*d5c09012SAndroid Build Coastguard Workerimport "google/api/client.proto";
21*d5c09012SAndroid Build Coastguard Workerimport "google/api/field_behavior.proto";
22*d5c09012SAndroid Build Coastguard Workerimport "google/api/resource.proto";
23*d5c09012SAndroid Build Coastguard Workerimport "google/cloud/notebooks/v2/diagnostic_config.proto";
24*d5c09012SAndroid Build Coastguard Workerimport "google/cloud/notebooks/v2/instance.proto";
25*d5c09012SAndroid Build Coastguard Workerimport "google/longrunning/operations.proto";
26*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/empty.proto";
27*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/field_mask.proto";
28*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/timestamp.proto";
29*d5c09012SAndroid Build Coastguard Worker
30*d5c09012SAndroid Build Coastguard Workeroption csharp_namespace = "Google.Cloud.Notebooks.V2";
31*d5c09012SAndroid Build Coastguard Workeroption go_package = "cloud.google.com/go/notebooks/apiv2/notebookspb;notebookspb";
32*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true;
33*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "ServiceProto";
34*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.cloud.notebooks.v2";
35*d5c09012SAndroid Build Coastguard Workeroption php_namespace = "Google\\Cloud\\Notebooks\\V2";
36*d5c09012SAndroid Build Coastguard Workeroption ruby_package = "Google::Cloud::Notebooks::V2";
37*d5c09012SAndroid Build Coastguard Worker
38*d5c09012SAndroid Build Coastguard Worker// API v2 service for Workbench Notebooks Instances.
39*d5c09012SAndroid Build Coastguard Workerservice NotebookService {
40*d5c09012SAndroid Build Coastguard Worker  option (google.api.default_host) = "notebooks.googleapis.com";
41*d5c09012SAndroid Build Coastguard Worker  option (google.api.oauth_scopes) =
42*d5c09012SAndroid Build Coastguard Worker      "https://www.googleapis.com/auth/cloud-platform";
43*d5c09012SAndroid Build Coastguard Worker
44*d5c09012SAndroid Build Coastguard Worker  // Lists instances in a given project and location.
45*d5c09012SAndroid Build Coastguard Worker  rpc ListInstances(ListInstancesRequest) returns (ListInstancesResponse) {
46*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
47*d5c09012SAndroid Build Coastguard Worker      get: "/v2/{parent=projects/*/locations/*}/instances"
48*d5c09012SAndroid Build Coastguard Worker    };
49*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "parent";
50*d5c09012SAndroid Build Coastguard Worker  }
51*d5c09012SAndroid Build Coastguard Worker
52*d5c09012SAndroid Build Coastguard Worker  // Gets details of a single Instance.
53*d5c09012SAndroid Build Coastguard Worker  rpc GetInstance(GetInstanceRequest) returns (Instance) {
54*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
55*d5c09012SAndroid Build Coastguard Worker      get: "/v2/{name=projects/*/locations/*/instances/*}"
56*d5c09012SAndroid Build Coastguard Worker    };
57*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "name";
58*d5c09012SAndroid Build Coastguard Worker  }
59*d5c09012SAndroid Build Coastguard Worker
60*d5c09012SAndroid Build Coastguard Worker  // Creates a new Instance in a given project and location.
61*d5c09012SAndroid Build Coastguard Worker  rpc CreateInstance(CreateInstanceRequest)
62*d5c09012SAndroid Build Coastguard Worker      returns (google.longrunning.Operation) {
63*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
64*d5c09012SAndroid Build Coastguard Worker      post: "/v2/{parent=projects/*/locations/*}/instances"
65*d5c09012SAndroid Build Coastguard Worker      body: "instance"
66*d5c09012SAndroid Build Coastguard Worker    };
67*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "parent,instance,instance_id";
68*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
69*d5c09012SAndroid Build Coastguard Worker      response_type: "Instance"
70*d5c09012SAndroid Build Coastguard Worker      metadata_type: "OperationMetadata"
71*d5c09012SAndroid Build Coastguard Worker    };
72*d5c09012SAndroid Build Coastguard Worker  }
73*d5c09012SAndroid Build Coastguard Worker
74*d5c09012SAndroid Build Coastguard Worker  // UpdateInstance updates an Instance.
75*d5c09012SAndroid Build Coastguard Worker  rpc UpdateInstance(UpdateInstanceRequest)
76*d5c09012SAndroid Build Coastguard Worker      returns (google.longrunning.Operation) {
77*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
78*d5c09012SAndroid Build Coastguard Worker      patch: "/v2/{instance.name=projects/*/locations/*/instances/*}"
79*d5c09012SAndroid Build Coastguard Worker      body: "instance"
80*d5c09012SAndroid Build Coastguard Worker    };
81*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "instance,update_mask";
82*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
83*d5c09012SAndroid Build Coastguard Worker      response_type: "Instance"
84*d5c09012SAndroid Build Coastguard Worker      metadata_type: "OperationMetadata"
85*d5c09012SAndroid Build Coastguard Worker    };
86*d5c09012SAndroid Build Coastguard Worker  }
87*d5c09012SAndroid Build Coastguard Worker
88*d5c09012SAndroid Build Coastguard Worker  // Deletes a single Instance.
89*d5c09012SAndroid Build Coastguard Worker  rpc DeleteInstance(DeleteInstanceRequest)
90*d5c09012SAndroid Build Coastguard Worker      returns (google.longrunning.Operation) {
91*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
92*d5c09012SAndroid Build Coastguard Worker      delete: "/v2/{name=projects/*/locations/*/instances/*}"
93*d5c09012SAndroid Build Coastguard Worker    };
94*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "name";
95*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
96*d5c09012SAndroid Build Coastguard Worker      response_type: "google.protobuf.Empty"
97*d5c09012SAndroid Build Coastguard Worker      metadata_type: "OperationMetadata"
98*d5c09012SAndroid Build Coastguard Worker    };
99*d5c09012SAndroid Build Coastguard Worker  }
100*d5c09012SAndroid Build Coastguard Worker
101*d5c09012SAndroid Build Coastguard Worker  // Starts a notebook instance.
102*d5c09012SAndroid Build Coastguard Worker  rpc StartInstance(StartInstanceRequest)
103*d5c09012SAndroid Build Coastguard Worker      returns (google.longrunning.Operation) {
104*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
105*d5c09012SAndroid Build Coastguard Worker      post: "/v2/{name=projects/*/locations/*/instances/*}:start"
106*d5c09012SAndroid Build Coastguard Worker      body: "*"
107*d5c09012SAndroid Build Coastguard Worker    };
108*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
109*d5c09012SAndroid Build Coastguard Worker      response_type: "Instance"
110*d5c09012SAndroid Build Coastguard Worker      metadata_type: "OperationMetadata"
111*d5c09012SAndroid Build Coastguard Worker    };
112*d5c09012SAndroid Build Coastguard Worker  }
113*d5c09012SAndroid Build Coastguard Worker
114*d5c09012SAndroid Build Coastguard Worker  // Stops a notebook instance.
115*d5c09012SAndroid Build Coastguard Worker  rpc StopInstance(StopInstanceRequest) returns (google.longrunning.Operation) {
116*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
117*d5c09012SAndroid Build Coastguard Worker      post: "/v2/{name=projects/*/locations/*/instances/*}:stop"
118*d5c09012SAndroid Build Coastguard Worker      body: "*"
119*d5c09012SAndroid Build Coastguard Worker    };
120*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
121*d5c09012SAndroid Build Coastguard Worker      response_type: "Instance"
122*d5c09012SAndroid Build Coastguard Worker      metadata_type: "OperationMetadata"
123*d5c09012SAndroid Build Coastguard Worker    };
124*d5c09012SAndroid Build Coastguard Worker  }
125*d5c09012SAndroid Build Coastguard Worker
126*d5c09012SAndroid Build Coastguard Worker  // Resets a notebook instance.
127*d5c09012SAndroid Build Coastguard Worker  rpc ResetInstance(ResetInstanceRequest)
128*d5c09012SAndroid Build Coastguard Worker      returns (google.longrunning.Operation) {
129*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
130*d5c09012SAndroid Build Coastguard Worker      post: "/v2/{name=projects/*/locations/*/instances/*}:reset"
131*d5c09012SAndroid Build Coastguard Worker      body: "*"
132*d5c09012SAndroid Build Coastguard Worker    };
133*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
134*d5c09012SAndroid Build Coastguard Worker      response_type: "Instance"
135*d5c09012SAndroid Build Coastguard Worker      metadata_type: "OperationMetadata"
136*d5c09012SAndroid Build Coastguard Worker    };
137*d5c09012SAndroid Build Coastguard Worker  }
138*d5c09012SAndroid Build Coastguard Worker
139*d5c09012SAndroid Build Coastguard Worker  // Checks whether a notebook instance is upgradable.
140*d5c09012SAndroid Build Coastguard Worker  rpc CheckInstanceUpgradability(CheckInstanceUpgradabilityRequest)
141*d5c09012SAndroid Build Coastguard Worker      returns (CheckInstanceUpgradabilityResponse) {
142*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
143*d5c09012SAndroid Build Coastguard Worker      get: "/v2/{notebook_instance=projects/*/locations/*/instances/*}:checkUpgradability"
144*d5c09012SAndroid Build Coastguard Worker    };
145*d5c09012SAndroid Build Coastguard Worker  }
146*d5c09012SAndroid Build Coastguard Worker
147*d5c09012SAndroid Build Coastguard Worker  // Upgrades a notebook instance to the latest version.
148*d5c09012SAndroid Build Coastguard Worker  rpc UpgradeInstance(UpgradeInstanceRequest)
149*d5c09012SAndroid Build Coastguard Worker      returns (google.longrunning.Operation) {
150*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
151*d5c09012SAndroid Build Coastguard Worker      post: "/v2/{name=projects/*/locations/*/instances/*}:upgrade"
152*d5c09012SAndroid Build Coastguard Worker      body: "*"
153*d5c09012SAndroid Build Coastguard Worker    };
154*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
155*d5c09012SAndroid Build Coastguard Worker      response_type: "Instance"
156*d5c09012SAndroid Build Coastguard Worker      metadata_type: "OperationMetadata"
157*d5c09012SAndroid Build Coastguard Worker    };
158*d5c09012SAndroid Build Coastguard Worker  }
159*d5c09012SAndroid Build Coastguard Worker
160*d5c09012SAndroid Build Coastguard Worker  // Rollbacks a notebook instance to the previous version.
161*d5c09012SAndroid Build Coastguard Worker  rpc RollbackInstance(RollbackInstanceRequest)
162*d5c09012SAndroid Build Coastguard Worker      returns (google.longrunning.Operation) {
163*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
164*d5c09012SAndroid Build Coastguard Worker      post: "/v2/{name=projects/*/locations/*/instances/*}:rollback"
165*d5c09012SAndroid Build Coastguard Worker      body: "*"
166*d5c09012SAndroid Build Coastguard Worker    };
167*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
168*d5c09012SAndroid Build Coastguard Worker      response_type: "Instance"
169*d5c09012SAndroid Build Coastguard Worker      metadata_type: "OperationMetadata"
170*d5c09012SAndroid Build Coastguard Worker    };
171*d5c09012SAndroid Build Coastguard Worker  }
172*d5c09012SAndroid Build Coastguard Worker
173*d5c09012SAndroid Build Coastguard Worker  // Creates a Diagnostic File and runs Diagnostic Tool given an Instance.
174*d5c09012SAndroid Build Coastguard Worker  rpc DiagnoseInstance(DiagnoseInstanceRequest)
175*d5c09012SAndroid Build Coastguard Worker      returns (google.longrunning.Operation) {
176*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
177*d5c09012SAndroid Build Coastguard Worker      post: "/v2/{name=projects/*/locations/*/instances/*}:diagnose"
178*d5c09012SAndroid Build Coastguard Worker      body: "*"
179*d5c09012SAndroid Build Coastguard Worker    };
180*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "name,diagnostic_config";
181*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
182*d5c09012SAndroid Build Coastguard Worker      response_type: "Instance"
183*d5c09012SAndroid Build Coastguard Worker      metadata_type: "OperationMetadata"
184*d5c09012SAndroid Build Coastguard Worker    };
185*d5c09012SAndroid Build Coastguard Worker  }
186*d5c09012SAndroid Build Coastguard Worker}
187*d5c09012SAndroid Build Coastguard Worker
188*d5c09012SAndroid Build Coastguard Worker// Represents the metadata of the long-running operation.
189*d5c09012SAndroid Build Coastguard Workermessage OperationMetadata {
190*d5c09012SAndroid Build Coastguard Worker  // The time the operation was created.
191*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp create_time = 1;
192*d5c09012SAndroid Build Coastguard Worker
193*d5c09012SAndroid Build Coastguard Worker  // The time the operation finished running.
194*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp end_time = 2;
195*d5c09012SAndroid Build Coastguard Worker
196*d5c09012SAndroid Build Coastguard Worker  // Server-defined resource path for the target of the operation.
197*d5c09012SAndroid Build Coastguard Worker  string target = 3;
198*d5c09012SAndroid Build Coastguard Worker
199*d5c09012SAndroid Build Coastguard Worker  // Name of the verb executed by the operation.
200*d5c09012SAndroid Build Coastguard Worker  string verb = 4;
201*d5c09012SAndroid Build Coastguard Worker
202*d5c09012SAndroid Build Coastguard Worker  // Human-readable status of the operation, if any.
203*d5c09012SAndroid Build Coastguard Worker  string status_message = 5;
204*d5c09012SAndroid Build Coastguard Worker
205*d5c09012SAndroid Build Coastguard Worker  // Identifies whether the user has requested cancellation
206*d5c09012SAndroid Build Coastguard Worker  // of the operation. Operations that have successfully been cancelled
207*d5c09012SAndroid Build Coastguard Worker  // have [Operation.error][] value with a
208*d5c09012SAndroid Build Coastguard Worker  // [google.rpc.Status.code][google.rpc.Status.code] of 1, corresponding to
209*d5c09012SAndroid Build Coastguard Worker  // `Code.CANCELLED`.
210*d5c09012SAndroid Build Coastguard Worker  bool requested_cancellation = 6;
211*d5c09012SAndroid Build Coastguard Worker
212*d5c09012SAndroid Build Coastguard Worker  // API version used to start the operation.
213*d5c09012SAndroid Build Coastguard Worker  string api_version = 7;
214*d5c09012SAndroid Build Coastguard Worker
215*d5c09012SAndroid Build Coastguard Worker  // API endpoint name of this operation.
216*d5c09012SAndroid Build Coastguard Worker  string endpoint = 8;
217*d5c09012SAndroid Build Coastguard Worker}
218*d5c09012SAndroid Build Coastguard Worker
219*d5c09012SAndroid Build Coastguard Worker// Request for listing notebook instances.
220*d5c09012SAndroid Build Coastguard Workermessage ListInstancesRequest {
221*d5c09012SAndroid Build Coastguard Worker  // Required. Format:
222*d5c09012SAndroid Build Coastguard Worker  // `parent=projects/{project_id}/locations/{location}`
223*d5c09012SAndroid Build Coastguard Worker  string parent = 1 [
224*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
225*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
226*d5c09012SAndroid Build Coastguard Worker      child_type: "notebooks.googleapis.com/Instance"
227*d5c09012SAndroid Build Coastguard Worker    }
228*d5c09012SAndroid Build Coastguard Worker  ];
229*d5c09012SAndroid Build Coastguard Worker
230*d5c09012SAndroid Build Coastguard Worker  // Optional. Maximum return size of the list call.
231*d5c09012SAndroid Build Coastguard Worker  int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
232*d5c09012SAndroid Build Coastguard Worker
233*d5c09012SAndroid Build Coastguard Worker  // Optional. A previous returned page token that can be used to continue
234*d5c09012SAndroid Build Coastguard Worker  // listing from the last result.
235*d5c09012SAndroid Build Coastguard Worker  string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
236*d5c09012SAndroid Build Coastguard Worker
237*d5c09012SAndroid Build Coastguard Worker  // Optional. Sort results. Supported values are "name", "name desc" or ""
238*d5c09012SAndroid Build Coastguard Worker  // (unsorted).
239*d5c09012SAndroid Build Coastguard Worker  string order_by = 4 [(google.api.field_behavior) = OPTIONAL];
240*d5c09012SAndroid Build Coastguard Worker
241*d5c09012SAndroid Build Coastguard Worker  // Optional. List filter.
242*d5c09012SAndroid Build Coastguard Worker  string filter = 5 [(google.api.field_behavior) = OPTIONAL];
243*d5c09012SAndroid Build Coastguard Worker}
244*d5c09012SAndroid Build Coastguard Worker
245*d5c09012SAndroid Build Coastguard Worker// Response for listing notebook instances.
246*d5c09012SAndroid Build Coastguard Workermessage ListInstancesResponse {
247*d5c09012SAndroid Build Coastguard Worker  // A list of returned instances.
248*d5c09012SAndroid Build Coastguard Worker  repeated Instance instances = 1;
249*d5c09012SAndroid Build Coastguard Worker
250*d5c09012SAndroid Build Coastguard Worker  // Page token that can be used to continue listing from the last result in the
251*d5c09012SAndroid Build Coastguard Worker  // next list call.
252*d5c09012SAndroid Build Coastguard Worker  string next_page_token = 2;
253*d5c09012SAndroid Build Coastguard Worker
254*d5c09012SAndroid Build Coastguard Worker  // Locations that could not be reached. For example,
255*d5c09012SAndroid Build Coastguard Worker  // ['us-west1-a', 'us-central1-b'].
256*d5c09012SAndroid Build Coastguard Worker  // A ListInstancesResponse will only contain either instances or unreachables,
257*d5c09012SAndroid Build Coastguard Worker  repeated string unreachable = 3;
258*d5c09012SAndroid Build Coastguard Worker}
259*d5c09012SAndroid Build Coastguard Worker
260*d5c09012SAndroid Build Coastguard Worker// Request for getting a notebook instance.
261*d5c09012SAndroid Build Coastguard Workermessage GetInstanceRequest {
262*d5c09012SAndroid Build Coastguard Worker  // Required. Format:
263*d5c09012SAndroid Build Coastguard Worker  // `projects/{project_id}/locations/{location}/instances/{instance_id}`
264*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
265*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
266*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
267*d5c09012SAndroid Build Coastguard Worker      type: "notebooks.googleapis.com/Instance"
268*d5c09012SAndroid Build Coastguard Worker    }
269*d5c09012SAndroid Build Coastguard Worker  ];
270*d5c09012SAndroid Build Coastguard Worker}
271*d5c09012SAndroid Build Coastguard Worker
272*d5c09012SAndroid Build Coastguard Worker// Request for creating a notebook instance.
273*d5c09012SAndroid Build Coastguard Workermessage CreateInstanceRequest {
274*d5c09012SAndroid Build Coastguard Worker  // Required. Format:
275*d5c09012SAndroid Build Coastguard Worker  // `parent=projects/{project_id}/locations/{location}`
276*d5c09012SAndroid Build Coastguard Worker  string parent = 1 [
277*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
278*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
279*d5c09012SAndroid Build Coastguard Worker      child_type: "notebooks.googleapis.com/Instance"
280*d5c09012SAndroid Build Coastguard Worker    }
281*d5c09012SAndroid Build Coastguard Worker  ];
282*d5c09012SAndroid Build Coastguard Worker
283*d5c09012SAndroid Build Coastguard Worker  // Required. User-defined unique ID of this instance.
284*d5c09012SAndroid Build Coastguard Worker  string instance_id = 2 [(google.api.field_behavior) = REQUIRED];
285*d5c09012SAndroid Build Coastguard Worker
286*d5c09012SAndroid Build Coastguard Worker  // Required. The instance to be created.
287*d5c09012SAndroid Build Coastguard Worker  Instance instance = 3 [(google.api.field_behavior) = REQUIRED];
288*d5c09012SAndroid Build Coastguard Worker
289*d5c09012SAndroid Build Coastguard Worker  // Optional. Idempotent request UUID.
290*d5c09012SAndroid Build Coastguard Worker  string request_id = 4 [(google.api.field_behavior) = OPTIONAL];
291*d5c09012SAndroid Build Coastguard Worker}
292*d5c09012SAndroid Build Coastguard Worker
293*d5c09012SAndroid Build Coastguard Worker// Request for updating a notebook instance.
294*d5c09012SAndroid Build Coastguard Workermessage UpdateInstanceRequest {
295*d5c09012SAndroid Build Coastguard Worker  // Required. A representation of an instance.
296*d5c09012SAndroid Build Coastguard Worker  Instance instance = 1 [(google.api.field_behavior) = REQUIRED];
297*d5c09012SAndroid Build Coastguard Worker
298*d5c09012SAndroid Build Coastguard Worker  // Required. Mask used to update an instance
299*d5c09012SAndroid Build Coastguard Worker  google.protobuf.FieldMask update_mask = 2
300*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = REQUIRED];
301*d5c09012SAndroid Build Coastguard Worker
302*d5c09012SAndroid Build Coastguard Worker  // Optional. Idempotent request UUID.
303*d5c09012SAndroid Build Coastguard Worker  string request_id = 3 [(google.api.field_behavior) = OPTIONAL];
304*d5c09012SAndroid Build Coastguard Worker}
305*d5c09012SAndroid Build Coastguard Worker
306*d5c09012SAndroid Build Coastguard Worker// Request for deleting a notebook instance.
307*d5c09012SAndroid Build Coastguard Workermessage DeleteInstanceRequest {
308*d5c09012SAndroid Build Coastguard Worker  // Required. Format:
309*d5c09012SAndroid Build Coastguard Worker  // `projects/{project_id}/locations/{location}/instances/{instance_id}`
310*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
311*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
312*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
313*d5c09012SAndroid Build Coastguard Worker      type: "notebooks.googleapis.com/Instance"
314*d5c09012SAndroid Build Coastguard Worker    }
315*d5c09012SAndroid Build Coastguard Worker  ];
316*d5c09012SAndroid Build Coastguard Worker
317*d5c09012SAndroid Build Coastguard Worker  // Optional. Idempotent request UUID.
318*d5c09012SAndroid Build Coastguard Worker  string request_id = 2 [(google.api.field_behavior) = OPTIONAL];
319*d5c09012SAndroid Build Coastguard Worker}
320*d5c09012SAndroid Build Coastguard Worker
321*d5c09012SAndroid Build Coastguard Worker// Request for starting a notebook instance
322*d5c09012SAndroid Build Coastguard Workermessage StartInstanceRequest {
323*d5c09012SAndroid Build Coastguard Worker  // Required. Format:
324*d5c09012SAndroid Build Coastguard Worker  // `projects/{project_id}/locations/{location}/instances/{instance_id}`
325*d5c09012SAndroid Build Coastguard Worker  string name = 1 [(google.api.field_behavior) = REQUIRED];
326*d5c09012SAndroid Build Coastguard Worker}
327*d5c09012SAndroid Build Coastguard Worker
328*d5c09012SAndroid Build Coastguard Worker// Request for stopping a notebook instance
329*d5c09012SAndroid Build Coastguard Workermessage StopInstanceRequest {
330*d5c09012SAndroid Build Coastguard Worker  // Required. Format:
331*d5c09012SAndroid Build Coastguard Worker  // `projects/{project_id}/locations/{location}/instances/{instance_id}`
332*d5c09012SAndroid Build Coastguard Worker  string name = 1 [(google.api.field_behavior) = REQUIRED];
333*d5c09012SAndroid Build Coastguard Worker}
334*d5c09012SAndroid Build Coastguard Worker
335*d5c09012SAndroid Build Coastguard Worker// Request for resetting a notebook instance
336*d5c09012SAndroid Build Coastguard Workermessage ResetInstanceRequest {
337*d5c09012SAndroid Build Coastguard Worker  // Required. Format:
338*d5c09012SAndroid Build Coastguard Worker  // `projects/{project_id}/locations/{location}/instances/{instance_id}`
339*d5c09012SAndroid Build Coastguard Worker  string name = 1 [(google.api.field_behavior) = REQUIRED];
340*d5c09012SAndroid Build Coastguard Worker}
341*d5c09012SAndroid Build Coastguard Worker
342*d5c09012SAndroid Build Coastguard Worker// Request for checking if a notebook instance is upgradeable.
343*d5c09012SAndroid Build Coastguard Workermessage CheckInstanceUpgradabilityRequest {
344*d5c09012SAndroid Build Coastguard Worker  // Required. Format:
345*d5c09012SAndroid Build Coastguard Worker  // `projects/{project_id}/locations/{location}/instances/{instance_id}`
346*d5c09012SAndroid Build Coastguard Worker  string notebook_instance = 1 [(google.api.field_behavior) = REQUIRED];
347*d5c09012SAndroid Build Coastguard Worker}
348*d5c09012SAndroid Build Coastguard Worker
349*d5c09012SAndroid Build Coastguard Worker// Response for checking if a notebook instance is upgradeable.
350*d5c09012SAndroid Build Coastguard Workermessage CheckInstanceUpgradabilityResponse {
351*d5c09012SAndroid Build Coastguard Worker  // If an instance is upgradeable.
352*d5c09012SAndroid Build Coastguard Worker  bool upgradeable = 1;
353*d5c09012SAndroid Build Coastguard Worker
354*d5c09012SAndroid Build Coastguard Worker  // The version this instance will be upgraded to if calling the upgrade
355*d5c09012SAndroid Build Coastguard Worker  // endpoint. This field will only be populated if field upgradeable is true.
356*d5c09012SAndroid Build Coastguard Worker  string upgrade_version = 2;
357*d5c09012SAndroid Build Coastguard Worker
358*d5c09012SAndroid Build Coastguard Worker  // Additional information about upgrade.
359*d5c09012SAndroid Build Coastguard Worker  string upgrade_info = 3;
360*d5c09012SAndroid Build Coastguard Worker
361*d5c09012SAndroid Build Coastguard Worker  // The new image self link this instance will be upgraded to if calling the
362*d5c09012SAndroid Build Coastguard Worker  // upgrade endpoint. This field will only be populated if field upgradeable
363*d5c09012SAndroid Build Coastguard Worker  // is true.
364*d5c09012SAndroid Build Coastguard Worker  string upgrade_image = 4;
365*d5c09012SAndroid Build Coastguard Worker}
366*d5c09012SAndroid Build Coastguard Worker
367*d5c09012SAndroid Build Coastguard Worker// Request for upgrading a notebook instance
368*d5c09012SAndroid Build Coastguard Workermessage UpgradeInstanceRequest {
369*d5c09012SAndroid Build Coastguard Worker  // Required. Format:
370*d5c09012SAndroid Build Coastguard Worker  // `projects/{project_id}/locations/{location}/instances/{instance_id}`
371*d5c09012SAndroid Build Coastguard Worker  string name = 1 [(google.api.field_behavior) = REQUIRED];
372*d5c09012SAndroid Build Coastguard Worker}
373*d5c09012SAndroid Build Coastguard Worker
374*d5c09012SAndroid Build Coastguard Worker// Request for rollbacking a notebook instance
375*d5c09012SAndroid Build Coastguard Workermessage RollbackInstanceRequest {
376*d5c09012SAndroid Build Coastguard Worker  // Required. Format:
377*d5c09012SAndroid Build Coastguard Worker  // `projects/{project_id}/locations/{location}/instances/{instance_id}`
378*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
379*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
380*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
381*d5c09012SAndroid Build Coastguard Worker      type: "notebooks.googleapis.com/Instance"
382*d5c09012SAndroid Build Coastguard Worker    }
383*d5c09012SAndroid Build Coastguard Worker  ];
384*d5c09012SAndroid Build Coastguard Worker
385*d5c09012SAndroid Build Coastguard Worker  // Required. The snapshot for rollback.
386*d5c09012SAndroid Build Coastguard Worker  // Example: "projects/test-project/global/snapshots/krwlzipynril".
387*d5c09012SAndroid Build Coastguard Worker  string target_snapshot = 2 [(google.api.field_behavior) = REQUIRED];
388*d5c09012SAndroid Build Coastguard Worker
389*d5c09012SAndroid Build Coastguard Worker  // Required. Output only. Revision Id
390*d5c09012SAndroid Build Coastguard Worker  string revision_id = 3 [
391*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = OUTPUT_ONLY,
392*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED
393*d5c09012SAndroid Build Coastguard Worker  ];
394*d5c09012SAndroid Build Coastguard Worker}
395*d5c09012SAndroid Build Coastguard Worker
396*d5c09012SAndroid Build Coastguard Worker// Request for creating a notebook instance diagnostic file.
397*d5c09012SAndroid Build Coastguard Workermessage DiagnoseInstanceRequest {
398*d5c09012SAndroid Build Coastguard Worker  // Required. Format:
399*d5c09012SAndroid Build Coastguard Worker  // `projects/{project_id}/locations/{location}/instances/{instance_id}`
400*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
401*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
402*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
403*d5c09012SAndroid Build Coastguard Worker      type: "notebooks.googleapis.com/Instance"
404*d5c09012SAndroid Build Coastguard Worker    }
405*d5c09012SAndroid Build Coastguard Worker  ];
406*d5c09012SAndroid Build Coastguard Worker
407*d5c09012SAndroid Build Coastguard Worker  // Required. Defines flags that are used to run the diagnostic tool
408*d5c09012SAndroid Build Coastguard Worker  DiagnosticConfig diagnostic_config = 2
409*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = REQUIRED];
410*d5c09012SAndroid Build Coastguard Worker
411*d5c09012SAndroid Build Coastguard Worker  // Optional. Maxmium amount of time in minutes before the operation times out.
412*d5c09012SAndroid Build Coastguard Worker  int32 timeout_minutes = 3 [(google.api.field_behavior) = OPTIONAL];
413*d5c09012SAndroid Build Coastguard Worker}
414