xref: /aosp_15_r20/external/googleapis/google/cloud/dataproc/v1/sessions.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.dataproc.v1;
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/dataproc/v1/shared.proto";
24*d5c09012SAndroid Build Coastguard Workerimport "google/longrunning/operations.proto";
25*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/timestamp.proto";
26*d5c09012SAndroid Build Coastguard Worker
27*d5c09012SAndroid Build Coastguard Workeroption go_package = "cloud.google.com/go/dataproc/v2/apiv1/dataprocpb;dataprocpb";
28*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true;
29*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "SessionsProto";
30*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.cloud.dataproc.v1";
31*d5c09012SAndroid Build Coastguard Worker
32*d5c09012SAndroid Build Coastguard Worker// The `SessionController` provides methods to manage interactive sessions.
33*d5c09012SAndroid Build Coastguard Workerservice SessionController {
34*d5c09012SAndroid Build Coastguard Worker  option (google.api.default_host) = "dataproc.googleapis.com";
35*d5c09012SAndroid Build Coastguard Worker  option (google.api.oauth_scopes) =
36*d5c09012SAndroid Build Coastguard Worker      "https://www.googleapis.com/auth/cloud-platform";
37*d5c09012SAndroid Build Coastguard Worker
38*d5c09012SAndroid Build Coastguard Worker  // Create an interactive session asynchronously.
39*d5c09012SAndroid Build Coastguard Worker  rpc CreateSession(CreateSessionRequest)
40*d5c09012SAndroid Build Coastguard Worker      returns (google.longrunning.Operation) {
41*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
42*d5c09012SAndroid Build Coastguard Worker      post: "/v1/{parent=projects/*/locations/*}/sessions"
43*d5c09012SAndroid Build Coastguard Worker      body: "session"
44*d5c09012SAndroid Build Coastguard Worker    };
45*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "parent,session,session_id";
46*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
47*d5c09012SAndroid Build Coastguard Worker      response_type: "Session"
48*d5c09012SAndroid Build Coastguard Worker      metadata_type: "google.cloud.dataproc.v1.SessionOperationMetadata"
49*d5c09012SAndroid Build Coastguard Worker    };
50*d5c09012SAndroid Build Coastguard Worker  }
51*d5c09012SAndroid Build Coastguard Worker
52*d5c09012SAndroid Build Coastguard Worker  // Gets the resource representation for an interactive session.
53*d5c09012SAndroid Build Coastguard Worker  rpc GetSession(GetSessionRequest) returns (Session) {
54*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
55*d5c09012SAndroid Build Coastguard Worker      get: "/v1/{name=projects/*/locations/*/sessions/*}"
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  // Lists interactive sessions.
61*d5c09012SAndroid Build Coastguard Worker  rpc ListSessions(ListSessionsRequest) returns (ListSessionsResponse) {
62*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
63*d5c09012SAndroid Build Coastguard Worker      get: "/v1/{parent=projects/*/locations/*}/sessions"
64*d5c09012SAndroid Build Coastguard Worker    };
65*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "parent";
66*d5c09012SAndroid Build Coastguard Worker  }
67*d5c09012SAndroid Build Coastguard Worker
68*d5c09012SAndroid Build Coastguard Worker  // Terminates the interactive session.
69*d5c09012SAndroid Build Coastguard Worker  rpc TerminateSession(TerminateSessionRequest)
70*d5c09012SAndroid Build Coastguard Worker      returns (google.longrunning.Operation) {
71*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
72*d5c09012SAndroid Build Coastguard Worker      post: "/v1/{name=projects/*/locations/*/sessions/*}:terminate"
73*d5c09012SAndroid Build Coastguard Worker      body: "*"
74*d5c09012SAndroid Build Coastguard Worker    };
75*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "name";
76*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
77*d5c09012SAndroid Build Coastguard Worker      response_type: "Session"
78*d5c09012SAndroid Build Coastguard Worker      metadata_type: "google.cloud.dataproc.v1.SessionOperationMetadata"
79*d5c09012SAndroid Build Coastguard Worker    };
80*d5c09012SAndroid Build Coastguard Worker  }
81*d5c09012SAndroid Build Coastguard Worker
82*d5c09012SAndroid Build Coastguard Worker  // Deletes the interactive session resource. If the session is not in terminal
83*d5c09012SAndroid Build Coastguard Worker  // state, it is terminated, and then deleted.
84*d5c09012SAndroid Build Coastguard Worker  rpc DeleteSession(DeleteSessionRequest)
85*d5c09012SAndroid Build Coastguard Worker      returns (google.longrunning.Operation) {
86*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
87*d5c09012SAndroid Build Coastguard Worker      delete: "/v1/{name=projects/*/locations/*/sessions/*}"
88*d5c09012SAndroid Build Coastguard Worker    };
89*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "name";
90*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
91*d5c09012SAndroid Build Coastguard Worker      response_type: "Session"
92*d5c09012SAndroid Build Coastguard Worker      metadata_type: "google.cloud.dataproc.v1.SessionOperationMetadata"
93*d5c09012SAndroid Build Coastguard Worker    };
94*d5c09012SAndroid Build Coastguard Worker  }
95*d5c09012SAndroid Build Coastguard Worker}
96*d5c09012SAndroid Build Coastguard Worker
97*d5c09012SAndroid Build Coastguard Worker// A request to create a session.
98*d5c09012SAndroid Build Coastguard Workermessage CreateSessionRequest {
99*d5c09012SAndroid Build Coastguard Worker  // Required. The parent resource where this session will be created.
100*d5c09012SAndroid Build Coastguard Worker  string parent = 1 [
101*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
102*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
103*d5c09012SAndroid Build Coastguard Worker      child_type: "dataproc.googleapis.com/Session"
104*d5c09012SAndroid Build Coastguard Worker    }
105*d5c09012SAndroid Build Coastguard Worker  ];
106*d5c09012SAndroid Build Coastguard Worker
107*d5c09012SAndroid Build Coastguard Worker  // Required. The interactive session to create.
108*d5c09012SAndroid Build Coastguard Worker  Session session = 2 [(google.api.field_behavior) = REQUIRED];
109*d5c09012SAndroid Build Coastguard Worker
110*d5c09012SAndroid Build Coastguard Worker  // Required. The ID to use for the session, which becomes the final component
111*d5c09012SAndroid Build Coastguard Worker  // of the session's resource name.
112*d5c09012SAndroid Build Coastguard Worker  //
113*d5c09012SAndroid Build Coastguard Worker  // This value must be 4-63 characters. Valid characters
114*d5c09012SAndroid Build Coastguard Worker  // are /[a-z][0-9]-/.
115*d5c09012SAndroid Build Coastguard Worker  string session_id = 3 [(google.api.field_behavior) = REQUIRED];
116*d5c09012SAndroid Build Coastguard Worker
117*d5c09012SAndroid Build Coastguard Worker  // Optional. A unique ID used to identify the request. If the service
118*d5c09012SAndroid Build Coastguard Worker  // receives two
119*d5c09012SAndroid Build Coastguard Worker  // [CreateSessionRequests](https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.CreateSessionRequest)s
120*d5c09012SAndroid Build Coastguard Worker  // with the same ID, the second request is ignored, and the
121*d5c09012SAndroid Build Coastguard Worker  // first [Session][google.cloud.dataproc.v1.Session] is created and stored in
122*d5c09012SAndroid Build Coastguard Worker  // the backend.
123*d5c09012SAndroid Build Coastguard Worker  //
124*d5c09012SAndroid Build Coastguard Worker  // Recommendation: Set this value to a
125*d5c09012SAndroid Build Coastguard Worker  // [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier).
126*d5c09012SAndroid Build Coastguard Worker  //
127*d5c09012SAndroid Build Coastguard Worker  // The value must contain only letters (a-z, A-Z), numbers (0-9),
128*d5c09012SAndroid Build Coastguard Worker  // underscores (_), and hyphens (-). The maximum length is 40 characters.
129*d5c09012SAndroid Build Coastguard Worker  string request_id = 4 [(google.api.field_behavior) = OPTIONAL];
130*d5c09012SAndroid Build Coastguard Worker}
131*d5c09012SAndroid Build Coastguard Worker
132*d5c09012SAndroid Build Coastguard Worker// A request to get the resource representation for a session.
133*d5c09012SAndroid Build Coastguard Workermessage GetSessionRequest {
134*d5c09012SAndroid Build Coastguard Worker  // Required. The name of the session to retrieve.
135*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
136*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
137*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
138*d5c09012SAndroid Build Coastguard Worker      type: "dataproc.googleapis.com/Session"
139*d5c09012SAndroid Build Coastguard Worker    }
140*d5c09012SAndroid Build Coastguard Worker  ];
141*d5c09012SAndroid Build Coastguard Worker}
142*d5c09012SAndroid Build Coastguard Worker
143*d5c09012SAndroid Build Coastguard Worker// A request to list sessions in a project.
144*d5c09012SAndroid Build Coastguard Workermessage ListSessionsRequest {
145*d5c09012SAndroid Build Coastguard Worker  // Required. The parent, which owns this collection of sessions.
146*d5c09012SAndroid Build Coastguard Worker  string parent = 1 [
147*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
148*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
149*d5c09012SAndroid Build Coastguard Worker      child_type: "dataproc.googleapis.com/Session"
150*d5c09012SAndroid Build Coastguard Worker    }
151*d5c09012SAndroid Build Coastguard Worker  ];
152*d5c09012SAndroid Build Coastguard Worker
153*d5c09012SAndroid Build Coastguard Worker  // Optional. The maximum number of sessions to return in each response.
154*d5c09012SAndroid Build Coastguard Worker  // The service may return fewer than this value.
155*d5c09012SAndroid Build Coastguard Worker  int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
156*d5c09012SAndroid Build Coastguard Worker
157*d5c09012SAndroid Build Coastguard Worker  // Optional. A page token received from a previous `ListSessions` call.
158*d5c09012SAndroid Build Coastguard Worker  // Provide this token to retrieve the subsequent page.
159*d5c09012SAndroid Build Coastguard Worker  string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
160*d5c09012SAndroid Build Coastguard Worker
161*d5c09012SAndroid Build Coastguard Worker  // Optional. A filter for the sessions to return in the response.
162*d5c09012SAndroid Build Coastguard Worker  //
163*d5c09012SAndroid Build Coastguard Worker  // A filter is a logical expression constraining the values of various fields
164*d5c09012SAndroid Build Coastguard Worker  // in each session resource. Filters are case sensitive, and may contain
165*d5c09012SAndroid Build Coastguard Worker  // multiple clauses combined with logical operators (AND, OR).
166*d5c09012SAndroid Build Coastguard Worker  // Supported fields are `session_id`, `session_uuid`, `state`, and
167*d5c09012SAndroid Build Coastguard Worker  // `create_time`.
168*d5c09012SAndroid Build Coastguard Worker  //
169*d5c09012SAndroid Build Coastguard Worker  // Example: `state = ACTIVE and create_time < "2023-01-01T00:00:00Z"`
170*d5c09012SAndroid Build Coastguard Worker  // is a filter for sessions in an ACTIVE state that were created before
171*d5c09012SAndroid Build Coastguard Worker  // 2023-01-01.
172*d5c09012SAndroid Build Coastguard Worker  //
173*d5c09012SAndroid Build Coastguard Worker  // See https://google.aip.dev/assets/misc/ebnf-filtering.txt for a detailed
174*d5c09012SAndroid Build Coastguard Worker  // description of the filter syntax and a list of supported comparators.
175*d5c09012SAndroid Build Coastguard Worker  string filter = 4 [(google.api.field_behavior) = OPTIONAL];
176*d5c09012SAndroid Build Coastguard Worker}
177*d5c09012SAndroid Build Coastguard Worker
178*d5c09012SAndroid Build Coastguard Worker// A list of interactive sessions.
179*d5c09012SAndroid Build Coastguard Workermessage ListSessionsResponse {
180*d5c09012SAndroid Build Coastguard Worker  // Output only. The sessions from the specified collection.
181*d5c09012SAndroid Build Coastguard Worker  repeated Session sessions = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
182*d5c09012SAndroid Build Coastguard Worker
183*d5c09012SAndroid Build Coastguard Worker  // A token, which can be sent as `page_token`, to retrieve the next page.
184*d5c09012SAndroid Build Coastguard Worker  // If this field is omitted, there are no subsequent pages.
185*d5c09012SAndroid Build Coastguard Worker  string next_page_token = 2;
186*d5c09012SAndroid Build Coastguard Worker}
187*d5c09012SAndroid Build Coastguard Worker
188*d5c09012SAndroid Build Coastguard Worker// A request to terminate an interactive session.
189*d5c09012SAndroid Build Coastguard Workermessage TerminateSessionRequest {
190*d5c09012SAndroid Build Coastguard Worker  // Required. The name of the session resource to terminate.
191*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
192*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
193*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
194*d5c09012SAndroid Build Coastguard Worker      type: "dataproc.googleapis.com/Session"
195*d5c09012SAndroid Build Coastguard Worker    }
196*d5c09012SAndroid Build Coastguard Worker  ];
197*d5c09012SAndroid Build Coastguard Worker
198*d5c09012SAndroid Build Coastguard Worker  // Optional. A unique ID used to identify the request. If the service
199*d5c09012SAndroid Build Coastguard Worker  // receives two
200*d5c09012SAndroid Build Coastguard Worker  // [TerminateSessionRequest](https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.TerminateSessionRequest)s
201*d5c09012SAndroid Build Coastguard Worker  // with the same ID, the second request is ignored.
202*d5c09012SAndroid Build Coastguard Worker  //
203*d5c09012SAndroid Build Coastguard Worker  // Recommendation: Set this value to a
204*d5c09012SAndroid Build Coastguard Worker  // [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier).
205*d5c09012SAndroid Build Coastguard Worker  //
206*d5c09012SAndroid Build Coastguard Worker  // The value must contain only letters (a-z, A-Z), numbers (0-9),
207*d5c09012SAndroid Build Coastguard Worker  // underscores (_), and hyphens (-). The maximum length is 40 characters.
208*d5c09012SAndroid Build Coastguard Worker  string request_id = 2 [(google.api.field_behavior) = OPTIONAL];
209*d5c09012SAndroid Build Coastguard Worker}
210*d5c09012SAndroid Build Coastguard Worker
211*d5c09012SAndroid Build Coastguard Worker// A request to delete a session.
212*d5c09012SAndroid Build Coastguard Workermessage DeleteSessionRequest {
213*d5c09012SAndroid Build Coastguard Worker  // Required. The name of the session resource to delete.
214*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
215*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
216*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
217*d5c09012SAndroid Build Coastguard Worker      type: "dataproc.googleapis.com/Session"
218*d5c09012SAndroid Build Coastguard Worker    }
219*d5c09012SAndroid Build Coastguard Worker  ];
220*d5c09012SAndroid Build Coastguard Worker
221*d5c09012SAndroid Build Coastguard Worker  // Optional. A unique ID used to identify the request. If the service
222*d5c09012SAndroid Build Coastguard Worker  // receives two
223*d5c09012SAndroid Build Coastguard Worker  // [DeleteSessionRequest](https://cloud.google.com/dataproc/docs/reference/rpc/google.cloud.dataproc.v1#google.cloud.dataproc.v1.DeleteSessionRequest)s
224*d5c09012SAndroid Build Coastguard Worker  // with the same ID, the second request is ignored.
225*d5c09012SAndroid Build Coastguard Worker  //
226*d5c09012SAndroid Build Coastguard Worker  // Recommendation: Set this value to a
227*d5c09012SAndroid Build Coastguard Worker  // [UUID](https://en.wikipedia.org/wiki/Universally_unique_identifier).
228*d5c09012SAndroid Build Coastguard Worker  //
229*d5c09012SAndroid Build Coastguard Worker  // The value must contain only letters (a-z, A-Z), numbers (0-9),
230*d5c09012SAndroid Build Coastguard Worker  // underscores (_), and hyphens (-). The maximum length is 40 characters.
231*d5c09012SAndroid Build Coastguard Worker  string request_id = 2 [(google.api.field_behavior) = OPTIONAL];
232*d5c09012SAndroid Build Coastguard Worker}
233*d5c09012SAndroid Build Coastguard Worker
234*d5c09012SAndroid Build Coastguard Worker// A representation of a session.
235*d5c09012SAndroid Build Coastguard Workermessage Session {
236*d5c09012SAndroid Build Coastguard Worker  option (google.api.resource) = {
237*d5c09012SAndroid Build Coastguard Worker    type: "dataproc.googleapis.com/Session"
238*d5c09012SAndroid Build Coastguard Worker    pattern: "projects/{project}/locations/{location}/sessions/{session}"
239*d5c09012SAndroid Build Coastguard Worker  };
240*d5c09012SAndroid Build Coastguard Worker
241*d5c09012SAndroid Build Coastguard Worker  // The session state.
242*d5c09012SAndroid Build Coastguard Worker  enum State {
243*d5c09012SAndroid Build Coastguard Worker    // The session state is unknown.
244*d5c09012SAndroid Build Coastguard Worker    STATE_UNSPECIFIED = 0;
245*d5c09012SAndroid Build Coastguard Worker
246*d5c09012SAndroid Build Coastguard Worker    // The session is created prior to running.
247*d5c09012SAndroid Build Coastguard Worker    CREATING = 1;
248*d5c09012SAndroid Build Coastguard Worker
249*d5c09012SAndroid Build Coastguard Worker    // The session is running.
250*d5c09012SAndroid Build Coastguard Worker    ACTIVE = 2;
251*d5c09012SAndroid Build Coastguard Worker
252*d5c09012SAndroid Build Coastguard Worker    // The session is terminating.
253*d5c09012SAndroid Build Coastguard Worker    TERMINATING = 3;
254*d5c09012SAndroid Build Coastguard Worker
255*d5c09012SAndroid Build Coastguard Worker    // The session is terminated successfully.
256*d5c09012SAndroid Build Coastguard Worker    TERMINATED = 4;
257*d5c09012SAndroid Build Coastguard Worker
258*d5c09012SAndroid Build Coastguard Worker    // The session is no longer running due to an error.
259*d5c09012SAndroid Build Coastguard Worker    FAILED = 5;
260*d5c09012SAndroid Build Coastguard Worker  }
261*d5c09012SAndroid Build Coastguard Worker
262*d5c09012SAndroid Build Coastguard Worker  // Historical state information.
263*d5c09012SAndroid Build Coastguard Worker  message SessionStateHistory {
264*d5c09012SAndroid Build Coastguard Worker    // Output only. The state of the session at this point in the session
265*d5c09012SAndroid Build Coastguard Worker    // history.
266*d5c09012SAndroid Build Coastguard Worker    State state = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
267*d5c09012SAndroid Build Coastguard Worker
268*d5c09012SAndroid Build Coastguard Worker    // Output only. Details about the state at this point in the session
269*d5c09012SAndroid Build Coastguard Worker    // history.
270*d5c09012SAndroid Build Coastguard Worker    string state_message = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
271*d5c09012SAndroid Build Coastguard Worker
272*d5c09012SAndroid Build Coastguard Worker    // Output only. The time when the session entered the historical state.
273*d5c09012SAndroid Build Coastguard Worker    google.protobuf.Timestamp state_start_time = 3
274*d5c09012SAndroid Build Coastguard Worker        [(google.api.field_behavior) = OUTPUT_ONLY];
275*d5c09012SAndroid Build Coastguard Worker  }
276*d5c09012SAndroid Build Coastguard Worker
277*d5c09012SAndroid Build Coastguard Worker  // Required. The resource name of the session.
278*d5c09012SAndroid Build Coastguard Worker  string name = 1 [(google.api.field_behavior) = REQUIRED];
279*d5c09012SAndroid Build Coastguard Worker
280*d5c09012SAndroid Build Coastguard Worker  // Output only. A session UUID (Unique Universal Identifier). The service
281*d5c09012SAndroid Build Coastguard Worker  // generates this value when it creates the session.
282*d5c09012SAndroid Build Coastguard Worker  string uuid = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
283*d5c09012SAndroid Build Coastguard Worker
284*d5c09012SAndroid Build Coastguard Worker  // Output only. The time when the session was created.
285*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp create_time = 3
286*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
287*d5c09012SAndroid Build Coastguard Worker
288*d5c09012SAndroid Build Coastguard Worker  // The session configuration.
289*d5c09012SAndroid Build Coastguard Worker  oneof session_config {
290*d5c09012SAndroid Build Coastguard Worker    // Optional. Jupyter session config.
291*d5c09012SAndroid Build Coastguard Worker    JupyterConfig jupyter_session = 4 [(google.api.field_behavior) = OPTIONAL];
292*d5c09012SAndroid Build Coastguard Worker  }
293*d5c09012SAndroid Build Coastguard Worker
294*d5c09012SAndroid Build Coastguard Worker  // Output only. Runtime information about session execution.
295*d5c09012SAndroid Build Coastguard Worker  RuntimeInfo runtime_info = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
296*d5c09012SAndroid Build Coastguard Worker
297*d5c09012SAndroid Build Coastguard Worker  // Output only. A state of the session.
298*d5c09012SAndroid Build Coastguard Worker  State state = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
299*d5c09012SAndroid Build Coastguard Worker
300*d5c09012SAndroid Build Coastguard Worker  // Output only. Session state details, such as the failure
301*d5c09012SAndroid Build Coastguard Worker  // description if the state is `FAILED`.
302*d5c09012SAndroid Build Coastguard Worker  string state_message = 8 [(google.api.field_behavior) = OUTPUT_ONLY];
303*d5c09012SAndroid Build Coastguard Worker
304*d5c09012SAndroid Build Coastguard Worker  // Output only. The time when the session entered the current state.
305*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp state_time = 9
306*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
307*d5c09012SAndroid Build Coastguard Worker
308*d5c09012SAndroid Build Coastguard Worker  // Output only. The email address of the user who created the session.
309*d5c09012SAndroid Build Coastguard Worker  string creator = 10 [(google.api.field_behavior) = OUTPUT_ONLY];
310*d5c09012SAndroid Build Coastguard Worker
311*d5c09012SAndroid Build Coastguard Worker  // Optional. The labels to associate with the session.
312*d5c09012SAndroid Build Coastguard Worker  // Label **keys** must contain 1 to 63 characters, and must conform to
313*d5c09012SAndroid Build Coastguard Worker  // [RFC 1035](https://www.ietf.org/rfc/rfc1035.txt).
314*d5c09012SAndroid Build Coastguard Worker  // Label **values** may be empty, but, if present, must contain 1 to 63
315*d5c09012SAndroid Build Coastguard Worker  // characters, and must conform to [RFC
316*d5c09012SAndroid Build Coastguard Worker  // 1035](https://www.ietf.org/rfc/rfc1035.txt). No more than 32 labels can be
317*d5c09012SAndroid Build Coastguard Worker  // associated with a session.
318*d5c09012SAndroid Build Coastguard Worker  map<string, string> labels = 11 [(google.api.field_behavior) = OPTIONAL];
319*d5c09012SAndroid Build Coastguard Worker
320*d5c09012SAndroid Build Coastguard Worker  // Optional. Runtime configuration for the session execution.
321*d5c09012SAndroid Build Coastguard Worker  RuntimeConfig runtime_config = 12 [(google.api.field_behavior) = OPTIONAL];
322*d5c09012SAndroid Build Coastguard Worker
323*d5c09012SAndroid Build Coastguard Worker  // Optional. Environment configuration for the session execution.
324*d5c09012SAndroid Build Coastguard Worker  EnvironmentConfig environment_config = 13
325*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OPTIONAL];
326*d5c09012SAndroid Build Coastguard Worker
327*d5c09012SAndroid Build Coastguard Worker  // Optional. The email address of the user who owns the session.
328*d5c09012SAndroid Build Coastguard Worker  string user = 14 [(google.api.field_behavior) = OPTIONAL];
329*d5c09012SAndroid Build Coastguard Worker
330*d5c09012SAndroid Build Coastguard Worker  // Output only. Historical state information for the session.
331*d5c09012SAndroid Build Coastguard Worker  repeated SessionStateHistory state_history = 15
332*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
333*d5c09012SAndroid Build Coastguard Worker
334*d5c09012SAndroid Build Coastguard Worker  // Optional. The session template used by the session.
335*d5c09012SAndroid Build Coastguard Worker  //
336*d5c09012SAndroid Build Coastguard Worker  // Only resource names, including project ID and location, are valid.
337*d5c09012SAndroid Build Coastguard Worker  //
338*d5c09012SAndroid Build Coastguard Worker  // Example:
339*d5c09012SAndroid Build Coastguard Worker  // * `https://www.googleapis.com/compute/v1/projects/[project_id]/locations/[dataproc_region]/sessionTemplates/[template_id]`
340*d5c09012SAndroid Build Coastguard Worker  // * `projects/[project_id]/locations/[dataproc_region]/sessionTemplates/[template_id]`
341*d5c09012SAndroid Build Coastguard Worker  //
342*d5c09012SAndroid Build Coastguard Worker  // The template must be in the same project and Dataproc region as the
343*d5c09012SAndroid Build Coastguard Worker  // session.
344*d5c09012SAndroid Build Coastguard Worker  string session_template = 16 [
345*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = OPTIONAL,
346*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
347*d5c09012SAndroid Build Coastguard Worker      type: "dataproc.googleapis.com/SessionTemplate"
348*d5c09012SAndroid Build Coastguard Worker    }
349*d5c09012SAndroid Build Coastguard Worker  ];
350*d5c09012SAndroid Build Coastguard Worker}
351*d5c09012SAndroid Build Coastguard Worker
352*d5c09012SAndroid Build Coastguard Worker// Jupyter configuration for an interactive session.
353*d5c09012SAndroid Build Coastguard Workermessage JupyterConfig {
354*d5c09012SAndroid Build Coastguard Worker  // Jupyter kernel types.
355*d5c09012SAndroid Build Coastguard Worker  enum Kernel {
356*d5c09012SAndroid Build Coastguard Worker    // The kernel is unknown.
357*d5c09012SAndroid Build Coastguard Worker    KERNEL_UNSPECIFIED = 0;
358*d5c09012SAndroid Build Coastguard Worker
359*d5c09012SAndroid Build Coastguard Worker    // Python kernel.
360*d5c09012SAndroid Build Coastguard Worker    PYTHON = 1;
361*d5c09012SAndroid Build Coastguard Worker
362*d5c09012SAndroid Build Coastguard Worker    // Scala kernel.
363*d5c09012SAndroid Build Coastguard Worker    SCALA = 2;
364*d5c09012SAndroid Build Coastguard Worker  }
365*d5c09012SAndroid Build Coastguard Worker
366*d5c09012SAndroid Build Coastguard Worker  // Optional. Kernel
367*d5c09012SAndroid Build Coastguard Worker  Kernel kernel = 1 [(google.api.field_behavior) = OPTIONAL];
368*d5c09012SAndroid Build Coastguard Worker
369*d5c09012SAndroid Build Coastguard Worker  // Optional. Display name, shown in the Jupyter kernelspec card.
370*d5c09012SAndroid Build Coastguard Worker  string display_name = 2 [(google.api.field_behavior) = OPTIONAL];
371*d5c09012SAndroid Build Coastguard Worker}
372