Package google.bigtable.admin.v2

Index

BigtableInstanceAdmin

Service for creating, configuring, and deleting Cloud Bigtable Instances and Clusters. Provides access to the Instance and Cluster schemas only, not the tables' metadata or data stored in those tables.

CreateAppProfile

rpc CreateAppProfile(CreateAppProfileRequest) returns (AppProfile)

Creates an app profile within an instance.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/bigtable.admin
  • https://www.googleapis.com/auth/bigtable.admin.cluster
  • https://www.googleapis.com/auth/bigtable.admin.instance
  • https://www.googleapis.com/auth/cloud-bigtable.admin
  • https://www.googleapis.com/auth/cloud-bigtable.admin.cluster
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

CreateCluster

rpc CreateCluster(CreateClusterRequest) returns (Operation)

Creates a cluster within an instance.

Note that exactly one of Cluster.serve_nodes and Cluster.cluster_config.cluster_autoscaling_config can be set. If serve_nodes is set to non-zero, then the cluster is manually scaled. If cluster_config.cluster_autoscaling_config is non-empty, then autoscaling is enabled.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/bigtable.admin
  • https://www.googleapis.com/auth/bigtable.admin.cluster
  • https://www.googleapis.com/auth/bigtable.admin.instance
  • https://www.googleapis.com/auth/cloud-bigtable.admin
  • https://www.googleapis.com/auth/cloud-bigtable.admin.cluster
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

CreateInstance

rpc CreateInstance(CreateInstanceRequest) returns (Operation)

Create an instance within a project.

Note that exactly one of Cluster.serve_nodes and Cluster.cluster_config.cluster_autoscaling_config can be set. If serve_nodes is set to non-zero, then the cluster is manually scaled. If cluster_config.cluster_autoscaling_config is non-empty, then autoscaling is enabled.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/bigtable.admin
  • https://www.googleapis.com/auth/bigtable.admin.cluster
  • https://www.googleapis.com/auth/bigtable.admin.instance
  • https://www.googleapis.com/auth/cloud-bigtable.admin
  • https://www.googleapis.com/auth/cloud-bigtable.admin.cluster
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

DeleteAppProfile

rpc DeleteAppProfile(DeleteAppProfileRequest) returns (Empty)

Deletes an app profile from an instance.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/bigtable.admin
  • https://www.googleapis.com/auth/bigtable.admin.cluster
  • https://www.googleapis.com/auth/bigtable.admin.instance
  • https://www.googleapis.com/auth/cloud-bigtable.admin
  • https://www.googleapis.com/auth/cloud-bigtable.admin.cluster
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

DeleteCluster

rpc DeleteCluster(DeleteClusterRequest) returns (Empty)

Deletes a cluster from an instance.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/bigtable.admin
  • https://www.googleapis.com/auth/bigtable.admin.cluster
  • https://www.googleapis.com/auth/bigtable.admin.instance
  • https://www.googleapis.com/auth/cloud-bigtable.admin
  • https://www.googleapis.com/auth/cloud-bigtable.admin.cluster
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

DeleteInstance

rpc DeleteInstance(DeleteInstanceRequest) returns (Empty)

Delete an instance from a project.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/bigtable.admin
  • https://www.googleapis.com/auth/bigtable.admin.cluster
  • https://www.googleapis.com/auth/bigtable.admin.instance
  • https://www.googleapis.com/auth/cloud-bigtable.admin
  • https://www.googleapis.com/auth/cloud-bigtable.admin.cluster
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

GetAppProfile

rpc GetAppProfile(GetAppProfileRequest) returns (AppProfile)

Gets information about an app profile.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/bigtable.admin
  • https://www.googleapis.com/auth/bigtable.admin.cluster
  • https://www.googleapis.com/auth/bigtable.admin.instance
  • https://www.googleapis.com/auth/cloud-bigtable.admin
  • https://www.googleapis.com/auth/cloud-bigtable.admin.cluster
  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/cloud-platform.read-only

For more information, see the Authentication Overview.

GetCluster

rpc GetCluster(GetClusterRequest) returns (Cluster)

Gets information about a cluster.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/bigtable.admin
  • https://www.googleapis.com/auth/bigtable.admin.cluster
  • https://www.googleapis.com/auth/bigtable.admin.instance
  • https://www.googleapis.com/auth/cloud-bigtable.admin
  • https://www.googleapis.com/auth/cloud-bigtable.admin.cluster
  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/cloud-platform.read-only

For more information, see the Authentication Overview.

GetIamPolicy

rpc GetIamPolicy(GetIamPolicyRequest) returns (Policy)

Gets the access control policy for an instance resource. Returns an empty policy if an instance exists but does not have a policy set.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/bigtable.admin
  • https://www.googleapis.com/auth/bigtable.admin.cluster
  • https://www.googleapis.com/auth/bigtable.admin.instance
  • https://www.googleapis.com/auth/cloud-bigtable.admin
  • https://www.googleapis.com/auth/cloud-bigtable.admin.cluster
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

GetInstance

rpc GetInstance(GetInstanceRequest) returns (Instance)

Gets information about an instance.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/bigtable.admin
  • https://www.googleapis.com/auth/bigtable.admin.cluster
  • https://www.googleapis.com/auth/bigtable.admin.instance
  • https://www.googleapis.com/auth/cloud-bigtable.admin
  • https://www.googleapis.com/auth/cloud-bigtable.admin.cluster
  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/cloud-platform.read-only

For more information, see the Authentication Overview.

ListAppProfiles

rpc ListAppProfiles(ListAppProfilesRequest) returns (ListAppProfilesResponse)

Lists information about app profiles in an instance.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/bigtable.admin
  • https://www.googleapis.com/auth/bigtable.admin.cluster
  • https://www.googleapis.com/auth/bigtable.admin.instance
  • https://www.googleapis.com/auth/cloud-bigtable.admin
  • https://www.googleapis.com/auth/cloud-bigtable.admin.cluster
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

ListClusters

rpc ListClusters(ListClustersRequest) returns (ListClustersResponse)

Lists information about clusters in an instance.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/bigtable.admin
  • https://www.googleapis.com/auth/bigtable.admin.cluster
  • https://www.googleapis.com/auth/bigtable.admin.instance
  • https://www.googleapis.com/auth/cloud-bigtable.admin
  • https://www.googleapis.com/auth/cloud-bigtable.admin.cluster
  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/cloud-platform.read-only

For more information, see the Authentication Overview.

ListHotTablets

rpc ListHotTablets(ListHotTabletsRequest) returns (ListHotTabletsResponse)

Lists hot tablets in a cluster, within the time range provided. Hot tablets are ordered based on CPU usage.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/bigtable.admin
  • https://www.googleapis.com/auth/bigtable.admin.cluster
  • https://www.googleapis.com/auth/bigtable.admin.instance
  • https://www.googleapis.com/auth/cloud-bigtable.admin
  • https://www.googleapis.com/auth/cloud-bigtable.admin.cluster
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

ListInstances

rpc ListInstances(ListInstancesRequest) returns (ListInstancesResponse)

Lists information about instances in a project.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/bigtable.admin
  • https://www.googleapis.com/auth/bigtable.admin.cluster
  • https://www.googleapis.com/auth/bigtable.admin.instance
  • https://www.googleapis.com/auth/cloud-bigtable.admin
  • https://www.googleapis.com/auth/cloud-bigtable.admin.cluster
  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/cloud-platform.read-only

For more information, see the Authentication Overview.

PartialUpdateCluster

rpc PartialUpdateCluster(PartialUpdateClusterRequest) returns (Operation)

Partially updates a cluster within a project. This method is the preferred way to update a Cluster.

To enable and update autoscaling, set cluster_config.cluster_autoscaling_config. When autoscaling is enabled, serve_nodes is treated as an OUTPUT_ONLY field, meaning that updates to it are ignored. Note that an update cannot simultaneously set serve_nodes to non-zero and cluster_config.cluster_autoscaling_config to non-empty, and also specify both in the update_mask.

To disable autoscaling, clear cluster_config.cluster_autoscaling_config, and explicitly set a serve_node count via the update_mask.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/bigtable.admin
  • https://www.googleapis.com/auth/bigtable.admin.cluster
  • https://www.googleapis.com/auth/bigtable.admin.instance
  • https://www.googleapis.com/auth/cloud-bigtable.admin
  • https://www.googleapis.com/auth/cloud-bigtable.admin.cluster
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

PartialUpdateInstance

rpc PartialUpdateInstance(PartialUpdateInstanceRequest) returns (Operation)

Partially updates an instance within a project. This method can modify all fields of an Instance and is the preferred way to update an Instance.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/bigtable.admin
  • https://www.googleapis.com/auth/bigtable.admin.cluster
  • https://www.googleapis.com/auth/bigtable.admin.instance
  • https://www.googleapis.com/auth/cloud-bigtable.admin
  • https://www.googleapis.com/auth/cloud-bigtable.admin.cluster
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

SetIamPolicy

rpc SetIamPolicy(SetIamPolicyRequest) returns (Policy)

Sets the access control policy on an instance resource. Replaces any existing policy.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/bigtable.admin
  • https://www.googleapis.com/auth/bigtable.admin.cluster
  • https://www.googleapis.com/auth/bigtable.admin.instance
  • https://www.googleapis.com/auth/cloud-bigtable.admin
  • https://www.googleapis.com/auth/cloud-bigtable.admin.cluster
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

TestIamPermissions

rpc TestIamPermissions(TestIamPermissionsRequest) returns (TestIamPermissionsResponse)

Returns permissions that the caller has on the specified instance resource.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/bigtable.admin
  • https://www.googleapis.com/auth/bigtable.admin.cluster
  • https://www.googleapis.com/auth/bigtable.admin.instance
  • https://www.googleapis.com/auth/cloud-bigtable.admin
  • https://www.googleapis.com/auth/cloud-bigtable.admin.cluster
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

UpdateAppProfile

rpc UpdateAppProfile(UpdateAppProfileRequest) returns (Operation)

Updates an app profile within an instance.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/bigtable.admin
  • https://www.googleapis.com/auth/bigtable.admin.cluster
  • https://www.googleapis.com/auth/bigtable.admin.instance
  • https://www.googleapis.com/auth/cloud-bigtable.admin
  • https://www.googleapis.com/auth/cloud-bigtable.admin.cluster
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

UpdateCluster

rpc UpdateCluster(Cluster) returns (Operation)

Updates a cluster within an instance.

Note that UpdateCluster does not support updating cluster_config.cluster_autoscaling_config. In order to update it, you must use PartialUpdateCluster.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/bigtable.admin
  • https://www.googleapis.com/auth/bigtable.admin.cluster
  • https://www.googleapis.com/auth/bigtable.admin.instance
  • https://www.googleapis.com/auth/cloud-bigtable.admin
  • https://www.googleapis.com/auth/cloud-bigtable.admin.cluster
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

UpdateInstance

rpc UpdateInstance(Instance) returns (Instance)

Updates an instance within a project. This method updates only the display name and type for an Instance. To update other Instance properties, such as labels, use PartialUpdateInstance.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/bigtable.admin
  • https://www.googleapis.com/auth/bigtable.admin.cluster
  • https://www.googleapis.com/auth/bigtable.admin.instance
  • https://www.googleapis.com/auth/cloud-bigtable.admin
  • https://www.googleapis.com/auth/cloud-bigtable.admin.cluster
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

BigtableTableAdmin

Service for creating, configuring, and deleting Cloud Bigtable tables.

Provides access to the table schemas only, not the data stored within the tables.

CheckConsistency

rpc CheckConsistency(CheckConsistencyRequest) returns (CheckConsistencyResponse)

Checks replication consistency based on a consistency token, that is, if replication has caught up based on the conditions specified in the token and the check request.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/bigtable.admin
  • https://www.googleapis.com/auth/bigtable.admin.table
  • https://www.googleapis.com/auth/cloud-bigtable.admin
  • https://www.googleapis.com/auth/cloud-bigtable.admin.table
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

CopyBackup

rpc CopyBackup(CopyBackupRequest) returns (Operation)

Copy a Cloud Bigtable backup to a new backup in the destination cluster located in the destination instance and project.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/bigtable.admin
  • https://www.googleapis.com/auth/bigtable.admin.table
  • https://www.googleapis.com/auth/cloud-bigtable.admin
  • https://www.googleapis.com/auth/cloud-bigtable.admin.table
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

CreateAuthorizedView

rpc CreateAuthorizedView(CreateAuthorizedViewRequest) returns (Operation)

Creates a new AuthorizedView in a table.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/bigtable.admin
  • https://www.googleapis.com/auth/bigtable.admin.table
  • https://www.googleapis.com/auth/cloud-bigtable.admin
  • https://www.googleapis.com/auth/cloud-bigtable.admin.table
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

CreateBackup

rpc CreateBackup(CreateBackupRequest) returns (Operation)

Starts creating a new Cloud Bigtable Backup. The returned backup long-running operation can be used to track creation of the backup. The metadata field type is CreateBackupMetadata. The response field type is Backup, if successful. Cancelling the returned operation will stop the creation and delete the backup.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/bigtable.admin
  • https://www.googleapis.com/auth/bigtable.admin.table
  • https://www.googleapis.com/auth/cloud-bigtable.admin
  • https://www.googleapis.com/auth/cloud-bigtable.admin.table
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

CreateTable

rpc CreateTable(CreateTableRequest) returns (Table)

Creates a new table in the specified instance. The table can be created with a full set of initial column families, specified in the request.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/bigtable.admin
  • https://www.googleapis.com/auth/bigtable.admin.table
  • https://www.googleapis.com/auth/cloud-bigtable.admin
  • https://www.googleapis.com/auth/cloud-bigtable.admin.table
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

DeleteAuthorizedView

rpc DeleteAuthorizedView(DeleteAuthorizedViewRequest) returns (Empty)

Permanently deletes a specified AuthorizedView.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/bigtable.admin
  • https://www.googleapis.com/auth/bigtable.admin.table
  • https://www.googleapis.com/auth/cloud-bigtable.admin
  • https://www.googleapis.com/auth/cloud-bigtable.admin.table
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

DeleteBackup

rpc DeleteBackup(DeleteBackupRequest) returns (Empty)

Deletes a pending or completed Cloud Bigtable backup.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/bigtable.admin
  • https://www.googleapis.com/auth/bigtable.admin.table
  • https://www.googleapis.com/auth/cloud-bigtable.admin
  • https://www.googleapis.com/auth/cloud-bigtable.admin.table
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

DeleteTable

rpc DeleteTable(DeleteTableRequest) returns (Empty)

Permanently deletes a specified table and all of its data.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/bigtable.admin
  • https://www.googleapis.com/auth/bigtable.admin.table
  • https://www.googleapis.com/auth/cloud-bigtable.admin
  • https://www.googleapis.com/auth/cloud-bigtable.admin.table
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

DropRowRange

rpc DropRowRange(DropRowRangeRequest) returns (Empty)

Permanently drop/delete a row range from a specified table. The request can specify whether to delete all rows in a table, or only those that match a particular prefix. Note that row key prefixes used here are treated as service data. For more information about how service data is handled, see the Google Cloud Privacy Notice.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/bigtable.admin
  • https://www.googleapis.com/auth/bigtable.admin.table
  • https://www.googleapis.com/auth/cloud-bigtable.admin
  • https://www.googleapis.com/auth/cloud-bigtable.admin.table
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

GenerateConsistencyToken

rpc GenerateConsistencyToken(GenerateConsistencyTokenRequest) returns (GenerateConsistencyTokenResponse)

Generates a consistency token for a Table, which can be used in CheckConsistency to check whether mutations to the table that finished before this call started have been replicated. The tokens will be available for 90 days.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/bigtable.admin
  • https://www.googleapis.com/auth/bigtable.admin.table
  • https://www.googleapis.com/auth/cloud-bigtable.admin
  • https://www.googleapis.com/auth/cloud-bigtable.admin.table
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

GetAuthorizedView

rpc GetAuthorizedView(GetAuthorizedViewRequest) returns (AuthorizedView)

Gets information from a specified AuthorizedView.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/bigtable.admin
  • https://www.googleapis.com/auth/bigtable.admin.table
  • https://www.googleapis.com/auth/cloud-bigtable.admin
  • https://www.googleapis.com/auth/cloud-bigtable.admin.table
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

GetBackup

rpc GetBackup(GetBackupRequest) returns (Backup)

Gets metadata on a pending or completed Cloud Bigtable Backup.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/bigtable.admin
  • https://www.googleapis.com/auth/bigtable.admin.table
  • https://www.googleapis.com/auth/cloud-bigtable.admin
  • https://www.googleapis.com/auth/cloud-bigtable.admin.table
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

GetIamPolicy

rpc GetIamPolicy(GetIamPolicyRequest) returns (Policy)

Gets the access control policy for a Bigtable resource. Returns an empty policy if the resource exists but does not have a policy set.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/bigtable.admin
  • https://www.googleapis.com/auth/bigtable.admin.table
  • https://www.googleapis.com/auth/cloud-bigtable.admin
  • https://www.googleapis.com/auth/cloud-bigtable.admin.table
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

GetTable

rpc GetTable(GetTableRequest) returns (Table)

Gets metadata information about the specified table.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/bigtable.admin
  • https://www.googleapis.com/auth/bigtable.admin.table
  • https://www.googleapis.com/auth/cloud-bigtable.admin
  • https://www.googleapis.com/auth/cloud-bigtable.admin.table
  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/cloud-platform.read-only

For more information, see the Authentication Overview.

ListAuthorizedViews

rpc ListAuthorizedViews(ListAuthorizedViewsRequest) returns (ListAuthorizedViewsResponse)

Lists all AuthorizedViews from a specific table.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/bigtable.admin
  • https://www.googleapis.com/auth/bigtable.admin.table
  • https://www.googleapis.com/auth/cloud-bigtable.admin
  • https://www.googleapis.com/auth/cloud-bigtable.admin.table
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

ListBackups

rpc ListBackups(ListBackupsRequest) returns (ListBackupsResponse)

Lists Cloud Bigtable backups. Returns both completed and pending backups.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/bigtable.admin
  • https://www.googleapis.com/auth/bigtable.admin.table
  • https://www.googleapis.com/auth/cloud-bigtable.admin
  • https://www.googleapis.com/auth/cloud-bigtable.admin.table
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

ListTables

rpc ListTables(ListTablesRequest) returns (ListTablesResponse)

Lists all tables served from a specified instance.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/bigtable.admin
  • https://www.googleapis.com/auth/bigtable.admin.table
  • https://www.googleapis.com/auth/cloud-bigtable.admin
  • https://www.googleapis.com/auth/cloud-bigtable.admin.table
  • https://www.googleapis.com/auth/cloud-platform
  • https://www.googleapis.com/auth/cloud-platform.read-only

For more information, see the Authentication Overview.

ModifyColumnFamilies

rpc ModifyColumnFamilies(ModifyColumnFamiliesRequest) returns (Table)

Performs a series of column family modifications on the specified table. Either all or none of the modifications will occur before this method returns, but data requests received prior to that point may see a table where only some modifications have taken effect.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/bigtable.admin
  • https://www.googleapis.com/auth/bigtable.admin.table
  • https://www.googleapis.com/auth/cloud-bigtable.admin
  • https://www.googleapis.com/auth/cloud-bigtable.admin.table
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

RestoreTable

rpc RestoreTable(RestoreTableRequest) returns (Operation)

Create a new table by restoring from a completed backup. The returned table long-running operation can be used to track the progress of the operation, and to cancel it. The metadata field type is RestoreTableMetadata. The response type is Table, if successful.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/bigtable.admin
  • https://www.googleapis.com/auth/bigtable.admin.table
  • https://www.googleapis.com/auth/cloud-bigtable.admin
  • https://www.googleapis.com/auth/cloud-bigtable.admin.table
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

SetIamPolicy

rpc SetIamPolicy(SetIamPolicyRequest) returns (Policy)

Sets the access control policy on a Bigtable resource. Replaces any existing policy.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/bigtable.admin
  • https://www.googleapis.com/auth/bigtable.admin.table
  • https://www.googleapis.com/auth/cloud-bigtable.admin
  • https://www.googleapis.com/auth/cloud-bigtable.admin.table
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

TestIamPermissions

rpc TestIamPermissions(TestIamPermissionsRequest) returns (TestIamPermissionsResponse)

Returns permissions that the caller has on the specified Bigtable resource.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/bigtable.admin
  • https://www.googleapis.com/auth/bigtable.admin.table
  • https://www.googleapis.com/auth/cloud-bigtable.admin
  • https://www.googleapis.com/auth/cloud-bigtable.admin.table
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

UndeleteTable

rpc UndeleteTable(UndeleteTableRequest) returns (Operation)

Restores a specified table which was accidentally deleted.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/bigtable.admin
  • https://www.googleapis.com/auth/bigtable.admin.table
  • https://www.googleapis.com/auth/cloud-bigtable.admin
  • https://www.googleapis.com/auth/cloud-bigtable.admin.table
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

UpdateAuthorizedView

rpc UpdateAuthorizedView(UpdateAuthorizedViewRequest) returns (Operation)

Updates an AuthorizedView in a table.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/bigtable.admin
  • https://www.googleapis.com/auth/bigtable.admin.table
  • https://www.googleapis.com/auth/cloud-bigtable.admin
  • https://www.googleapis.com/auth/cloud-bigtable.admin.table
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

UpdateBackup

rpc UpdateBackup(UpdateBackupRequest) returns (Backup)

Updates a pending or completed Cloud Bigtable Backup.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/bigtable.admin
  • https://www.googleapis.com/auth/bigtable.admin.table
  • https://www.googleapis.com/auth/cloud-bigtable.admin
  • https://www.googleapis.com/auth/cloud-bigtable.admin.table
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

UpdateTable

rpc UpdateTable(UpdateTableRequest) returns (Operation)

Updates a specified table.

Authorization scopes

Requires one of the following OAuth scopes:

  • https://www.googleapis.com/auth/bigtable.admin
  • https://www.googleapis.com/auth/bigtable.admin.table
  • https://www.googleapis.com/auth/cloud-bigtable.admin
  • https://www.googleapis.com/auth/cloud-bigtable.admin.table
  • https://www.googleapis.com/auth/cloud-platform

For more information, see the Authentication Overview.

AppProfile

A configuration object describing how Cloud Bigtable should treat traffic from a particular end user application.

Fields
name

string

The unique name of the app profile. Values are of the form projects/{project}/instances/{instance}/appProfiles/[_a-zA-Z0-9][-_.a-zA-Z0-9]*.

Authorization requires the following IAM permission on the specified resource name:

  • bigtable.appProfiles.update
etag

string

Strongly validated etag for optimistic concurrency control. Preserve the value returned from GetAppProfile when calling UpdateAppProfile to fail the request if there has been a modification in the mean time. The update_mask of the request need not include etag for this protection to apply. See Wikipedia and RFC 7232 for more details.

description

string

Long form description of the use case for this AppProfile.

Union field routing_policy. The routing policy for all read/write requests that use this app profile. A value must be explicitly set. routing_policy can be only one of the following:
multi_cluster_routing_use_any

MultiClusterRoutingUseAny

Use a multi-cluster routing policy.

single_cluster_routing

SingleClusterRouting

Use a single-cluster routing policy.

Union field isolation. Options for isolating this app profile's traffic from other use cases. isolation can be only one of the following:
priority
(deprecated)

Priority

This field has been deprecated in favor of standard_isolation.priority. If you set this field, standard_isolation.priority will be set instead.

The priority of requests sent using this app profile.

standard_isolation

StandardIsolation

The standard options used for isolating this app profile's traffic from other use cases.

data_boost_isolation_read_only

DataBoostIsolationReadOnly

Specifies that this app profile is intended for read-only usage via the Data Boost feature.

DataBoostIsolationReadOnly

Data Boost is a serverless compute capability that lets you run high-throughput read jobs and queries on your Bigtable data, without impacting the performance of the clusters that handle your application traffic. Data Boost supports read-only use cases with single-cluster routing.

Fields
compute_billing_owner

ComputeBillingOwner

The Compute Billing Owner for this Data Boost App Profile.

ComputeBillingOwner

Compute Billing Owner specifies how usage should be accounted when using Data Boost. Compute Billing Owner also configures which Cloud Project is charged for relevant quota.

Enums
COMPUTE_BILLING_OWNER_UNSPECIFIED Unspecified value.
HOST_PAYS The host Cloud Project containing the targeted Bigtable Instance / Table pays for compute.

MultiClusterRoutingUseAny

Read/write requests are routed to the nearest cluster in the instance, and will fail over to the nearest cluster that is available in the event of transient errors or delays. Clusters in a region are considered equidistant. Choosing this option sacrifices read-your-writes consistency to improve availability.

Fields
cluster_ids[]

string

The set of clusters to route to. The order is ignored; clusters will be tried in order of distance. If left empty, all clusters are eligible.

Priority

Possible priorities for an app profile. Note that higher priority writes can sometimes queue behind lower priority writes to the same tablet, as writes must be strictly sequenced in the durability log.

Enums
PRIORITY_UNSPECIFIED Default value. Mapped to PRIORITY_HIGH (the legacy behavior) on creation.
PRIORITY_LOW
PRIORITY_MEDIUM
PRIORITY_HIGH

SingleClusterRouting

Unconditionally routes all read/write requests to a specific cluster. This option preserves read-your-writes consistency but does not improve availability.

Fields
cluster_id

string

The cluster to which read/write requests should be routed.

allow_transactional_writes

bool

Whether or not CheckAndMutateRow and ReadModifyWriteRow requests are allowed by this app profile. It is unsafe to send these requests to the same table/row/column in multiple clusters.

StandardIsolation

Standard options for isolating this app profile's traffic from other use cases.

Fields
priority

Priority

The priority of requests sent using this app profile.

AuthorizedView

An Authorized View of a Cloud Bigtable Table.

Fields
name

string

Identifier. The name of this AuthorizedView. Values are of the form projects/{project}/instances/{instance}/tables/{table}/authorizedViews/{authorized_view}

etag

string

The etag for this AuthorizedView. If this is provided on update, it must match the server's etag. The server returns ABORTED error on a mismatched etag.

deletion_protection

bool

Set to true to make the AuthorizedView protected against deletion. The parent Table and containing Instance cannot be deleted if an AuthorizedView has this bit set.

Union field authorized_view. The type of this AuthorizedView. authorized_view can be only one of the following:
subset_view

SubsetView

An AuthorizedView permitting access to an explicit subset of a Table.

FamilySubsets

Subsets of a column family that are included in this AuthorizedView.

Fields
qualifiers[]

bytes

Individual exact column qualifiers to be included in the AuthorizedView.

qualifier_prefixes[]

bytes

Prefixes for qualifiers to be included in the AuthorizedView. Every qualifier starting with one of these prefixes is included in the AuthorizedView. To provide access to all qualifiers, include the empty string as a prefix ("").

ResponseView

Defines a subset of an AuthorizedView's fields.

Enums
RESPONSE_VIEW_UNSPECIFIED Uses the default view for each method as documented in the request.
NAME_ONLY Only populates name.
BASIC Only populates the AuthorizedView's basic metadata. This includes: name, deletion_protection, etag.
FULL Populates every fields.

SubsetView

Defines a simple AuthorizedView that is a subset of the underlying Table.

Fields
row_prefixes[]

bytes

Row prefixes to be included in the AuthorizedView. To provide access to all rows, include the empty string as a prefix ("").

family_subsets

map<string, FamilySubsets>

Map from column family name to the columns in this family to be included in the AuthorizedView.

AutoscalingLimits

Limits for the number of nodes a Cluster can autoscale up/down to.

Fields
min_serve_nodes

int32

Required. Minimum number of nodes to scale down to.

max_serve_nodes

int32

Required. Maximum number of nodes to scale up to.

AutoscalingTargets

The Autoscaling targets for a Cluster. These determine the recommended nodes.

Fields
cpu_utilization_percent

int32

The cpu utilization that the Autoscaler should be trying to achieve. This number is on a scale from 0 (no utilization) to 100 (total utilization), and is limited between 10 and 80, otherwise it will return INVALID_ARGUMENT error.

storage_utilization_gib_per_node

int32

The storage utilization that the Autoscaler should be trying to achieve. This number is limited between 2560 (2.5TiB) and 5120 (5TiB) for a SSD cluster and between 8192 (8TiB) and 16384 (16TiB) for an HDD cluster, otherwise it will return INVALID_ARGUMENT error. If this value is set to 0, it will be treated as if it were set to the default value: 2560 for SSD, 8192 for HDD.

Backup

A backup of a Cloud Bigtable table.

Fields
name

string

A globally unique identifier for the backup which cannot be changed. Values are of the form projects/{project}/instances/{instance}/clusters/{cluster}/ backups/[_a-zA-Z0-9][-_.a-zA-Z0-9]* The final segment of the name must be between 1 and 50 characters in length.

The backup is stored in the cluster identified by the prefix of the backup name of the form projects/{project}/instances/{instance}/clusters/{cluster}.

source_table

string

Required. Immutable. Name of the table from which this backup was created. This needs to be in the same instance as the backup. Values are of the form projects/{project}/instances/{instance}/tables/{source_table}.

source_backup

string

Output only. Name of the backup from which this backup was copied. If a backup is not created by copying a backup, this field will be empty. Values are of the form: projects//instances//clusters//backups/

expire_time

Timestamp

Required. The expiration time of the backup. When creating a backup or updating its expire_time, the value must be greater than the backup creation time by: - At least 6 hours - At most 90 days

Once the expire_time has passed, Cloud Bigtable will delete the backup.

start_time

Timestamp

Output only. start_time is the time that the backup was started (i.e. approximately the time the CreateBackup request is received). The row data in this backup will be no older than this timestamp.

end_time

Timestamp

Output only. end_time is the time that the backup was finished. The row data in the backup will be no newer than this timestamp.

size_bytes

int64

Output only. Size of the backup in bytes.

state

State

Output only. The current state of the backup.

encryption_info

EncryptionInfo

Output only. The encryption information for the backup.

State

Indicates the current state of the backup.

Enums
STATE_UNSPECIFIED Not specified.
CREATING The pending backup is still being created. Operations on the backup may fail with FAILED_PRECONDITION in this state.
READY The backup is complete and ready for use.

BackupInfo

Information about a backup.

Fields
backup

string

Output only. Name of the backup.

start_time

Timestamp

Output only. The time that the backup was started. Row data in the backup will be no older than this timestamp.

end_time

Timestamp

Output only. This time that the backup was finished. Row data in the backup will be no newer than this timestamp.

source_table

string

Output only. Name of the table the backup was created from.

source_backup

string

Output only. Name of the backup from which this backup was copied. If a backup is not created by copying a backup, this field will be empty. Values are of the form: projects//instances//clusters//backups/

ChangeStreamConfig

Change stream configuration.

Fields
retention_period

Duration

How long the change stream should be retained. Change stream data older than the retention period will not be returned when reading the change stream from the table. Values must be at least 1 day and at most 7 days, and will be truncated to microsecond granularity.

CheckConsistencyRequest

Request message for google.bigtable.admin.v2.BigtableTableAdmin.CheckConsistency

Fields
name

string

Required. The unique name of the Table for which to check replication consistency. Values are of the form projects/{project}/instances/{instance}/tables/{table}.

Authorization requires the following IAM permission on the specified resource name:

  • bigtable.tables.checkConsistency
consistency_token

string

Required. The token created using GenerateConsistencyToken for the Table.

Union field mode. Which type of read needs to consistently observe which type of write? Default: standard_read_remote_writes mode can be only one of the following:
standard_read_remote_writes

StandardReadRemoteWrites

Checks that reads using an app profile with StandardIsolation can see all writes committed before the token was created, even if the read and write target different clusters.

data_boost_read_local_writes

DataBoostReadLocalWrites

Checks that reads using an app profile with DataBoostIsolationReadOnly can see all writes committed before the token was created, but only if the read and write target the same cluster.

CheckConsistencyResponse

Response message for google.bigtable.admin.v2.BigtableTableAdmin.CheckConsistency

Fields
consistent

bool

True only if the token is consistent. A token is consistent if replication has caught up with the restrictions specified in the request.

Cluster

A resizable group of nodes in a particular cloud location, capable of serving all Tables in the parent Instance.

Fields
name

string

The unique name of the cluster. Values are of the form projects/{project}/instances/{instance}/clusters/[a-z][-a-z0-9]*.

location

string

Immutable. The location where this cluster's nodes and storage reside. For best performance, clients should be located as close as possible to this cluster. Currently only zones are supported, so values should be of the form projects/{project}/locations/{zone}.

state

State

Output only. The current state of the cluster.

serve_nodes

int32

The number of nodes in the cluster. If no value is set, Cloud Bigtable automatically allocates nodes based on your data footprint and optimized for 50% storage utilization.

default_storage_type

StorageType

Immutable. The type of storage used by this cluster to serve its parent instance's tables, unless explicitly overridden.

encryption_config

EncryptionConfig

Immutable. The encryption configuration for CMEK-protected clusters.

Union field config.

config can be only one of the following:

cluster_config

ClusterConfig

Configuration for this cluster.

ClusterAutoscalingConfig

Autoscaling config for a cluster.

Fields
autoscaling_limits

AutoscalingLimits

Required. Autoscaling limits for this cluster.

autoscaling_targets

AutoscalingTargets

Required. Autoscaling targets for this cluster.

ClusterConfig

Configuration for a cluster.

Fields
cluster_autoscaling_config

ClusterAutoscalingConfig

Autoscaling configuration for this cluster.

EncryptionConfig

Cloud Key Management Service (Cloud KMS) settings for a CMEK-protected cluster.

Fields
kms_key_name

string

Describes the Cloud KMS encryption key that will be used to protect the destination Bigtable cluster. The requirements for this key are: 1) The Cloud Bigtable service account associated with the project that contains this cluster must be granted the cloudkms.cryptoKeyEncrypterDecrypter role on the CMEK key. 2) Only regional keys can be used and the region of the CMEK key must match the region of the cluster. Values are of the form projects/{project}/locations/{location}/keyRings/{keyring}/cryptoKeys/{key}

State

Possible states of a cluster.

Enums
STATE_NOT_KNOWN The state of the cluster could not be determined.
READY The cluster has been successfully created and is ready to serve requests.
CREATING The cluster is currently being created, and may be destroyed if the creation process encounters an error. A cluster may not be able to serve requests while being created.
RESIZING The cluster is currently being resized, and may revert to its previous node count if the process encounters an error. A cluster is still capable of serving requests while being resized, but may exhibit performance as if its number of allocated nodes is between the starting and requested states.
DISABLED The cluster has no backing nodes. The data (tables) still exist, but no operations can be performed on the cluster.

ColumnFamily

A set of columns within a table which share a common configuration.

Fields
gc_rule

GcRule

Garbage collection rule specified as a protobuf. Must serialize to at most 500 bytes.

NOTE: Garbage collection executes opportunistically in the background, and so it's possible for reads to return a cell even if it matches the active GC expression for its family.

stats

ColumnFamilyStats

Output only. Only available with STATS_VIEW, this includes summary statistics about column family contents. For statistics over an entire table, see TableStats above.

value_type

Type

The type of data stored in each of this family's cell values, including its full encoding. If omitted, the family only serves raw untyped bytes.

For now, only the Aggregate type is supported.

Aggregate can only be set at family creation and is immutable afterwards.

If value_type is Aggregate, written data must be compatible with: * value_type.input_type for AddInput mutations

ColumnFamilyStats

Approximate statistics related to a single column family within a table. This information may change rapidly, interpreting these values at a point in time may already preset out-of-date information.

Everything below is approximate, unless otherwise specified.

Fields
average_columns_per_row

double

How many column qualifiers are present in this column family, averaged over all rows in the table.

e.g. For column family "family" in a table with 3 rows:

  • A row with cells in "family:col" and "other:col" (1 column in "family")
  • A row with cells in "family:col", "family:other_col", and "other:data" (2 columns in "family")
  • A row with cells in "other:col" (0 columns in "family", "family" not present)

would report (1 + 2 + 0)/3 = 1.5 in this field.

average_cells_per_column

double

How many cells are present per column qualifier in this column family, averaged over all rows containing any column in the column family.

e.g. For column family "family" in a table with 3 rows:

  • A row with 3 cells in "family:col" and 1 cell in "other:col" (3 cells / 1 column in "family")
  • A row with 1 cell in "family:col", 7 cells in "family:other_col", and 7 cells in "other:data" (8 cells / 2 columns in "family")
  • A row with 3 cells in "other:col" (0 columns in "family", "family" not present)

would report (3 + 8 + 0)/(1 + 2 + 0) = 3.66 in this field.

logical_data_bytes

int64

How much space the data in the column family occupies. This is roughly how many bytes would be needed to read the contents of the entire column family (e.g. by streaming all contents out).

CopyBackupMetadata

Metadata type for the google.longrunning.Operation returned by CopyBackup.

Fields
name

string

The name of the backup being created through the copy operation. Values are of the form projects/<project>/instances/<instance>/clusters/<cluster>/backups/<backup>.

source_backup_info

BackupInfo

Information about the source backup that is being copied from.

progress

OperationProgress

The progress of the CopyBackup operation.

CopyBackupRequest

The request for CopyBackup.

Fields
parent

string

Required. The name of the destination cluster that will contain the backup copy. The cluster must already exist. Values are of the form: projects/{project}/instances/{instance}/clusters/{cluster}.

Authorization requires the following IAM permission on the specified resource parent:

  • bigtable.backups.create
backup_id

string

Required. The id of the new backup. The backup_id along with parent are combined as {parent}/backups/{backup_id} to create the full backup name, of the form: projects/{project}/instances/{instance}/clusters/{cluster}/backups/{backup_id}. This string must be between 1 and 50 characters in length and match the regex [_a-zA-Z0-9][-_.a-zA-Z0-9]*.

source_backup

string

Required. The source backup to be copied from. The source backup needs to be in READY state for it to be copied. Copying a copied backup is not allowed. Once CopyBackup is in progress, the source backup cannot be deleted or cleaned up on expiration until CopyBackup is finished. Values are of the form: projects/<project>/instances/<instance>/clusters/<cluster>/backups/<backup>.

Authorization requires the following IAM permission on the specified resource sourceBackup:

  • bigtable.backups.read
expire_time

Timestamp

Required. Required. The expiration time of the copied backup with microsecond granularity that must be at least 6 hours and at most 30 days from the time the request is received. Once the expire_time has passed, Cloud Bigtable will delete the backup and free the resources used by the backup.

CreateAppProfileRequest

Request message for BigtableInstanceAdmin.CreateAppProfile.

Fields
parent

string

Required. The unique name of the instance in which to create the new app profile. Values are of the form projects/{project}/instances/{instance}.

Authorization requires the following IAM permission on the specified resource parent:

  • bigtable.appProfiles.create
app_profile_id

string

Required. The ID to be used when referring to the new app profile within its instance, e.g., just myprofile rather than projects/myproject/instances/myinstance/appProfiles/myprofile.

app_profile

AppProfile

Required. The app profile to be created. Fields marked OutputOnly will be ignored.

ignore_warnings

bool

If true, ignore safety checks when creating the app profile.

CreateAuthorizedViewMetadata

The metadata for the Operation returned by CreateAuthorizedView.

Fields
original_request

CreateAuthorizedViewRequest

The request that prompted the initiation of this CreateAuthorizedView operation.

request_time

Timestamp

The time at which the original request was received.

finish_time

Timestamp

The time at which the operation failed or was completed successfully.

CreateAuthorizedViewRequest

The request for CreateAuthorizedView

Fields
parent

string

Required. This is the name of the table the AuthorizedView belongs to. Values are of the form projects/{project}/instances/{instance}/tables/{table}.

Authorization requires the following IAM permission on the specified resource parent:

  • bigtable.authorizedViews.create
authorized_view_id

string

Required. The id of the AuthorizedView to create. This AuthorizedView must not already exist. The authorized_view_id appended to parent forms the full AuthorizedView name of the form projects/{project}/instances/{instance}/tables/{table}/authorizedView/{authorized_view}.

authorized_view

AuthorizedView

Required. The AuthorizedView to create.

CreateBackupMetadata

Metadata type for the operation returned by CreateBackup.

Fields
name

string

The name of the backup being created.

source_table

string

The name of the table the backup is created from.

start_time

Timestamp

The time at which this operation started.

end_time

Timestamp

If set, the time at which this operation finished or was cancelled.

CreateBackupRequest

The request for CreateBackup.

Fields
parent

string

Required. This must be one of the clusters in the instance in which this table is located. The backup will be stored in this cluster. Values are of the form projects/{project}/instances/{instance}/clusters/{cluster}.

Authorization requires one or more of the following IAM permissions on the specified resource parent:

  • bigtable.backups.create
  • bigtable.tables.readRows
backup_id

string

Required. The id of the backup to be created. The backup_id along with the parent parent are combined as {parent}/backups/{backup_id} to create the full backup name, of the form: projects/{project}/instances/{instance}/clusters/{cluster}/backups/{backup_id}. This string must be between 1 and 50 characters in length and match the regex [_a-zA-Z0-9][-_.a-zA-Z0-9]*.

backup

Backup

Required. The backup to create.

CreateClusterMetadata

The metadata for the Operation returned by CreateCluster.

Fields
original_request

CreateClusterRequest

The request that prompted the initiation of this CreateCluster operation.

request_time

Timestamp

The time at which the original request was received.

finish_time

Timestamp

The time at which the operation failed or was completed successfully.

tables

map<string, TableProgress>

Keys: the full name of each table that existed in the instance when CreateCluster was first called, i.e. projects/<project>/instances/<instance>/tables/<table>. Any table added to the instance by a later API call will be created in the new cluster by that API call, not this one.

Values: information on how much of a table's data has been copied to the newly-created cluster so far.

TableProgress

Progress info for copying a table's data to the new cluster.

Fields
estimated_size_bytes

int64

Estimate of the size of the table to be copied.

estimated_copied_bytes

int64

Estimate of the number of bytes copied so far for this table. This will eventually reach 'estimated_size_bytes' unless the table copy is CANCELLED.

state

State

State

Enums
STATE_UNSPECIFIED
PENDING The table has not yet begun copying to the new cluster.
COPYING The table is actively being copied to the new cluster.
COMPLETED The table has been fully copied to the new cluster.
CANCELLED The table was deleted before it finished copying to the new cluster. Note that tables deleted after completion will stay marked as COMPLETED, not CANCELLED.

CreateClusterRequest

Request message for BigtableInstanceAdmin.CreateCluster.

Fields
parent

string

Required. The unique name of the instance in which to create the new cluster. Values are of the form projects/{project}/instances/{instance}.

Authorization requires the following IAM permission on the specified resource parent:

  • bigtable.clusters.create
cluster_id

string

Required. The ID to be used when referring to the new cluster within its instance, e.g., just mycluster rather than projects/myproject/instances/myinstance/clusters/mycluster.

cluster

Cluster

Required. The cluster to be created. Fields marked OutputOnly must be left blank.

CreateInstanceMetadata

The metadata for the Operation returned by CreateInstance.

Fields
original_request

CreateInstanceRequest

The request that prompted the initiation of this CreateInstance operation.

request_time

Timestamp

The time at which the original request was received.

finish_time

Timestamp

The time at which the operation failed or was completed successfully.

CreateInstanceRequest

Request message for BigtableInstanceAdmin.CreateInstance.

Fields
parent

string

Required. The unique name of the project in which to create the new instance. Values are of the form projects/{project}.

Authorization requires the following IAM permission on the specified resource parent:

  • bigtable.instances.create
instance_id

string

Required. The ID to be used when referring to the new instance within its project, e.g., just myinstance rather than projects/myproject/instances/myinstance.

instance

Instance

Required. The instance to create. Fields marked OutputOnly must be left blank.

clusters

map<string, Cluster>

Required. The clusters to be created within the instance, mapped by desired cluster ID, e.g., just mycluster rather than projects/myproject/instances/myinstance/clusters/mycluster. Fields marked OutputOnly must be left blank.

CreateTableRequest

Request message for google.bigtable.admin.v2.BigtableTableAdmin.CreateTable

Fields
parent

string

Required. The unique name of the instance in which to create the table. Values are of the form projects/{project}/instances/{instance}.

Authorization requires the following IAM permission on the specified resource parent:

  • bigtable.tables.create
table_id

string

Required. The name by which the new table should be referred to within the parent instance, e.g., foobar rather than {parent}/tables/foobar. Maximum 50 characters.

table

Table

Required. The Table to create.

initial_splits[]

Split

The optional list of row keys that will be used to initially split the table into several tablets (tablets are similar to HBase regions). Given two split keys, s1 and s2, three tablets will be created, spanning the key ranges: [, s1), [s1, s2), [s2, ).

Example:

  • Row keys := ["a", "apple", "custom", "customer_1", "customer_2", "other", "zz"]
  • initial_split_keys := ["apple", "customer_1", "customer_2", "other"]
  • Key assignment:
    • Tablet 1 [, apple) => {"a"}.
    • Tablet 2 [apple, customer_1) => {"apple", "custom"}.
    • Tablet 3 [customer_1, customer_2) => {"customer_1"}.
    • Tablet 4 [customer_2, other) => {"customer_2"}.
    • Tablet 5 [other, ) => {"other", "zz"}.

Split

An initial split point for a newly created table.

Fields
key

bytes

Row key to use as an initial tablet boundary.

DataBoostReadLocalWrites

This type has no fields.

Checks that all writes before the consistency token was generated in the same cluster are readable by Databoost.

DeleteAppProfileRequest

Request message for BigtableInstanceAdmin.DeleteAppProfile.

Fields
name

string

Required. The unique name of the app profile to be deleted. Values are of the form projects/{project}/instances/{instance}/appProfiles/{app_profile}.

Authorization requires the following IAM permission on the specified resource name:

  • bigtable.appProfiles.delete
ignore_warnings

bool

Required. If true, ignore safety checks when deleting the app profile.

DeleteAuthorizedViewRequest

Request message for google.bigtable.admin.v2.BigtableTableAdmin.DeleteAuthorizedView

Fields
name

string

Required. The unique name of the AuthorizedView to be deleted. Values are of the form projects/{project}/instances/{instance}/tables/{table}/authorizedViews/{authorized_view}.

Authorization requires the following IAM permission on the specified resource name:

  • bigtable.authorizedView.delete
etag

string

Optional. The current etag of the AuthorizedView. If an etag is provided and does not match the current etag of the AuthorizedView, deletion will be blocked and an ABORTED error will be returned.

DeleteBackupRequest

The request for DeleteBackup.

Fields
name

string

Required. Name of the backup to delete. Values are of the form projects/{project}/instances/{instance}/clusters/{cluster}/backups/{backup}.

Authorization requires the following IAM permission on the specified resource name:

  • bigtable.backups.delete

DeleteClusterRequest

Request message for BigtableInstanceAdmin.DeleteCluster.

Fields
name

string

Required. The unique name of the cluster to be deleted. Values are of the form projects/{project}/instances/{instance}/clusters/{cluster}.

Authorization requires the following IAM permission on the specified resource name:

  • bigtable.clusters.delete

DeleteInstanceRequest

Request message for BigtableInstanceAdmin.DeleteInstance.

Fields
name

string

Required. The unique name of the instance to be deleted. Values are of the form projects/{project}/instances/{instance}.

Authorization requires the following IAM permission on the specified resource name:

  • bigtable.instances.delete

DeleteTableRequest

Request message for google.bigtable.admin.v2.BigtableTableAdmin.DeleteTable

Fields
name

string

Required. The unique name of the table to be deleted. Values are of the form projects/{project}/instances/{instance}/tables/{table}.

Authorization requires the following IAM permission on the specified resource name:

  • bigtable.tables.delete

DropRowRangeRequest

Request message for google.bigtable.admin.v2.BigtableTableAdmin.DropRowRange

Fields
name

string

Required. The unique name of the table on which to drop a range of rows. Values are of the form projects/{project}/instances/{instance}/tables/{table}.

Authorization requires the following IAM permission on the specified resource name:

  • bigtable.tables.mutateRows
Union field target. Delete all rows or by prefix. target can be only one of the following:
row_key_prefix

bytes

Delete all rows that start with this row key prefix. Prefix cannot be zero length.

delete_all_data_from_table

bool

Delete all rows in the table. Setting this to false is a no-op.

EncryptionInfo

Encryption information for a given resource. If this resource is protected with customer managed encryption, the in-use Cloud Key Management Service (Cloud KMS) key version is specified along with its status.

Fields
encryption_type

EncryptionType

Output only. The type of encryption used to protect this resource.

encryption_status

Status

Output only. The status of encrypt/decrypt calls on underlying data for this resource. Regardless of status, the existing data is always encrypted at rest.

kms_key_version

string

Output only. The version of the Cloud KMS key specified in the parent cluster that is in use for the data underlying this table.

EncryptionType

Possible encryption types for a resource.

Enums
ENCRYPTION_TYPE_UNSPECIFIED Encryption type was not specified, though data at rest remains encrypted.
GOOGLE_DEFAULT_ENCRYPTION The data backing this resource is encrypted at rest with a key that is fully managed by Google. No key version or status will be populated. This is the default state.
CUSTOMER_MANAGED_ENCRYPTION The data backing this resource is encrypted at rest with a key that is managed by the customer. The in-use version of the key and its status are populated for CMEK-protected tables. CMEK-protected backups are pinned to the key version that was in use at the time the backup was taken. This key version is populated but its status is not tracked and is reported as UNKNOWN.

GcRule

Rule for determining which cells to delete during garbage collection.

Fields
Union field rule. Garbage collection rules. rule can be only one of the following:
max_num_versions

int32

Delete all cells in a column except the most recent N.

max_age

Duration

Delete cells in a column older than the given age. Values must be at least one millisecond, and will be truncated to microsecond granularity.

intersection

Intersection

Delete cells that would be deleted by every nested rule.

union

Union

Delete cells that would be deleted by any nested rule.

Intersection

A GcRule which deletes cells matching all of the given rules.

Fields
rules[]

GcRule

Only delete cells which would be deleted by every element of rules.

Union

A GcRule which deletes cells matching any of the given rules.

Fields
rules[]

GcRule

Delete cells which would be deleted by any element of rules.

GenerateConsistencyTokenRequest

Request message for google.bigtable.admin.v2.BigtableTableAdmin.GenerateConsistencyToken

Fields
name

string

Required. The unique name of the Table for which to create a consistency token. Values are of the form projects/{project}/instances/{instance}/tables/{table}.

Authorization requires the following IAM permission on the specified resource name:

  • bigtable.tables.generateConsistencyToken

GenerateConsistencyTokenResponse

Response message for google.bigtable.admin.v2.BigtableTableAdmin.GenerateConsistencyToken

Fields
consistency_token

string

The generated consistency token.

GetAppProfileRequest

Request message for BigtableInstanceAdmin.GetAppProfile.

Fields
name

string

Required. The unique name of the requested app profile. Values are of the form projects/{project}/instances/{instance}/appProfiles/{app_profile}.

Authorization requires the following IAM permission on the specified resource name:

  • bigtable.appProfiles.get

GetAuthorizedViewRequest

Request message for google.bigtable.admin.v2.BigtableTableAdmin.GetAuthorizedView

Fields
name

string

Required. The unique name of the requested AuthorizedView. Values are of the form projects/{project}/instances/{instance}/tables/{table}/authorizedViews/{authorized_view}.

Authorization requires the following IAM permission on the specified resource name:

  • bigtable.authorizedView.get
view

ResponseView

Optional. The resource_view to be applied to the returned AuthorizedView's fields. Default to BASIC.

GetBackupRequest

The request for GetBackup.

Fields
name

string

Required. Name of the backup. Values are of the form projects/{project}/instances/{instance}/clusters/{cluster}/backups/{backup}.

Authorization requires the following IAM permission on the specified resource name:

  • bigtable.backups.get

GetClusterRequest

Request message for BigtableInstanceAdmin.GetCluster.

Fields
name

string

Required. The unique name of the requested cluster. Values are of the form projects/{project}/instances/{instance}/clusters/{cluster}.

Authorization requires the following IAM permission on the specified resource name:

  • bigtable.clusters.get

GetInstanceRequest

Request message for BigtableInstanceAdmin.GetInstance.

Fields
name

string

Required. The unique name of the requested instance. Values are of the form projects/{project}/instances/{instance}.

Authorization requires the following IAM permission on the specified resource name:

  • bigtable.instances.get

GetTableRequest

Request message for google.bigtable.admin.v2.BigtableTableAdmin.GetTable

Fields
name

string

Required. The unique name of the requested table. Values are of the form projects/{project}/instances/{instance}/tables/{table}.

Authorization requires the following IAM permission on the specified resource name:

  • bigtable.tables.get
view

View

The view to be applied to the returned table's fields. Defaults to SCHEMA_VIEW if unspecified.

HotTablet

A tablet is a defined by a start and end key and is explained in https://cloud.google.com/bigtable/docs/overview#architecture and https://cloud.google.com/bigtable/docs/performance#optimization. A Hot tablet is a tablet that exhibits high average cpu usage during the time interval from start time to end time.

Fields
name

string

The unique name of the hot tablet. Values are of the form projects/{project}/instances/{instance}/clusters/{cluster}/hotTablets/[a-zA-Z0-9_-]*.

table_name

string

Name of the table that contains the tablet. Values are of the form projects/{project}/instances/{instance}/tables/[_a-zA-Z0-9][-_.a-zA-Z0-9]*.

start_time

Timestamp

Output only. The start time of the hot tablet.

end_time

Timestamp

Output only. The end time of the hot tablet.

start_key

string

Tablet Start Key (inclusive).

end_key

string

Tablet End Key (inclusive).

node_cpu_usage_percent

float

Output only. The average CPU usage spent by a node on this tablet over the start_time to end_time time range. The percentage is the amount of CPU used by the node to serve the tablet, from 0% (tablet was not interacted with) to 100% (the node spent all cycles serving the hot tablet).

Instance

A collection of Bigtable Tables and the resources that serve them. All tables in an instance are served from all Clusters in the instance.

Fields
name

string

The unique name of the instance. Values are of the form projects/{project}/instances/[a-z][a-z0-9\\-]+[a-z0-9].

display_name

string

Required. The descriptive name for this instance as it appears in UIs. Can be changed at any time, but should be kept globally unique to avoid confusion.

state

State

Output only. The current state of the instance.

type

Type

The type of the instance. Defaults to PRODUCTION.

labels

map<string, string>

Labels are a flexible and lightweight mechanism for organizing cloud resources into groups that reflect a customer's organizational needs and deployment strategies. They can be used to filter resources and aggregate metrics.

  • Label keys must be between 1 and 63 characters long and must conform to the regular expression: [\p{Ll}\p{Lo}][\p{Ll}\p{Lo}\p{N}_-]{0,62}.
  • Label values must be between 0 and 63 characters long and must conform to the regular expression: [\p{Ll}\p{Lo}\p{N}_-]{0,63}.
  • No more than 64 labels can be associated with a given resource.
  • Keys and values must both be under 128 bytes.
create_time

Timestamp

Output only. A commit timestamp representing when this Instance was created. For instances created before this field was added (August 2021), this value is seconds: 0, nanos: 1.

satisfies_pzs

bool

Output only. Reserved for future use.

satisfies_pzi

bool

Output only. Reserved for future use.

State

Possible states of an instance.

Enums
STATE_NOT_KNOWN The state of the instance could not be determined.
READY The instance has been successfully created and can serve requests to its tables.
CREATING The instance is currently being created, and may be destroyed if the creation process encounters an error.

Type

The type of the instance.

Enums
TYPE_UNSPECIFIED The type of the instance is unspecified. If set when creating an instance, a PRODUCTION instance will be created. If set when updating an instance, the type will be left unchanged.
PRODUCTION An instance meant for production use. serve_nodes must be set on the cluster.
DEVELOPMENT DEPRECATED: Prefer PRODUCTION for all use cases, as it no longer enforces a higher minimum node count than DEVELOPMENT.

ListAppProfilesRequest

Request message for BigtableInstanceAdmin.ListAppProfiles.

Fields
parent

string

Required. The unique name of the instance for which a list of app profiles is requested. Values are of the form projects/{project}/instances/{instance}. Use {instance} = '-' to list AppProfiles for all Instances in a project, e.g., projects/myproject/instances/-.

Authorization requires the following IAM permission on the specified resource parent:

  • bigtable.appProfiles.list
page_size

int32

Maximum number of results per page.

A page_size of zero lets the server choose the number of items to return. A page_size which is strictly positive will return at most that many items. A negative page_size will cause an error.

Following the first request, subsequent paginated calls are not required to pass a page_size. If a page_size is set in subsequent calls, it must match the page_size given in the first request.

page_token

string

The value of next_page_token returned by a previous call.

ListAppProfilesResponse

Response message for BigtableInstanceAdmin.ListAppProfiles.

Fields
app_profiles[]

AppProfile

The list of requested app profiles.

next_page_token

string

Set if not all app profiles could be returned in a single response. Pass this value to page_token in another request to get the next page of results.

failed_locations[]

string

Locations from which AppProfile information could not be retrieved, due to an outage or some other transient condition. AppProfiles from these locations may be missing from app_profiles. Values are of the form projects/<project>/locations/<zone_id>

ListAuthorizedViewsRequest

Request message for google.bigtable.admin.v2.BigtableTableAdmin.ListAuthorizedViews

Fields
parent

string

Required. The unique name of the table for which AuthorizedViews should be listed. Values are of the form projects/{project}/instances/{instance}/tables/{table}.

Authorization requires the following IAM permission on the specified resource parent:

  • bigtable.authorizedViews.list
page_size

int32

Optional. Maximum number of results per page.

A page_size of zero lets the server choose the number of items to return. A page_size which is strictly positive will return at most that many items. A negative page_size will cause an error.

Following the first request, subsequent paginated calls are not required to pass a page_size. If a page_size is set in subsequent calls, it must match the page_size given in the first request.

page_token

string

Optional. The value of next_page_token returned by a previous call.

view

ResponseView

Optional. The resource_view to be applied to the returned AuthorizedViews' fields. Default to NAME_ONLY.

ListAuthorizedViewsResponse

Response message for google.bigtable.admin.v2.BigtableTableAdmin.ListAuthorizedViews

Fields
authorized_views[]

AuthorizedView

The AuthorizedViews present in the requested table.

next_page_token

string

Set if not all tables could be returned in a single response. Pass this value to page_token in another request to get the next page of results.

ListBackupsRequest

The request for ListBackups.

Fields
parent

string

Required. The cluster to list backups from. Values are of the form projects/{project}/instances/{instance}/clusters/{cluster}. Use {cluster} = '-' to list backups for all clusters in an instance, e.g., projects/{project}/instances/{instance}/clusters/-.

Authorization requires the following IAM permission on the specified resource parent:

  • bigtable.backups.list
filter

string

A filter expression that filters backups listed in the response. The expression must specify the field name, a comparison operator, and the value that you want to use for filtering. The value must be a string, a number, or a boolean. The comparison operator must be <, >, <=, >=, !=, =, or :. Colon ':' represents a HAS operator which is roughly synonymous with equality. Filter rules are case insensitive.

The fields eligible for filtering are:

  • name
  • source_table
  • state
  • start_time (and values are of the format YYYY-MM-DDTHH:MM:SSZ)
  • end_time (and values are of the format YYYY-MM-DDTHH:MM:SSZ)
  • expire_time (and values are of the format YYYY-MM-DDTHH:MM:SSZ)
  • size_bytes

To filter on multiple expressions, provide each separate expression within parentheses. By default, each expression is an AND expression. However, you can include AND, OR, and NOT expressions explicitly.

Some examples of using filters are:

  • name:"exact" --> The backup's name is the string "exact".
  • name:howl --> The backup's name contains the string "howl".
  • source_table:prod --> The source_table's name contains the string "prod".
  • state:CREATING --> The backup is pending creation.
  • state:READY --> The backup is fully created and ready for use.
  • (name:howl) AND (start_time < \"2018-03-28T14:50:00Z\") --> The backup name contains the string "howl" and start_time of the backup is before 2018-03-28T14:50:00Z.
  • size_bytes > 10000000000 --> The backup's size is greater than 10GB
order_by

string

An expression for specifying the sort order of the results of the request. The string value should specify one or more fields in Backup. The full syntax is described at https://aip.dev/132#ordering.

Fields supported are:

  • name
  • source_table
  • expire_time
  • start_time
  • end_time
  • size_bytes
  • state

For example, "start_time". The default sorting order is ascending. To specify descending order for the field, a suffix " desc" should be appended to the field name. For example, "start_time desc". Redundant space characters in the syntax are insigificant.

If order_by is empty, results will be sorted by start_time in descending order starting from the most recently created backup.

page_size

int32

Number of backups to be returned in the response. If 0 or less, defaults to the server's maximum allowed page size.

page_token

string

If non-empty, page_token should contain a next_page_token from a previous ListBackupsResponse to the same parent and with the same filter.

ListBackupsResponse

The response for ListBackups.

Fields
backups[]

Backup

The list of matching backups.

next_page_token

string

next_page_token can be sent in a subsequent ListBackups call to fetch more of the matching backups.

ListClustersRequest

Request message for BigtableInstanceAdmin.ListClusters.

Fields
parent

string

Required. The unique name of the instance for which a list of clusters is requested. Values are of the form projects/{project}/instances/{instance}. Use {instance} = '-' to list Clusters for all Instances in a project, e.g., projects/myproject/instances/-.

Authorization requires the following IAM permission on the specified resource parent:

  • bigtable.clusters.list
page_token

string

DEPRECATED: This field is unused and ignored.

ListClustersResponse

Response message for BigtableInstanceAdmin.ListClusters.

Fields
clusters[]

Cluster

The list of requested clusters.

failed_locations[]

string

Locations from which Cluster information could not be retrieved, due to an outage or some other transient condition. Clusters from these locations may be missing from clusters, or may only have partial information returned. Values are of the form projects/<project>/locations/<zone_id>

next_page_token

string

DEPRECATED: This field is unused and ignored.

ListHotTabletsRequest

Request message for BigtableInstanceAdmin.ListHotTablets.

Fields
parent

string

Required. The cluster name to list hot tablets. Value is in the following form: projects/{project}/instances/{instance}/clusters/{cluster}.

Authorization requires the following IAM permission on the specified resource parent:

  • bigtable.clusters.listHotTablets
start_time

Timestamp

The start time to list hot tablets. The hot tablets in the response will have start times between the requested start time and end time. Start time defaults to Now if it is unset, and end time defaults to Now - 24 hours if it is unset. The start time should be less than the end time, and the maximum allowed time range between start time and end time is 48 hours. Start time and end time should have values between Now and Now - 14 days.

end_time

Timestamp

The end time to list hot tablets.

page_size

int32

Maximum number of results per page.

A page_size that is empty or zero lets the server choose the number of items to return. A page_size which is strictly positive will return at most that many items. A negative page_size will cause an error.

Following the first request, subsequent paginated calls do not need a page_size field. If a page_size is set in subsequent calls, it must match the page_size given in the first request.

page_token

string

The value of next_page_token returned by a previous call.

ListHotTabletsResponse

Response message for BigtableInstanceAdmin.ListHotTablets.

Fields
hot_tablets[]

HotTablet

List of hot tablets in the tables of the requested cluster that fall within the requested time range. Hot tablets are ordered by node cpu usage percent. If there are multiple hot tablets that correspond to the same tablet within a 15-minute interval, only the hot tablet with the highest node cpu usage will be included in the response.

next_page_token

string

Set if not all hot tablets could be returned in a single response. Pass this value to page_token in another request to get the next page of results.

ListInstancesRequest

Request message for BigtableInstanceAdmin.ListInstances.

Fields
parent

string

Required. The unique name of the project for which a list of instances is requested. Values are of the form projects/{project}.

Authorization requires the following IAM permission on the specified resource parent:

  • bigtable.instances.list
page_token

string

DEPRECATED: This field is unused and ignored.

ListInstancesResponse

Response message for BigtableInstanceAdmin.ListInstances.

Fields
instances[]

Instance

The list of requested instances.

failed_locations[]

string

Locations from which Instance information could not be retrieved, due to an outage or some other transient condition. Instances whose Clusters are all in one of the failed locations may be missing from instances, and Instances with at least one Cluster in a failed location may only have partial information returned. Values are of the form projects/<project>/locations/<zone_id>

next_page_token

string

DEPRECATED: This field is unused and ignored.

ListTablesRequest

Request message for google.bigtable.admin.v2.BigtableTableAdmin.ListTables

Fields
parent

string

Required. The unique name of the instance for which tables should be listed. Values are of the form projects/{project}/instances/{instance}.

Authorization requires the following IAM permission on the specified resource parent:

  • bigtable.tables.list
view

View

The view to be applied to the returned tables' fields. Only NAME_ONLY view (default), REPLICATION_VIEW and ENCRYPTION_VIEW are supported.

page_size

int32

Maximum number of results per page.

A page_size of zero lets the server choose the number of items to return. A page_size which is strictly positive will return at most that many items. A negative page_size will cause an error.

Following the first request, subsequent paginated calls are not required to pass a page_size. If a page_size is set in subsequent calls, it must match the page_size given in the first request.

page_token

string

The value of next_page_token returned by a previous call.

ListTablesResponse

Response message for google.bigtable.admin.v2.BigtableTableAdmin.ListTables

Fields
tables[]

Table

The tables present in the requested instance.

next_page_token

string

Set if not all tables could be returned in a single response. Pass this value to page_token in another request to get the next page of results.

ModifyColumnFamiliesRequest

Request message for google.bigtable.admin.v2.BigtableTableAdmin.ModifyColumnFamilies

Fields
name

string

Required. The unique name of the table whose families should be modified. Values are of the form projects/{project}/instances/{instance}/tables/{table}.

Authorization requires the following IAM permission on the specified resource name:

  • bigtable.tables.update
modifications[]

Modification

Required. Modifications to be atomically applied to the specified table's families. Entries are applied in order, meaning that earlier modifications can be masked by later ones (in the case of repeated updates to the same family, for example).

ignore_warnings

bool

Optional. If true, ignore safety checks when modifying the column families.

Modification

A create, update, or delete of a particular column family.

Fields
id

string

The ID of the column family to be modified.

update_mask

FieldMask

Optional. A mask specifying which fields (e.g. gc_rule) in the update mod should be updated, ignored for other modification types. If unset or empty, we treat it as updating gc_rule to be backward compatible.

Union field mod. Column family modifications. mod can be only one of the following:
create

ColumnFamily

Create a new column family with the specified schema, or fail if one already exists with the given ID.

update

ColumnFamily

Update an existing column family to the specified schema, or fail if no column family exists with the given ID.

drop

bool

Drop (delete) the column family with the given ID, or fail if no such family exists.

OperationProgress

Encapsulates progress related information for a Cloud Bigtable long running operation.

Fields
progress_percent

int32

Percent completion of the operation. Values are between 0 and 100 inclusive.

start_time

Timestamp

Time the request was received.

end_time

Timestamp

If set, the time at which this operation failed or was completed successfully.

OptimizeRestoredTableMetadata

Metadata type for the long-running operation used to track the progress of optimizations performed on a newly restored table. This long-running operation is automatically created by the system after the successful completion of a table restore, and cannot be cancelled.

Fields
name

string

Name of the restored table being optimized.

progress

OperationProgress

The progress of the post-restore optimizations.

PartialUpdateClusterMetadata

The metadata for the Operation returned by PartialUpdateCluster.

Fields
request_time

Timestamp

The time at which the original request was received.

finish_time

Timestamp

The time at which the operation failed or was completed successfully.

original_request

PartialUpdateClusterRequest

The original request for PartialUpdateCluster.

PartialUpdateClusterRequest

Request message for BigtableInstanceAdmin.PartialUpdateCluster.

Fields
cluster

Cluster

Required. The Cluster which contains the partial updates to be applied, subject to the update_mask.

update_mask

FieldMask

Required. The subset of Cluster fields which should be replaced.

PartialUpdateInstanceRequest

Request message for BigtableInstanceAdmin.PartialUpdateInstance.

Fields
instance

Instance

Required. The Instance which will (partially) replace the current value.

update_mask

FieldMask

Required. The subset of Instance fields which should be replaced. Must be explicitly set.

RestoreInfo

Information about a table restore.

Fields
source_type

RestoreSourceType

The type of the restore source.

Union field source_info. Information about the source used to restore the table. source_info can be only one of the following:
backup_info

BackupInfo

Information about the backup used to restore the table. The backup may no longer exist.

RestoreSourceType

Indicates the type of the restore source.

Enums
RESTORE_SOURCE_TYPE_UNSPECIFIED No restore associated.
BACKUP A backup was used as the source of the restore.

RestoreTableMetadata

Metadata type for the long-running operation returned by RestoreTable.

Fields
name

string

Name of the table being created and restored to.

source_type

RestoreSourceType

The type of the restore source.

optimize_table_operation_name

string

If exists, the name of the long-running operation that will be used to track the post-restore optimization process to optimize the performance of the restored table. The metadata type of the long-running operation is [OptimizeRestoreTableMetadata][]. The response type is Empty. This long-running operation may be automatically created by the system if applicable after the RestoreTable long-running operation completes successfully. This operation may not be created if the table is already optimized or the restore was not successful.

progress

OperationProgress

The progress of the RestoreTable operation.

Union field source_info. Information about the source used to restore the table, as specified by source in RestoreTableRequest. source_info can be only one of the following:
backup_info

BackupInfo

RestoreTableRequest

The request for RestoreTable.

Fields
parent

string

Required. The name of the instance in which to create the restored table. Values are of the form projects/<project>/instances/<instance>.

Authorization requires the following IAM permission on the specified resource parent:

  • bigtable.tables.create
table_id

string

Required. The id of the table to create and restore to. This table must not already exist. The table_id appended to parent forms the full table name of the form projects/<project>/instances/<instance>/tables/<table_id>.

Union field source. Required. The source from which to restore. source can be only one of the following:
backup

string

Name of the backup from which to restore. Values are of the form projects/<project>/instances/<instance>/clusters/<cluster>/backups/<backup>.

Authorization requires the following IAM permission on the specified resource backup:

  • bigtable.backups.restore

StandardReadRemoteWrites

This type has no fields.

Checks that all writes before the consistency token was generated are replicated in every cluster and readable.

StorageType

Storage media types for persisting Bigtable data.

Enums
STORAGE_TYPE_UNSPECIFIED The user did not specify a storage type.
SSD Flash (SSD) storage should be used.
HDD Magnetic drive (HDD) storage should be used.

Table

A collection of user data indexed by row, column, and timestamp. Each table is served using the resources of its parent cluster.

Fields
name

string

The unique name of the table. Values are of the form projects/{project}/instances/{instance}/tables/[_a-zA-Z0-9][-_.a-zA-Z0-9]*. Views: NAME_ONLY, SCHEMA_VIEW, REPLICATION_VIEW, STATS_VIEW, FULL

cluster_states

map<string, ClusterState>

Output only. Map from cluster ID to per-cluster table state. If it could not be determined whether or not the table has data in a particular cluster (for example, if its zone is unavailable), then there will be an entry for the cluster with UNKNOWN replication_status. Views: REPLICATION_VIEW, ENCRYPTION_VIEW, FULL

column_families

map<string, ColumnFamily>

The column families configured for this table, mapped by column family ID. Views: SCHEMA_VIEW, STATS_VIEW, FULL

granularity

TimestampGranularity

Immutable. The granularity (i.e. MILLIS) at which timestamps are stored in this table. Timestamps not matching the granularity will be rejected. If unspecified at creation time, the value will be set to MILLIS. Views: SCHEMA_VIEW, FULL.

restore_info

RestoreInfo

Output only. If this table was restored from another data source (e.g. a backup), this field will be populated with information about the restore.

change_stream_config

ChangeStreamConfig

If specified, enable the change stream on this table. Otherwise, the change stream is disabled and the change stream is not retained.

deletion_protection

bool

Set to true to make the table protected against data loss. i.e. deleting the following resources through Admin APIs are prohibited:

  • The table.
  • The column families in the table.
  • The instance containing the table.

Note one can still delete the data stored in the table through Data APIs.

stats

TableStats

Output only. Only available with STATS_VIEW, this includes summary statistics about the entire table contents. For statistics about a specific column family, see ColumnFamilyStats in the mapped ColumnFamily collection above.

Union field automated_backup_config.

automated_backup_config can be only one of the following:

automated_backup_policy

AutomatedBackupPolicy

If specified, automated backups are enabled for this table. Otherwise, automated backups are disabled.

AutomatedBackupPolicy

Defines an automated backup policy for a table

Fields
retention_period

Duration

Required. How long the automated backups should be retained. The only supported value at this time is 3 days.

frequency

Duration

Required. How frequently automated backups should occur. The only supported value at this time is 24 hours.

ClusterState

The state of a table's data in a particular cluster.

Fields
replication_state

ReplicationState

Output only. The state of replication for the table in this cluster.

encryption_info[]

EncryptionInfo

Output only. The encryption information for the table in this cluster. If the encryption key protecting this resource is customer managed, then its version can be rotated in Cloud Key Management Service (Cloud KMS). The primary version of the key and its status will be reflected here when changes propagate from Cloud KMS.

ReplicationState

Table replication states.

Enums
STATE_NOT_KNOWN The replication state of the table is unknown in this cluster.
INITIALIZING The cluster was recently created, and the table must finish copying over pre-existing data from other clusters before it can begin receiving live replication updates and serving Data API requests.
PLANNED_MAINTENANCE The table is temporarily unable to serve Data API requests from this cluster due to planned internal maintenance.
UNPLANNED_MAINTENANCE The table is temporarily unable to serve Data API requests from this cluster due to unplanned or emergency maintenance.
READY The table can serve Data API requests from this cluster. Depending on replication delay, reads may not immediately reflect the state of the table in other clusters.
READY_OPTIMIZING The table is fully created and ready for use after a restore, and is being optimized for performance. When optimizations are complete, the table will transition to READY state.

TimestampGranularity

Possible timestamp granularities to use when keeping multiple versions of data in a table.

Enums
TIMESTAMP_GRANULARITY_UNSPECIFIED The user did not specify a granularity. Should not be returned. When specified during table creation, MILLIS will be used.
MILLIS The table keeps data versioned at a granularity of 1ms.

View

Defines a view over a table's fields.

Enums
VIEW_UNSPECIFIED Uses the default view for each method as documented in its request.
NAME_ONLY Only populates name.
SCHEMA_VIEW Only populates name and fields related to the table's schema.
REPLICATION_VIEW Only populates name and fields related to the table's replication state.
ENCRYPTION_VIEW Only populates name and fields related to the table's encryption state.
STATS_VIEW Only populates name and fields related to the table's stats (e.g. TableStats and ColumnFamilyStats).
FULL Populates all fields except for stats. See STATS_VIEW to request stats.

TableStats

Approximate statistics related to a table.

These statistics are calculated infrequently, while simultaneously, data in the table can change rapidly. Thus the values reported here (e.g. row count) are very likely out-of date, even the instant they are received in this API. Thus, only treat these values as approximate.

IMPORTANT: Everything below is approximate, unless otherwise specified.

Fields
row_count

int64

How many rows are in the table.

average_columns_per_row

double

How many (column family, column qualifier) combinations are present per row in the table, averaged over all rows in the table.

e.g. A table with 2 rows:

  • A row with cells in "family:col" and "other:col" (2 distinct columns)
  • A row with cells in "family:col", "family:other_col", and "other:data" (3 distinct columns)

would report (2 + 3)/2 = 2.5 in this field.

average_cells_per_column

double

How many cells are present per column (column family, column qualifier) combinations, averaged over all columns in all rows in the table.

e.g. A table with 2 rows:

  • A row with 3 cells in "family:col" and 1 cell in "other:col" (4 cells / 2 columns)
  • A row with 1 cell in "family:col", 7 cells in "family:other_col", and 7 cells in "other:data" (15 cells / 3 columns)

would report (4 + 15)/(2 + 3) = 3.8 in this field.

logical_data_bytes

int64

This is roughly how many bytes would be needed to read the entire table (e.g. by streaming all contents out).

Type

Type represents the type of data that is written to, read from, or stored in Bigtable. It is heavily based on the GoogleSQL standard to help maintain familiarity and consistency across products and features.

For compatibility with Bigtable's existing untyped APIs, each Type includes an Encoding which describes how to convert to/from the underlying data.

Each encoding also defines the following properties:

  • Order-preserving: Does the encoded value sort consistently with the original typed value? Note that Bigtable will always sort data based on the raw encoded value, not the decoded type.
    • Example: BYTES values sort in the same order as their raw encodings.
    • Counterexample: Encoding INT64 as a fixed-width decimal string does not preserve sort order when dealing with negative numbers. INT64(1) > INT64(-1), but STRING("-00001") > STRING("00001).
  • Self-delimiting: If we concatenate two encoded values, can we always tell where the first one ends and the second one begins?
    • Example: If we encode INT64s to fixed-width STRINGs, the first value will always contain exactly N digits, possibly preceded by a sign.
    • Counterexample: If we concatenate two UTF-8 encoded STRINGs, we have no way to tell where the first one ends.
  • Compatibility: Which other systems have matching encoding schemes? For example, does this encoding have a GoogleSQL equivalent? HBase? Java?
Fields
Union field kind. The kind of type that this represents. kind can be only one of the following:
bytes_type

Bytes

Bytes

string_type

String

String

int64_type

Int64

Int64

float32_type

Float32

Float32

float64_type

Float64

Float64

bool_type

Bool

Bool

timestamp_type

Timestamp

Timestamp

date_type

Date

Date

aggregate_type

Aggregate

Aggregate

struct_type

Struct

Struct

array_type

Array

Array

map_type

Map

Map

Aggregate

A value that combines incremental updates into a summarized value.

Data is never directly written or read using type Aggregate. Writes will provide either the input_type or state_type, and reads will always return the state_type .

Fields
input_type

Type

Type of the inputs that are accumulated by this Aggregate, which must specify a full encoding. Use AddInput mutations to accumulate new inputs.

state_type

Type

Output only. Type that holds the internal accumulator state for the Aggregate. This is a function of the input_type and aggregator chosen, and will always specify a full encoding.

Union field aggregator. Which aggregator function to use. The configured types must match. aggregator can be only one of the following:
sum

Sum

Sum aggregator.

hllpp_unique_count

HyperLogLogPlusPlusUniqueCount

HyperLogLogPlusPlusUniqueCount aggregator.

max

Max

Max aggregator.

min

Min

Min aggregator.

HyperLogLogPlusPlusUniqueCount

This type has no fields.

Computes an approximate unique count over the input values. When using raw data as input, be careful to use a consistent encoding. Otherwise the same value encoded differently could count more than once, or two distinct values could count as identical. Input: Any, or omit for Raw State: TBD Special state conversions: Int64 (the unique count estimate)

Max

This type has no fields.

Computes the max of the input values. Allowed input: Int64 State: same as input

Min

This type has no fields.

Computes the min of the input values. Allowed input: Int64 State: same as input

Sum

This type has no fields.

Computes the sum of the input values. Allowed input: Int64 State: same as input

Array

An ordered list of elements of a given type. Values of type Array are stored in Value.array_value.

Fields
element_type

Type

The type of the elements in the array. This must not be Array.

Bool

This type has no fields.

bool Values of type Bool are stored in Value.bool_value.

Bytes

Bytes Values of type Bytes are stored in Value.bytes_value.

Fields
encoding

Encoding

The encoding to use when converting to/from lower level types.

Encoding

Rules used to convert to/from lower level types.

Fields
Union field encoding. Which encoding to use. encoding can be only one of the following:
raw

Raw

Use Raw encoding.

Raw

This type has no fields.

Leaves the value "as-is" * Order-preserving? Yes * Self-delimiting? No * Compatibility? N/A

Date

This type has no fields.

Date Values of type Date are stored in Value.date_value.

Float32

This type has no fields.

Float32 Values of type Float32 are stored in Value.float_value.

Float64

This type has no fields.

Float64 Values of type Float64 are stored in Value.float_value.

Int64

Int64 Values of type Int64 are stored in Value.int_value.

Fields
encoding

Encoding

The encoding to use when converting to/from lower level types.

Encoding

Rules used to convert to/from lower level types.

Fields
Union field encoding. Which encoding to use. encoding can be only one of the following:
big_endian_bytes

BigEndianBytes

Use BigEndianBytes encoding.

BigEndianBytes

Encodes the value as an 8-byte big endian twos complement Bytes value. * Order-preserving? No (positive values only) * Self-delimiting? Yes * Compatibility? - BigQuery Federation BINARY encoding - HBase Bytes.toBytes - Java ByteBuffer.putLong() with ByteOrder.BIG_ENDIAN

Fields
bytes_type

Bytes

Deprecated: ignored if set.

Map

A mapping of keys to values of a given type. Values of type Map are stored in a Value.array_value where each entry is another Value.array_value with two elements (the key and the value, in that order). Normally encoded Map values won't have repeated keys, however, clients are expected to handle the case in which they do. If the same key appears multiple times, the last value takes precedence.

Fields
key_type

Type

The type of a map key. Only Bytes, String, and Int64 are allowed as key types.

value_type

Type

The type of the values in a map.

String

String Values of type String are stored in Value.string_value.

Fields
encoding

Encoding

The encoding to use when converting to/from lower level types.

Encoding

Rules used to convert to/from lower level types.

Fields
Union field encoding. Which encoding to use. encoding can be only one of the following:
utf8_raw

Utf8Raw

Deprecated: if set, converts to an empty utf8_bytes.

utf8_bytes

Utf8Bytes

Use Utf8Bytes encoding.

Utf8Bytes

This type has no fields.

UTF-8 encoding * Order-preserving? Yes (code point order) * Self-delimiting? No * Compatibility? - BigQuery Federation TEXT encoding - HBase Bytes.toBytes - Java String#getBytes(StandardCharsets.UTF_8)

Utf8Raw

This type has no fields.

Deprecated: prefer the equivalent Utf8Bytes.

Struct

A structured data value, consisting of fields which map to dynamically typed values. Values of type Struct are stored in Value.array_value where entries are in the same order and number as field_types.

Fields
fields[]

Field

The names and types of the fields in this struct.

Field

A struct field and its type.

Fields
field_name

string

The field name (optional). Fields without a field_name are considered anonymous and cannot be referenced by name.

type

Type

The type of values in this field.

Timestamp

This type has no fields.

Timestamp Values of type Timestamp are stored in Value.timestamp_value.

UndeleteTableMetadata

Metadata type for the operation returned by google.bigtable.admin.v2.BigtableTableAdmin.UndeleteTable.

Fields
name

string

The name of the table being restored.

start_time

Timestamp

The time at which this operation started.

end_time

Timestamp

If set, the time at which this operation finished or was cancelled.

UndeleteTableRequest

Request message for google.bigtable.admin.v2.BigtableTableAdmin.UndeleteTable

Fields
name

string

Required. The unique name of the table to be restored. Values are of the form projects/{project}/instances/{instance}/tables/{table}.

Authorization requires the following IAM permission on the specified resource name:

  • bigtable.tables.undelete

UpdateAppProfileMetadata

This type has no fields.

The metadata for the Operation returned by UpdateAppProfile.

UpdateAppProfileRequest

Request message for BigtableInstanceAdmin.UpdateAppProfile.

Fields
app_profile

AppProfile

Required. The app profile which will (partially) replace the current value.

update_mask

FieldMask

Required. The subset of app profile fields which should be replaced. If unset, all fields will be replaced.

ignore_warnings

bool

If true, ignore safety checks when updating the app profile.

UpdateAuthorizedViewMetadata

Metadata for the google.longrunning.Operation returned by UpdateAuthorizedView.

Fields
original_request

UpdateAuthorizedViewRequest

The request that prompted the initiation of this UpdateAuthorizedView operation.

request_time

Timestamp

The time at which the original request was received.

finish_time

Timestamp

The time at which the operation failed or was completed successfully.

UpdateAuthorizedViewRequest

The request for UpdateAuthorizedView.

Fields
authorized_view

AuthorizedView

Required. The AuthorizedView to update. The name in authorized_view is used to identify the AuthorizedView. AuthorizedView name must in this format: projects/{project}/instances/{instance}/tables/{table}/authorizedViews/{authorized_view}.

Authorization requires the following IAM permission on the specified resource authorizedView:

  • bigtable.authorizedView.update
update_mask

FieldMask

Optional. The list of fields to update. A mask specifying which fields in the AuthorizedView resource should be updated. This mask is relative to the AuthorizedView resource, not to the request message. A field will be overwritten if it is in the mask. If empty, all fields set in the request will be overwritten. A special value * means to overwrite all fields (including fields not set in the request).

ignore_warnings

bool

Optional. If true, ignore the safety checks when updating the AuthorizedView.

UpdateBackupRequest

The request for UpdateBackup.

Fields
backup

Backup

Required. The backup to update. backup.name, and the fields to be updated as specified by update_mask are required. Other fields are ignored. Update is only supported for the following fields:

  • backup.expire_time.
  • backup.hot_to_standard_time.

Authorization requires the following IAM permission on the specified resource backup:

  • bigtable.backups.update
update_mask

FieldMask

Required. A mask specifying which fields (e.g. expire_time) in the Backup resource should be updated. This mask is relative to the Backup resource, not to the request message. The field mask must always be specified; this prevents any future fields from being erased accidentally by clients that do not know about them.

UpdateClusterMetadata

The metadata for the Operation returned by UpdateCluster.

Fields
original_request

Cluster

The request that prompted the initiation of this UpdateCluster operation.

request_time

Timestamp

The time at which the original request was received.

finish_time

Timestamp

The time at which the operation failed or was completed successfully.

UpdateInstanceMetadata

The metadata for the Operation returned by UpdateInstance.

Fields
original_request

PartialUpdateInstanceRequest

The request that prompted the initiation of this UpdateInstance operation.

request_time

Timestamp

The time at which the original request was received.

finish_time

Timestamp

The time at which the operation failed or was completed successfully.

UpdateTableMetadata

Metadata type for the operation returned by UpdateTable.

Fields
name

string

The name of the table being updated.

start_time

Timestamp

The time at which this operation started.

end_time

Timestamp

If set, the time at which this operation finished or was canceled.

UpdateTableRequest

The request for UpdateTable.

Fields
table

Table

Required. The table to update. The table's name field is used to identify the table to update.

Authorization requires the following IAM permission on the specified resource table:

  • bigtable.tables.update
update_mask

FieldMask

Required. The list of fields to update. A mask specifying which fields (e.g. change_stream_config) in the table field should be updated. This mask is relative to the table field, not to the request message. The wildcard (*) path is currently not supported. Currently UpdateTable is only supported for the following fields:

  • change_stream_config
  • change_stream_config.retention_period
  • deletion_protection

If column_families is set in update_mask, it will return an UNIMPLEMENTED error.