@@ -136,6 +136,61 @@ service BigtableTableAdmin {
136136 };
137137 }
138138
139+ // Creates a new AuthorizedView in a table.
140+ rpc CreateAuthorizedView (CreateAuthorizedViewRequest )
141+ returns (google.longrunning.Operation ) {
142+ option (google.api.http ) = {
143+ post : "/v2/{parent=projects/*/instances/*/tables/*}/authorizedViews"
144+ body : "authorized_view"
145+ };
146+ option (google.api.method_signature ) =
147+ "parent,authorized_view,authorized_view_id" ;
148+ option (google.longrunning.operation_info ) = {
149+ response_type : "AuthorizedView"
150+ metadata_type : "CreateAuthorizedViewMetadata"
151+ };
152+ }
153+
154+ // Lists all AuthorizedViews from a specific table.
155+ rpc ListAuthorizedViews (ListAuthorizedViewsRequest )
156+ returns (ListAuthorizedViewsResponse ) {
157+ option (google.api.http ) = {
158+ get : "/v2/{parent=projects/*/instances/*/tables/*}/authorizedViews"
159+ };
160+ option (google.api.method_signature ) = "parent" ;
161+ }
162+
163+ // Gets information from a specified AuthorizedView.
164+ rpc GetAuthorizedView (GetAuthorizedViewRequest ) returns (AuthorizedView ) {
165+ option (google.api.http ) = {
166+ get : "/v2/{name=projects/*/instances/*/tables/*/authorizedViews/*}"
167+ };
168+ option (google.api.method_signature ) = "name" ;
169+ }
170+
171+ // Updates an AuthorizedView in a table.
172+ rpc UpdateAuthorizedView (UpdateAuthorizedViewRequest )
173+ returns (google.longrunning.Operation ) {
174+ option (google.api.http ) = {
175+ patch : "/v2/{authorized_view.name=projects/*/instances/*/tables/*/authorizedViews/*}"
176+ body : "authorized_view"
177+ };
178+ option (google.api.method_signature ) = "authorized_view,update_mask" ;
179+ option (google.longrunning.operation_info ) = {
180+ response_type : "AuthorizedView"
181+ metadata_type : "UpdateAuthorizedViewMetadata"
182+ };
183+ }
184+
185+ // Permanently deletes a specified AuthorizedView.
186+ rpc DeleteAuthorizedView (DeleteAuthorizedViewRequest )
187+ returns (google.protobuf.Empty ) {
188+ option (google.api.http ) = {
189+ delete : "/v2/{name=projects/*/instances/*/tables/*/authorizedViews/*}"
190+ };
191+ option (google.api.method_signature ) = "name" ;
192+ }
193+
139194 // Performs a series of column family modifications on the specified table.
140195 // Either all or none of the modifications will occur before this method
141196 // returns, but data requests received prior to that point may see a table
@@ -716,6 +771,12 @@ message ModifyColumnFamiliesRequest {
716771 // family exists.
717772 bool drop = 4 ;
718773 }
774+
775+ // Optional. A mask specifying which fields (e.g. `gc_rule`) in the `update`
776+ // mod should be updated, ignored for other modification types. If unset or
777+ // empty, we treat it as updating `gc_rule` to be backward compatible.
778+ google.protobuf.FieldMask update_mask = 6
779+ [(google.api.field_behavior ) = OPTIONAL ];
719780 }
720781
721782 // Required. The unique name of the table whose families should be modified.
@@ -734,6 +795,9 @@ message ModifyColumnFamiliesRequest {
734795 // family, for example).
735796 repeated Modification modifications = 2
736797 [(google.api.field_behavior ) = REQUIRED ];
798+
799+ // Optional. If true, ignore safety checks when modifying the column families.
800+ bool ignore_warnings = 3 [(google.api.field_behavior ) = OPTIONAL ];
737801}
738802
739803// Request message for
@@ -772,8 +836,30 @@ message CheckConsistencyRequest {
772836
773837 // Required. The token created using GenerateConsistencyToken for the Table.
774838 string consistency_token = 2 [(google.api.field_behavior ) = REQUIRED ];
839+
840+ // Which type of read needs to consistently observe which type of write?
841+ // Default: `standard_read_remote_writes`
842+ oneof mode {
843+ // Checks that reads using an app profile with `StandardIsolation` can
844+ // see all writes committed before the token was created, even if the
845+ // read and write target different clusters.
846+ StandardReadRemoteWrites standard_read_remote_writes = 3 ;
847+
848+ // Checks that reads using an app profile with `DataBoostIsolationReadOnly`
849+ // can see all writes committed before the token was created, but only if
850+ // the read and write target the same cluster.
851+ DataBoostReadLocalWrites data_boost_read_local_writes = 4 ;
852+ }
775853}
776854
855+ // Checks that all writes before the consistency token was generated are
856+ // replicated in every cluster and readable.
857+ message StandardReadRemoteWrites {}
858+
859+ // Checks that all writes before the consistency token was generated in the same
860+ // cluster are readable by Databoost.
861+ message DataBoostReadLocalWrites {}
862+
777863// Response message for
778864// [google.bigtable.admin.v2.BigtableTableAdmin.CheckConsistency][google.bigtable.admin.v2.BigtableTableAdmin.CheckConsistency]
779865message CheckConsistencyResponse {
@@ -1191,3 +1277,158 @@ message CopyBackupMetadata {
11911277 // operation.
11921278 OperationProgress progress = 3 ;
11931279}
1280+
1281+ // The request for
1282+ // [CreateAuthorizedView][google.bigtable.admin.v2.BigtableTableAdmin.CreateAuthorizedView]
1283+ message CreateAuthorizedViewRequest {
1284+ // Required. This is the name of the table the AuthorizedView belongs to.
1285+ // Values are of the form
1286+ // `projects/{project}/instances/{instance}/tables/{table}`.
1287+ string parent = 1 [
1288+ (google.api.field_behavior ) = REQUIRED ,
1289+ (google.api.resource_reference ) = {
1290+ child_type : "bigtableadmin.googleapis.com/AuthorizedView"
1291+ }
1292+ ];
1293+
1294+ // Required. The id of the AuthorizedView to create. This AuthorizedView must
1295+ // not already exist. The `authorized_view_id` appended to `parent` forms the
1296+ // full AuthorizedView name of the form
1297+ // `projects/{project}/instances/{instance}/tables/{table}/authorizedView/{authorized_view}`.
1298+ string authorized_view_id = 2 [(google.api.field_behavior ) = REQUIRED ];
1299+
1300+ // Required. The AuthorizedView to create.
1301+ AuthorizedView authorized_view = 3 [(google.api.field_behavior ) = REQUIRED ];
1302+ }
1303+
1304+ // The metadata for the Operation returned by CreateAuthorizedView.
1305+ message CreateAuthorizedViewMetadata {
1306+ // The request that prompted the initiation of this CreateInstance operation.
1307+ CreateAuthorizedViewRequest original_request = 1 ;
1308+
1309+ // The time at which the original request was received.
1310+ google.protobuf.Timestamp request_time = 2 ;
1311+
1312+ // The time at which the operation failed or was completed successfully.
1313+ google.protobuf.Timestamp finish_time = 3 ;
1314+ }
1315+
1316+ // Request message for
1317+ // [google.bigtable.admin.v2.BigtableTableAdmin.ListAuthorizedViews][google.bigtable.admin.v2.BigtableTableAdmin.ListAuthorizedViews]
1318+ message ListAuthorizedViewsRequest {
1319+ // Required. The unique name of the table for which AuthorizedViews should be
1320+ // listed. Values are of the form
1321+ // `projects/{project}/instances/{instance}/tables/{table}`.
1322+ string parent = 1 [
1323+ (google.api.field_behavior ) = REQUIRED ,
1324+ (google.api.resource_reference ) = {
1325+ child_type : "bigtableadmin.googleapis.com/AuthorizedView"
1326+ }
1327+ ];
1328+
1329+ // Optional. Maximum number of results per page.
1330+ //
1331+ // A page_size of zero lets the server choose the number of items to return.
1332+ // A page_size which is strictly positive will return at most that many items.
1333+ // A negative page_size will cause an error.
1334+ //
1335+ // Following the first request, subsequent paginated calls are not required
1336+ // to pass a page_size. If a page_size is set in subsequent calls, it must
1337+ // match the page_size given in the first request.
1338+ int32 page_size = 2 [(google.api.field_behavior ) = OPTIONAL ];
1339+
1340+ // Optional. The value of `next_page_token` returned by a previous call.
1341+ string page_token = 3 [(google.api.field_behavior ) = OPTIONAL ];
1342+
1343+ // Optional. The resource_view to be applied to the returned views' fields.
1344+ // Default to NAME_ONLY.
1345+ AuthorizedView.ResponseView view = 4 [(google.api.field_behavior ) = OPTIONAL ];
1346+ }
1347+
1348+ // Response message for
1349+ // [google.bigtable.admin.v2.BigtableTableAdmin.ListAuthorizedViews][google.bigtable.admin.v2.BigtableTableAdmin.ListAuthorizedViews]
1350+ message ListAuthorizedViewsResponse {
1351+ // The AuthorizedViews present in the requested table.
1352+ repeated AuthorizedView authorized_views = 1 ;
1353+
1354+ // Set if not all tables could be returned in a single response.
1355+ // Pass this value to `page_token` in another request to get the next
1356+ // page of results.
1357+ string next_page_token = 2 ;
1358+ }
1359+
1360+ // Request message for
1361+ // [google.bigtable.admin.v2.BigtableTableAdmin.GetAuthorizedView][google.bigtable.admin.v2.BigtableTableAdmin.GetAuthorizedView]
1362+ message GetAuthorizedViewRequest {
1363+ // Required. The unique name of the requested AuthorizedView.
1364+ // Values are of the form
1365+ // `projects/{project}/instances/{instance}/tables/{table}/authorizedViews/{authorized_view}`.
1366+ string name = 1 [
1367+ (google.api.field_behavior ) = REQUIRED ,
1368+ (google.api.resource_reference ) = {
1369+ type : "bigtableadmin.googleapis.com/AuthorizedView"
1370+ }
1371+ ];
1372+
1373+ // Optional. The resource_view to be applied to the returned AuthorizedView's
1374+ // fields. Default to BASIC.
1375+ AuthorizedView.ResponseView view = 2 [(google.api.field_behavior ) = OPTIONAL ];
1376+ }
1377+
1378+ // The request for
1379+ // [UpdateAuthorizedView][google.bigtable.admin.v2.BigtableTableAdmin.UpdateAuthorizedView].
1380+ message UpdateAuthorizedViewRequest {
1381+ // Required. The AuthorizedView to update. The `name` in `authorized_view` is
1382+ // used to identify the AuthorizedView. AuthorizedView name must in this
1383+ // format
1384+ // projects/<project>/instances/<instance>/tables/<table>/authorizedViews/<authorized_view>
1385+ AuthorizedView authorized_view = 1 [(google.api.field_behavior ) = REQUIRED ];
1386+
1387+ // Optional. The list of fields to update.
1388+ // A mask specifying which fields in the AuthorizedView resource should be
1389+ // updated. This mask is relative to the AuthorizedView resource, not to the
1390+ // request message. A field will be overwritten if it is in the mask. If
1391+ // empty, all fields set in the request will be overwritten. A special value
1392+ // `*` means to overwrite all fields (including fields not set in the
1393+ // request).
1394+ google.protobuf.FieldMask update_mask = 2
1395+ [(google.api.field_behavior ) = OPTIONAL ];
1396+
1397+ // Optional. If true, ignore the safety checks when updating the
1398+ // AuthorizedView.
1399+ bool ignore_warnings = 3 [(google.api.field_behavior ) = OPTIONAL ];
1400+ }
1401+
1402+ // Metadata for the google.longrunning.Operation returned by
1403+ // [UpdateAuthorizedView][google.bigtable.admin.v2.BigtableTableAdmin.UpdateAuthorizedView].
1404+ message UpdateAuthorizedViewMetadata {
1405+ // The request that prompted the initiation of this UpdateAuthorizedView
1406+ // operation.
1407+ UpdateAuthorizedViewRequest original_request = 1 ;
1408+
1409+ // The time at which the original request was received.
1410+ google.protobuf.Timestamp request_time = 2 ;
1411+
1412+ // The time at which the operation failed or was completed successfully.
1413+ google.protobuf.Timestamp finish_time = 3 ;
1414+ }
1415+
1416+ // Request message for
1417+ // [google.bigtable.admin.v2.BigtableTableAdmin.DeleteAuthorizedView][google.bigtable.admin.v2.BigtableTableAdmin.DeleteAuthorizedView]
1418+ message DeleteAuthorizedViewRequest {
1419+ // Required. The unique name of the AuthorizedView to be deleted.
1420+ // Values are of the form
1421+ // `projects/{project}/instances/{instance}/tables/{table}/authorizedViews/{authorized_view}`.
1422+ string name = 1 [
1423+ (google.api.field_behavior ) = REQUIRED ,
1424+ (google.api.resource_reference ) = {
1425+ type : "bigtableadmin.googleapis.com/AuthorizedView"
1426+ }
1427+ ];
1428+
1429+ // Optional. The current etag of the AuthorizedView.
1430+ // If an etag is provided and does not match the current etag of the
1431+ // AuthorizedView, deletion will be blocked and an ABORTED error will be
1432+ // returned.
1433+ string etag = 2 [(google.api.field_behavior ) = OPTIONAL ];
1434+ }
0 commit comments