@@ -389,7 +389,7 @@ service BigtableTableAdmin {
389389 };
390390 }
391391
392- // Gets the access control policy for a Table or Backup resource.
392+ // Gets the access control policy for a Bigtable resource.
393393 // Returns an empty policy if the resource exists but does not have a policy
394394 // set.
395395 rpc GetIamPolicy (google.iam.v1.GetIamPolicyRequest )
@@ -401,11 +401,19 @@ service BigtableTableAdmin {
401401 post : "/v2/{resource=projects/*/instances/*/clusters/*/backups/*}:getIamPolicy"
402402 body : "*"
403403 }
404+ additional_bindings {
405+ post : "/v2/{resource=projects/*/instances/*/tables/*/authorizedViews/*}:getIamPolicy"
406+ body : "*"
407+ }
408+ additional_bindings {
409+ post : "/v2/{resource=projects/*/instances/*/tables/*/schemaBundles/*}:getIamPolicy"
410+ body : "*"
411+ }
404412 };
405413 option (google.api.method_signature ) = "resource" ;
406414 }
407415
408- // Sets the access control policy on a Table or Backup resource.
416+ // Sets the access control policy on a Bigtable resource.
409417 // Replaces any existing policy.
410418 rpc SetIamPolicy (google.iam.v1.SetIamPolicyRequest )
411419 returns (google.iam.v1.Policy ) {
@@ -416,11 +424,19 @@ service BigtableTableAdmin {
416424 post : "/v2/{resource=projects/*/instances/*/clusters/*/backups/*}:setIamPolicy"
417425 body : "*"
418426 }
427+ additional_bindings {
428+ post : "/v2/{resource=projects/*/instances/*/tables/*/authorizedViews/*}:setIamPolicy"
429+ body : "*"
430+ }
431+ additional_bindings {
432+ post : "/v2/{resource=projects/*/instances/*/tables/*/schemaBundles/*}:setIamPolicy"
433+ body : "*"
434+ }
419435 };
420436 option (google.api.method_signature ) = "resource,policy" ;
421437 }
422438
423- // Returns permissions that the caller has on the specified Table or Backup
439+ // Returns permissions that the caller has on the specified Bigtable
424440 // resource.
425441 rpc TestIamPermissions (google.iam.v1.TestIamPermissionsRequest )
426442 returns (google.iam.v1.TestIamPermissionsResponse ) {
@@ -431,9 +447,72 @@ service BigtableTableAdmin {
431447 post : "/v2/{resource=projects/*/instances/*/clusters/*/backups/*}:testIamPermissions"
432448 body : "*"
433449 }
450+ additional_bindings {
451+ post : "/v2/{resource=projects/*/instances/*/tables/*/authorizedViews/*}:testIamPermissions"
452+ body : "*"
453+ }
454+ additional_bindings {
455+ post : "/v2/{resource=projects/*/instances/*/tables/*/schemaBundles/*}:testIamPermissions"
456+ body : "*"
457+ }
434458 };
435459 option (google.api.method_signature ) = "resource,permissions" ;
436460 }
461+
462+ // Creates a new schema bundle in the specified table.
463+ rpc CreateSchemaBundle (CreateSchemaBundleRequest )
464+ returns (google.longrunning.Operation ) {
465+ option (google.api.http ) = {
466+ post : "/v2/{parent=projects/*/instances/*/tables/*}/schemaBundles"
467+ body : "schema_bundle"
468+ };
469+ option (google.api.method_signature ) =
470+ "parent,schema_bundle_id,schema_bundle" ;
471+ option (google.longrunning.operation_info ) = {
472+ response_type : "SchemaBundle"
473+ metadata_type : "CreateSchemaBundleMetadata"
474+ };
475+ }
476+
477+ // Updates a schema bundle in the specified table.
478+ rpc UpdateSchemaBundle (UpdateSchemaBundleRequest )
479+ returns (google.longrunning.Operation ) {
480+ option (google.api.http ) = {
481+ patch : "/v2/{schema_bundle.name=projects/*/instances/*/tables/*/schemaBundles/*}"
482+ body : "schema_bundle"
483+ };
484+ option (google.api.method_signature ) = "schema_bundle,update_mask" ;
485+ option (google.longrunning.operation_info ) = {
486+ response_type : "SchemaBundle"
487+ metadata_type : "UpdateSchemaBundleMetadata"
488+ };
489+ }
490+
491+ // Gets metadata information about the specified schema bundle.
492+ rpc GetSchemaBundle (GetSchemaBundleRequest ) returns (SchemaBundle ) {
493+ option (google.api.http ) = {
494+ get : "/v2/{name=projects/*/instances/*/tables/*/schemaBundles/*}"
495+ };
496+ option (google.api.method_signature ) = "name" ;
497+ }
498+
499+ // Lists all schema bundles associated with the specified table.
500+ rpc ListSchemaBundles (ListSchemaBundlesRequest )
501+ returns (ListSchemaBundlesResponse ) {
502+ option (google.api.http ) = {
503+ get : "/v2/{parent=projects/*/instances/*/tables/*}/schemaBundles"
504+ };
505+ option (google.api.method_signature ) = "parent" ;
506+ }
507+
508+ // Deletes a schema bundle in the specified table.
509+ rpc DeleteSchemaBundle (DeleteSchemaBundleRequest )
510+ returns (google.protobuf.Empty ) {
511+ option (google.api.http ) = {
512+ delete : "/v2/{name=projects/*/instances/*/tables/*/schemaBundles/*}"
513+ };
514+ option (google.api.method_signature ) = "name" ;
515+ }
437516}
438517
439518// The request for
@@ -1307,7 +1386,8 @@ message CreateAuthorizedViewRequest {
13071386
13081387// The metadata for the Operation returned by CreateAuthorizedView.
13091388message CreateAuthorizedViewMetadata {
1310- // The request that prompted the initiation of this CreateInstance operation.
1389+ // The request that prompted the initiation of this CreateAuthorizedView
1390+ // operation.
13111391 CreateAuthorizedViewRequest original_request = 1 ;
13121392
13131393 // The time at which the original request was received.
@@ -1344,8 +1424,8 @@ message ListAuthorizedViewsRequest {
13441424 // Optional. The value of `next_page_token` returned by a previous call.
13451425 string page_token = 3 [(google.api.field_behavior ) = OPTIONAL ];
13461426
1347- // Optional. The resource_view to be applied to the returned views' fields.
1348- // Default to NAME_ONLY.
1427+ // Optional. The resource_view to be applied to the returned AuthorizedViews'
1428+ // fields. Default to NAME_ONLY.
13491429 AuthorizedView.ResponseView view = 4 [(google.api.field_behavior ) = OPTIONAL ];
13501430}
13511431
@@ -1384,8 +1464,8 @@ message GetAuthorizedViewRequest {
13841464message UpdateAuthorizedViewRequest {
13851465 // Required. The AuthorizedView to update. The `name` in `authorized_view` is
13861466 // used to identify the AuthorizedView. AuthorizedView name must in this
1387- // format
1388- // projects/< project> /instances/< instance> /tables/< table> /authorizedViews/< authorized_view>
1467+ // format:
1468+ // ` projects/{ project} /instances/{ instance} /tables/{ table} /authorizedViews/{ authorized_view}`.
13891469 AuthorizedView authorized_view = 1 [(google.api.field_behavior ) = REQUIRED ];
13901470
13911471 // Optional. The list of fields to update.
@@ -1436,3 +1516,145 @@ message DeleteAuthorizedViewRequest {
14361516 // returned.
14371517 string etag = 2 [(google.api.field_behavior ) = OPTIONAL ];
14381518}
1519+
1520+ // The request for
1521+ // [CreateSchemaBundle][google.bigtable.admin.v2.BigtableTableAdmin.CreateSchemaBundle].
1522+ message CreateSchemaBundleRequest {
1523+ // Required. The parent resource where this schema bundle will be created.
1524+ // Values are of the form
1525+ // `projects/{project}/instances/{instance}/tables/{table}`.
1526+ string parent = 1 [
1527+ (google.api.field_behavior ) = REQUIRED ,
1528+ (google.api.resource_reference ) = {
1529+ type : "bigtableadmin.googleapis.com/Table"
1530+ }
1531+ ];
1532+
1533+ // Required. The unique ID to use for the schema bundle, which will become the
1534+ // final component of the schema bundle's resource name.
1535+ string schema_bundle_id = 2 [(google.api.field_behavior ) = REQUIRED ];
1536+
1537+ // Required. The schema bundle to create.
1538+ SchemaBundle schema_bundle = 3 [(google.api.field_behavior ) = REQUIRED ];
1539+ }
1540+
1541+ // The metadata for the Operation returned by
1542+ // [CreateSchemaBundle][google.bigtable.admin.v2.BigtableTableAdmin.CreateSchemaBundle].
1543+ message CreateSchemaBundleMetadata {
1544+ // The unique name identifying this schema bundle.
1545+ // Values are of the form
1546+ // `projects/{project}/instances/{instance}/tables/{table}/schemaBundles/{schema_bundle}`
1547+ string name = 1 ;
1548+
1549+ // The time at which this operation started.
1550+ google.protobuf.Timestamp start_time = 2 ;
1551+
1552+ // If set, the time at which this operation finished or was canceled.
1553+ google.protobuf.Timestamp end_time = 3 ;
1554+ }
1555+
1556+ // The request for
1557+ // [UpdateSchemaBundle][google.bigtable.admin.v2.BigtableTableAdmin.UpdateSchemaBundle].
1558+ message UpdateSchemaBundleRequest {
1559+ // Required. The schema bundle to update.
1560+ //
1561+ // The schema bundle's `name` field is used to identify the schema bundle to
1562+ // update. Values are of the form
1563+ // `projects/{project}/instances/{instance}/tables/{table}/schemaBundles/{schema_bundle}`
1564+ SchemaBundle schema_bundle = 1 [(google.api.field_behavior ) = REQUIRED ];
1565+
1566+ // Optional. The list of fields to update.
1567+ google.protobuf.FieldMask update_mask = 2
1568+ [(google.api.field_behavior ) = OPTIONAL ];
1569+
1570+ // Optional. If set, ignore the safety checks when updating the Schema Bundle.
1571+ // The safety checks are:
1572+ // - The new Schema Bundle is backwards compatible with the existing Schema
1573+ // Bundle.
1574+ bool ignore_warnings = 3 [(google.api.field_behavior ) = OPTIONAL ];
1575+ }
1576+
1577+ // The metadata for the Operation returned by
1578+ // [UpdateSchemaBundle][google.bigtable.admin.v2.BigtableTableAdmin.UpdateSchemaBundle].
1579+ message UpdateSchemaBundleMetadata {
1580+ // The unique name identifying this schema bundle.
1581+ // Values are of the form
1582+ // `projects/{project}/instances/{instance}/tables/{table}/schemaBundles/{schema_bundle}`
1583+ string name = 1 ;
1584+
1585+ // The time at which this operation started.
1586+ google.protobuf.Timestamp start_time = 2 ;
1587+
1588+ // If set, the time at which this operation finished or was canceled.
1589+ google.protobuf.Timestamp end_time = 3 ;
1590+ }
1591+
1592+ // The request for
1593+ // [GetSchemaBundle][google.bigtable.admin.v2.BigtableTableAdmin.GetSchemaBundle].
1594+ message GetSchemaBundleRequest {
1595+ // Required. The unique name of the schema bundle to retrieve.
1596+ // Values are of the form
1597+ // `projects/{project}/instances/{instance}/tables/{table}/schemaBundles/{schema_bundle}`
1598+ string name = 1 [
1599+ (google.api.field_behavior ) = REQUIRED ,
1600+ (google.api.resource_reference ) = {
1601+ type : "bigtableadmin.googleapis.com/SchemaBundle"
1602+ }
1603+ ];
1604+ }
1605+
1606+ // The request for
1607+ // [ListSchemaBundles][google.bigtable.admin.v2.BigtableTableAdmin.ListSchemaBundles].
1608+ message ListSchemaBundlesRequest {
1609+ // Required. The parent, which owns this collection of schema bundles.
1610+ // Values are of the form
1611+ // `projects/{project}/instances/{instance}/tables/{table}`.
1612+ string parent = 1 [
1613+ (google.api.field_behavior ) = REQUIRED ,
1614+ (google.api.resource_reference ) = {
1615+ child_type : "bigtableadmin.googleapis.com/SchemaBundle"
1616+ }
1617+ ];
1618+
1619+ // The maximum number of schema bundles to return. If the value is positive,
1620+ // the server may return at most this value. If unspecified, the server will
1621+ // return the maximum allowed page size.
1622+ int32 page_size = 2 ;
1623+
1624+ // A page token, received from a previous `ListSchemaBundles` call.
1625+ // Provide this to retrieve the subsequent page.
1626+ //
1627+ // When paginating, all other parameters provided to `ListSchemaBundles` must
1628+ // match the call that provided the page token.
1629+ string page_token = 3 ;
1630+ }
1631+
1632+ // The response for
1633+ // [ListSchemaBundles][google.bigtable.admin.v2.BigtableTableAdmin.ListSchemaBundles].
1634+ message ListSchemaBundlesResponse {
1635+ // The schema bundles from the specified table.
1636+ repeated SchemaBundle schema_bundles = 1 ;
1637+
1638+ // A token, which can be sent as `page_token` to retrieve the next page.
1639+ // If this field is omitted, there are no subsequent pages.
1640+ string next_page_token = 2 ;
1641+ }
1642+
1643+ // The request for
1644+ // [DeleteSchemaBundle][google.bigtable.admin.v2.BigtableTableAdmin.DeleteSchemaBundle].
1645+ message DeleteSchemaBundleRequest {
1646+ // Required. The unique name of the schema bundle to delete.
1647+ // Values are of the form
1648+ // `projects/{project}/instances/{instance}/tables/{table}/schemaBundles/{schema_bundle}`
1649+ string name = 1 [
1650+ (google.api.field_behavior ) = REQUIRED ,
1651+ (google.api.resource_reference ) = {
1652+ type : "bigtableadmin.googleapis.com/SchemaBundle"
1653+ }
1654+ ];
1655+
1656+ // Optional. The etag of the schema bundle.
1657+ // If this is provided, it must match the server's etag. The server
1658+ // returns an ABORTED error on a mismatched etag.
1659+ string etag = 2 [(google.api.field_behavior ) = OPTIONAL ];
1660+ }
0 commit comments