xref: /aosp_15_r20/external/googleapis/google/apps/meet/v2/resource.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.apps.meet.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/protobuf/timestamp.proto";
22*d5c09012SAndroid Build Coastguard Worker
23*d5c09012SAndroid Build Coastguard Workeroption csharp_namespace = "Google.Apps.Meet.V2";
24*d5c09012SAndroid Build Coastguard Workeroption go_package = "cloud.google.com/go/apps/meet/apiv2/meetpb;meetpb";
25*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true;
26*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "ResourceProto";
27*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.apps.meet.v2";
28*d5c09012SAndroid Build Coastguard Workeroption php_namespace = "Google\\Apps\\Meet\\V2";
29*d5c09012SAndroid Build Coastguard Workeroption ruby_package = "Google::Apps::Meet::V2";
30*d5c09012SAndroid Build Coastguard Worker
31*d5c09012SAndroid Build Coastguard Worker// Virtual place where conferences are held. Only one active conference can be
32*d5c09012SAndroid Build Coastguard Worker// held in one space at any given time.
33*d5c09012SAndroid Build Coastguard Workermessage Space {
34*d5c09012SAndroid Build Coastguard Worker  option (google.api.resource) = {
35*d5c09012SAndroid Build Coastguard Worker    type: "meet.googleapis.com/Space"
36*d5c09012SAndroid Build Coastguard Worker    pattern: "spaces/{space}"
37*d5c09012SAndroid Build Coastguard Worker  };
38*d5c09012SAndroid Build Coastguard Worker
39*d5c09012SAndroid Build Coastguard Worker  // Immutable. Resource name of the space.
40*d5c09012SAndroid Build Coastguard Worker  // Format: `spaces/{space}`
41*d5c09012SAndroid Build Coastguard Worker  string name = 1 [(google.api.field_behavior) = IMMUTABLE];
42*d5c09012SAndroid Build Coastguard Worker
43*d5c09012SAndroid Build Coastguard Worker  // Output only. URI used to join meetings, such as
44*d5c09012SAndroid Build Coastguard Worker  // `https://meet.google.com/abc-mnop-xyz`.
45*d5c09012SAndroid Build Coastguard Worker  string meeting_uri = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
46*d5c09012SAndroid Build Coastguard Worker
47*d5c09012SAndroid Build Coastguard Worker  // Output only. Type friendly code to join the meeting. Format:
48*d5c09012SAndroid Build Coastguard Worker  // `[a-z]+-[a-z]+-[a-z]+` such as `abc-mnop-xyz`. The maximum length is 128
49*d5c09012SAndroid Build Coastguard Worker  // characters. Can only be used as an alias of the space ID to get the space.
50*d5c09012SAndroid Build Coastguard Worker  string meeting_code = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
51*d5c09012SAndroid Build Coastguard Worker
52*d5c09012SAndroid Build Coastguard Worker  // Configuration pertaining to the meeting space.
53*d5c09012SAndroid Build Coastguard Worker  SpaceConfig config = 5;
54*d5c09012SAndroid Build Coastguard Worker
55*d5c09012SAndroid Build Coastguard Worker  // Active conference, if it exists.
56*d5c09012SAndroid Build Coastguard Worker  ActiveConference active_conference = 6;
57*d5c09012SAndroid Build Coastguard Worker}
58*d5c09012SAndroid Build Coastguard Worker
59*d5c09012SAndroid Build Coastguard Worker// Active conference.
60*d5c09012SAndroid Build Coastguard Workermessage ActiveConference {
61*d5c09012SAndroid Build Coastguard Worker  // Output only. Reference to 'ConferenceRecord' resource.
62*d5c09012SAndroid Build Coastguard Worker  // Format: `conferenceRecords/{conference_record}` where `{conference_record}`
63*d5c09012SAndroid Build Coastguard Worker  // is a unique ID for each instance of a call within a space.
64*d5c09012SAndroid Build Coastguard Worker  string conference_record = 1 [
65*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = OUTPUT_ONLY,
66*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
67*d5c09012SAndroid Build Coastguard Worker      type: "meet.googleapis.com/ConferenceRecord"
68*d5c09012SAndroid Build Coastguard Worker    }
69*d5c09012SAndroid Build Coastguard Worker  ];
70*d5c09012SAndroid Build Coastguard Worker}
71*d5c09012SAndroid Build Coastguard Worker
72*d5c09012SAndroid Build Coastguard Worker// The configuration pertaining to a meeting space.
73*d5c09012SAndroid Build Coastguard Workermessage SpaceConfig {
74*d5c09012SAndroid Build Coastguard Worker  // Possible access types for a meeting space.
75*d5c09012SAndroid Build Coastguard Worker  enum AccessType {
76*d5c09012SAndroid Build Coastguard Worker    // Default value specified by the user's organization.
77*d5c09012SAndroid Build Coastguard Worker    // Note: This is never returned, as the configured access type is
78*d5c09012SAndroid Build Coastguard Worker    // returned instead.
79*d5c09012SAndroid Build Coastguard Worker    ACCESS_TYPE_UNSPECIFIED = 0;
80*d5c09012SAndroid Build Coastguard Worker
81*d5c09012SAndroid Build Coastguard Worker    // Anyone with the join information (for example, the URL or phone access
82*d5c09012SAndroid Build Coastguard Worker    // information) can join without knocking.
83*d5c09012SAndroid Build Coastguard Worker    OPEN = 1;
84*d5c09012SAndroid Build Coastguard Worker
85*d5c09012SAndroid Build Coastguard Worker    // Members of the host's organization, invited external users, and dial-in
86*d5c09012SAndroid Build Coastguard Worker    // users can join without knocking. Everyone else must knock.
87*d5c09012SAndroid Build Coastguard Worker    TRUSTED = 2;
88*d5c09012SAndroid Build Coastguard Worker
89*d5c09012SAndroid Build Coastguard Worker    // Only invitees can join without knocking. Everyone else must knock.
90*d5c09012SAndroid Build Coastguard Worker    RESTRICTED = 3;
91*d5c09012SAndroid Build Coastguard Worker  }
92*d5c09012SAndroid Build Coastguard Worker
93*d5c09012SAndroid Build Coastguard Worker  // Entry points that can be used to join a meeting.  Example:
94*d5c09012SAndroid Build Coastguard Worker  // `meet.google.com`, the Meet Embed SDK Web, or a mobile application.
95*d5c09012SAndroid Build Coastguard Worker  enum EntryPointAccess {
96*d5c09012SAndroid Build Coastguard Worker    // Unused.
97*d5c09012SAndroid Build Coastguard Worker    ENTRY_POINT_ACCESS_UNSPECIFIED = 0;
98*d5c09012SAndroid Build Coastguard Worker
99*d5c09012SAndroid Build Coastguard Worker    // All entry points are allowed.
100*d5c09012SAndroid Build Coastguard Worker    ALL = 1;
101*d5c09012SAndroid Build Coastguard Worker
102*d5c09012SAndroid Build Coastguard Worker    // Only entry points owned by the Google Cloud project that created the
103*d5c09012SAndroid Build Coastguard Worker    // space can be used to join meetings in this space. Apps can use the Meet
104*d5c09012SAndroid Build Coastguard Worker    // Embed SDK Web or mobile Meet SDKs to create owned entry points.
105*d5c09012SAndroid Build Coastguard Worker    CREATOR_APP_ONLY = 2;
106*d5c09012SAndroid Build Coastguard Worker  }
107*d5c09012SAndroid Build Coastguard Worker
108*d5c09012SAndroid Build Coastguard Worker  // Access type of the meeting space that determines who can join without
109*d5c09012SAndroid Build Coastguard Worker  // knocking. Default: The user's default access settings.  Controlled by the
110*d5c09012SAndroid Build Coastguard Worker  // user's admin for enterprise users or RESTRICTED.
111*d5c09012SAndroid Build Coastguard Worker  AccessType access_type = 1;
112*d5c09012SAndroid Build Coastguard Worker
113*d5c09012SAndroid Build Coastguard Worker  // Defines the entry points that can be used to join meetings hosted in this
114*d5c09012SAndroid Build Coastguard Worker  // meeting space.
115*d5c09012SAndroid Build Coastguard Worker  // Default: EntryPointAccess.ALL
116*d5c09012SAndroid Build Coastguard Worker  EntryPointAccess entry_point_access = 2;
117*d5c09012SAndroid Build Coastguard Worker}
118*d5c09012SAndroid Build Coastguard Worker
119*d5c09012SAndroid Build Coastguard Worker// Single instance of a meeting held in a space.
120*d5c09012SAndroid Build Coastguard Workermessage ConferenceRecord {
121*d5c09012SAndroid Build Coastguard Worker  option (google.api.resource) = {
122*d5c09012SAndroid Build Coastguard Worker    type: "meet.googleapis.com/ConferenceRecord"
123*d5c09012SAndroid Build Coastguard Worker    pattern: "conferenceRecords/{conference_record}"
124*d5c09012SAndroid Build Coastguard Worker    plural: "conferenceRecords"
125*d5c09012SAndroid Build Coastguard Worker    singular: "conferenceRecord"
126*d5c09012SAndroid Build Coastguard Worker  };
127*d5c09012SAndroid Build Coastguard Worker
128*d5c09012SAndroid Build Coastguard Worker  // Identifier. Resource name of the conference record.
129*d5c09012SAndroid Build Coastguard Worker  // Format: `conferenceRecords/{conference_record}` where `{conference_record}`
130*d5c09012SAndroid Build Coastguard Worker  // is a unique ID for each instance of a call within a space.
131*d5c09012SAndroid Build Coastguard Worker  string name = 1 [(google.api.field_behavior) = IDENTIFIER];
132*d5c09012SAndroid Build Coastguard Worker
133*d5c09012SAndroid Build Coastguard Worker  // Output only. Timestamp when the conference started. Always set.
134*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp start_time = 2
135*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
136*d5c09012SAndroid Build Coastguard Worker
137*d5c09012SAndroid Build Coastguard Worker  // Output only. Timestamp when the conference ended.
138*d5c09012SAndroid Build Coastguard Worker  // Set for past conferences. Unset if the conference is ongoing.
139*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp end_time = 3
140*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
141*d5c09012SAndroid Build Coastguard Worker
142*d5c09012SAndroid Build Coastguard Worker  // Output only. Server enforced expiration time for when this conference
143*d5c09012SAndroid Build Coastguard Worker  // record resource is deleted. The resource is deleted 30 days after the
144*d5c09012SAndroid Build Coastguard Worker  // conference ends.
145*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp expire_time = 4
146*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
147*d5c09012SAndroid Build Coastguard Worker
148*d5c09012SAndroid Build Coastguard Worker  // Output only. The space where the conference was held.
149*d5c09012SAndroid Build Coastguard Worker  string space = 5 [
150*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = OUTPUT_ONLY,
151*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = { type: "meet.googleapis.com/Space" }
152*d5c09012SAndroid Build Coastguard Worker  ];
153*d5c09012SAndroid Build Coastguard Worker}
154*d5c09012SAndroid Build Coastguard Worker
155*d5c09012SAndroid Build Coastguard Worker// User who attended or is attending a conference.
156*d5c09012SAndroid Build Coastguard Workermessage Participant {
157*d5c09012SAndroid Build Coastguard Worker  option (google.api.resource) = {
158*d5c09012SAndroid Build Coastguard Worker    type: "meet.googleapis.com/Participant"
159*d5c09012SAndroid Build Coastguard Worker    pattern: "conferenceRecords/{conference_record}/participants/{participant}"
160*d5c09012SAndroid Build Coastguard Worker    plural: "participants"
161*d5c09012SAndroid Build Coastguard Worker    singular: "participant"
162*d5c09012SAndroid Build Coastguard Worker  };
163*d5c09012SAndroid Build Coastguard Worker
164*d5c09012SAndroid Build Coastguard Worker  oneof user {
165*d5c09012SAndroid Build Coastguard Worker    // Signed-in user.
166*d5c09012SAndroid Build Coastguard Worker    SignedinUser signedin_user = 4;
167*d5c09012SAndroid Build Coastguard Worker
168*d5c09012SAndroid Build Coastguard Worker    // Anonymous user.
169*d5c09012SAndroid Build Coastguard Worker    AnonymousUser anonymous_user = 5;
170*d5c09012SAndroid Build Coastguard Worker
171*d5c09012SAndroid Build Coastguard Worker    // User calling from their phone.
172*d5c09012SAndroid Build Coastguard Worker    PhoneUser phone_user = 6;
173*d5c09012SAndroid Build Coastguard Worker  }
174*d5c09012SAndroid Build Coastguard Worker
175*d5c09012SAndroid Build Coastguard Worker  // Output only. Resource name of the participant.
176*d5c09012SAndroid Build Coastguard Worker  // Format: `conferenceRecords/{conference_record}/participants/{participant}`
177*d5c09012SAndroid Build Coastguard Worker  string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
178*d5c09012SAndroid Build Coastguard Worker
179*d5c09012SAndroid Build Coastguard Worker  // Output only. Time when the participant first joined the meeting.
180*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp earliest_start_time = 7
181*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
182*d5c09012SAndroid Build Coastguard Worker
183*d5c09012SAndroid Build Coastguard Worker  // Output only. Time when the participant left the meeting for the last time.
184*d5c09012SAndroid Build Coastguard Worker  // This can be null if it's an active meeting.
185*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp latest_end_time = 8
186*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
187*d5c09012SAndroid Build Coastguard Worker}
188*d5c09012SAndroid Build Coastguard Worker
189*d5c09012SAndroid Build Coastguard Worker// Refers to each unique join or leave session when a user joins a conference
190*d5c09012SAndroid Build Coastguard Worker// from a device. Note that any time a user joins the conference a new unique ID
191*d5c09012SAndroid Build Coastguard Worker// is assigned. That means if a user joins a space multiple times from the same
192*d5c09012SAndroid Build Coastguard Worker// device, they're assigned different IDs, and are also be treated as different
193*d5c09012SAndroid Build Coastguard Worker// participant sessions.
194*d5c09012SAndroid Build Coastguard Workermessage ParticipantSession {
195*d5c09012SAndroid Build Coastguard Worker  option (google.api.resource) = {
196*d5c09012SAndroid Build Coastguard Worker    type: "meet.googleapis.com/ParticipantSession"
197*d5c09012SAndroid Build Coastguard Worker    pattern: "conferenceRecords/{conference_record}/participants/{participant}/participantSessions/{participant_session}"
198*d5c09012SAndroid Build Coastguard Worker    plural: "participantSessions"
199*d5c09012SAndroid Build Coastguard Worker    singular: "participantSession"
200*d5c09012SAndroid Build Coastguard Worker  };
201*d5c09012SAndroid Build Coastguard Worker
202*d5c09012SAndroid Build Coastguard Worker  // Identifier. Session id.
203*d5c09012SAndroid Build Coastguard Worker  string name = 1 [(google.api.field_behavior) = IDENTIFIER];
204*d5c09012SAndroid Build Coastguard Worker
205*d5c09012SAndroid Build Coastguard Worker  // Output only. Timestamp when the user session starts.
206*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp start_time = 2
207*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
208*d5c09012SAndroid Build Coastguard Worker
209*d5c09012SAndroid Build Coastguard Worker  // Output only. Timestamp when the user session ends. Unset if the user
210*d5c09012SAndroid Build Coastguard Worker  // session hasn’t ended.
211*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp end_time = 3
212*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
213*d5c09012SAndroid Build Coastguard Worker}
214*d5c09012SAndroid Build Coastguard Worker
215*d5c09012SAndroid Build Coastguard Worker// A signed-in user can be:
216*d5c09012SAndroid Build Coastguard Worker// a) An individual joining from a personal computer, mobile device, or through
217*d5c09012SAndroid Build Coastguard Worker// companion mode.
218*d5c09012SAndroid Build Coastguard Worker// b) A robot account used by conference room devices.
219*d5c09012SAndroid Build Coastguard Workermessage SignedinUser {
220*d5c09012SAndroid Build Coastguard Worker  // Output only. Unique ID for the user. Interoperable with Admin SDK API and
221*d5c09012SAndroid Build Coastguard Worker  // People API. Format: `users/{user}`
222*d5c09012SAndroid Build Coastguard Worker  string user = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
223*d5c09012SAndroid Build Coastguard Worker
224*d5c09012SAndroid Build Coastguard Worker  // Output only. For a personal device, it's the user's first name and last
225*d5c09012SAndroid Build Coastguard Worker  // name. For a robot account, it's the administrator-specified device name.
226*d5c09012SAndroid Build Coastguard Worker  // For example, "Altostrat Room".
227*d5c09012SAndroid Build Coastguard Worker  string display_name = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
228*d5c09012SAndroid Build Coastguard Worker}
229*d5c09012SAndroid Build Coastguard Worker
230*d5c09012SAndroid Build Coastguard Worker// User who joins anonymously (meaning not signed into a Google Account).
231*d5c09012SAndroid Build Coastguard Workermessage AnonymousUser {
232*d5c09012SAndroid Build Coastguard Worker  // Output only. User provided name when they join a conference anonymously.
233*d5c09012SAndroid Build Coastguard Worker  string display_name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
234*d5c09012SAndroid Build Coastguard Worker}
235*d5c09012SAndroid Build Coastguard Worker
236*d5c09012SAndroid Build Coastguard Worker// User dialing in from a phone where the user's identity is unknown because
237*d5c09012SAndroid Build Coastguard Worker// they haven't signed in with a Google Account.
238*d5c09012SAndroid Build Coastguard Workermessage PhoneUser {
239*d5c09012SAndroid Build Coastguard Worker  // Output only. Partially redacted user's phone number when calling.
240*d5c09012SAndroid Build Coastguard Worker  string display_name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
241*d5c09012SAndroid Build Coastguard Worker}
242*d5c09012SAndroid Build Coastguard Worker
243*d5c09012SAndroid Build Coastguard Worker// Metadata about a recording created during a conference.
244*d5c09012SAndroid Build Coastguard Workermessage Recording {
245*d5c09012SAndroid Build Coastguard Worker  option (google.api.resource) = {
246*d5c09012SAndroid Build Coastguard Worker    type: "meet.googleapis.com/Recording"
247*d5c09012SAndroid Build Coastguard Worker    pattern: "conferenceRecords/{conference_record}/recordings/{recording}"
248*d5c09012SAndroid Build Coastguard Worker    plural: "recordings"
249*d5c09012SAndroid Build Coastguard Worker    singular: "recording"
250*d5c09012SAndroid Build Coastguard Worker  };
251*d5c09012SAndroid Build Coastguard Worker
252*d5c09012SAndroid Build Coastguard Worker  // Current state of the recording session.
253*d5c09012SAndroid Build Coastguard Worker  enum State {
254*d5c09012SAndroid Build Coastguard Worker    // Default, never used.
255*d5c09012SAndroid Build Coastguard Worker    STATE_UNSPECIFIED = 0;
256*d5c09012SAndroid Build Coastguard Worker
257*d5c09012SAndroid Build Coastguard Worker    // An active recording session has started.
258*d5c09012SAndroid Build Coastguard Worker    STARTED = 1;
259*d5c09012SAndroid Build Coastguard Worker
260*d5c09012SAndroid Build Coastguard Worker    // This recording session has ended, but the recording file hasn't been
261*d5c09012SAndroid Build Coastguard Worker    // generated yet.
262*d5c09012SAndroid Build Coastguard Worker    ENDED = 2;
263*d5c09012SAndroid Build Coastguard Worker
264*d5c09012SAndroid Build Coastguard Worker    // Recording file is generated and ready to download.
265*d5c09012SAndroid Build Coastguard Worker    FILE_GENERATED = 3;
266*d5c09012SAndroid Build Coastguard Worker  }
267*d5c09012SAndroid Build Coastguard Worker
268*d5c09012SAndroid Build Coastguard Worker  oneof destination {
269*d5c09012SAndroid Build Coastguard Worker    // Output only. Recording is saved to Google Drive as an MP4 file. The
270*d5c09012SAndroid Build Coastguard Worker    // `drive_destination` includes the Drive `fileId` that can be used to
271*d5c09012SAndroid Build Coastguard Worker    // download the file using the `files.get` method of the Drive API.
272*d5c09012SAndroid Build Coastguard Worker    DriveDestination drive_destination = 6
273*d5c09012SAndroid Build Coastguard Worker        [(google.api.field_behavior) = OUTPUT_ONLY];
274*d5c09012SAndroid Build Coastguard Worker  }
275*d5c09012SAndroid Build Coastguard Worker
276*d5c09012SAndroid Build Coastguard Worker  // Output only. Resource name of the recording.
277*d5c09012SAndroid Build Coastguard Worker  // Format: `conferenceRecords/{conference_record}/recordings/{recording}`
278*d5c09012SAndroid Build Coastguard Worker  // where `{recording}` is a 1:1 mapping to each unique recording session
279*d5c09012SAndroid Build Coastguard Worker  // during the conference.
280*d5c09012SAndroid Build Coastguard Worker  string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
281*d5c09012SAndroid Build Coastguard Worker
282*d5c09012SAndroid Build Coastguard Worker  // Output only. Current state.
283*d5c09012SAndroid Build Coastguard Worker  State state = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
284*d5c09012SAndroid Build Coastguard Worker
285*d5c09012SAndroid Build Coastguard Worker  // Output only. Timestamp when the recording started.
286*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp start_time = 4
287*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
288*d5c09012SAndroid Build Coastguard Worker
289*d5c09012SAndroid Build Coastguard Worker  // Output only. Timestamp when the recording ended.
290*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp end_time = 5
291*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
292*d5c09012SAndroid Build Coastguard Worker}
293*d5c09012SAndroid Build Coastguard Worker
294*d5c09012SAndroid Build Coastguard Worker// Export location where a recording file is saved in Google Drive.
295*d5c09012SAndroid Build Coastguard Workermessage DriveDestination {
296*d5c09012SAndroid Build Coastguard Worker  // Output only. The `fileId` for the underlying MP4 file. For example,
297*d5c09012SAndroid Build Coastguard Worker  // "1kuceFZohVoCh6FulBHxwy6I15Ogpc4hP". Use `$ GET
298*d5c09012SAndroid Build Coastguard Worker  // https://www.googleapis.com/drive/v3/files/{$fileId}?alt=media` to download
299*d5c09012SAndroid Build Coastguard Worker  // the blob. For more information, see
300*d5c09012SAndroid Build Coastguard Worker  // https://developers.google.com/drive/api/v3/reference/files/get.
301*d5c09012SAndroid Build Coastguard Worker  string file = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
302*d5c09012SAndroid Build Coastguard Worker
303*d5c09012SAndroid Build Coastguard Worker  // Output only. Link used to play back the recording file in the browser. For
304*d5c09012SAndroid Build Coastguard Worker  // example, `https://drive.google.com/file/d/{$fileId}/view`.
305*d5c09012SAndroid Build Coastguard Worker  string export_uri = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
306*d5c09012SAndroid Build Coastguard Worker}
307*d5c09012SAndroid Build Coastguard Worker
308*d5c09012SAndroid Build Coastguard Worker// Metadata for a transcript generated from a conference. It refers to the ASR
309*d5c09012SAndroid Build Coastguard Worker// (Automatic Speech Recognition) result of user's speech during the conference.
310*d5c09012SAndroid Build Coastguard Workermessage Transcript {
311*d5c09012SAndroid Build Coastguard Worker  option (google.api.resource) = {
312*d5c09012SAndroid Build Coastguard Worker    type: "meet.googleapis.com/Transcript"
313*d5c09012SAndroid Build Coastguard Worker    pattern: "conferenceRecords/{conference_record}/transcripts/{transcript}"
314*d5c09012SAndroid Build Coastguard Worker    plural: "transcripts"
315*d5c09012SAndroid Build Coastguard Worker    singular: "transcript"
316*d5c09012SAndroid Build Coastguard Worker  };
317*d5c09012SAndroid Build Coastguard Worker
318*d5c09012SAndroid Build Coastguard Worker  // Current state of the transcript session.
319*d5c09012SAndroid Build Coastguard Worker  enum State {
320*d5c09012SAndroid Build Coastguard Worker    // Default, never used.
321*d5c09012SAndroid Build Coastguard Worker    STATE_UNSPECIFIED = 0;
322*d5c09012SAndroid Build Coastguard Worker
323*d5c09012SAndroid Build Coastguard Worker    // An active transcript session has started.
324*d5c09012SAndroid Build Coastguard Worker    STARTED = 1;
325*d5c09012SAndroid Build Coastguard Worker
326*d5c09012SAndroid Build Coastguard Worker    // This transcript session has ended, but the transcript file hasn't been
327*d5c09012SAndroid Build Coastguard Worker    // generated yet.
328*d5c09012SAndroid Build Coastguard Worker    ENDED = 2;
329*d5c09012SAndroid Build Coastguard Worker
330*d5c09012SAndroid Build Coastguard Worker    // Transcript file is generated and ready to download.
331*d5c09012SAndroid Build Coastguard Worker    FILE_GENERATED = 3;
332*d5c09012SAndroid Build Coastguard Worker  }
333*d5c09012SAndroid Build Coastguard Worker
334*d5c09012SAndroid Build Coastguard Worker  oneof destination {
335*d5c09012SAndroid Build Coastguard Worker    // Output only. Where the Google Docs transcript is saved.
336*d5c09012SAndroid Build Coastguard Worker    DocsDestination docs_destination = 6
337*d5c09012SAndroid Build Coastguard Worker        [(google.api.field_behavior) = OUTPUT_ONLY];
338*d5c09012SAndroid Build Coastguard Worker  }
339*d5c09012SAndroid Build Coastguard Worker
340*d5c09012SAndroid Build Coastguard Worker  // Output only. Resource name of the transcript.
341*d5c09012SAndroid Build Coastguard Worker  // Format: `conferenceRecords/{conference_record}/transcripts/{transcript}`,
342*d5c09012SAndroid Build Coastguard Worker  // where `{transcript}` is a 1:1 mapping to each unique transcription session
343*d5c09012SAndroid Build Coastguard Worker  // of the conference.
344*d5c09012SAndroid Build Coastguard Worker  string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
345*d5c09012SAndroid Build Coastguard Worker
346*d5c09012SAndroid Build Coastguard Worker  // Output only. Current state.
347*d5c09012SAndroid Build Coastguard Worker  State state = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
348*d5c09012SAndroid Build Coastguard Worker
349*d5c09012SAndroid Build Coastguard Worker  // Output only. Timestamp when the transcript started.
350*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp start_time = 4
351*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
352*d5c09012SAndroid Build Coastguard Worker
353*d5c09012SAndroid Build Coastguard Worker  // Output only. Timestamp when the transcript stopped.
354*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp end_time = 5
355*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
356*d5c09012SAndroid Build Coastguard Worker}
357*d5c09012SAndroid Build Coastguard Worker
358*d5c09012SAndroid Build Coastguard Worker// Google Docs location where the transcript file is saved.
359*d5c09012SAndroid Build Coastguard Workermessage DocsDestination {
360*d5c09012SAndroid Build Coastguard Worker  // Output only. The document ID for the underlying Google Docs transcript
361*d5c09012SAndroid Build Coastguard Worker  // file. For example, "1kuceFZohVoCh6FulBHxwy6I15Ogpc4hP". Use the
362*d5c09012SAndroid Build Coastguard Worker  // `documents.get` method of the Google Docs API
363*d5c09012SAndroid Build Coastguard Worker  // (https://developers.google.com/docs/api/reference/rest/v1/documents/get) to
364*d5c09012SAndroid Build Coastguard Worker  // fetch the content.
365*d5c09012SAndroid Build Coastguard Worker  string document = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
366*d5c09012SAndroid Build Coastguard Worker
367*d5c09012SAndroid Build Coastguard Worker  // Output only. URI for the Google Docs transcript file. Use
368*d5c09012SAndroid Build Coastguard Worker  // `https://docs.google.com/document/d/{$DocumentId}/view` to browse the
369*d5c09012SAndroid Build Coastguard Worker  // transcript in the browser.
370*d5c09012SAndroid Build Coastguard Worker  string export_uri = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
371*d5c09012SAndroid Build Coastguard Worker}
372*d5c09012SAndroid Build Coastguard Worker
373*d5c09012SAndroid Build Coastguard Worker// Single entry for one user’s speech during a transcript session.
374*d5c09012SAndroid Build Coastguard Workermessage TranscriptEntry {
375*d5c09012SAndroid Build Coastguard Worker  option (google.api.resource) = {
376*d5c09012SAndroid Build Coastguard Worker    type: "meet.googleapis.com/TranscriptEntry"
377*d5c09012SAndroid Build Coastguard Worker    pattern: "conferenceRecords/{conference_record}/transcripts/{transcript}/entries/{entry}"
378*d5c09012SAndroid Build Coastguard Worker    plural: "transcriptEntries"
379*d5c09012SAndroid Build Coastguard Worker    singular: "transcriptEntry"
380*d5c09012SAndroid Build Coastguard Worker  };
381*d5c09012SAndroid Build Coastguard Worker
382*d5c09012SAndroid Build Coastguard Worker  // Output only. Resource name of the entry. Format:
383*d5c09012SAndroid Build Coastguard Worker  // "conferenceRecords/{conference_record}/transcripts/{transcript}/entries/{entry}"
384*d5c09012SAndroid Build Coastguard Worker  string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
385*d5c09012SAndroid Build Coastguard Worker
386*d5c09012SAndroid Build Coastguard Worker  // Output only. Refers to the participant who speaks.
387*d5c09012SAndroid Build Coastguard Worker  string participant = 2 [
388*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = OUTPUT_ONLY,
389*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
390*d5c09012SAndroid Build Coastguard Worker      type: "meet.googleapis.com/Participant"
391*d5c09012SAndroid Build Coastguard Worker    }
392*d5c09012SAndroid Build Coastguard Worker  ];
393*d5c09012SAndroid Build Coastguard Worker
394*d5c09012SAndroid Build Coastguard Worker  // Output only. The transcribed text of the participant's voice, at maximum
395*d5c09012SAndroid Build Coastguard Worker  // 10K words. Note that the limit is subject to change.
396*d5c09012SAndroid Build Coastguard Worker  string text = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
397*d5c09012SAndroid Build Coastguard Worker
398*d5c09012SAndroid Build Coastguard Worker  // Output only. Language of spoken text, such as "en-US".
399*d5c09012SAndroid Build Coastguard Worker  // IETF BCP 47 syntax (https://tools.ietf.org/html/bcp47)
400*d5c09012SAndroid Build Coastguard Worker  string language_code = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
401*d5c09012SAndroid Build Coastguard Worker
402*d5c09012SAndroid Build Coastguard Worker  // Output only. Timestamp when the transcript entry started.
403*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp start_time = 5
404*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
405*d5c09012SAndroid Build Coastguard Worker
406*d5c09012SAndroid Build Coastguard Worker  // Output only. Timestamp when the transcript entry ended.
407*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp end_time = 6
408*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
409*d5c09012SAndroid Build Coastguard Worker}
410