Built motion from commit 6a09e18b.|2.6.11
[motion2.git] / legacy-libs / google-proto-files / google / bigtable / admin / table / v1 / bigtable_table_service.proto
1 // Copyright 2017 Google Inc.
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 //
7 //     http://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
14
15 syntax = "proto3";
16
17 package google.bigtable.admin.table.v1;
18
19 import "google/api/annotations.proto";
20 import "google/bigtable/admin/table/v1/bigtable_table_data.proto";
21 import "google/bigtable/admin/table/v1/bigtable_table_service_messages.proto";
22 import "google/protobuf/empty.proto";
23
24 option go_package = "google.golang.org/genproto/googleapis/bigtable/admin/table/v1;table";
25 option java_multiple_files = true;
26 option java_outer_classname = "BigtableTableServicesProto";
27 option java_package = "com.google.bigtable.admin.table.v1";
28
29 // Service for creating, configuring, and deleting Cloud Bigtable tables.
30 // Provides access to the table schemas only, not the data stored within the
31 // tables.
32 service BigtableTableService {
33   // Creates a new table, to be served from a specified cluster.
34   // The table can be created with a full set of initial column families,
35   // specified in the request.
36   rpc CreateTable(CreateTableRequest) returns (Table) {
37     option (google.api.http) = {
38       post: "/v1/{name=projects/*/zones/*/clusters/*}/tables"
39       body: "*"
40     };
41   }
42
43   // Lists the names of all tables served from a specified cluster.
44   rpc ListTables(ListTablesRequest) returns (ListTablesResponse) {
45     option (google.api.http) = {
46       get: "/v1/{name=projects/*/zones/*/clusters/*}/tables"
47     };
48   }
49
50   // Gets the schema of the specified table, including its column families.
51   rpc GetTable(GetTableRequest) returns (Table) {
52     option (google.api.http) = {
53       get: "/v1/{name=projects/*/zones/*/clusters/*/tables/*}"
54     };
55   }
56
57   // Permanently deletes a specified table and all of its data.
58   rpc DeleteTable(DeleteTableRequest) returns (google.protobuf.Empty) {
59     option (google.api.http) = {
60       delete: "/v1/{name=projects/*/zones/*/clusters/*/tables/*}"
61     };
62   }
63
64   // Changes the name of a specified table.
65   // Cannot be used to move tables between clusters, zones, or projects.
66   rpc RenameTable(RenameTableRequest) returns (google.protobuf.Empty) {
67     option (google.api.http) = {
68       post: "/v1/{name=projects/*/zones/*/clusters/*/tables/*}:rename"
69       body: "*"
70     };
71   }
72
73   // Creates a new column family within a specified table.
74   rpc CreateColumnFamily(CreateColumnFamilyRequest) returns (ColumnFamily) {
75     option (google.api.http) = {
76       post: "/v1/{name=projects/*/zones/*/clusters/*/tables/*}/columnFamilies"
77       body: "*"
78     };
79   }
80
81   // Changes the configuration of a specified column family.
82   rpc UpdateColumnFamily(ColumnFamily) returns (ColumnFamily) {
83     option (google.api.http) = {
84       put: "/v1/{name=projects/*/zones/*/clusters/*/tables/*/columnFamilies/*}"
85       body: "*"
86     };
87   }
88
89   // Permanently deletes a specified column family and all of its data.
90   rpc DeleteColumnFamily(DeleteColumnFamilyRequest)
91       returns (google.protobuf.Empty) {
92     option (google.api.http) = {
93       delete: "/v1/{name=projects/*/zones/*/clusters/*/tables/*/columnFamilies/*}"
94     };
95   }
96
97   // Delete all rows in a table corresponding to a particular prefix
98   rpc BulkDeleteRows(BulkDeleteRowsRequest) returns (google.protobuf.Empty) {
99     option (google.api.http) = {
100       post: "/v1/{table_name=projects/*/zones/*/clusters/*/tables/*}:bulkDeleteRows"
101       body: "*"
102     };
103   }
104 }