@@ -319,6 +319,117 @@ service BigtableInstanceAdmin {
319319 };
320320 option (google.api.method_signature ) = "parent" ;
321321 }
322+
323+ // Creates a logical view within an instance.
324+ rpc CreateLogicalView (CreateLogicalViewRequest )
325+ returns (google .longrunning .Operation ) {
326+ option (google.api.http ) = {
327+ post : "/v2/{parent=projects/*/instances/*}/logicalViews"
328+ body : "logical_view"
329+ };
330+ option (google.api.method_signature ) =
331+ "parent,logical_view,logical_view_id" ;
332+ option (google.longrunning.operation_info ) = {
333+ response_type : "LogicalView"
334+ metadata_type : "CreateLogicalViewMetadata"
335+ };
336+ }
337+
338+ // Gets information about a logical view.
339+ rpc GetLogicalView (GetLogicalViewRequest ) returns (LogicalView ) {
340+ option (google.api.http ) = {
341+ get : "/v2/{name=projects/*/instances/*/logicalViews/*}"
342+ };
343+ option (google.api.method_signature ) = "name" ;
344+ }
345+
346+ // Lists information about logical views in an instance.
347+ rpc ListLogicalViews (ListLogicalViewsRequest )
348+ returns (ListLogicalViewsResponse ) {
349+ option (google.api.http ) = {
350+ get : "/v2/{parent=projects/*/instances/*}/logicalViews"
351+ };
352+ option (google.api.method_signature ) = "parent" ;
353+ }
354+
355+ // Updates a logical view within an instance.
356+ rpc UpdateLogicalView (UpdateLogicalViewRequest )
357+ returns (google .longrunning .Operation ) {
358+ option (google.api.http ) = {
359+ patch : "/v2/{logical_view.name=projects/*/instances/*/logicalViews/*}"
360+ body : "logical_view"
361+ };
362+ option (google.api.method_signature ) = "logical_view,update_mask" ;
363+ option (google.longrunning.operation_info ) = {
364+ response_type : "LogicalView"
365+ metadata_type : "UpdateLogicalViewMetadata"
366+ };
367+ }
368+
369+ // Deletes a logical view from an instance.
370+ rpc DeleteLogicalView (DeleteLogicalViewRequest )
371+ returns (google .protobuf .Empty ) {
372+ option (google.api.http ) = {
373+ delete : "/v2/{name=projects/*/instances/*/logicalViews/*}"
374+ };
375+ option (google.api.method_signature ) = "name" ;
376+ }
377+
378+ // Creates a materialized view within an instance.
379+ rpc CreateMaterializedView (CreateMaterializedViewRequest )
380+ returns (google .longrunning .Operation ) {
381+ option (google.api.http ) = {
382+ post : "/v2/{parent=projects/*/instances/*}/materializedViews"
383+ body : "materialized_view"
384+ };
385+ option (google.api.method_signature ) =
386+ "parent,materialized_view,materialized_view_id" ;
387+ option (google.longrunning.operation_info ) = {
388+ response_type : "MaterializedView"
389+ metadata_type : "CreateMaterializedViewMetadata"
390+ };
391+ }
392+
393+ // Gets information about a materialized view.
394+ rpc GetMaterializedView (GetMaterializedViewRequest )
395+ returns (MaterializedView ) {
396+ option (google.api.http ) = {
397+ get : "/v2/{name=projects/*/instances/*/materializedViews/*}"
398+ };
399+ option (google.api.method_signature ) = "name" ;
400+ }
401+
402+ // Lists information about materialized views in an instance.
403+ rpc ListMaterializedViews (ListMaterializedViewsRequest )
404+ returns (ListMaterializedViewsResponse ) {
405+ option (google.api.http ) = {
406+ get : "/v2/{parent=projects/*/instances/*}/materializedViews"
407+ };
408+ option (google.api.method_signature ) = "parent" ;
409+ }
410+
411+ // Updates a materialized view within an instance.
412+ rpc UpdateMaterializedView (UpdateMaterializedViewRequest )
413+ returns (google .longrunning .Operation ) {
414+ option (google.api.http ) = {
415+ patch : "/v2/{materialized_view.name=projects/*/instances/*/materializedViews/*}"
416+ body : "materialized_view"
417+ };
418+ option (google.api.method_signature ) = "materialized_view,update_mask" ;
419+ option (google.longrunning.operation_info ) = {
420+ response_type : "MaterializedView"
421+ metadata_type : "UpdateMaterializedViewMetadata"
422+ };
423+ }
424+
425+ // Deletes a materialized view from an instance.
426+ rpc DeleteMaterializedView (DeleteMaterializedViewRequest )
427+ returns (google .protobuf .Empty ) {
428+ option (google.api.http ) = {
429+ delete : "/v2/{name=projects/*/instances/*/materializedViews/*}"
430+ };
431+ option (google.api.method_signature ) = "name" ;
432+ }
322433}
323434
324435// Request message for BigtableInstanceAdmin.CreateInstance.
@@ -806,6 +917,52 @@ message CreateLogicalViewMetadata {
806917 google.protobuf.Timestamp end_time = 3 ;
807918}
808919
920+ // Request message for BigtableInstanceAdmin.GetLogicalView.
921+ message GetLogicalViewRequest {
922+ // Required. The unique name of the requested logical view. Values are of the
923+ // form `projects/{project}/instances/{instance}/logicalViews/{logical_view}`.
924+ string name = 1 [
925+ (google.api.field_behavior ) = REQUIRED ,
926+ (google.api.resource_reference ) = {
927+ type : "bigtableadmin.googleapis.com/LogicalView"
928+ }
929+ ];
930+ }
931+
932+ // Request message for BigtableInstanceAdmin.ListLogicalViews.
933+ message ListLogicalViewsRequest {
934+ // Required. The unique name of the instance for which the list of logical
935+ // views is requested. Values are of the form
936+ // `projects/{project}/instances/{instance}`.
937+ string parent = 1 [
938+ (google.api.field_behavior ) = REQUIRED ,
939+ (google.api.resource_reference ) = {
940+ child_type : "bigtableadmin.googleapis.com/LogicalView"
941+ }
942+ ];
943+
944+ // Optional. The maximum number of logical views to return. The service may
945+ // return fewer than this value
946+ int32 page_size = 2 [(google.api.field_behavior ) = OPTIONAL ];
947+
948+ // Optional. A page token, received from a previous `ListLogicalViews` call.
949+ // Provide this to retrieve the subsequent page.
950+ //
951+ // When paginating, all other parameters provided to `ListLogicalViews` must
952+ // match the call that provided the page token.
953+ string page_token = 3 [(google.api.field_behavior ) = OPTIONAL ];
954+ }
955+
956+ // Response message for BigtableInstanceAdmin.ListLogicalViews.
957+ message ListLogicalViewsResponse {
958+ // The list of requested logical views.
959+ repeated LogicalView logical_views = 1 ;
960+
961+ // A token, which can be sent as `page_token` to retrieve the next page.
962+ // If this field is omitted, there are no subsequent pages.
963+ string next_page_token = 2 ;
964+ }
965+
809966// Request message for BigtableInstanceAdmin.UpdateLogicalView.
810967message UpdateLogicalViewRequest {
811968 // Required. The logical view to update.
@@ -833,6 +990,25 @@ message UpdateLogicalViewMetadata {
833990 google.protobuf.Timestamp end_time = 3 ;
834991}
835992
993+ // Request message for BigtableInstanceAdmin.DeleteLogicalView.
994+ message DeleteLogicalViewRequest {
995+ // Required. The unique name of the logical view to be deleted.
996+ // Format:
997+ // `projects/{project}/instances/{instance}/logicalViews/{logical_view}`.
998+ string name = 1 [
999+ (google.api.field_behavior ) = REQUIRED ,
1000+ (google.api.resource_reference ) = {
1001+ type : "bigtableadmin.googleapis.com/LogicalView"
1002+ }
1003+ ];
1004+
1005+ // Optional. The current etag of the logical view.
1006+ // If an etag is provided and does not match the current etag of the
1007+ // logical view, deletion will be blocked and an ABORTED error will be
1008+ // returned.
1009+ string etag = 2 [(google.api.field_behavior ) = OPTIONAL ];
1010+ }
1011+
8361012// Request message for BigtableInstanceAdmin.CreateMaterializedView.
8371013message CreateMaterializedViewRequest {
8381014 // Required. The parent instance where this materialized view will be created.
@@ -865,3 +1041,97 @@ message CreateMaterializedViewMetadata {
8651041 // If set, the time at which this operation finished or was canceled.
8661042 google.protobuf.Timestamp end_time = 3 ;
8671043}
1044+
1045+ // Request message for BigtableInstanceAdmin.GetMaterializedView.
1046+ message GetMaterializedViewRequest {
1047+ // Required. The unique name of the requested materialized view. Values are of
1048+ // the form
1049+ // `projects/{project}/instances/{instance}/materializedViews/{materialized_view}`.
1050+ string name = 1 [
1051+ (google.api.field_behavior ) = REQUIRED ,
1052+ (google.api.resource_reference ) = {
1053+ type : "bigtableadmin.googleapis.com/MaterializedView"
1054+ }
1055+ ];
1056+ }
1057+
1058+ // Request message for BigtableInstanceAdmin.ListMaterializedViews.
1059+ message ListMaterializedViewsRequest {
1060+ // Required. The unique name of the instance for which the list of
1061+ // materialized views is requested. Values are of the form
1062+ // `projects/{project}/instances/{instance}`.
1063+ string parent = 1 [
1064+ (google.api.field_behavior ) = REQUIRED ,
1065+ (google.api.resource_reference ) = {
1066+ child_type : "bigtableadmin.googleapis.com/MaterializedView"
1067+ }
1068+ ];
1069+
1070+ // Optional. The maximum number of materialized views to return. The service
1071+ // may return fewer than this value
1072+ int32 page_size = 2 [(google.api.field_behavior ) = OPTIONAL ];
1073+
1074+ // Optional. A page token, received from a previous `ListMaterializedViews`
1075+ // call. Provide this to retrieve the subsequent page.
1076+ //
1077+ // When paginating, all other parameters provided to `ListMaterializedViews`
1078+ // must match the call that provided the page token.
1079+ string page_token = 3 [(google.api.field_behavior ) = OPTIONAL ];
1080+ }
1081+
1082+ // Response message for BigtableInstanceAdmin.ListMaterializedViews.
1083+ message ListMaterializedViewsResponse {
1084+ // The list of requested materialized views.
1085+ repeated MaterializedView materialized_views = 1 ;
1086+
1087+ // A token, which can be sent as `page_token` to retrieve the next page.
1088+ // If this field is omitted, there are no subsequent pages.
1089+ string next_page_token = 2 ;
1090+ }
1091+
1092+ // Request message for BigtableInstanceAdmin.UpdateMaterializedView.
1093+ message UpdateMaterializedViewRequest {
1094+ // Required. The materialized view to update.
1095+ //
1096+ // The materialized view's `name` field is used to identify the view to
1097+ // update. Format:
1098+ // `projects/{project}/instances/{instance}/materializedViews/{materialized_view}`.
1099+ MaterializedView materialized_view = 1
1100+ [(google.api.field_behavior ) = REQUIRED ];
1101+
1102+ // Optional. The list of fields to update.
1103+ google.protobuf.FieldMask update_mask = 2
1104+ [(google.api.field_behavior ) = OPTIONAL ];
1105+ }
1106+
1107+ // The metadata for the Operation returned by UpdateMaterializedView.
1108+ message UpdateMaterializedViewMetadata {
1109+ // The request that prompted the initiation of this UpdateMaterializedView
1110+ // operation.
1111+ UpdateMaterializedViewRequest original_request = 1 ;
1112+
1113+ // The time at which this operation was started.
1114+ google.protobuf.Timestamp start_time = 2 ;
1115+
1116+ // If set, the time at which this operation finished or was canceled.
1117+ google.protobuf.Timestamp end_time = 3 ;
1118+ }
1119+
1120+ // Request message for BigtableInstanceAdmin.DeleteMaterializedView.
1121+ message DeleteMaterializedViewRequest {
1122+ // Required. The unique name of the materialized view to be deleted.
1123+ // Format:
1124+ // `projects/{project}/instances/{instance}/materializedViews/{materialized_view}`.
1125+ string name = 1 [
1126+ (google.api.field_behavior ) = REQUIRED ,
1127+ (google.api.resource_reference ) = {
1128+ type : "bigtableadmin.googleapis.com/MaterializedView"
1129+ }
1130+ ];
1131+
1132+ // Optional. The current etag of the materialized view.
1133+ // If an etag is provided and does not match the current etag of the
1134+ // materialized view, deletion will be blocked and an ABORTED error will be
1135+ // returned.
1136+ string etag = 2 [(google.api.field_behavior ) = OPTIONAL ];
1137+ }
0 commit comments