@@ -100,6 +100,19 @@ service BigtableTableAdmin {
100100 option (google.api.method_signature ) = "name" ;
101101 }
102102
103+ // Updates a specified table.
104+ rpc UpdateTable (UpdateTableRequest ) returns (google.longrunning.Operation ) {
105+ option (google.api.http ) = {
106+ patch : "/v2/{table.name=projects/*/instances/*/tables/*}"
107+ body : "table"
108+ };
109+ option (google.api.method_signature ) = "table,update_mask" ;
110+ option (google.longrunning.operation_info ) = {
111+ response_type : "Table"
112+ metadata_type : "UpdateTableMetadata"
113+ };
114+ }
115+
103116 // Permanently deletes a specified table and all of its data.
104117 rpc DeleteTable (DeleteTableRequest ) returns (google.protobuf.Empty ) {
105118 option (google.api.http ) = {
@@ -368,8 +381,8 @@ message RestoreTableRequest {
368381 // Name of the backup from which to restore. Values are of the form
369382 // `projects/<project>/instances/<instance>/clusters/<cluster>/backups/<backup>`.
370383 string backup = 3 [(google.api.resource_reference ) = {
371- type : "bigtableadmin.googleapis.com/Backup"
372- }];
384+ type : "bigtableadmin.googleapis.com/Backup"
385+ }];
373386 }
374387}
375388
@@ -579,6 +592,40 @@ message GetTableRequest {
579592 Table.View view = 2 ;
580593}
581594
595+ // The request for
596+ // [UpdateTable][google.bigtable.admin.v2.BigtableTableAdmin.UpdateTable].
597+ message UpdateTableRequest {
598+ // Required. The table to update.
599+ // The table's `name` field is used to identify the table to update.
600+ // Format:
601+ // `projects/{project}/instances/{instance}/tables/[_a-zA-Z0-9][-_.a-zA-Z0-9]*`
602+ Table table = 1 [(google.api.field_behavior ) = REQUIRED ];
603+
604+ // Required. The list of fields to update.
605+ // A mask specifying which fields (e.g. `deletion_protection`) in the `table`
606+ // field should be updated. This mask is relative to the `table` field, not to
607+ // the request message. The wildcard (*) path is currently not supported.
608+ // Currently UpdateTable is only supported for the following field:
609+ // * `deletion_protection`
610+ // If `column_families` is set in `update_mask`, it will return an
611+ // UNIMPLEMENTED error.
612+ google.protobuf.FieldMask update_mask = 2
613+ [(google.api.field_behavior ) = REQUIRED ];
614+ }
615+
616+ // Metadata type for the operation returned by
617+ // [UpdateTable][google.bigtable.admin.v2.BigtableTableAdmin.UpdateTable].
618+ message UpdateTableMetadata {
619+ // The name of the table being updated.
620+ string name = 1 ;
621+
622+ // The time at which this operation started.
623+ google.protobuf.Timestamp start_time = 2 ;
624+
625+ // If set, the time at which this operation finished or was canceled.
626+ google.protobuf.Timestamp end_time = 3 ;
627+ }
628+
582629// Request message for
583630// [google.bigtable.admin.v2.BigtableTableAdmin.DeleteTable][google.bigtable.admin.v2.BigtableTableAdmin.DeleteTable]
584631message DeleteTableRequest {
0 commit comments