1*d5c09012SAndroid Build Coastguard Worker// Copyright 2021 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.area120.tables.v1alpha1; 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/protobuf/empty.proto"; 24*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/field_mask.proto"; 25*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/struct.proto"; 26*d5c09012SAndroid Build Coastguard Worker 27*d5c09012SAndroid Build Coastguard Workeroption go_package = "cloud.google.com/go/area120/tables/apiv1alpha1/tablespb;tablespb"; 28*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true; 29*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "TablesProto"; 30*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.area120.tables.v1alpha1"; 31*d5c09012SAndroid Build Coastguard Worker 32*d5c09012SAndroid Build Coastguard Worker// The Tables Service provides an API for reading and updating tables. 33*d5c09012SAndroid Build Coastguard Worker// It defines the following resource model: 34*d5c09012SAndroid Build Coastguard Worker// 35*d5c09012SAndroid Build Coastguard Worker// - The API has a collection of [Table][google.area120.tables.v1alpha1.Table] 36*d5c09012SAndroid Build Coastguard Worker// resources, named `tables/*` 37*d5c09012SAndroid Build Coastguard Worker// 38*d5c09012SAndroid Build Coastguard Worker// - Each Table has a collection of [Row][google.area120.tables.v1alpha1.Row] 39*d5c09012SAndroid Build Coastguard Worker// resources, named `tables/*/rows/*` 40*d5c09012SAndroid Build Coastguard Worker// 41*d5c09012SAndroid Build Coastguard Worker// - The API has a collection of 42*d5c09012SAndroid Build Coastguard Worker// [Workspace][google.area120.tables.v1alpha1.Workspace] 43*d5c09012SAndroid Build Coastguard Worker// resources, named `workspaces/*`. 44*d5c09012SAndroid Build Coastguard Workerservice TablesService { 45*d5c09012SAndroid Build Coastguard Worker option (google.api.default_host) = "area120tables.googleapis.com"; 46*d5c09012SAndroid Build Coastguard Worker option (google.api.oauth_scopes) = 47*d5c09012SAndroid Build Coastguard Worker "https://www.googleapis.com/auth/drive," 48*d5c09012SAndroid Build Coastguard Worker "https://www.googleapis.com/auth/drive.file," 49*d5c09012SAndroid Build Coastguard Worker "https://www.googleapis.com/auth/drive.readonly," 50*d5c09012SAndroid Build Coastguard Worker "https://www.googleapis.com/auth/spreadsheets," 51*d5c09012SAndroid Build Coastguard Worker "https://www.googleapis.com/auth/spreadsheets.readonly," 52*d5c09012SAndroid Build Coastguard Worker "https://www.googleapis.com/auth/tables"; 53*d5c09012SAndroid Build Coastguard Worker 54*d5c09012SAndroid Build Coastguard Worker // Gets a table. Returns NOT_FOUND if the table does not exist. 55*d5c09012SAndroid Build Coastguard Worker rpc GetTable(GetTableRequest) returns (Table) { 56*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 57*d5c09012SAndroid Build Coastguard Worker get: "/v1alpha1/{name=tables/*}" 58*d5c09012SAndroid Build Coastguard Worker }; 59*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "name"; 60*d5c09012SAndroid Build Coastguard Worker } 61*d5c09012SAndroid Build Coastguard Worker 62*d5c09012SAndroid Build Coastguard Worker // Lists tables for the user. 63*d5c09012SAndroid Build Coastguard Worker rpc ListTables(ListTablesRequest) returns (ListTablesResponse) { 64*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 65*d5c09012SAndroid Build Coastguard Worker get: "/v1alpha1/tables" 66*d5c09012SAndroid Build Coastguard Worker }; 67*d5c09012SAndroid Build Coastguard Worker } 68*d5c09012SAndroid Build Coastguard Worker 69*d5c09012SAndroid Build Coastguard Worker // Gets a workspace. Returns NOT_FOUND if the workspace does not exist. 70*d5c09012SAndroid Build Coastguard Worker rpc GetWorkspace(GetWorkspaceRequest) returns (Workspace) { 71*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 72*d5c09012SAndroid Build Coastguard Worker get: "/v1alpha1/{name=workspaces/*}" 73*d5c09012SAndroid Build Coastguard Worker }; 74*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "name"; 75*d5c09012SAndroid Build Coastguard Worker } 76*d5c09012SAndroid Build Coastguard Worker 77*d5c09012SAndroid Build Coastguard Worker // Lists workspaces for the user. 78*d5c09012SAndroid Build Coastguard Worker rpc ListWorkspaces(ListWorkspacesRequest) returns (ListWorkspacesResponse) { 79*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 80*d5c09012SAndroid Build Coastguard Worker get: "/v1alpha1/workspaces" 81*d5c09012SAndroid Build Coastguard Worker }; 82*d5c09012SAndroid Build Coastguard Worker } 83*d5c09012SAndroid Build Coastguard Worker 84*d5c09012SAndroid Build Coastguard Worker // Gets a row. Returns NOT_FOUND if the row does not exist in the table. 85*d5c09012SAndroid Build Coastguard Worker rpc GetRow(GetRowRequest) returns (Row) { 86*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 87*d5c09012SAndroid Build Coastguard Worker get: "/v1alpha1/{name=tables/*/rows/*}" 88*d5c09012SAndroid Build Coastguard Worker }; 89*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "name"; 90*d5c09012SAndroid Build Coastguard Worker } 91*d5c09012SAndroid Build Coastguard Worker 92*d5c09012SAndroid Build Coastguard Worker // Lists rows in a table. Returns NOT_FOUND if the table does not exist. 93*d5c09012SAndroid Build Coastguard Worker rpc ListRows(ListRowsRequest) returns (ListRowsResponse) { 94*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 95*d5c09012SAndroid Build Coastguard Worker get: "/v1alpha1/{parent=tables/*}/rows" 96*d5c09012SAndroid Build Coastguard Worker }; 97*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "parent"; 98*d5c09012SAndroid Build Coastguard Worker } 99*d5c09012SAndroid Build Coastguard Worker 100*d5c09012SAndroid Build Coastguard Worker // Creates a row. 101*d5c09012SAndroid Build Coastguard Worker rpc CreateRow(CreateRowRequest) returns (Row) { 102*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 103*d5c09012SAndroid Build Coastguard Worker post: "/v1alpha1/{parent=tables/*}/rows" 104*d5c09012SAndroid Build Coastguard Worker body: "row" 105*d5c09012SAndroid Build Coastguard Worker }; 106*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "parent,row"; 107*d5c09012SAndroid Build Coastguard Worker } 108*d5c09012SAndroid Build Coastguard Worker 109*d5c09012SAndroid Build Coastguard Worker // Creates multiple rows. 110*d5c09012SAndroid Build Coastguard Worker rpc BatchCreateRows(BatchCreateRowsRequest) returns (BatchCreateRowsResponse) { 111*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 112*d5c09012SAndroid Build Coastguard Worker post: "/v1alpha1/{parent=tables/*}/rows:batchCreate" 113*d5c09012SAndroid Build Coastguard Worker body: "*" 114*d5c09012SAndroid Build Coastguard Worker }; 115*d5c09012SAndroid Build Coastguard Worker } 116*d5c09012SAndroid Build Coastguard Worker 117*d5c09012SAndroid Build Coastguard Worker // Updates a row. 118*d5c09012SAndroid Build Coastguard Worker rpc UpdateRow(UpdateRowRequest) returns (Row) { 119*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 120*d5c09012SAndroid Build Coastguard Worker patch: "/v1alpha1/{row.name=tables/*/rows/*}" 121*d5c09012SAndroid Build Coastguard Worker body: "row" 122*d5c09012SAndroid Build Coastguard Worker }; 123*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "row,update_mask"; 124*d5c09012SAndroid Build Coastguard Worker } 125*d5c09012SAndroid Build Coastguard Worker 126*d5c09012SAndroid Build Coastguard Worker // Updates multiple rows. 127*d5c09012SAndroid Build Coastguard Worker rpc BatchUpdateRows(BatchUpdateRowsRequest) returns (BatchUpdateRowsResponse) { 128*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 129*d5c09012SAndroid Build Coastguard Worker post: "/v1alpha1/{parent=tables/*}/rows:batchUpdate" 130*d5c09012SAndroid Build Coastguard Worker body: "*" 131*d5c09012SAndroid Build Coastguard Worker }; 132*d5c09012SAndroid Build Coastguard Worker } 133*d5c09012SAndroid Build Coastguard Worker 134*d5c09012SAndroid Build Coastguard Worker // Deletes a row. 135*d5c09012SAndroid Build Coastguard Worker rpc DeleteRow(DeleteRowRequest) returns (google.protobuf.Empty) { 136*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 137*d5c09012SAndroid Build Coastguard Worker delete: "/v1alpha1/{name=tables/*/rows/*}" 138*d5c09012SAndroid Build Coastguard Worker }; 139*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "name"; 140*d5c09012SAndroid Build Coastguard Worker } 141*d5c09012SAndroid Build Coastguard Worker 142*d5c09012SAndroid Build Coastguard Worker // Deletes multiple rows. 143*d5c09012SAndroid Build Coastguard Worker rpc BatchDeleteRows(BatchDeleteRowsRequest) returns (google.protobuf.Empty) { 144*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 145*d5c09012SAndroid Build Coastguard Worker post: "/v1alpha1/{parent=tables/*}/rows:batchDelete" 146*d5c09012SAndroid Build Coastguard Worker body: "*" 147*d5c09012SAndroid Build Coastguard Worker }; 148*d5c09012SAndroid Build Coastguard Worker } 149*d5c09012SAndroid Build Coastguard Worker} 150*d5c09012SAndroid Build Coastguard Worker 151*d5c09012SAndroid Build Coastguard Worker// Request message for TablesService.GetTable. 152*d5c09012SAndroid Build Coastguard Workermessage GetTableRequest { 153*d5c09012SAndroid Build Coastguard Worker // Required. The name of the table to retrieve. 154*d5c09012SAndroid Build Coastguard Worker // Format: tables/{table} 155*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 156*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 157*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 158*d5c09012SAndroid Build Coastguard Worker type: "area120tables.googleapis.com/Table" 159*d5c09012SAndroid Build Coastguard Worker } 160*d5c09012SAndroid Build Coastguard Worker ]; 161*d5c09012SAndroid Build Coastguard Worker} 162*d5c09012SAndroid Build Coastguard Worker 163*d5c09012SAndroid Build Coastguard Worker// Request message for TablesService.ListTables. 164*d5c09012SAndroid Build Coastguard Workermessage ListTablesRequest { 165*d5c09012SAndroid Build Coastguard Worker // The maximum number of tables to return. The service may return fewer than 166*d5c09012SAndroid Build Coastguard Worker // this value. 167*d5c09012SAndroid Build Coastguard Worker // 168*d5c09012SAndroid Build Coastguard Worker // If unspecified, at most 20 tables are returned. The maximum value is 100; 169*d5c09012SAndroid Build Coastguard Worker // values above 100 are coerced to 100. 170*d5c09012SAndroid Build Coastguard Worker int32 page_size = 1; 171*d5c09012SAndroid Build Coastguard Worker 172*d5c09012SAndroid Build Coastguard Worker // A page token, received from a previous `ListTables` call. 173*d5c09012SAndroid Build Coastguard Worker // Provide this to retrieve the subsequent page. 174*d5c09012SAndroid Build Coastguard Worker // 175*d5c09012SAndroid Build Coastguard Worker // When paginating, all other parameters provided to `ListTables` must match 176*d5c09012SAndroid Build Coastguard Worker // the call that provided the page token. 177*d5c09012SAndroid Build Coastguard Worker string page_token = 2; 178*d5c09012SAndroid Build Coastguard Worker} 179*d5c09012SAndroid Build Coastguard Worker 180*d5c09012SAndroid Build Coastguard Worker// Response message for TablesService.ListTables. 181*d5c09012SAndroid Build Coastguard Workermessage ListTablesResponse { 182*d5c09012SAndroid Build Coastguard Worker // The list of tables. 183*d5c09012SAndroid Build Coastguard Worker repeated Table tables = 1; 184*d5c09012SAndroid Build Coastguard Worker 185*d5c09012SAndroid Build Coastguard Worker // A token, which can be sent as `page_token` to retrieve the next page. 186*d5c09012SAndroid Build Coastguard Worker // If this field is empty, there are no subsequent pages. 187*d5c09012SAndroid Build Coastguard Worker string next_page_token = 2; 188*d5c09012SAndroid Build Coastguard Worker} 189*d5c09012SAndroid Build Coastguard Worker 190*d5c09012SAndroid Build Coastguard Worker// Request message for TablesService.GetWorkspace. 191*d5c09012SAndroid Build Coastguard Workermessage GetWorkspaceRequest { 192*d5c09012SAndroid Build Coastguard Worker // Required. The name of the workspace to retrieve. 193*d5c09012SAndroid Build Coastguard Worker // Format: workspaces/{workspace} 194*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 195*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 196*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 197*d5c09012SAndroid Build Coastguard Worker type: "area120tables.googleapis.com/Workspace" 198*d5c09012SAndroid Build Coastguard Worker } 199*d5c09012SAndroid Build Coastguard Worker ]; 200*d5c09012SAndroid Build Coastguard Worker} 201*d5c09012SAndroid Build Coastguard Worker 202*d5c09012SAndroid Build Coastguard Worker// Request message for TablesService.ListWorkspaces. 203*d5c09012SAndroid Build Coastguard Workermessage ListWorkspacesRequest { 204*d5c09012SAndroid Build Coastguard Worker // The maximum number of workspaces to return. The service may return fewer 205*d5c09012SAndroid Build Coastguard Worker // than this value. 206*d5c09012SAndroid Build Coastguard Worker // 207*d5c09012SAndroid Build Coastguard Worker // If unspecified, at most 10 workspaces are returned. The maximum value is 208*d5c09012SAndroid Build Coastguard Worker // 25; values above 25 are coerced to 25. 209*d5c09012SAndroid Build Coastguard Worker int32 page_size = 1; 210*d5c09012SAndroid Build Coastguard Worker 211*d5c09012SAndroid Build Coastguard Worker // A page token, received from a previous `ListWorkspaces` call. 212*d5c09012SAndroid Build Coastguard Worker // Provide this to retrieve the subsequent page. 213*d5c09012SAndroid Build Coastguard Worker // 214*d5c09012SAndroid Build Coastguard Worker // When paginating, all other parameters provided to `ListWorkspaces` must 215*d5c09012SAndroid Build Coastguard Worker // match the call that provided the page token. 216*d5c09012SAndroid Build Coastguard Worker string page_token = 2; 217*d5c09012SAndroid Build Coastguard Worker} 218*d5c09012SAndroid Build Coastguard Worker 219*d5c09012SAndroid Build Coastguard Worker// Response message for TablesService.ListWorkspaces. 220*d5c09012SAndroid Build Coastguard Workermessage ListWorkspacesResponse { 221*d5c09012SAndroid Build Coastguard Worker // The list of workspaces. 222*d5c09012SAndroid Build Coastguard Worker repeated Workspace workspaces = 1; 223*d5c09012SAndroid Build Coastguard Worker 224*d5c09012SAndroid Build Coastguard Worker // A token, which can be sent as `page_token` to retrieve the next page. 225*d5c09012SAndroid Build Coastguard Worker // If this field is empty, there are no subsequent pages. 226*d5c09012SAndroid Build Coastguard Worker string next_page_token = 2; 227*d5c09012SAndroid Build Coastguard Worker} 228*d5c09012SAndroid Build Coastguard Worker 229*d5c09012SAndroid Build Coastguard Worker// Request message for TablesService.GetRow. 230*d5c09012SAndroid Build Coastguard Workermessage GetRowRequest { 231*d5c09012SAndroid Build Coastguard Worker // Required. The name of the row to retrieve. 232*d5c09012SAndroid Build Coastguard Worker // Format: tables/{table}/rows/{row} 233*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 234*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 235*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 236*d5c09012SAndroid Build Coastguard Worker type: "area120tables.googleapis.com/Row" 237*d5c09012SAndroid Build Coastguard Worker } 238*d5c09012SAndroid Build Coastguard Worker ]; 239*d5c09012SAndroid Build Coastguard Worker 240*d5c09012SAndroid Build Coastguard Worker // Optional. Column key to use for values in the row. 241*d5c09012SAndroid Build Coastguard Worker // Defaults to user entered name. 242*d5c09012SAndroid Build Coastguard Worker View view = 2 [(google.api.field_behavior) = OPTIONAL]; 243*d5c09012SAndroid Build Coastguard Worker} 244*d5c09012SAndroid Build Coastguard Worker 245*d5c09012SAndroid Build Coastguard Worker// Request message for TablesService.ListRows. 246*d5c09012SAndroid Build Coastguard Workermessage ListRowsRequest { 247*d5c09012SAndroid Build Coastguard Worker // Required. The parent table. 248*d5c09012SAndroid Build Coastguard Worker // Format: tables/{table} 249*d5c09012SAndroid Build Coastguard Worker string parent = 1 [(google.api.field_behavior) = REQUIRED]; 250*d5c09012SAndroid Build Coastguard Worker 251*d5c09012SAndroid Build Coastguard Worker // The maximum number of rows to return. The service may return fewer than 252*d5c09012SAndroid Build Coastguard Worker // this value. 253*d5c09012SAndroid Build Coastguard Worker // 254*d5c09012SAndroid Build Coastguard Worker // If unspecified, at most 50 rows are returned. The maximum value is 1,000; 255*d5c09012SAndroid Build Coastguard Worker // values above 1,000 are coerced to 1,000. 256*d5c09012SAndroid Build Coastguard Worker int32 page_size = 2; 257*d5c09012SAndroid Build Coastguard Worker 258*d5c09012SAndroid Build Coastguard Worker // A page token, received from a previous `ListRows` call. 259*d5c09012SAndroid Build Coastguard Worker // Provide this to retrieve the subsequent page. 260*d5c09012SAndroid Build Coastguard Worker // 261*d5c09012SAndroid Build Coastguard Worker // When paginating, all other parameters provided to `ListRows` must match 262*d5c09012SAndroid Build Coastguard Worker // the call that provided the page token. 263*d5c09012SAndroid Build Coastguard Worker string page_token = 3; 264*d5c09012SAndroid Build Coastguard Worker 265*d5c09012SAndroid Build Coastguard Worker // Optional. Column key to use for values in the row. 266*d5c09012SAndroid Build Coastguard Worker // Defaults to user entered name. 267*d5c09012SAndroid Build Coastguard Worker View view = 4 [(google.api.field_behavior) = OPTIONAL]; 268*d5c09012SAndroid Build Coastguard Worker 269*d5c09012SAndroid Build Coastguard Worker // Optional. Raw text query to search for in rows of the table. 270*d5c09012SAndroid Build Coastguard Worker // Special characters must be escaped. Logical operators and field specific 271*d5c09012SAndroid Build Coastguard Worker // filtering not supported. 272*d5c09012SAndroid Build Coastguard Worker string filter = 5 [(google.api.field_behavior) = OPTIONAL]; 273*d5c09012SAndroid Build Coastguard Worker} 274*d5c09012SAndroid Build Coastguard Worker 275*d5c09012SAndroid Build Coastguard Worker// Response message for TablesService.ListRows. 276*d5c09012SAndroid Build Coastguard Workermessage ListRowsResponse { 277*d5c09012SAndroid Build Coastguard Worker // The rows from the specified table. 278*d5c09012SAndroid Build Coastguard Worker repeated Row rows = 1; 279*d5c09012SAndroid Build Coastguard Worker 280*d5c09012SAndroid Build Coastguard Worker // A token, which can be sent as `page_token` to retrieve the next page. 281*d5c09012SAndroid Build Coastguard Worker // If this field is empty, there are no subsequent pages. 282*d5c09012SAndroid Build Coastguard Worker string next_page_token = 2; 283*d5c09012SAndroid Build Coastguard Worker} 284*d5c09012SAndroid Build Coastguard Worker 285*d5c09012SAndroid Build Coastguard Worker// Request message for TablesService.CreateRow. 286*d5c09012SAndroid Build Coastguard Workermessage CreateRowRequest { 287*d5c09012SAndroid Build Coastguard Worker // Required. The parent table where this row will be created. 288*d5c09012SAndroid Build Coastguard Worker // Format: tables/{table} 289*d5c09012SAndroid Build Coastguard Worker string parent = 1 [(google.api.field_behavior) = REQUIRED]; 290*d5c09012SAndroid Build Coastguard Worker 291*d5c09012SAndroid Build Coastguard Worker // Required. The row to create. 292*d5c09012SAndroid Build Coastguard Worker Row row = 2 [(google.api.field_behavior) = REQUIRED]; 293*d5c09012SAndroid Build Coastguard Worker 294*d5c09012SAndroid Build Coastguard Worker // Optional. Column key to use for values in the row. 295*d5c09012SAndroid Build Coastguard Worker // Defaults to user entered name. 296*d5c09012SAndroid Build Coastguard Worker View view = 3 [(google.api.field_behavior) = OPTIONAL]; 297*d5c09012SAndroid Build Coastguard Worker} 298*d5c09012SAndroid Build Coastguard Worker 299*d5c09012SAndroid Build Coastguard Worker// Request message for TablesService.BatchCreateRows. 300*d5c09012SAndroid Build Coastguard Workermessage BatchCreateRowsRequest { 301*d5c09012SAndroid Build Coastguard Worker // Required. The parent table where the rows will be created. 302*d5c09012SAndroid Build Coastguard Worker // Format: tables/{table} 303*d5c09012SAndroid Build Coastguard Worker string parent = 1 [(google.api.field_behavior) = REQUIRED]; 304*d5c09012SAndroid Build Coastguard Worker 305*d5c09012SAndroid Build Coastguard Worker // Required. The request message specifying the rows to create. 306*d5c09012SAndroid Build Coastguard Worker // 307*d5c09012SAndroid Build Coastguard Worker // A maximum of 500 rows can be created in a single batch. 308*d5c09012SAndroid Build Coastguard Worker repeated CreateRowRequest requests = 2 [(google.api.field_behavior) = REQUIRED]; 309*d5c09012SAndroid Build Coastguard Worker} 310*d5c09012SAndroid Build Coastguard Worker 311*d5c09012SAndroid Build Coastguard Worker// Response message for TablesService.BatchCreateRows. 312*d5c09012SAndroid Build Coastguard Workermessage BatchCreateRowsResponse { 313*d5c09012SAndroid Build Coastguard Worker // The created rows. 314*d5c09012SAndroid Build Coastguard Worker repeated Row rows = 1; 315*d5c09012SAndroid Build Coastguard Worker} 316*d5c09012SAndroid Build Coastguard Worker 317*d5c09012SAndroid Build Coastguard Worker// Request message for TablesService.UpdateRow. 318*d5c09012SAndroid Build Coastguard Workermessage UpdateRowRequest { 319*d5c09012SAndroid Build Coastguard Worker // Required. The row to update. 320*d5c09012SAndroid Build Coastguard Worker Row row = 1 [(google.api.field_behavior) = REQUIRED]; 321*d5c09012SAndroid Build Coastguard Worker 322*d5c09012SAndroid Build Coastguard Worker // The list of fields to update. 323*d5c09012SAndroid Build Coastguard Worker google.protobuf.FieldMask update_mask = 2; 324*d5c09012SAndroid Build Coastguard Worker 325*d5c09012SAndroid Build Coastguard Worker // Optional. Column key to use for values in the row. 326*d5c09012SAndroid Build Coastguard Worker // Defaults to user entered name. 327*d5c09012SAndroid Build Coastguard Worker View view = 3 [(google.api.field_behavior) = OPTIONAL]; 328*d5c09012SAndroid Build Coastguard Worker} 329*d5c09012SAndroid Build Coastguard Worker 330*d5c09012SAndroid Build Coastguard Worker// Request message for TablesService.BatchUpdateRows. 331*d5c09012SAndroid Build Coastguard Workermessage BatchUpdateRowsRequest { 332*d5c09012SAndroid Build Coastguard Worker // Required. The parent table shared by all rows being updated. 333*d5c09012SAndroid Build Coastguard Worker // Format: tables/{table} 334*d5c09012SAndroid Build Coastguard Worker string parent = 1 [(google.api.field_behavior) = REQUIRED]; 335*d5c09012SAndroid Build Coastguard Worker 336*d5c09012SAndroid Build Coastguard Worker // Required. The request messages specifying the rows to update. 337*d5c09012SAndroid Build Coastguard Worker // 338*d5c09012SAndroid Build Coastguard Worker // A maximum of 500 rows can be modified in a single batch. 339*d5c09012SAndroid Build Coastguard Worker repeated UpdateRowRequest requests = 2 [(google.api.field_behavior) = REQUIRED]; 340*d5c09012SAndroid Build Coastguard Worker} 341*d5c09012SAndroid Build Coastguard Worker 342*d5c09012SAndroid Build Coastguard Worker// Response message for TablesService.BatchUpdateRows. 343*d5c09012SAndroid Build Coastguard Workermessage BatchUpdateRowsResponse { 344*d5c09012SAndroid Build Coastguard Worker // The updated rows. 345*d5c09012SAndroid Build Coastguard Worker repeated Row rows = 1; 346*d5c09012SAndroid Build Coastguard Worker} 347*d5c09012SAndroid Build Coastguard Worker 348*d5c09012SAndroid Build Coastguard Worker// Request message for TablesService.DeleteRow 349*d5c09012SAndroid Build Coastguard Workermessage DeleteRowRequest { 350*d5c09012SAndroid Build Coastguard Worker // Required. The name of the row to delete. 351*d5c09012SAndroid Build Coastguard Worker // Format: tables/{table}/rows/{row} 352*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 353*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 354*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 355*d5c09012SAndroid Build Coastguard Worker type: "area120tables.googleapis.com/Row" 356*d5c09012SAndroid Build Coastguard Worker } 357*d5c09012SAndroid Build Coastguard Worker ]; 358*d5c09012SAndroid Build Coastguard Worker} 359*d5c09012SAndroid Build Coastguard Worker 360*d5c09012SAndroid Build Coastguard Worker// Request message for TablesService.BatchDeleteRows 361*d5c09012SAndroid Build Coastguard Workermessage BatchDeleteRowsRequest { 362*d5c09012SAndroid Build Coastguard Worker // Required. The parent table shared by all rows being deleted. 363*d5c09012SAndroid Build Coastguard Worker // Format: tables/{table} 364*d5c09012SAndroid Build Coastguard Worker string parent = 1 [ 365*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 366*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 367*d5c09012SAndroid Build Coastguard Worker type: "area120tables.googleapis.com/Table" 368*d5c09012SAndroid Build Coastguard Worker } 369*d5c09012SAndroid Build Coastguard Worker ]; 370*d5c09012SAndroid Build Coastguard Worker 371*d5c09012SAndroid Build Coastguard Worker // Required. The names of the rows to delete. All rows must belong to the parent table 372*d5c09012SAndroid Build Coastguard Worker // or else the entire batch will fail. A maximum of 500 rows can be deleted 373*d5c09012SAndroid Build Coastguard Worker // in a batch. 374*d5c09012SAndroid Build Coastguard Worker // Format: tables/{table}/rows/{row} 375*d5c09012SAndroid Build Coastguard Worker repeated string names = 2 [ 376*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 377*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 378*d5c09012SAndroid Build Coastguard Worker type: "area120tables.googleapis.com/Row" 379*d5c09012SAndroid Build Coastguard Worker } 380*d5c09012SAndroid Build Coastguard Worker ]; 381*d5c09012SAndroid Build Coastguard Worker} 382*d5c09012SAndroid Build Coastguard Worker 383*d5c09012SAndroid Build Coastguard Worker// A single table. 384*d5c09012SAndroid Build Coastguard Workermessage Table { 385*d5c09012SAndroid Build Coastguard Worker option (google.api.resource) = { 386*d5c09012SAndroid Build Coastguard Worker type: "area120tables.googleapis.com/Table" 387*d5c09012SAndroid Build Coastguard Worker pattern: "tables/{table}" 388*d5c09012SAndroid Build Coastguard Worker }; 389*d5c09012SAndroid Build Coastguard Worker 390*d5c09012SAndroid Build Coastguard Worker // The resource name of the table. 391*d5c09012SAndroid Build Coastguard Worker // Table names have the form `tables/{table}`. 392*d5c09012SAndroid Build Coastguard Worker string name = 1; 393*d5c09012SAndroid Build Coastguard Worker 394*d5c09012SAndroid Build Coastguard Worker // The human readable title of the table. 395*d5c09012SAndroid Build Coastguard Worker string display_name = 2; 396*d5c09012SAndroid Build Coastguard Worker 397*d5c09012SAndroid Build Coastguard Worker // List of columns in this table. 398*d5c09012SAndroid Build Coastguard Worker // Order of columns matches the display order. 399*d5c09012SAndroid Build Coastguard Worker repeated ColumnDescription columns = 3; 400*d5c09012SAndroid Build Coastguard Worker} 401*d5c09012SAndroid Build Coastguard Worker 402*d5c09012SAndroid Build Coastguard Worker// Details on a column in the table. 403*d5c09012SAndroid Build Coastguard Workermessage ColumnDescription { 404*d5c09012SAndroid Build Coastguard Worker // column name 405*d5c09012SAndroid Build Coastguard Worker string name = 1; 406*d5c09012SAndroid Build Coastguard Worker 407*d5c09012SAndroid Build Coastguard Worker // Data type of the column 408*d5c09012SAndroid Build Coastguard Worker // Supported types are auto_id, boolean, boolean_list, creator, 409*d5c09012SAndroid Build Coastguard Worker // create_timestamp, date, dropdown, location, integer, 410*d5c09012SAndroid Build Coastguard Worker // integer_list, number, number_list, person, person_list, tags, check_list, 411*d5c09012SAndroid Build Coastguard Worker // text, text_list, update_timestamp, updater, relationship, 412*d5c09012SAndroid Build Coastguard Worker // file_attachment_list. 413*d5c09012SAndroid Build Coastguard Worker // These types directly map to the column types supported on Tables website. 414*d5c09012SAndroid Build Coastguard Worker string data_type = 2; 415*d5c09012SAndroid Build Coastguard Worker 416*d5c09012SAndroid Build Coastguard Worker // Internal id for a column. 417*d5c09012SAndroid Build Coastguard Worker string id = 3; 418*d5c09012SAndroid Build Coastguard Worker 419*d5c09012SAndroid Build Coastguard Worker // Optional. Range of labeled values for the column. 420*d5c09012SAndroid Build Coastguard Worker // Some columns like tags and drop-downs limit the values to a set of 421*d5c09012SAndroid Build Coastguard Worker // possible values. We return the range of values in such cases to help 422*d5c09012SAndroid Build Coastguard Worker // clients implement better user data validation. 423*d5c09012SAndroid Build Coastguard Worker repeated LabeledItem labels = 4 [(google.api.field_behavior) = OPTIONAL]; 424*d5c09012SAndroid Build Coastguard Worker 425*d5c09012SAndroid Build Coastguard Worker // Optional. Additional details about a relationship column. Specified when data_type 426*d5c09012SAndroid Build Coastguard Worker // is relationship. 427*d5c09012SAndroid Build Coastguard Worker RelationshipDetails relationship_details = 5 [(google.api.field_behavior) = OPTIONAL]; 428*d5c09012SAndroid Build Coastguard Worker 429*d5c09012SAndroid Build Coastguard Worker // Optional. Indicates that this is a lookup column whose value is derived from the 430*d5c09012SAndroid Build Coastguard Worker // relationship column specified in the details. Lookup columns can not be 431*d5c09012SAndroid Build Coastguard Worker // updated directly. To change the value you must update the associated 432*d5c09012SAndroid Build Coastguard Worker // relationship column. 433*d5c09012SAndroid Build Coastguard Worker LookupDetails lookup_details = 6 [(google.api.field_behavior) = OPTIONAL]; 434*d5c09012SAndroid Build Coastguard Worker} 435*d5c09012SAndroid Build Coastguard Worker 436*d5c09012SAndroid Build Coastguard Worker// A single item in a labeled column. 437*d5c09012SAndroid Build Coastguard Workermessage LabeledItem { 438*d5c09012SAndroid Build Coastguard Worker // Display string as entered by user. 439*d5c09012SAndroid Build Coastguard Worker string name = 1; 440*d5c09012SAndroid Build Coastguard Worker 441*d5c09012SAndroid Build Coastguard Worker // Internal id associated with the item. 442*d5c09012SAndroid Build Coastguard Worker string id = 2; 443*d5c09012SAndroid Build Coastguard Worker} 444*d5c09012SAndroid Build Coastguard Worker 445*d5c09012SAndroid Build Coastguard Worker// Details about a relationship column. 446*d5c09012SAndroid Build Coastguard Workermessage RelationshipDetails { 447*d5c09012SAndroid Build Coastguard Worker // The name of the table this relationship is linked to. 448*d5c09012SAndroid Build Coastguard Worker string linked_table = 1; 449*d5c09012SAndroid Build Coastguard Worker} 450*d5c09012SAndroid Build Coastguard Worker 451*d5c09012SAndroid Build Coastguard Worker// Details about a lookup column whose value comes from the associated 452*d5c09012SAndroid Build Coastguard Worker// relationship. 453*d5c09012SAndroid Build Coastguard Workermessage LookupDetails { 454*d5c09012SAndroid Build Coastguard Worker // The name of the relationship column associated with the lookup. 455*d5c09012SAndroid Build Coastguard Worker string relationship_column = 1; 456*d5c09012SAndroid Build Coastguard Worker 457*d5c09012SAndroid Build Coastguard Worker // The id of the relationship column. 458*d5c09012SAndroid Build Coastguard Worker string relationship_column_id = 2; 459*d5c09012SAndroid Build Coastguard Worker} 460*d5c09012SAndroid Build Coastguard Worker 461*d5c09012SAndroid Build Coastguard Worker// A single row in a table. 462*d5c09012SAndroid Build Coastguard Workermessage Row { 463*d5c09012SAndroid Build Coastguard Worker option (google.api.resource) = { 464*d5c09012SAndroid Build Coastguard Worker type: "area120tables.googleapis.com/Row" 465*d5c09012SAndroid Build Coastguard Worker pattern: "tables/{table}/rows/{row}" 466*d5c09012SAndroid Build Coastguard Worker }; 467*d5c09012SAndroid Build Coastguard Worker 468*d5c09012SAndroid Build Coastguard Worker // The resource name of the row. 469*d5c09012SAndroid Build Coastguard Worker // Row names have the form `tables/{table}/rows/{row}`. 470*d5c09012SAndroid Build Coastguard Worker // The name is ignored when creating a row. 471*d5c09012SAndroid Build Coastguard Worker string name = 1; 472*d5c09012SAndroid Build Coastguard Worker 473*d5c09012SAndroid Build Coastguard Worker // The values of the row. This is a map of column key to value. 474*d5c09012SAndroid Build Coastguard Worker // Key is user entered name(default) or the internal column id based on 475*d5c09012SAndroid Build Coastguard Worker // the view in the request. 476*d5c09012SAndroid Build Coastguard Worker map<string, google.protobuf.Value> values = 2; 477*d5c09012SAndroid Build Coastguard Worker} 478*d5c09012SAndroid Build Coastguard Worker 479*d5c09012SAndroid Build Coastguard Worker// A single workspace. 480*d5c09012SAndroid Build Coastguard Workermessage Workspace { 481*d5c09012SAndroid Build Coastguard Worker option (google.api.resource) = { 482*d5c09012SAndroid Build Coastguard Worker type: "area120tables.googleapis.com/Workspace" 483*d5c09012SAndroid Build Coastguard Worker pattern: "workspaces/{workspace}" 484*d5c09012SAndroid Build Coastguard Worker }; 485*d5c09012SAndroid Build Coastguard Worker 486*d5c09012SAndroid Build Coastguard Worker // The resource name of the workspace. 487*d5c09012SAndroid Build Coastguard Worker // Workspace names have the form `workspaces/{workspace}`. 488*d5c09012SAndroid Build Coastguard Worker string name = 1; 489*d5c09012SAndroid Build Coastguard Worker 490*d5c09012SAndroid Build Coastguard Worker // The human readable title of the workspace. 491*d5c09012SAndroid Build Coastguard Worker string display_name = 2; 492*d5c09012SAndroid Build Coastguard Worker 493*d5c09012SAndroid Build Coastguard Worker // The list of tables in the workspace. 494*d5c09012SAndroid Build Coastguard Worker repeated Table tables = 3; 495*d5c09012SAndroid Build Coastguard Worker} 496*d5c09012SAndroid Build Coastguard Worker 497*d5c09012SAndroid Build Coastguard Worker// Column identifier used for the values in the row. 498*d5c09012SAndroid Build Coastguard Workerenum View { 499*d5c09012SAndroid Build Coastguard Worker // Defaults to user entered text. 500*d5c09012SAndroid Build Coastguard Worker VIEW_UNSPECIFIED = 0; 501*d5c09012SAndroid Build Coastguard Worker 502*d5c09012SAndroid Build Coastguard Worker // Uses internally generated column id to identify values. 503*d5c09012SAndroid Build Coastguard Worker COLUMN_ID_VIEW = 1; 504*d5c09012SAndroid Build Coastguard Worker} 505