MCP 服务器

mcp

com.googleapis.bigtableadmin/mcp

此 MCP 可以做什么

Manages Google Cloud Bigtable instances, tables, logical views, and hot-tablet monitoring.

create_instance
Create a new instance in the specified project. The request requires project_id, instance_id, display_name, and at least one cluster. The instance_id must be RFC 1035 compliant. Each cluster must specify its zone (e.g. us-central1-a). Example: { "project_id": "my-project", "instance_id": "my-instance", "display_name": "This is my instance", "clusters": [ { "zone": "us-central1-a", "serve_nodes": 3, "default_storage_type": "SSD" } ] }
可访问外部资源 幂等
输入模式
{'type': 'object', '$defs': {'Cluster': {'type': 'object', 'required': ['zone'], 'properties': {'zone': {'type': 'string', 'description': 'Required. The zone where the cluster will be located. e.g., `us-central1-a`.'}, 'clusterId': {'type': 'string', 'description': 'Optional. The ID of the cluster, e.g., just `mycluster` rather than `projects/myproject/instances/myinstance/clusters/mycluster`. The tool mapping will provide a default if this is not specified (e.g., `{instance_id}-c{index}`).'}, 'serveNodesCount': {'type': 'integer', 'format': 'int32', 'description': 'Optional. The number of nodes to serve. If not specified, the tool mapping will default to 1.'}, 'defaultStorageType': {'enum': ['STORAGE_TYPE_UNSPECIFIED', 'SSD', 'HDD'], 'type': 'string', 'description': 'Optional. The default storage type for the cluster, e.g., SSD, HDD. If not specified, the tool mapping will default to SSD.', 'x-google-enum-descriptions': ['The user did not specify a storage type.', 'Flash (SSD) storage should be used.', 'Magnetic drive (HDD) storage should be used.']}}, 'description': 'Cluster configuration.'}}, 'required': ['projectId', 'instanceId', 'displayName', 'clusters'], 'properties': {'clusters': {'type': 'array', 'items': {'$ref': '#/$defs/Cluster'}, 'description': 'Required. Clusters to be created within the instance. At least one cluster must be specified.'}, 'projectId': {'type': 'string', 'description': 'Required. The project ID (e.g., "my-project"). If not known from the context, the Agent should attempt to get the current project ID from the gcloud config by running `gcloud config get-value project`. If the attempt fails, prompt the user for the project ID.'}, 'instanceId': {'type': 'string', 'description': '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`.'}, 'displayName': {'type': 'string', 'description': 'Required. The descriptive name for this instance as it appears in UIs.'}}, 'description': 'Request message for Bigtable.CreateInstance'}
输出模式
{'type': 'object', '$defs': {'Status': {'type': 'object', 'properties': {'code': {'type': 'integer', 'format': 'int32', 'description': 'The status code, which should be an enum value of google.rpc.Code.'}, 'details': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': {'description': 'Properties of the object. Contains field @type with type URL.'}}, 'description': 'A list of messages that carry the error details. There is a common set of message types for APIs to use.'}, 'message': {'type': 'string', 'description': 'A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.'}}, 'description': 'The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).'}}, 'properties': {'done': {'type': 'boolean', 'description': 'If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.'}, 'name': {'type': 'string', 'description': 'The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.'}, 'error': {'$ref': '#/$defs/Status', 'description': 'The error result of the operation in case of failure or cancellation.'}, 'metadata': {'type': 'object', 'description': 'Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.', 'additionalProperties': {'description': 'Properties of the object. Contains field @type with type URL.'}}, 'response': {'type': 'object', 'description': 'The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.', 'additionalProperties': {'description': 'Properties of the object. Contains field @type with type URL.'}}}, 'description': 'This resource represents a long-running operation that is the result of a network API call.'}
create_logical_view
Create a new Bigtable logical view within a specified instance. The request requires project_id, instance_id, logical_view_id, and logical_view. The logical_view_id can be any name up to 128 characters. Example: { "project_id": "my-project", "instance_id": "my-instance", "logical_view_id": "my-logical-view", logical_view: { "query": "SELECT CF FROM my-table" } }
可访问外部资源 幂等
输入模式
{'type': 'object', '$defs': {'LogicalView': {'type': 'object', 'required': ['query'], 'properties': {'name': {'type': 'string', 'description': 'Identifier. The name of the logical view.', 'x-google-identifier': True}, 'query': {'type': 'string', 'description': "Required. The logical view's select query."}, 'deletionProtection': {'type': 'boolean', 'description': 'Optional. Set to true to make the LogicalView protected against deletion.'}}, 'description': 'A simplified mcp version of the SQL logical view object.'}}, 'required': ['projectId', 'instanceId', 'logicalViewId', 'logicalView'], 'properties': {'projectId': {'type': 'string', 'description': 'Required. The project ID (e.g., "my-project"). If not known from the context, the Agent should attempt to get the current project ID from the gcloud config by running `gcloud config get-value project`. If the attempt fails, prompt the user for the project ID.'}, 'instanceId': {'type': 'string', 'description': 'Required. The instance ID within the project where the logical view will be created (e.g., "my-instance").'}, 'logicalView': {'$ref': '#/$defs/LogicalView', 'description': 'Required. The logical view to create.'}, 'logicalViewId': {'type': 'string', 'description': 'Required. The ID used for the logical view within its instance, e.g., `mylogicalview`.'}}, 'description': 'Request message for Bigtable.CreateLogicalView'}
输出模式
{'type': 'object', '$defs': {'Status': {'type': 'object', 'properties': {'code': {'type': 'integer', 'format': 'int32', 'description': 'The status code, which should be an enum value of google.rpc.Code.'}, 'details': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': {'description': 'Properties of the object. Contains field @type with type URL.'}}, 'description': 'A list of messages that carry the error details. There is a common set of message types for APIs to use.'}, 'message': {'type': 'string', 'description': 'A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.'}}, 'description': 'The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).'}}, 'properties': {'done': {'type': 'boolean', 'description': 'If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.'}, 'name': {'type': 'string', 'description': 'The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.'}, 'error': {'$ref': '#/$defs/Status', 'description': 'The error result of the operation in case of failure or cancellation.'}, 'metadata': {'type': 'object', 'description': 'Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.', 'additionalProperties': {'description': 'Properties of the object. Contains field @type with type URL.'}}, 'response': {'type': 'object', 'description': 'The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.', 'additionalProperties': {'description': 'Properties of the object. Contains field @type with type URL.'}}}, 'description': 'This resource represents a long-running operation that is the result of a network API call.'}
create_table
Create a new table in the specified instance.
可访问外部资源 幂等
输入模式
{'type': 'object', 'required': ['projectId', 'instanceId', 'tableId'], 'properties': {'tableId': {'type': 'string', 'description': 'Required. The ID to be used when referring to the new table within its instance, e.g., just `mytable`.'}, 'projectId': {'type': 'string', 'description': 'Required. The project ID (e.g., "my-project"). If not known from the context, the Agent should attempt to get the current project ID from the gcloud config by running `gcloud config get-value project`. If the attempt fails, prompt the user for the project ID.'}, 'instanceId': {'type': 'string', 'description': 'Required. The instance ID within the project where the table will be created (e.g., "my-instance").'}, 'columnFamilies': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Optional. The names of the column families to be created in the table. Example: `["cf1", "cf2"]`. The tool mapping will apply a default garbage collection policy (e.g., keeping only the latest version) to each column family.'}}, 'description': 'Request message for Bigtable.CreateTable'}
输出模式
{'type': 'object', '$defs': {'Type': {'type': 'object', 'properties': {'mapType': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeMap', 'description': 'Map'}, 'boolType': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeBool', 'description': 'Bool'}, 'dateType': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeDate', 'description': 'Date'}, 'enumType': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeEnum', 'description': 'Enum'}, 'arrayType': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeArray', 'description': 'Array'}, 'bytesType': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeBytes', 'description': 'Bytes'}, 'int32Type': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeInt32', 'description': 'Int32'}, 'int64Type': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeInt64', 'description': 'Int64'}, 'protoType': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeProto', 'description': 'Proto'}, 'stringType': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeString', 'description': 'String'}, 'structType': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeStruct', 'description': 'Struct'}, 'float32Type': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeFloat32', 'description': 'Float32'}, 'float64Type': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeFloat64', 'description': 'Float64'}, 'aggregateType': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeAggregate', 'description': 'Aggregate'}, 'geographyType': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeGeography', 'description': 'Geography'}, 'timestampType': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeTimestamp', 'description': 'Timestamp'}}, 'description': '`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 or from the underlying data. Each encoding can operate in one of two modes: - Sorted: In this mode, Bigtable guarantees that `Encode(X) <= Encode(Y)` if and only if `X <= Y`. This is useful anywhere sort order is important, for example when encoding keys. - Distinct: In this mode, Bigtable guarantees that if `X != Y` then `Encode(X) != Encode(Y)`. However, the converse is not guaranteed. For example, both `{\'foo\': \'1\', \'bar\': \'2\'}` and `{\'bar\': \'2\', \'foo\': \'1\'}` are valid encodings of the same JSON value. The API clearly documents which mode is used wherever an encoding can be configured. Each encoding also documents which values are supported in which modes. For example, when encoding INT64 as a numeric STRING, negative numbers cannot be encoded in sorted mode. This is because `INT64(1) > INT64(-1)`, but `STRING("-00001") > STRING("00001")`.'}, 'Union': {'type': 'object', 'properties': {'rules': {'type': 'array', 'items': {'$ref': '#/$defs/GcRule'}, 'description': 'Delete cells which would be deleted by any element of `rules`.'}}, 'description': 'A GcRule which deletes cells matching any of the given rules.'}, 'GcRule': {'type': 'object', 'properties': {'union': {'$ref': '#/$defs/Union', 'description': 'Delete cells that would be deleted by any nested rule.'}, 'maxAge': {'type': 'string', 'format': 'google-duration', 'description': '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': {'$ref': '#/$defs/Intersection', 'description': 'Delete cells that would be deleted by every nested rule.'}, 'maxNumVersions': {'type': 'integer', 'format': 'int32', 'description': 'Delete all cells in a column except the most recent N.'}}, 'description': 'Rule for determining which cells to delete during garbage collection.'}, 'Status': {'type': 'object', 'properties': {'code': {'type': 'integer', 'format': 'int32', 'description': 'The status code, which should be an enum value of google.rpc.Code.'}, 'details': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': {'description': 'Properties of the object. Contains field @type with type URL.'}}, 'description': 'A list of messages that carry the error details. There is a common set of message types for APIs to use.'}, 'message': {'type': 'string', 'description': 'A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.'}}, 'description': 'The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).'}, 'BackupInfo': {'type': 'object', 'properties': {'backup': {'type': 'string', 'readOnly': True, 'description': 'Output only. Name of the backup.'}, 'endTime': {'type': 'string', 'format': 'date-time', 'readOnly': True, 'description': 'Output only. This time that the backup was finished. Row data in the backup will be no newer than this timestamp.'}, 'startTime': {'type': 'string', 'format': 'date-time', 'readOnly': True, 'description': 'Output only. The time that the backup was started. Row data in the backup will be no older than this timestamp.'}, 'sourceTable': {'type': 'string', 'readOnly': True, 'description': 'Output only. Name of the table the backup was created from.'}, 'sourceBackup': {'type': 'string', 'readOnly': True, 'description': '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/'}}, 'description': 'Information about a backup.'}, 'TableStats': {'type': 'object', 'properties': {'rowCount': {'type': 'string', 'format': 'int64', 'description': 'How many rows are in the table.'}, 'logicalDataBytes': {'type': 'string', 'format': 'int64', 'description': 'This is roughly how many bytes would be needed to read the entire table (e.g. by streaming all contents out).'}, 'averageColumnsPerRow': {'type': 'number', 'format': 'double', 'description': '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.'}, 'averageCellsPerColumn': {'type': 'number', 'format': 'double', 'description': '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.'}}, 'description': '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.'}, 'RestoreInfo': {'type': 'object', 'properties': {'backupInfo': {'$ref': '#/$defs/BackupInfo', 'description': 'Information about the backup used to restore the table. The backup may no longer exist.'}, 'sourceType': {'enum': ['RESTORE_SOURCE_TYPE_UNSPECIFIED', 'BACKUP'], 'type': 'string', 'description': 'The type of the restore source.', 'x-google-enum-descriptions': ['No restore associated.', 'A backup was used as the source of the restore.']}}, 'description': 'Information about a table restore.'}, 'ClusterState': {'type': 'object', 'properties': {'encryptionInfo': {'type': 'array', 'items': {'$ref': '#/$defs/EncryptionInfo'}, 'readOnly': True, 'description': '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': {'enum': ['STATE_NOT_KNOWN', 'INITIALIZING', 'PLANNED_MAINTENANCE', 'UNPLANNED_MAINTENANCE', 'READY', 'READY_OPTIMIZING'], 'type': 'string', 'readOnly': True, 'description': 'Output only. The state of replication for the table in this cluster.', 'x-google-enum-descriptions': ['The replication state of the table is unknown in this cluster.', '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.', 'The table is temporarily unable to serve Data API requests from this cluster due to planned internal maintenance.', 'The table is temporarily unable to serve Data API requests from this cluster due to unplanned or emergency maintenance.', '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.', '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.']}}, 'description': "The state of a table's data in a particular cluster."}, 'ColumnFamily': {'type': 'object', 'properties': {'stats': {'$ref': '#/$defs/ColumnFamilyStats', 'readOnly': True, 'description': 'Output only. Only available with STATS_VIEW, this includes summary statistics about column family contents. For statistics over an entire table, see TableStats above.'}, 'gcRule': {'$ref': '#/$defs/GcRule', 'description': "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."}, 'valueType': {'$ref': '#/$defs/Type', 'description': "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. This field is mutually exclusive with `sql_type`. If `value_type` is `Aggregate`, written data must be compatible with: * `value_type.input_type` for `AddInput` mutations"}}, 'description': 'A set of columns within a table which share a common configuration.'}, 'Intersection': {'type': 'object', 'properties': {'rules': {'type': 'array', 'items': {'$ref': '#/$defs/GcRule'}, 'description': 'Only delete cells which would be deleted by every element of `rules`.'}}, 'description': 'A GcRule which deletes cells matching all of the given rules.'}, 'EncryptionInfo': {'type': 'object', 'properties': {'kmsKeyVersion': {'type': 'string', 'readOnly': True, 'description': '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': {'enum': ['ENCRYPTION_TYPE_UNSPECIFIED', 'GOOGLE_DEFAULT_ENCRYPTION', 'CUSTOMER_MANAGED_ENCRYPTION'], 'type': 'string', 'readOnly': True, 'description': 'Output only. The type of encryption used to protect this resource.', 'x-google-enum-descriptions': ['Encryption type was not specified, though data at rest remains encrypted.', '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.', '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`.']}, 'encryptionStatus': {'$ref': '#/$defs/Status', 'readOnly': True, 'description': '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.'}}, 'description': '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.'}, 'ColumnFamilyStats': {'type': 'object', 'properties': {'logicalDataBytes': {'type': 'string', 'format': 'int64', 'description': '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).'}, 'logicalDataHddBytes': {'type': 'string', 'format': 'int64', 'readOnly': True, 'description': 'Output only. The logical data bytes of the column family stored on HDD.'}, 'logicalDataSsdBytes': {'type': 'string', 'format': 'int64', 'readOnly': True, 'description': 'Output only. The logical data bytes of the column family stored on SSD.'}, 'averageColumnsPerRow': {'type': 'number', 'format': 'double', 'description': '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.'}, 'averageCellsPerColumn': {'type': 'number', 'format': 'double', 'description': '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.'}}, 'description': '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.'}, 'TieredStorageRule': {'type': 'object', 'properties': {'includeIfOlderThan': {'type': 'string', 'format': 'google-duration', 'description': 'Include cells older than the given age. For the infrequent access tier, this value must be at least 30 days.'}}, 'description': 'Rule to specify what data is stored in a storage tier.'}, 'ChangeStreamConfig': {'type': 'object', 'properties': {'retentionPeriod': {'type': 'string', 'format': 'google-duration', 'description': '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.'}}, 'description': 'Change stream configuration.'}, 'TieredStorageConfig': {'type': 'object', 'properties': {'infrequentAccess': {'$ref': '#/$defs/TieredStorageRule', 'description': 'Rule to specify what data is stored in the infrequent access(IA) tier. The IA tier allows storing more data per node with reduced performance.'}}, 'description': 'Config for tiered storage. A valid config must have a valid TieredStorageRule. Otherwise the whole TieredStorageConfig must be unset. By default all data is stored in the SSD tier (only SSD instances can configure tiered storage).'}, 'AutomatedBackupPolicy': {'type': 'object', 'properties': {'frequency': {'type': 'string', 'format': 'google-duration', 'description': 'How frequently automated backups should occur. The only supported value at this time is 24 hours. An undefined frequency is treated as 24 hours.'}, 'locations': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Optional. A list of Cloud Bigtable zones where automated backups are allowed to be created. If empty, automated backups will be created in all zones of the instance. Locations are in the format `projects/{project}/locations/{zone}`. You can set this field only for tables in Enterprise Plus instances.'}, 'retentionPeriod': {'type': 'string', 'format': 'google-duration', 'description': 'Required. How long the automated backups should be retained. Values must be at least 3 days and at most 90 days.'}}, 'description': 'Defines an automated backup policy for a table'}, 'GoogleBigtableAdminV2TypeMap': {'type': 'object', 'properties': {'keyType': {'$ref': '#/$defs/Type', 'description': 'The type of a map key. Only `Bytes`, `String`, and `Int64` are allowed as key types.'}, 'valueType': {'$ref': '#/$defs/Type', 'description': 'The type of the values in a map.'}}, 'description': "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."}, 'GoogleBigtableAdminV2TypeBool': {'type': 'object', 'properties': {'encoding': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeBoolEncoding', 'description': 'Specifies the encoding to use when converting to or from lower level types.'}}, 'description': 'bool Values of type `Bool` are stored in `Value.bool_value`.'}, 'GoogleBigtableAdminV2TypeDate': {'type': 'object', 'properties': {}, 'description': 'Date Values of type `Date` are stored in `Value.date_value`.'}, 'GoogleBigtableAdminV2TypeEnum': {'type': 'object', 'properties': {'enumName': {'type': 'string', 'description': 'The fully qualified name of the protobuf enum message, including package. In the format of "foo.bar.EnumMessage".'}, 'schemaBundleId': {'type': 'string', 'description': 'The ID of the schema bundle that this enum is defined in.'}}, 'description': 'A protobuf enum type. Values of type `Enum` are stored in `Value.int_value`.'}, 'GoogleBigtableAdminV2TypeArray': {'type': 'object', 'properties': {'elementType': {'$ref': '#/$defs/Type', 'description': 'The type of the elements in the array. This must not be `Array`.'}}, 'description': 'An ordered list of elements of a given type. Values of type `Array` are stored in `Value.array_value`.'}, 'GoogleBigtableAdminV2TypeBytes': {'type': 'object', 'properties': {'encoding': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeBytesEncoding', 'description': 'The encoding to use when converting to or from lower level types.'}}, 'description': 'Bytes Values of type `Bytes` are stored in `Value.bytes_value`.'}, 'GoogleBigtableAdminV2TypeInt32': {'type': 'object', 'properties': {'encoding': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeInt32Encoding', 'description': 'The encoding to use when converting to or from lower level types.'}}, 'description': 'Int32 Values of type `Int32` are stored in `Value.int_value`.'}, 'GoogleBigtableAdminV2TypeInt64': {'type': 'object', 'properties': {'encoding': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeInt64Encoding', 'description': 'The encoding to use when converting to or from lower level types.'}}, 'description': 'Int64 Values of type `Int64` are stored in `Value.int_value`.'}, 'GoogleBigtableAdminV2TypeProto': {'type': 'object', 'properties': {'messageName': {'type': 'string', 'description': 'The fully qualified name of the protobuf message, including package. In the format of "foo.bar.Message".'}, 'schemaBundleId': {'type': 'string', 'description': 'The ID of the schema bundle that this proto is defined in.'}}, 'description': 'A protobuf message type. Values of type `Proto` are stored in `Value.bytes_value`.'}, 'GoogleBigtableAdminV2TypeString': {'type': 'object', 'properties': {'encoding': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeStringEncoding', 'description': 'The encoding to use when converting to or from lower level types.'}}, 'description': 'String Values of type `String` are stored in `Value.string_value`.'}, 'GoogleBigtableAdminV2TypeStruct': {'type': 'object', 'properties': {'fields': {'type': 'array', 'items': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeStructField'}, 'description': 'The names and types of the fields in this struct.'}, 'encoding': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeStructEncoding', 'description': 'The encoding to use when converting to or from lower level types.'}}, 'description': '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`.'}, 'GoogleBigtableAdminV2TypeFloat32': {'type': 'object', 'properties': {}, 'description': 'Float32 Values of type `Float32` are stored in `Value.float_value`.'}, 'GoogleBigtableAdminV2TypeFloat64': {'type': 'object', 'properties': {}, 'description': 'Float64 Values of type `Float64` are stored in `Value.float_value`.'}, 'GoogleBigtableAdminV2TypeAggregate': {'type': 'object', 'properties': {'max': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeAggregateMax', 'description': 'Max aggregator.'}, 'min': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeAggregateMin', 'description': 'Min aggregator.'}, 'sum': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeAggregateSum', 'description': 'Sum aggregator.'}, 'inputType': {'$ref': '#/$defs/Type', 'description': 'Type of the inputs that are accumulated by this `Aggregate`. Use `AddInput` mutations to accumulate new inputs.'}, 'stateType': {'$ref': '#/$defs/Type', 'readOnly': True, 'description': 'Output only. Type that holds the internal accumulator state for the `Aggregate`. This is a function of the `input_type` and `aggregator` chosen.'}, 'hllppUniqueCount': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeAggregateHyperLogLogPlusPlusUniqueCount', 'description': 'HyperLogLogPlusPlusUniqueCount aggregator.'}}, 'description': 'A value that combines incremental updates into a summarized value. Data is never directly written or read using type `Aggregate`. Writes provide either the `input_type` or `state_type`, and reads always return the `state_type` .'}, 'GoogleBigtableAdminV2TypeGeography': {'type': 'object', 'properties': {}, 'description': 'A geography type, representing a point or region on Earth. The value is stored in `Value.bytes_value` as Well-Known Binary (WKB) bytes.'}, 'GoogleBigtableAdminV2TypeTimestamp': {'type': 'object', 'properties': {'encoding': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeTimestampEncoding', 'description': 'The encoding to use when converting to or from lower level types.'}}, 'description': 'Timestamp Values of type `Timestamp` are stored in `Value.timestamp_value`.'}, 'GoogleBigtableAdminV2TypeStructField': {'type': 'object', 'properties': {'type': {'$ref': '#/$defs/Type', 'description': 'The type of values in this field.'}, 'fieldName': {'type': 'string', 'description': 'The field name (optional). Fields without a `field_name` are considered anonymous and cannot be referenced by name.'}}, 'description': 'A struct field and its type.'}, 'GoogleBigtableAdminV2TypeAggregateMax': {'type': 'object', 'properties': {}, 'description': 'Computes the max of the input values. Allowed input: `Int64` State: same as input'}, 'GoogleBigtableAdminV2TypeAggregateMin': {'type': 'object', 'properties': {}, 'description': 'Computes the min of the input values. Allowed input: `Int64` State: same as input'}, 'GoogleBigtableAdminV2TypeAggregateSum': {'type': 'object', 'properties': {}, 'description': 'Computes the sum of the input values. Allowed input: `Int64` State: same as input'}, 'GoogleBigtableAdminV2TypeBoolEncoding': {'type': 'object', 'properties': {}, 'description': 'Defines rules used to convert to or from lower level types.'}, 'GoogleBigtableAdminV2TypeBytesEncoding': {'type': 'object', 'properties': {'raw': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeBytesEncodingRaw', 'description': 'Use `Raw` encoding.'}}, 'description': 'Rules used to convert to or from lower level types.'}, 'GoogleBigtableAdminV2TypeInt32Encoding': {'type': 'object', 'properties': {'bigEndianBytes': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeInt32EncodingBigEndianBytes', 'description': 'Use `BigEndianBytes` encoding.'}, 'orderedCodeBytes': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeInt32EncodingOrderedCodeBytes', 'description': 'Use `OrderedCodeBytes` encoding.'}}, 'description': 'Rules used to convert to or from lower level types.'}, 'GoogleBigtableAdminV2TypeInt64Encoding': {'type': 'object', 'properties': {'bigEndianBytes': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeInt64EncodingBigEndianBytes', 'description': 'Use `BigEndianBytes` encoding.'}, 'orderedCodeBytes': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeInt64EncodingOrderedCodeBytes', 'description': 'Use `OrderedCodeBytes` encoding.'}}, 'description': 'Rules used to convert to or from lower level types.'}, 'GoogleBigtableAdminV2TypeStringEncoding': {'type': 'object', 'properties': {'utf8Raw': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeStringEncodingUtf8Raw', 'deprecated': True, 'description': 'Deprecated: if set, converts to an empty `utf8_bytes`.'}, 'utf8Bytes': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeStringEncodingUtf8Bytes', 'description': 'Use `Utf8Bytes` encoding.'}}, 'description': 'Rules used to convert to or from lower level types.'}, 'GoogleBigtableAdminV2TypeStructEncoding': {'type': 'object', 'properties': {'singleton': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeStructEncodingSingleton', 'description': 'Use `Singleton` encoding.'}, 'delimitedBytes': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeStructEncodingDelimitedBytes', 'description': 'Use `DelimitedBytes` encoding.'}, 'orderedCodeBytes': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeStructEncodingOrderedCodeBytes', 'description': 'User `OrderedCodeBytes` encoding.'}}, 'description': 'Rules used to convert to or from lower level types.'}, 'GoogleBigtableAdminV2TypeBytesEncodingRaw': {'type': 'object', 'properties': {'escapeNulls': {'type': 'boolean', 'description': 'If set, allows NULL values to be encoded as the empty string "". The actual empty string, or any value which only contains the null byte `0x00`, has one more null byte appended.'}}, 'description': 'Leaves the value as-is. Sorted mode: all values are supported. Distinct mode: all values are supported.'}, 'GoogleBigtableAdminV2TypeTimestampEncoding': {'type': 'object', 'properties': {'unixMicrosInt64': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeInt64Encoding', 'description': 'Encodes the number of microseconds since the Unix epoch using the given `Int64` encoding. Values must be microsecond-aligned. Compatible with: - Java `Instant.truncatedTo()` with `ChronoUnit.MICROS`'}}, 'description': 'Rules used to convert to or from lower level types.'}, 'GoogleBigtableAdminV2TypeStringEncodingUtf8Raw': {'type': 'object', 'properties': {}, 'description': 'Deprecated: prefer the equivalent `Utf8Bytes`.'}, 'GoogleBigtableAdminV2TypeStringEncodingUtf8Bytes': {'type': 'object', 'properties': {'nullEscapeChar': {'type': 'string', 'description': 'Single-character escape sequence used to support NULL values. If set, allows NULL values to be encoded as the empty string "". The actual empty string, or any value where every character equals `null_escape_char`, has one more `null_escape_char` appended. If `null_escape_char` is set and does not equal the ASCII null character `0x00`, then the encoding will not support sorted mode. .'}}, 'description': 'UTF-8 encoding. Sorted mode: - All values are supported. - Code point order is preserved. Distinct mode: all values are supported. Compatible with: - BigQuery `TEXT` encoding - HBase `Bytes.toBytes` - Java `String#getBytes(StandardCharsets.UTF_8)`'}, 'GoogleBigtableAdminV2TypeStructEncodingSingleton': {'type': 'object', 'properties': {}, 'description': 'Uses the encoding of `fields[0].type` as-is. Only valid if `fields.size == 1`. This encoding does not support `DESC` field ordering.'}, 'GoogleBigtableAdminV2TypeInt32EncodingBigEndianBytes': {'type': 'object', 'properties': {}, 'description': "Encodes the value as a 4-byte big-endian two's complement value. Sorted mode: non-negative values are supported. Distinct mode: all values are supported. Compatible with: - BigQuery `BINARY` encoding - HBase `Bytes.toBytes` - Java `ByteBuffer.putInt()` with `ByteOrder.BIG_ENDIAN`"}, 'GoogleBigtableAdminV2TypeInt64EncodingBigEndianBytes': {'type': 'object', 'properties': {'bytesType': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeBytes', 'deprecated': True, 'description': 'Deprecated: ignored if set.'}}, 'description': "Encodes the value as an 8-byte big-endian two's complement value. Sorted mode: non-negative values are supported. Distinct mode: all values are supported. Compatible with: - BigQuery `BINARY` encoding - HBase `Bytes.toBytes` - Java `ByteBuffer.putLong()` with `ByteOrder.BIG_ENDIAN`"}, 'GoogleBigtableAdminV2TypeStructEncodingDelimitedBytes': {'type': 'object', 'properties': {'delimiter': {'type': 'string', 'format': 'byte', 'description': 'Byte sequence used to delimit concatenated fields. The delimiter must contain at least 1 character and at most 50 characters.'}}, 'description': 'Fields are encoded independently and concatenated with a configurable `delimiter` in between. A struct with no fields defined is encoded as a single `delimiter`. Sorted mode: - Fields are encoded in sorted mode. - Encoded field values must not contain any bytes <= `delimiter[0]` - Element-wise order is preserved: `A < B` if `A[0] < B[0]`, or if `A[0] == B[0] && A[1] < B[1]`, etc. Strict prefixes sort first. - This encoding does not support `DESC` field ordering. Distinct mode: - Fields are encoded in distinct mode. - Encoded field values must not contain `delimiter[0]`.'}, 'GoogleBigtableAdminV2TypeInt32EncodingOrderedCodeBytes': {'type': 'object', 'properties': {}, 'description': 'Encodes the value in a variable length binary format of up to 5 bytes. Values that are closer to zero use fewer bytes. Sorted mode: all values are supported. Distinct mode: all values are supported.'}, 'GoogleBigtableAdminV2TypeInt64EncodingOrderedCodeBytes': {'type': 'object', 'properties': {}, 'description': 'Encodes the value in a variable length binary format of up to 10 bytes. Values that are closer to zero use fewer bytes. Sorted mode: all values are supported. Distinct mode: all values are supported.'}, 'GoogleBigtableAdminV2TypeStructEncodingOrderedCodeBytes': {'type': 'object', 'properties': {}, 'description': 'Fields are encoded independently, then escaped and delimited by appling the following rules in order: - While the last remaining field is `ASC` or `UNSPECIFIED`, and encodes to the empty string "", remove it. - In each remaining field, replace all null bytes `0x00` with the fixed byte pair `{0x00, 0xFF}`. - If any remaining field encodes to the empty string "", replace it with the fixed byte pair `{0x00, 0x00}`. - Append the fixed byte pair `{0x00, 0x01}` to each remaining field, except for the last remaining field if it is `ASC`. - Bitwise negate all `DESC` fields. - Concatenate the results, or emit the fixed byte pair `{0x00, 0x00}` if there are no remaining fields to concatenate. Examples: ``` - STRUCT() -> "\\00\\00" - STRUCT("") -> "\\00\\00" - STRUCT("", "") -> "\\00\\00" - STRUCT("", "B") -> "\\00\\00" + "\\00\\01" + "B" - STRUCT("A", "") -> "A" - STRUCT("", "B", "") -> "\\00\\00" + "\\00\\01" + "B" - STRUCT("A", "", "C") -> "A" + "\\00\\01" + "\\00\\00" + "\\00\\01" + "C" ``` Examples for struct with `DESC` fields: ``` - STRUCT("" DESC) -> "\\xFF\\xFF" + "\\xFF\\xFE" - STRUCT("" DESC, "") -> "\\xFF\\xFF" + "\\xFF\\xFE" - STRUCT("" DESC, "", "") -> "\\xFF\\xFF" + "\\xFF\\xFE" - STRUCT("" DESC, "A") -> "\\xFF\\xFF" + "\\xFF\\xFE" + "A" - STRUCT("A", "" DESC, "") -> "A" + "\\00\\01" + "\\xFF\\xFF" + "\\xFF\\xFE" - STRUCT("", "A" DESC) -> "\\x00\\x00" + "\\x00\\x01" + "\\xBE" + "\\xFF\\xFE" ``` Since null bytes are always escaped, this encoding can cause size blowup for encodings like `Int64.BigEndianBytes` that are likely to produce many such bytes. Sorted mode: - Fields are encoded in sorted mode. - All values supported by the field encodings are allowed. - Fields with unset or `UNSPECIFIED` order are treated as `ASC`. - Element-wise order is preserved: `A < B` if `A[0] < B[0]`, or if `A[0] == B[0] && A[1] < B[1]`, etc. Strict prefixes sort first. Distinct mode: - Fields are encoded in distinct mode. - All values supported by the field encodings are allowed.'}, 'GoogleBigtableAdminV2TypeAggregateHyperLogLogPlusPlusUniqueCount': {'type': 'object', 'properties': {}, 'description': '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)'}}, 'properties': {'name': {'type': 'string', 'description': 'The unique name of the table. Values are of the form `projects/{project}/instances/{instance}/tables/_a-zA-Z0-9*`. Views: `NAME_ONLY`, `SCHEMA_VIEW`, `REPLICATION_VIEW`, `STATS_VIEW`, `FULL`'}, 'stats': {'$ref': '#/$defs/TableStats', 'readOnly': True, 'description': '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.'}, 'granularity': {'enum': ['TIMESTAMP_GRANULARITY_UNSPECIFIED', 'MILLIS', 'MICROS'], 'type': 'string', 'description': 'Immutable. The granularity 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`.', 'x-google-immutable': True, 'x-google-enum-descriptions': ['The user did not specify a granularity. Should not be returned. When specified during table creation, MILLIS will be used.', 'The table keeps data versioned at a granularity of 1ms.', 'The table keeps data versioned at a granularity of 1us.']}, 'restoreInfo': {'$ref': '#/$defs/RestoreInfo', 'readOnly': True, 'description': '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.'}, 'rowKeySchema': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeStruct', 'description': 'The row key schema for this table. The schema is used to decode the raw row key bytes into a structured format. The order of field declarations in this schema is important, as it reflects how the raw row key bytes are structured. Currently, this only affects how the key is read via a GoogleSQL query from the ExecuteQuery API. For a SQL query, the _key column is still read as raw bytes. But queries can reference the key fields by name, which will be decoded from _key using provided type and encoding. Queries that reference key fields will fail if they encounter an invalid row key. For example, if _key = "some_id#2024-04-30#\\x00\\x13\\x00\\xf3" with the following schema: { fields { field_name: "id" type { string { encoding: utf8_bytes {} } } } fields { field_name: "date" type { string { encoding: utf8_bytes {} } } } fields { field_name: "product_code" type { int64 { encoding: big_endian_bytes {} } } } encoding { delimited_bytes { delimiter: "#" } } } The decoded key parts would be: id = "some_id", date = "2024-04-30", product_code = 1245427 The query "SELECT _key, product_code FROM table" will return two columns: /------------------------------------------------------\\ | _key | product_code | | --------------------------------------|--------------| | "some_id#2024-04-30#\\x00\\x13\\x00\\xf3" | 1245427 | \\------------------------------------------------------/ The schema has the following invariants: (1) The decoded field values are order-preserved. For read, the field values will be decoded in sorted mode from the raw bytes. (2) Every field in the schema must specify a non-empty name. (3) Every field must specify a type with an associated encoding. The type is limited to scalar types only: Array, Map, Aggregate, and Struct are not allowed. (4) The field names must not collide with existing column family names and reserved keywords "_key" and "_timestamp". The following update operations are allowed for row_key_schema: - Update from an empty schema to a new schema. - Remove the existing schema. This operation requires setting the `ignore_warnings` flag to `true`, since it might be a backward incompatible change. Without the flag, the update request will fail with an INVALID_ARGUMENT error. Any other row key schema update operation (e.g. update existing schema columns names or types) is currently unsupported.'}, 'clusterStates': {'type': 'object', 'readOnly': True, 'description': '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`', 'additionalProperties': {'$ref': '#/$defs/ClusterState'}}, 'columnFamilies': {'type': 'object', 'description': 'The column families configured for this table, mapped by column family ID. Views: `SCHEMA_VIEW`, `STATS_VIEW`, `FULL`', 'additionalProperties': {'$ref': '#/$defs/ColumnFamily'}}, 'changeStreamConfig': {'$ref': '#/$defs/ChangeStreamConfig', 'description': 'If specified, enable the change stream on this table. Otherwise, the change stream is disabled and the change stream is not retained.'}, 'deletionProtection': {'type': 'boolean', 'description': '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.'}, 'tieredStorageConfig': {'$ref': '#/$defs/TieredStorageConfig', 'description': 'Rules to specify what data is stored in each storage tier. Different tiers store data differently, providing different trade-offs between cost and performance. Different parts of a table can be stored separately on different tiers. If a config is specified, tiered storage is enabled for this table. Otherwise, tiered storage is disabled. Only SSD instances can configure tiered storage.'}, 'automatedBackupPolicy': {'$ref': '#/$defs/AutomatedBackupPolicy', 'description': 'If specified, automated backups are enabled for this table. Otherwise, automated backups are disabled.'}}, 'description': 'A collection of user data indexed by row, column, and timestamp. Each table is served using the resources of its parent cluster.'}
delete_instance
Delete an instance from a project. The request requires the 'name' field to be set in the format 'projects/{project}/instances/{instance}'. Example: { "name": "projects/my-project/instances/my-instance" } Before executing the deletion, you MUST confirm the action with the user by stating the full instance name and asking for "yes/no" confirmation.
可能执行破坏性操作 可访问外部资源 幂等
输入模式
{'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'description': 'Required. The unique name of the instance to be deleted. Values are of the form `projects/{project}/instances/{instance}`.'}}, 'description': 'Request message for BigtableInstanceAdmin.DeleteInstance.'}
输出模式
{'type': 'object', 'properties': {}, 'description': 'A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }'}
delete_logical_view
Deletes a Bigtable logical view within a specified instance. The request requires the `name` field to be set in the format 'projects/{project}/instances/{instance}/logicalViews/{logical_view}'. Example: { "name": "projects/my-project/instances/my-instance/logicalViews/my-logical-view" } Before executing the deletion, you MUST confirm the action with the user by stating the full logical view name and asking for "yes/no" confirmation.
可能执行破坏性操作 可访问外部资源 幂等
输入模式
{'type': 'object', 'required': ['name'], 'properties': {'etag': {'type': 'string', 'description': 'Optional. The current etag of the logical view. If an etag is provided and does not match the current etag of the logical view, deletion will be blocked and an ABORTED error will be returned.'}, 'name': {'type': 'string', 'description': 'Required. The unique name of the logical view to be deleted. Format: `projects/{project}/instances/{instance}/logicalViews/{logical_view}`.'}}, 'description': 'Request message for BigtableInstanceAdmin.DeleteLogicalView.'}
输出模式
{'type': 'object', 'properties': {}, 'description': 'A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }'}
delete_table
Delete a table. The request requires the 'name' field to be set in the format 'projects/{project}/instances/{instance}/tables/{table}'. Example: { "name": "projects/my-project/instances/my-instance/tables/my-table" } The table must exist. You can use `list_tables` to verify. Before executing the deletion, you MUST confirm the action with the user by stating the full table name and asking for "yes/no" confirmation.
可能执行破坏性操作 可访问外部资源 幂等
输入模式
{'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'description': 'Required. The unique name of the table to be deleted. Values are of the form `projects/{project}/instances/{instance}/tables/{table}`.'}}, 'description': 'Request message for google.bigtable.admin.v2.BigtableTableAdmin.DeleteTable'}
输出模式
{'type': 'object', 'properties': {}, 'description': 'A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }'}
get_instance
Get information about an instance. The request requires the 'name' field to be set in the format 'projects/{project}/instances/{instance}'. Example: { "name": "projects/my-project/instances/my-instance" }
只读 可访问外部资源
输入模式
{'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'description': 'Required. The unique name of the requested instance. Values are of the form `projects/{project}/instances/{instance}`.'}}, 'description': 'Request message for BigtableInstanceAdmin.GetInstance.'}
输出模式
{'type': 'object', 'properties': {'name': {'type': 'string', 'description': 'The unique name of the instance. Values are of the form `projects/{project}/instances/a-z+[a-z0-9]`.'}, 'tags': {'type': 'object', 'writeOnly': True, 'description': 'Optional. Input only. Immutable. Tag keys/values directly bound to this resource. For example: - "123/environment": "production", - "123/costCenter": "marketing" Tags and Labels (above) are both used to bind metadata to resources, with different use-cases. See https://cloud.google.com/resource-manager/docs/tags/tags-overview for an in-depth overview on the difference between tags and labels.', 'x-google-immutable': True, 'additionalProperties': {'type': 'string'}}, 'type': {'enum': ['TYPE_UNSPECIFIED', 'PRODUCTION', 'DEVELOPMENT'], 'type': 'string', 'description': 'The type of the instance. Defaults to `PRODUCTION`.', 'x-google-enum-descriptions': ['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.', 'An instance meant for production use. `serve_nodes` must be set on the cluster.', 'DEPRECATED: Prefer PRODUCTION for all use cases, as it no longer enforces a higher minimum node count than DEVELOPMENT.']}, 'state': {'enum': ['STATE_NOT_KNOWN', 'READY', 'CREATING'], 'type': 'string', 'readOnly': True, 'description': 'Output only. The current state of the instance.', 'x-google-enum-descriptions': ['The state of the instance could not be determined.', 'The instance has been successfully created and can serve requests to its tables.', 'The instance is currently being created, and may be destroyed if the creation process encounters an error.']}, 'labels': {'type': 'object', 'description': "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}{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. Labels and Tags (below) are both used to bind metadata to resources, with different use-cases. See https://cloud.google.com/resource-manager/docs/tags/tags-overview for an in-depth overview on the difference between tags and labels.", 'additionalProperties': {'type': 'string'}}, 'edition': {'enum': ['EDITION_UNSPECIFIED', 'ENTERPRISE', 'ENTERPRISE_PLUS'], 'type': 'string', 'description': 'Optional. The edition of the instance. See Edition for details.', 'x-google-enum-descriptions': ['The edition is unspecified. This is treated as `ENTERPRISE`.', 'The Enterprise edition. This is the default offering that is designed to meet the needs of most enterprise workloads.', 'The Enterprise Plus edition. This is a premium tier that is designed for demanding, multi-tenant workloads requiring the highest levels of performance, scale, and global availability. The nodes in the Enterprise Plus tier come at a higher cost than the Enterprise tier. Any Enterprise Plus features must be disabled before downgrading to Enterprise.']}, 'createTime': {'type': 'string', 'format': 'date-time', 'readOnly': True, 'description': '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`.'}, 'displayName': {'type': 'string', 'description': '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.'}, 'satisfiesPzi': {'type': 'boolean', 'readOnly': True, 'description': 'Output only. Reserved for future use.'}, 'satisfiesPzs': {'type': 'boolean', 'readOnly': True, 'description': 'Output only. Reserved for future use.'}, 'knowledgeCatalogRegion': {'type': 'string', 'readOnly': True, 'description': 'Output only. The region where Knowledge Catalog data is synced to and stored, including user-created aspects.'}}, 'description': 'A collection of Bigtable Tables and the resources that serve them. All tables in an instance are served from all Clusters in the instance.'}
get_logical_view
Get information about the specified logical view. The request requires the `name` field to be set in the format 'projects/{project}/instances/{instance}/logicalViews/{logical_view}'. Example: { "name": "projects/my-project/instances/my-instance/logicalViews/my-logical-view" }
只读 可访问外部资源
输入模式
{'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'description': 'Required. The unique name of the requested logical view. Values are of the form `projects/{project}/instances/{instance}/logicalViews/{logical_view}`.'}}, 'description': 'Request message for BigtableInstanceAdmin.GetLogicalView.'}
输出模式
{'type': 'object', 'properties': {'name': {'type': 'string', 'description': 'Identifier. The name of the logical view.', 'x-google-identifier': True}, 'query': {'type': 'string', 'description': "Required. The logical view's select query."}, 'deletionProtection': {'type': 'boolean', 'description': 'Optional. Set to true to make the LogicalView protected against deletion.'}}, 'description': 'A simplified mcp version of the SQL logical view object.'}
get_table
Get metadata information about the specified table. The request requires the 'name' field to be set in the format 'projects/{project}/instances/{instance}/tables/{table}'. Example: { "name": "projects/my-project/instances/my-instance/tables/my-table" }
只读 可访问外部资源
输入模式
{'type': 'object', 'required': ['name'], 'properties': {'name': {'type': 'string', 'description': 'Required. The unique name of the requested table. Values are of the form `projects/{project}/instances/{instance}/tables/{table}`.'}, 'view': {'enum': ['VIEW_UNSPECIFIED', 'NAME_ONLY', 'SCHEMA_VIEW', 'REPLICATION_VIEW', 'ENCRYPTION_VIEW', 'STATS_VIEW', 'FULL'], 'type': 'string', 'description': "The view to be applied to the returned table's fields. Defaults to `SCHEMA_VIEW` if unspecified.", 'x-google-enum-descriptions': ['Uses the default view for each method as documented in its request.', 'Only populates `name`.', "Only populates `name` and fields related to the table's schema.", "Only populates `name` and fields related to the table's replication state.", "Only populates `name` and fields related to the table's encryption state.", "Only populates `name` and fields related to the table's stats (e.g. TableStats and ColumnFamilyStats).", 'Populates all fields except for stats. See STATS_VIEW to request stats.']}}, 'description': 'Request message for google.bigtable.admin.v2.BigtableTableAdmin.GetTable'}
输出模式
{'type': 'object', '$defs': {'Type': {'type': 'object', 'properties': {'mapType': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeMap', 'description': 'Map'}, 'boolType': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeBool', 'description': 'Bool'}, 'dateType': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeDate', 'description': 'Date'}, 'enumType': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeEnum', 'description': 'Enum'}, 'arrayType': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeArray', 'description': 'Array'}, 'bytesType': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeBytes', 'description': 'Bytes'}, 'int32Type': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeInt32', 'description': 'Int32'}, 'int64Type': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeInt64', 'description': 'Int64'}, 'protoType': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeProto', 'description': 'Proto'}, 'stringType': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeString', 'description': 'String'}, 'structType': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeStruct', 'description': 'Struct'}, 'float32Type': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeFloat32', 'description': 'Float32'}, 'float64Type': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeFloat64', 'description': 'Float64'}, 'aggregateType': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeAggregate', 'description': 'Aggregate'}, 'geographyType': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeGeography', 'description': 'Geography'}, 'timestampType': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeTimestamp', 'description': 'Timestamp'}}, 'description': '`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 or from the underlying data. Each encoding can operate in one of two modes: - Sorted: In this mode, Bigtable guarantees that `Encode(X) <= Encode(Y)` if and only if `X <= Y`. This is useful anywhere sort order is important, for example when encoding keys. - Distinct: In this mode, Bigtable guarantees that if `X != Y` then `Encode(X) != Encode(Y)`. However, the converse is not guaranteed. For example, both `{\'foo\': \'1\', \'bar\': \'2\'}` and `{\'bar\': \'2\', \'foo\': \'1\'}` are valid encodings of the same JSON value. The API clearly documents which mode is used wherever an encoding can be configured. Each encoding also documents which values are supported in which modes. For example, when encoding INT64 as a numeric STRING, negative numbers cannot be encoded in sorted mode. This is because `INT64(1) > INT64(-1)`, but `STRING("-00001") > STRING("00001")`.'}, 'Union': {'type': 'object', 'properties': {'rules': {'type': 'array', 'items': {'$ref': '#/$defs/GcRule'}, 'description': 'Delete cells which would be deleted by any element of `rules`.'}}, 'description': 'A GcRule which deletes cells matching any of the given rules.'}, 'GcRule': {'type': 'object', 'properties': {'union': {'$ref': '#/$defs/Union', 'description': 'Delete cells that would be deleted by any nested rule.'}, 'maxAge': {'type': 'string', 'format': 'google-duration', 'description': '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': {'$ref': '#/$defs/Intersection', 'description': 'Delete cells that would be deleted by every nested rule.'}, 'maxNumVersions': {'type': 'integer', 'format': 'int32', 'description': 'Delete all cells in a column except the most recent N.'}}, 'description': 'Rule for determining which cells to delete during garbage collection.'}, 'Status': {'type': 'object', 'properties': {'code': {'type': 'integer', 'format': 'int32', 'description': 'The status code, which should be an enum value of google.rpc.Code.'}, 'details': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': {'description': 'Properties of the object. Contains field @type with type URL.'}}, 'description': 'A list of messages that carry the error details. There is a common set of message types for APIs to use.'}, 'message': {'type': 'string', 'description': 'A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.'}}, 'description': 'The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).'}, 'BackupInfo': {'type': 'object', 'properties': {'backup': {'type': 'string', 'readOnly': True, 'description': 'Output only. Name of the backup.'}, 'endTime': {'type': 'string', 'format': 'date-time', 'readOnly': True, 'description': 'Output only. This time that the backup was finished. Row data in the backup will be no newer than this timestamp.'}, 'startTime': {'type': 'string', 'format': 'date-time', 'readOnly': True, 'description': 'Output only. The time that the backup was started. Row data in the backup will be no older than this timestamp.'}, 'sourceTable': {'type': 'string', 'readOnly': True, 'description': 'Output only. Name of the table the backup was created from.'}, 'sourceBackup': {'type': 'string', 'readOnly': True, 'description': '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/'}}, 'description': 'Information about a backup.'}, 'TableStats': {'type': 'object', 'properties': {'rowCount': {'type': 'string', 'format': 'int64', 'description': 'How many rows are in the table.'}, 'logicalDataBytes': {'type': 'string', 'format': 'int64', 'description': 'This is roughly how many bytes would be needed to read the entire table (e.g. by streaming all contents out).'}, 'averageColumnsPerRow': {'type': 'number', 'format': 'double', 'description': '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.'}, 'averageCellsPerColumn': {'type': 'number', 'format': 'double', 'description': '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.'}}, 'description': '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.'}, 'RestoreInfo': {'type': 'object', 'properties': {'backupInfo': {'$ref': '#/$defs/BackupInfo', 'description': 'Information about the backup used to restore the table. The backup may no longer exist.'}, 'sourceType': {'enum': ['RESTORE_SOURCE_TYPE_UNSPECIFIED', 'BACKUP'], 'type': 'string', 'description': 'The type of the restore source.', 'x-google-enum-descriptions': ['No restore associated.', 'A backup was used as the source of the restore.']}}, 'description': 'Information about a table restore.'}, 'ClusterState': {'type': 'object', 'properties': {'encryptionInfo': {'type': 'array', 'items': {'$ref': '#/$defs/EncryptionInfo'}, 'readOnly': True, 'description': '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': {'enum': ['STATE_NOT_KNOWN', 'INITIALIZING', 'PLANNED_MAINTENANCE', 'UNPLANNED_MAINTENANCE', 'READY', 'READY_OPTIMIZING'], 'type': 'string', 'readOnly': True, 'description': 'Output only. The state of replication for the table in this cluster.', 'x-google-enum-descriptions': ['The replication state of the table is unknown in this cluster.', '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.', 'The table is temporarily unable to serve Data API requests from this cluster due to planned internal maintenance.', 'The table is temporarily unable to serve Data API requests from this cluster due to unplanned or emergency maintenance.', '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.', '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.']}}, 'description': "The state of a table's data in a particular cluster."}, 'ColumnFamily': {'type': 'object', 'properties': {'stats': {'$ref': '#/$defs/ColumnFamilyStats', 'readOnly': True, 'description': 'Output only. Only available with STATS_VIEW, this includes summary statistics about column family contents. For statistics over an entire table, see TableStats above.'}, 'gcRule': {'$ref': '#/$defs/GcRule', 'description': "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."}, 'valueType': {'$ref': '#/$defs/Type', 'description': "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. This field is mutually exclusive with `sql_type`. If `value_type` is `Aggregate`, written data must be compatible with: * `value_type.input_type` for `AddInput` mutations"}}, 'description': 'A set of columns within a table which share a common configuration.'}, 'Intersection': {'type': 'object', 'properties': {'rules': {'type': 'array', 'items': {'$ref': '#/$defs/GcRule'}, 'description': 'Only delete cells which would be deleted by every element of `rules`.'}}, 'description': 'A GcRule which deletes cells matching all of the given rules.'}, 'EncryptionInfo': {'type': 'object', 'properties': {'kmsKeyVersion': {'type': 'string', 'readOnly': True, 'description': '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': {'enum': ['ENCRYPTION_TYPE_UNSPECIFIED', 'GOOGLE_DEFAULT_ENCRYPTION', 'CUSTOMER_MANAGED_ENCRYPTION'], 'type': 'string', 'readOnly': True, 'description': 'Output only. The type of encryption used to protect this resource.', 'x-google-enum-descriptions': ['Encryption type was not specified, though data at rest remains encrypted.', '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.', '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`.']}, 'encryptionStatus': {'$ref': '#/$defs/Status', 'readOnly': True, 'description': '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.'}}, 'description': '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.'}, 'ColumnFamilyStats': {'type': 'object', 'properties': {'logicalDataBytes': {'type': 'string', 'format': 'int64', 'description': '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).'}, 'logicalDataHddBytes': {'type': 'string', 'format': 'int64', 'readOnly': True, 'description': 'Output only. The logical data bytes of the column family stored on HDD.'}, 'logicalDataSsdBytes': {'type': 'string', 'format': 'int64', 'readOnly': True, 'description': 'Output only. The logical data bytes of the column family stored on SSD.'}, 'averageColumnsPerRow': {'type': 'number', 'format': 'double', 'description': '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.'}, 'averageCellsPerColumn': {'type': 'number', 'format': 'double', 'description': '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.'}}, 'description': '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.'}, 'TieredStorageRule': {'type': 'object', 'properties': {'includeIfOlderThan': {'type': 'string', 'format': 'google-duration', 'description': 'Include cells older than the given age. For the infrequent access tier, this value must be at least 30 days.'}}, 'description': 'Rule to specify what data is stored in a storage tier.'}, 'ChangeStreamConfig': {'type': 'object', 'properties': {'retentionPeriod': {'type': 'string', 'format': 'google-duration', 'description': '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.'}}, 'description': 'Change stream configuration.'}, 'TieredStorageConfig': {'type': 'object', 'properties': {'infrequentAccess': {'$ref': '#/$defs/TieredStorageRule', 'description': 'Rule to specify what data is stored in the infrequent access(IA) tier. The IA tier allows storing more data per node with reduced performance.'}}, 'description': 'Config for tiered storage. A valid config must have a valid TieredStorageRule. Otherwise the whole TieredStorageConfig must be unset. By default all data is stored in the SSD tier (only SSD instances can configure tiered storage).'}, 'AutomatedBackupPolicy': {'type': 'object', 'properties': {'frequency': {'type': 'string', 'format': 'google-duration', 'description': 'How frequently automated backups should occur. The only supported value at this time is 24 hours. An undefined frequency is treated as 24 hours.'}, 'locations': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Optional. A list of Cloud Bigtable zones where automated backups are allowed to be created. If empty, automated backups will be created in all zones of the instance. Locations are in the format `projects/{project}/locations/{zone}`. You can set this field only for tables in Enterprise Plus instances.'}, 'retentionPeriod': {'type': 'string', 'format': 'google-duration', 'description': 'Required. How long the automated backups should be retained. Values must be at least 3 days and at most 90 days.'}}, 'description': 'Defines an automated backup policy for a table'}, 'GoogleBigtableAdminV2TypeMap': {'type': 'object', 'properties': {'keyType': {'$ref': '#/$defs/Type', 'description': 'The type of a map key. Only `Bytes`, `String`, and `Int64` are allowed as key types.'}, 'valueType': {'$ref': '#/$defs/Type', 'description': 'The type of the values in a map.'}}, 'description': "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."}, 'GoogleBigtableAdminV2TypeBool': {'type': 'object', 'properties': {'encoding': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeBoolEncoding', 'description': 'Specifies the encoding to use when converting to or from lower level types.'}}, 'description': 'bool Values of type `Bool` are stored in `Value.bool_value`.'}, 'GoogleBigtableAdminV2TypeDate': {'type': 'object', 'properties': {}, 'description': 'Date Values of type `Date` are stored in `Value.date_value`.'}, 'GoogleBigtableAdminV2TypeEnum': {'type': 'object', 'properties': {'enumName': {'type': 'string', 'description': 'The fully qualified name of the protobuf enum message, including package. In the format of "foo.bar.EnumMessage".'}, 'schemaBundleId': {'type': 'string', 'description': 'The ID of the schema bundle that this enum is defined in.'}}, 'description': 'A protobuf enum type. Values of type `Enum` are stored in `Value.int_value`.'}, 'GoogleBigtableAdminV2TypeArray': {'type': 'object', 'properties': {'elementType': {'$ref': '#/$defs/Type', 'description': 'The type of the elements in the array. This must not be `Array`.'}}, 'description': 'An ordered list of elements of a given type. Values of type `Array` are stored in `Value.array_value`.'}, 'GoogleBigtableAdminV2TypeBytes': {'type': 'object', 'properties': {'encoding': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeBytesEncoding', 'description': 'The encoding to use when converting to or from lower level types.'}}, 'description': 'Bytes Values of type `Bytes` are stored in `Value.bytes_value`.'}, 'GoogleBigtableAdminV2TypeInt32': {'type': 'object', 'properties': {'encoding': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeInt32Encoding', 'description': 'The encoding to use when converting to or from lower level types.'}}, 'description': 'Int32 Values of type `Int32` are stored in `Value.int_value`.'}, 'GoogleBigtableAdminV2TypeInt64': {'type': 'object', 'properties': {'encoding': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeInt64Encoding', 'description': 'The encoding to use when converting to or from lower level types.'}}, 'description': 'Int64 Values of type `Int64` are stored in `Value.int_value`.'}, 'GoogleBigtableAdminV2TypeProto': {'type': 'object', 'properties': {'messageName': {'type': 'string', 'description': 'The fully qualified name of the protobuf message, including package. In the format of "foo.bar.Message".'}, 'schemaBundleId': {'type': 'string', 'description': 'The ID of the schema bundle that this proto is defined in.'}}, 'description': 'A protobuf message type. Values of type `Proto` are stored in `Value.bytes_value`.'}, 'GoogleBigtableAdminV2TypeString': {'type': 'object', 'properties': {'encoding': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeStringEncoding', 'description': 'The encoding to use when converting to or from lower level types.'}}, 'description': 'String Values of type `String` are stored in `Value.string_value`.'}, 'GoogleBigtableAdminV2TypeStruct': {'type': 'object', 'properties': {'fields': {'type': 'array', 'items': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeStructField'}, 'description': 'The names and types of the fields in this struct.'}, 'encoding': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeStructEncoding', 'description': 'The encoding to use when converting to or from lower level types.'}}, 'description': '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`.'}, 'GoogleBigtableAdminV2TypeFloat32': {'type': 'object', 'properties': {}, 'description': 'Float32 Values of type `Float32` are stored in `Value.float_value`.'}, 'GoogleBigtableAdminV2TypeFloat64': {'type': 'object', 'properties': {}, 'description': 'Float64 Values of type `Float64` are stored in `Value.float_value`.'}, 'GoogleBigtableAdminV2TypeAggregate': {'type': 'object', 'properties': {'max': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeAggregateMax', 'description': 'Max aggregator.'}, 'min': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeAggregateMin', 'description': 'Min aggregator.'}, 'sum': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeAggregateSum', 'description': 'Sum aggregator.'}, 'inputType': {'$ref': '#/$defs/Type', 'description': 'Type of the inputs that are accumulated by this `Aggregate`. Use `AddInput` mutations to accumulate new inputs.'}, 'stateType': {'$ref': '#/$defs/Type', 'readOnly': True, 'description': 'Output only. Type that holds the internal accumulator state for the `Aggregate`. This is a function of the `input_type` and `aggregator` chosen.'}, 'hllppUniqueCount': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeAggregateHyperLogLogPlusPlusUniqueCount', 'description': 'HyperLogLogPlusPlusUniqueCount aggregator.'}}, 'description': 'A value that combines incremental updates into a summarized value. Data is never directly written or read using type `Aggregate`. Writes provide either the `input_type` or `state_type`, and reads always return the `state_type` .'}, 'GoogleBigtableAdminV2TypeGeography': {'type': 'object', 'properties': {}, 'description': 'A geography type, representing a point or region on Earth. The value is stored in `Value.bytes_value` as Well-Known Binary (WKB) bytes.'}, 'GoogleBigtableAdminV2TypeTimestamp': {'type': 'object', 'properties': {'encoding': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeTimestampEncoding', 'description': 'The encoding to use when converting to or from lower level types.'}}, 'description': 'Timestamp Values of type `Timestamp` are stored in `Value.timestamp_value`.'}, 'GoogleBigtableAdminV2TypeStructField': {'type': 'object', 'properties': {'type': {'$ref': '#/$defs/Type', 'description': 'The type of values in this field.'}, 'fieldName': {'type': 'string', 'description': 'The field name (optional). Fields without a `field_name` are considered anonymous and cannot be referenced by name.'}}, 'description': 'A struct field and its type.'}, 'GoogleBigtableAdminV2TypeAggregateMax': {'type': 'object', 'properties': {}, 'description': 'Computes the max of the input values. Allowed input: `Int64` State: same as input'}, 'GoogleBigtableAdminV2TypeAggregateMin': {'type': 'object', 'properties': {}, 'description': 'Computes the min of the input values. Allowed input: `Int64` State: same as input'}, 'GoogleBigtableAdminV2TypeAggregateSum': {'type': 'object', 'properties': {}, 'description': 'Computes the sum of the input values. Allowed input: `Int64` State: same as input'}, 'GoogleBigtableAdminV2TypeBoolEncoding': {'type': 'object', 'properties': {}, 'description': 'Defines rules used to convert to or from lower level types.'}, 'GoogleBigtableAdminV2TypeBytesEncoding': {'type': 'object', 'properties': {'raw': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeBytesEncodingRaw', 'description': 'Use `Raw` encoding.'}}, 'description': 'Rules used to convert to or from lower level types.'}, 'GoogleBigtableAdminV2TypeInt32Encoding': {'type': 'object', 'properties': {'bigEndianBytes': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeInt32EncodingBigEndianBytes', 'description': 'Use `BigEndianBytes` encoding.'}, 'orderedCodeBytes': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeInt32EncodingOrderedCodeBytes', 'description': 'Use `OrderedCodeBytes` encoding.'}}, 'description': 'Rules used to convert to or from lower level types.'}, 'GoogleBigtableAdminV2TypeInt64Encoding': {'type': 'object', 'properties': {'bigEndianBytes': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeInt64EncodingBigEndianBytes', 'description': 'Use `BigEndianBytes` encoding.'}, 'orderedCodeBytes': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeInt64EncodingOrderedCodeBytes', 'description': 'Use `OrderedCodeBytes` encoding.'}}, 'description': 'Rules used to convert to or from lower level types.'}, 'GoogleBigtableAdminV2TypeStringEncoding': {'type': 'object', 'properties': {'utf8Raw': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeStringEncodingUtf8Raw', 'deprecated': True, 'description': 'Deprecated: if set, converts to an empty `utf8_bytes`.'}, 'utf8Bytes': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeStringEncodingUtf8Bytes', 'description': 'Use `Utf8Bytes` encoding.'}}, 'description': 'Rules used to convert to or from lower level types.'}, 'GoogleBigtableAdminV2TypeStructEncoding': {'type': 'object', 'properties': {'singleton': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeStructEncodingSingleton', 'description': 'Use `Singleton` encoding.'}, 'delimitedBytes': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeStructEncodingDelimitedBytes', 'description': 'Use `DelimitedBytes` encoding.'}, 'orderedCodeBytes': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeStructEncodingOrderedCodeBytes', 'description': 'User `OrderedCodeBytes` encoding.'}}, 'description': 'Rules used to convert to or from lower level types.'}, 'GoogleBigtableAdminV2TypeBytesEncodingRaw': {'type': 'object', 'properties': {'escapeNulls': {'type': 'boolean', 'description': 'If set, allows NULL values to be encoded as the empty string "". The actual empty string, or any value which only contains the null byte `0x00`, has one more null byte appended.'}}, 'description': 'Leaves the value as-is. Sorted mode: all values are supported. Distinct mode: all values are supported.'}, 'GoogleBigtableAdminV2TypeTimestampEncoding': {'type': 'object', 'properties': {'unixMicrosInt64': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeInt64Encoding', 'description': 'Encodes the number of microseconds since the Unix epoch using the given `Int64` encoding. Values must be microsecond-aligned. Compatible with: - Java `Instant.truncatedTo()` with `ChronoUnit.MICROS`'}}, 'description': 'Rules used to convert to or from lower level types.'}, 'GoogleBigtableAdminV2TypeStringEncodingUtf8Raw': {'type': 'object', 'properties': {}, 'description': 'Deprecated: prefer the equivalent `Utf8Bytes`.'}, 'GoogleBigtableAdminV2TypeStringEncodingUtf8Bytes': {'type': 'object', 'properties': {'nullEscapeChar': {'type': 'string', 'description': 'Single-character escape sequence used to support NULL values. If set, allows NULL values to be encoded as the empty string "". The actual empty string, or any value where every character equals `null_escape_char`, has one more `null_escape_char` appended. If `null_escape_char` is set and does not equal the ASCII null character `0x00`, then the encoding will not support sorted mode. .'}}, 'description': 'UTF-8 encoding. Sorted mode: - All values are supported. - Code point order is preserved. Distinct mode: all values are supported. Compatible with: - BigQuery `TEXT` encoding - HBase `Bytes.toBytes` - Java `String#getBytes(StandardCharsets.UTF_8)`'}, 'GoogleBigtableAdminV2TypeStructEncodingSingleton': {'type': 'object', 'properties': {}, 'description': 'Uses the encoding of `fields[0].type` as-is. Only valid if `fields.size == 1`. This encoding does not support `DESC` field ordering.'}, 'GoogleBigtableAdminV2TypeInt32EncodingBigEndianBytes': {'type': 'object', 'properties': {}, 'description': "Encodes the value as a 4-byte big-endian two's complement value. Sorted mode: non-negative values are supported. Distinct mode: all values are supported. Compatible with: - BigQuery `BINARY` encoding - HBase `Bytes.toBytes` - Java `ByteBuffer.putInt()` with `ByteOrder.BIG_ENDIAN`"}, 'GoogleBigtableAdminV2TypeInt64EncodingBigEndianBytes': {'type': 'object', 'properties': {'bytesType': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeBytes', 'deprecated': True, 'description': 'Deprecated: ignored if set.'}}, 'description': "Encodes the value as an 8-byte big-endian two's complement value. Sorted mode: non-negative values are supported. Distinct mode: all values are supported. Compatible with: - BigQuery `BINARY` encoding - HBase `Bytes.toBytes` - Java `ByteBuffer.putLong()` with `ByteOrder.BIG_ENDIAN`"}, 'GoogleBigtableAdminV2TypeStructEncodingDelimitedBytes': {'type': 'object', 'properties': {'delimiter': {'type': 'string', 'format': 'byte', 'description': 'Byte sequence used to delimit concatenated fields. The delimiter must contain at least 1 character and at most 50 characters.'}}, 'description': 'Fields are encoded independently and concatenated with a configurable `delimiter` in between. A struct with no fields defined is encoded as a single `delimiter`. Sorted mode: - Fields are encoded in sorted mode. - Encoded field values must not contain any bytes <= `delimiter[0]` - Element-wise order is preserved: `A < B` if `A[0] < B[0]`, or if `A[0] == B[0] && A[1] < B[1]`, etc. Strict prefixes sort first. - This encoding does not support `DESC` field ordering. Distinct mode: - Fields are encoded in distinct mode. - Encoded field values must not contain `delimiter[0]`.'}, 'GoogleBigtableAdminV2TypeInt32EncodingOrderedCodeBytes': {'type': 'object', 'properties': {}, 'description': 'Encodes the value in a variable length binary format of up to 5 bytes. Values that are closer to zero use fewer bytes. Sorted mode: all values are supported. Distinct mode: all values are supported.'}, 'GoogleBigtableAdminV2TypeInt64EncodingOrderedCodeBytes': {'type': 'object', 'properties': {}, 'description': 'Encodes the value in a variable length binary format of up to 10 bytes. Values that are closer to zero use fewer bytes. Sorted mode: all values are supported. Distinct mode: all values are supported.'}, 'GoogleBigtableAdminV2TypeStructEncodingOrderedCodeBytes': {'type': 'object', 'properties': {}, 'description': 'Fields are encoded independently, then escaped and delimited by appling the following rules in order: - While the last remaining field is `ASC` or `UNSPECIFIED`, and encodes to the empty string "", remove it. - In each remaining field, replace all null bytes `0x00` with the fixed byte pair `{0x00, 0xFF}`. - If any remaining field encodes to the empty string "", replace it with the fixed byte pair `{0x00, 0x00}`. - Append the fixed byte pair `{0x00, 0x01}` to each remaining field, except for the last remaining field if it is `ASC`. - Bitwise negate all `DESC` fields. - Concatenate the results, or emit the fixed byte pair `{0x00, 0x00}` if there are no remaining fields to concatenate. Examples: ``` - STRUCT() -> "\\00\\00" - STRUCT("") -> "\\00\\00" - STRUCT("", "") -> "\\00\\00" - STRUCT("", "B") -> "\\00\\00" + "\\00\\01" + "B" - STRUCT("A", "") -> "A" - STRUCT("", "B", "") -> "\\00\\00" + "\\00\\01" + "B" - STRUCT("A", "", "C") -> "A" + "\\00\\01" + "\\00\\00" + "\\00\\01" + "C" ``` Examples for struct with `DESC` fields: ``` - STRUCT("" DESC) -> "\\xFF\\xFF" + "\\xFF\\xFE" - STRUCT("" DESC, "") -> "\\xFF\\xFF" + "\\xFF\\xFE" - STRUCT("" DESC, "", "") -> "\\xFF\\xFF" + "\\xFF\\xFE" - STRUCT("" DESC, "A") -> "\\xFF\\xFF" + "\\xFF\\xFE" + "A" - STRUCT("A", "" DESC, "") -> "A" + "\\00\\01" + "\\xFF\\xFF" + "\\xFF\\xFE" - STRUCT("", "A" DESC) -> "\\x00\\x00" + "\\x00\\x01" + "\\xBE" + "\\xFF\\xFE" ``` Since null bytes are always escaped, this encoding can cause size blowup for encodings like `Int64.BigEndianBytes` that are likely to produce many such bytes. Sorted mode: - Fields are encoded in sorted mode. - All values supported by the field encodings are allowed. - Fields with unset or `UNSPECIFIED` order are treated as `ASC`. - Element-wise order is preserved: `A < B` if `A[0] < B[0]`, or if `A[0] == B[0] && A[1] < B[1]`, etc. Strict prefixes sort first. Distinct mode: - Fields are encoded in distinct mode. - All values supported by the field encodings are allowed.'}, 'GoogleBigtableAdminV2TypeAggregateHyperLogLogPlusPlusUniqueCount': {'type': 'object', 'properties': {}, 'description': '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)'}}, 'properties': {'name': {'type': 'string', 'description': 'The unique name of the table. Values are of the form `projects/{project}/instances/{instance}/tables/_a-zA-Z0-9*`. Views: `NAME_ONLY`, `SCHEMA_VIEW`, `REPLICATION_VIEW`, `STATS_VIEW`, `FULL`'}, 'stats': {'$ref': '#/$defs/TableStats', 'readOnly': True, 'description': '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.'}, 'granularity': {'enum': ['TIMESTAMP_GRANULARITY_UNSPECIFIED', 'MILLIS', 'MICROS'], 'type': 'string', 'description': 'Immutable. The granularity 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`.', 'x-google-immutable': True, 'x-google-enum-descriptions': ['The user did not specify a granularity. Should not be returned. When specified during table creation, MILLIS will be used.', 'The table keeps data versioned at a granularity of 1ms.', 'The table keeps data versioned at a granularity of 1us.']}, 'restoreInfo': {'$ref': '#/$defs/RestoreInfo', 'readOnly': True, 'description': '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.'}, 'rowKeySchema': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeStruct', 'description': 'The row key schema for this table. The schema is used to decode the raw row key bytes into a structured format. The order of field declarations in this schema is important, as it reflects how the raw row key bytes are structured. Currently, this only affects how the key is read via a GoogleSQL query from the ExecuteQuery API. For a SQL query, the _key column is still read as raw bytes. But queries can reference the key fields by name, which will be decoded from _key using provided type and encoding. Queries that reference key fields will fail if they encounter an invalid row key. For example, if _key = "some_id#2024-04-30#\\x00\\x13\\x00\\xf3" with the following schema: { fields { field_name: "id" type { string { encoding: utf8_bytes {} } } } fields { field_name: "date" type { string { encoding: utf8_bytes {} } } } fields { field_name: "product_code" type { int64 { encoding: big_endian_bytes {} } } } encoding { delimited_bytes { delimiter: "#" } } } The decoded key parts would be: id = "some_id", date = "2024-04-30", product_code = 1245427 The query "SELECT _key, product_code FROM table" will return two columns: /------------------------------------------------------\\ | _key | product_code | | --------------------------------------|--------------| | "some_id#2024-04-30#\\x00\\x13\\x00\\xf3" | 1245427 | \\------------------------------------------------------/ The schema has the following invariants: (1) The decoded field values are order-preserved. For read, the field values will be decoded in sorted mode from the raw bytes. (2) Every field in the schema must specify a non-empty name. (3) Every field must specify a type with an associated encoding. The type is limited to scalar types only: Array, Map, Aggregate, and Struct are not allowed. (4) The field names must not collide with existing column family names and reserved keywords "_key" and "_timestamp". The following update operations are allowed for row_key_schema: - Update from an empty schema to a new schema. - Remove the existing schema. This operation requires setting the `ignore_warnings` flag to `true`, since it might be a backward incompatible change. Without the flag, the update request will fail with an INVALID_ARGUMENT error. Any other row key schema update operation (e.g. update existing schema columns names or types) is currently unsupported.'}, 'clusterStates': {'type': 'object', 'readOnly': True, 'description': '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`', 'additionalProperties': {'$ref': '#/$defs/ClusterState'}}, 'columnFamilies': {'type': 'object', 'description': 'The column families configured for this table, mapped by column family ID. Views: `SCHEMA_VIEW`, `STATS_VIEW`, `FULL`', 'additionalProperties': {'$ref': '#/$defs/ColumnFamily'}}, 'changeStreamConfig': {'$ref': '#/$defs/ChangeStreamConfig', 'description': 'If specified, enable the change stream on this table. Otherwise, the change stream is disabled and the change stream is not retained.'}, 'deletionProtection': {'type': 'boolean', 'description': '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.'}, 'tieredStorageConfig': {'$ref': '#/$defs/TieredStorageConfig', 'description': 'Rules to specify what data is stored in each storage tier. Different tiers store data differently, providing different trade-offs between cost and performance. Different parts of a table can be stored separately on different tiers. If a config is specified, tiered storage is enabled for this table. Otherwise, tiered storage is disabled. Only SSD instances can configure tiered storage.'}, 'automatedBackupPolicy': {'$ref': '#/$defs/AutomatedBackupPolicy', 'description': 'If specified, automated backups are enabled for this table. Otherwise, automated backups are disabled.'}}, 'description': 'A collection of user data indexed by row, column, and timestamp. Each table is served using the resources of its parent cluster.'}
list_hot_tablets
Lists hot tablets in a Cloud Bigtable cluster. 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.
只读 可访问外部资源
输入模式
{'type': 'object', 'required': ['projectId', 'instanceId', 'clusterId'], 'properties': {'endTime': {'type': 'string', 'format': 'date-time', 'description': 'Optional. The end time to list hot tablets. End time defaults to Now - 24 hours if it is unset. The end time should be greater than the start 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.'}, 'pageSize': {'type': 'integer', 'format': 'int32', 'description': 'Optional. Maximum number of results per page.'}, 'clusterId': {'type': 'string', 'description': 'Required. The cluster ID within the instance (e.g., "my-cluster").'}, 'pageToken': {'type': 'string', 'description': 'Optional. The value of `next_page_token` returned by a previous call.'}, 'projectId': {'type': 'string', 'description': 'Required. The project ID (e.g., "my-project").'}, 'startTime': {'type': 'string', 'format': 'date-time', 'description': 'Optional. 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. 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.'}, 'instanceId': {'type': 'string', 'description': 'Required. The instance ID within the project (e.g., "my-instance").'}}, 'description': 'Request message for Bigtable.ListHotTablets'}
输出模式
{'type': 'object', '$defs': {'HotTablet': {'type': 'object', 'properties': {'endKey': {'type': 'string', 'readOnly': True, 'description': 'Output only. Tablet End Key (inclusive).'}, 'endTime': {'type': 'string', 'format': 'date-time', 'readOnly': True, 'description': 'Output only. The end time of the hot tablet.'}, 'tableId': {'type': 'string', 'readOnly': True, 'description': 'Output only. The unique ID of the table that contains the tablet, e.g., `mytable`.'}, 'startKey': {'type': 'string', 'readOnly': True, 'description': 'Output only. Tablet Start Key (inclusive).'}, 'startTime': {'type': 'string', 'format': 'date-time', 'readOnly': True, 'description': 'Output only. The start time of the hot tablet.'}, 'nodeCpuUsagePercent': {'type': 'number', 'format': 'float', 'readOnly': True, 'description': 'Output only. The average CPU usage as a percentage spent by a node on this tablet over the start_time to end_time time range. This 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).'}}, 'description': 'A representation of a hot tablet, excluding GCP-internal and name resource fields.'}}, 'properties': {'hotTablets': {'type': 'array', 'items': {'$ref': '#/$defs/HotTablet'}, 'description': '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.'}, 'nextPageToken': {'type': 'string', 'description': '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.'}}, 'description': 'Response message for Bigtable.ListHotTablets'}
list_instances
List information about instances in a project. The request requires the 'parent' field to be set in the format 'projects/{project}'. Example: { "parent": "projects/my-project" }
只读 可访问外部资源
输入模式
{'type': 'object', 'required': ['parent'], 'properties': {'parent': {'type': 'string', 'description': 'Required. The unique name of the project for which a list of instances is requested. Values are of the form `projects/{project}`.'}, 'pageToken': {'type': 'string', 'deprecated': True, 'description': 'DEPRECATED: This field is unused and ignored.'}}, 'description': 'Request message for BigtableInstanceAdmin.ListInstances.'}
输出模式
{'type': 'object', '$defs': {'Instance': {'type': 'object', 'properties': {'name': {'type': 'string', 'description': 'The unique name of the instance. Values are of the form `projects/{project}/instances/a-z+[a-z0-9]`.'}, 'tags': {'type': 'object', 'writeOnly': True, 'description': 'Optional. Input only. Immutable. Tag keys/values directly bound to this resource. For example: - "123/environment": "production", - "123/costCenter": "marketing" Tags and Labels (above) are both used to bind metadata to resources, with different use-cases. See https://cloud.google.com/resource-manager/docs/tags/tags-overview for an in-depth overview on the difference between tags and labels.', 'x-google-immutable': True, 'additionalProperties': {'type': 'string'}}, 'type': {'enum': ['TYPE_UNSPECIFIED', 'PRODUCTION', 'DEVELOPMENT'], 'type': 'string', 'description': 'The type of the instance. Defaults to `PRODUCTION`.', 'x-google-enum-descriptions': ['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.', 'An instance meant for production use. `serve_nodes` must be set on the cluster.', 'DEPRECATED: Prefer PRODUCTION for all use cases, as it no longer enforces a higher minimum node count than DEVELOPMENT.']}, 'state': {'enum': ['STATE_NOT_KNOWN', 'READY', 'CREATING'], 'type': 'string', 'readOnly': True, 'description': 'Output only. The current state of the instance.', 'x-google-enum-descriptions': ['The state of the instance could not be determined.', 'The instance has been successfully created and can serve requests to its tables.', 'The instance is currently being created, and may be destroyed if the creation process encounters an error.']}, 'labels': {'type': 'object', 'description': "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}{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. Labels and Tags (below) are both used to bind metadata to resources, with different use-cases. See https://cloud.google.com/resource-manager/docs/tags/tags-overview for an in-depth overview on the difference between tags and labels.", 'additionalProperties': {'type': 'string'}}, 'edition': {'enum': ['EDITION_UNSPECIFIED', 'ENTERPRISE', 'ENTERPRISE_PLUS'], 'type': 'string', 'description': 'Optional. The edition of the instance. See Edition for details.', 'x-google-enum-descriptions': ['The edition is unspecified. This is treated as `ENTERPRISE`.', 'The Enterprise edition. This is the default offering that is designed to meet the needs of most enterprise workloads.', 'The Enterprise Plus edition. This is a premium tier that is designed for demanding, multi-tenant workloads requiring the highest levels of performance, scale, and global availability. The nodes in the Enterprise Plus tier come at a higher cost than the Enterprise tier. Any Enterprise Plus features must be disabled before downgrading to Enterprise.']}, 'createTime': {'type': 'string', 'format': 'date-time', 'readOnly': True, 'description': '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`.'}, 'displayName': {'type': 'string', 'description': '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.'}, 'satisfiesPzi': {'type': 'boolean', 'readOnly': True, 'description': 'Output only. Reserved for future use.'}, 'satisfiesPzs': {'type': 'boolean', 'readOnly': True, 'description': 'Output only. Reserved for future use.'}, 'knowledgeCatalogRegion': {'type': 'string', 'readOnly': True, 'description': 'Output only. The region where Knowledge Catalog data is synced to and stored, including user-created aspects.'}}, 'description': 'A collection of Bigtable Tables and the resources that serve them. All tables in an instance are served from all Clusters in the instance.'}}, 'properties': {'instances': {'type': 'array', 'items': {'$ref': '#/$defs/Instance'}, 'description': 'The list of requested instances.'}, 'nextPageToken': {'type': 'string', 'deprecated': True, 'description': 'DEPRECATED: This field is unused and ignored.'}, 'failedLocations': {'type': 'array', 'items': {'type': 'string'}, 'description': '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//locations/`'}}, 'description': 'Response message for BigtableInstanceAdmin.ListInstances.'}
list_logical_views
List information about all logical views within a specified instance. The request requires the `parent` field to be set in the format 'projects/{project}/instances/{instance}'. Example: { "parent": "projects/my-project/instances/my-instance" }
只读 可访问外部资源
输入模式
{'type': 'object', 'required': ['parent'], 'properties': {'parent': {'type': 'string', 'description': 'Required. The unique name of the instance for which the list of logical views is requested. Values are of the form `projects/{project}/instances/{instance}`.'}, 'pageSize': {'type': 'integer', 'format': 'int32', 'description': 'Optional. The maximum number of logical views to return. The service may return fewer than this value'}, 'pageToken': {'type': 'string', 'description': 'Optional. A page token, received from a previous `ListLogicalViews` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListLogicalViews` must match the call that provided the page token.'}}, 'description': 'Request message for BigtableInstanceAdmin.ListLogicalViews.'}
输出模式
{'type': 'object', '$defs': {'LogicalView': {'type': 'object', 'properties': {'name': {'type': 'string', 'description': 'Identifier. The name of the logical view.', 'x-google-identifier': True}, 'query': {'type': 'string', 'description': "Required. The logical view's select query."}, 'deletionProtection': {'type': 'boolean', 'description': 'Optional. Set to true to make the LogicalView protected against deletion.'}}, 'description': 'A simplified mcp version of the SQL logical view object.'}}, 'properties': {'logicalViews': {'type': 'array', 'items': {'$ref': '#/$defs/LogicalView'}, 'description': 'The logical views in the instance.'}, 'nextPageToken': {'type': 'string', 'description': 'A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.'}}, 'description': 'Response message for Bigtable.ListLogicalViews'}
list_tables
List all tables in a specified instance. The request requires the 'parent' field to be set in the format 'projects/{project}/instances/{instance}'. Example: { "parent": "projects/my-project/instances/my-instance" }
只读 可访问外部资源
输入模式
{'type': 'object', 'required': ['parent'], 'properties': {'view': {'enum': ['VIEW_UNSPECIFIED', 'NAME_ONLY', 'SCHEMA_VIEW', 'REPLICATION_VIEW', 'ENCRYPTION_VIEW', 'STATS_VIEW', 'FULL'], 'type': 'string', 'description': "The view to be applied to the returned tables' fields. Only NAME_ONLY view (default), REPLICATION_VIEW and ENCRYPTION_VIEW are supported.", 'x-google-enum-descriptions': ['Uses the default view for each method as documented in its request.', 'Only populates `name`.', "Only populates `name` and fields related to the table's schema.", "Only populates `name` and fields related to the table's replication state.", "Only populates `name` and fields related to the table's encryption state.", "Only populates `name` and fields related to the table's stats (e.g. TableStats and ColumnFamilyStats).", 'Populates all fields except for stats. See STATS_VIEW to request stats.']}, 'parent': {'type': 'string', 'description': 'Required. The unique name of the instance for which tables should be listed. Values are of the form `projects/{project}/instances/{instance}`.'}, 'pageSize': {'type': 'integer', 'format': 'int32', 'description': '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.'}, 'pageToken': {'type': 'string', 'description': 'The value of `next_page_token` returned by a previous call.'}}, 'description': 'Request message for google.bigtable.admin.v2.BigtableTableAdmin.ListTables'}
输出模式
{'type': 'object', '$defs': {'Type': {'type': 'object', 'properties': {'mapType': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeMap', 'description': 'Map'}, 'boolType': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeBool', 'description': 'Bool'}, 'dateType': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeDate', 'description': 'Date'}, 'enumType': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeEnum', 'description': 'Enum'}, 'arrayType': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeArray', 'description': 'Array'}, 'bytesType': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeBytes', 'description': 'Bytes'}, 'int32Type': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeInt32', 'description': 'Int32'}, 'int64Type': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeInt64', 'description': 'Int64'}, 'protoType': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeProto', 'description': 'Proto'}, 'stringType': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeString', 'description': 'String'}, 'structType': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeStruct', 'description': 'Struct'}, 'float32Type': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeFloat32', 'description': 'Float32'}, 'float64Type': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeFloat64', 'description': 'Float64'}, 'aggregateType': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeAggregate', 'description': 'Aggregate'}, 'geographyType': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeGeography', 'description': 'Geography'}, 'timestampType': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeTimestamp', 'description': 'Timestamp'}}, 'description': '`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 or from the underlying data. Each encoding can operate in one of two modes: - Sorted: In this mode, Bigtable guarantees that `Encode(X) <= Encode(Y)` if and only if `X <= Y`. This is useful anywhere sort order is important, for example when encoding keys. - Distinct: In this mode, Bigtable guarantees that if `X != Y` then `Encode(X) != Encode(Y)`. However, the converse is not guaranteed. For example, both `{\'foo\': \'1\', \'bar\': \'2\'}` and `{\'bar\': \'2\', \'foo\': \'1\'}` are valid encodings of the same JSON value. The API clearly documents which mode is used wherever an encoding can be configured. Each encoding also documents which values are supported in which modes. For example, when encoding INT64 as a numeric STRING, negative numbers cannot be encoded in sorted mode. This is because `INT64(1) > INT64(-1)`, but `STRING("-00001") > STRING("00001")`.'}, 'Table': {'type': 'object', 'properties': {'name': {'type': 'string', 'description': 'The unique name of the table. Values are of the form `projects/{project}/instances/{instance}/tables/_a-zA-Z0-9*`. Views: `NAME_ONLY`, `SCHEMA_VIEW`, `REPLICATION_VIEW`, `STATS_VIEW`, `FULL`'}, 'stats': {'$ref': '#/$defs/TableStats', 'readOnly': True, 'description': '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.'}, 'granularity': {'enum': ['TIMESTAMP_GRANULARITY_UNSPECIFIED', 'MILLIS', 'MICROS'], 'type': 'string', 'description': 'Immutable. The granularity 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`.', 'x-google-immutable': True, 'x-google-enum-descriptions': ['The user did not specify a granularity. Should not be returned. When specified during table creation, MILLIS will be used.', 'The table keeps data versioned at a granularity of 1ms.', 'The table keeps data versioned at a granularity of 1us.']}, 'restoreInfo': {'$ref': '#/$defs/RestoreInfo', 'readOnly': True, 'description': '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.'}, 'rowKeySchema': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeStruct', 'description': 'The row key schema for this table. The schema is used to decode the raw row key bytes into a structured format. The order of field declarations in this schema is important, as it reflects how the raw row key bytes are structured. Currently, this only affects how the key is read via a GoogleSQL query from the ExecuteQuery API. For a SQL query, the _key column is still read as raw bytes. But queries can reference the key fields by name, which will be decoded from _key using provided type and encoding. Queries that reference key fields will fail if they encounter an invalid row key. For example, if _key = "some_id#2024-04-30#\\x00\\x13\\x00\\xf3" with the following schema: { fields { field_name: "id" type { string { encoding: utf8_bytes {} } } } fields { field_name: "date" type { string { encoding: utf8_bytes {} } } } fields { field_name: "product_code" type { int64 { encoding: big_endian_bytes {} } } } encoding { delimited_bytes { delimiter: "#" } } } The decoded key parts would be: id = "some_id", date = "2024-04-30", product_code = 1245427 The query "SELECT _key, product_code FROM table" will return two columns: /------------------------------------------------------\\ | _key | product_code | | --------------------------------------|--------------| | "some_id#2024-04-30#\\x00\\x13\\x00\\xf3" | 1245427 | \\------------------------------------------------------/ The schema has the following invariants: (1) The decoded field values are order-preserved. For read, the field values will be decoded in sorted mode from the raw bytes. (2) Every field in the schema must specify a non-empty name. (3) Every field must specify a type with an associated encoding. The type is limited to scalar types only: Array, Map, Aggregate, and Struct are not allowed. (4) The field names must not collide with existing column family names and reserved keywords "_key" and "_timestamp". The following update operations are allowed for row_key_schema: - Update from an empty schema to a new schema. - Remove the existing schema. This operation requires setting the `ignore_warnings` flag to `true`, since it might be a backward incompatible change. Without the flag, the update request will fail with an INVALID_ARGUMENT error. Any other row key schema update operation (e.g. update existing schema columns names or types) is currently unsupported.'}, 'clusterStates': {'type': 'object', 'readOnly': True, 'description': '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`', 'additionalProperties': {'$ref': '#/$defs/ClusterState'}}, 'columnFamilies': {'type': 'object', 'description': 'The column families configured for this table, mapped by column family ID. Views: `SCHEMA_VIEW`, `STATS_VIEW`, `FULL`', 'additionalProperties': {'$ref': '#/$defs/ColumnFamily'}}, 'changeStreamConfig': {'$ref': '#/$defs/ChangeStreamConfig', 'description': 'If specified, enable the change stream on this table. Otherwise, the change stream is disabled and the change stream is not retained.'}, 'deletionProtection': {'type': 'boolean', 'description': '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.'}, 'tieredStorageConfig': {'$ref': '#/$defs/TieredStorageConfig', 'description': 'Rules to specify what data is stored in each storage tier. Different tiers store data differently, providing different trade-offs between cost and performance. Different parts of a table can be stored separately on different tiers. If a config is specified, tiered storage is enabled for this table. Otherwise, tiered storage is disabled. Only SSD instances can configure tiered storage.'}, 'automatedBackupPolicy': {'$ref': '#/$defs/AutomatedBackupPolicy', 'description': 'If specified, automated backups are enabled for this table. Otherwise, automated backups are disabled.'}}, 'description': 'A collection of user data indexed by row, column, and timestamp. Each table is served using the resources of its parent cluster.'}, 'Union': {'type': 'object', 'properties': {'rules': {'type': 'array', 'items': {'$ref': '#/$defs/GcRule'}, 'description': 'Delete cells which would be deleted by any element of `rules`.'}}, 'description': 'A GcRule which deletes cells matching any of the given rules.'}, 'GcRule': {'type': 'object', 'properties': {'union': {'$ref': '#/$defs/Union', 'description': 'Delete cells that would be deleted by any nested rule.'}, 'maxAge': {'type': 'string', 'format': 'google-duration', 'description': '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': {'$ref': '#/$defs/Intersection', 'description': 'Delete cells that would be deleted by every nested rule.'}, 'maxNumVersions': {'type': 'integer', 'format': 'int32', 'description': 'Delete all cells in a column except the most recent N.'}}, 'description': 'Rule for determining which cells to delete during garbage collection.'}, 'Status': {'type': 'object', 'properties': {'code': {'type': 'integer', 'format': 'int32', 'description': 'The status code, which should be an enum value of google.rpc.Code.'}, 'details': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': {'description': 'Properties of the object. Contains field @type with type URL.'}}, 'description': 'A list of messages that carry the error details. There is a common set of message types for APIs to use.'}, 'message': {'type': 'string', 'description': 'A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.'}}, 'description': 'The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).'}, 'BackupInfo': {'type': 'object', 'properties': {'backup': {'type': 'string', 'readOnly': True, 'description': 'Output only. Name of the backup.'}, 'endTime': {'type': 'string', 'format': 'date-time', 'readOnly': True, 'description': 'Output only. This time that the backup was finished. Row data in the backup will be no newer than this timestamp.'}, 'startTime': {'type': 'string', 'format': 'date-time', 'readOnly': True, 'description': 'Output only. The time that the backup was started. Row data in the backup will be no older than this timestamp.'}, 'sourceTable': {'type': 'string', 'readOnly': True, 'description': 'Output only. Name of the table the backup was created from.'}, 'sourceBackup': {'type': 'string', 'readOnly': True, 'description': '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/'}}, 'description': 'Information about a backup.'}, 'TableStats': {'type': 'object', 'properties': {'rowCount': {'type': 'string', 'format': 'int64', 'description': 'How many rows are in the table.'}, 'logicalDataBytes': {'type': 'string', 'format': 'int64', 'description': 'This is roughly how many bytes would be needed to read the entire table (e.g. by streaming all contents out).'}, 'averageColumnsPerRow': {'type': 'number', 'format': 'double', 'description': '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.'}, 'averageCellsPerColumn': {'type': 'number', 'format': 'double', 'description': '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.'}}, 'description': '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.'}, 'RestoreInfo': {'type': 'object', 'properties': {'backupInfo': {'$ref': '#/$defs/BackupInfo', 'description': 'Information about the backup used to restore the table. The backup may no longer exist.'}, 'sourceType': {'enum': ['RESTORE_SOURCE_TYPE_UNSPECIFIED', 'BACKUP'], 'type': 'string', 'description': 'The type of the restore source.', 'x-google-enum-descriptions': ['No restore associated.', 'A backup was used as the source of the restore.']}}, 'description': 'Information about a table restore.'}, 'ClusterState': {'type': 'object', 'properties': {'encryptionInfo': {'type': 'array', 'items': {'$ref': '#/$defs/EncryptionInfo'}, 'readOnly': True, 'description': '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': {'enum': ['STATE_NOT_KNOWN', 'INITIALIZING', 'PLANNED_MAINTENANCE', 'UNPLANNED_MAINTENANCE', 'READY', 'READY_OPTIMIZING'], 'type': 'string', 'readOnly': True, 'description': 'Output only. The state of replication for the table in this cluster.', 'x-google-enum-descriptions': ['The replication state of the table is unknown in this cluster.', '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.', 'The table is temporarily unable to serve Data API requests from this cluster due to planned internal maintenance.', 'The table is temporarily unable to serve Data API requests from this cluster due to unplanned or emergency maintenance.', '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.', '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.']}}, 'description': "The state of a table's data in a particular cluster."}, 'ColumnFamily': {'type': 'object', 'properties': {'stats': {'$ref': '#/$defs/ColumnFamilyStats', 'readOnly': True, 'description': 'Output only. Only available with STATS_VIEW, this includes summary statistics about column family contents. For statistics over an entire table, see TableStats above.'}, 'gcRule': {'$ref': '#/$defs/GcRule', 'description': "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."}, 'valueType': {'$ref': '#/$defs/Type', 'description': "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. This field is mutually exclusive with `sql_type`. If `value_type` is `Aggregate`, written data must be compatible with: * `value_type.input_type` for `AddInput` mutations"}}, 'description': 'A set of columns within a table which share a common configuration.'}, 'Intersection': {'type': 'object', 'properties': {'rules': {'type': 'array', 'items': {'$ref': '#/$defs/GcRule'}, 'description': 'Only delete cells which would be deleted by every element of `rules`.'}}, 'description': 'A GcRule which deletes cells matching all of the given rules.'}, 'EncryptionInfo': {'type': 'object', 'properties': {'kmsKeyVersion': {'type': 'string', 'readOnly': True, 'description': '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': {'enum': ['ENCRYPTION_TYPE_UNSPECIFIED', 'GOOGLE_DEFAULT_ENCRYPTION', 'CUSTOMER_MANAGED_ENCRYPTION'], 'type': 'string', 'readOnly': True, 'description': 'Output only. The type of encryption used to protect this resource.', 'x-google-enum-descriptions': ['Encryption type was not specified, though data at rest remains encrypted.', '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.', '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`.']}, 'encryptionStatus': {'$ref': '#/$defs/Status', 'readOnly': True, 'description': '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.'}}, 'description': '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.'}, 'ColumnFamilyStats': {'type': 'object', 'properties': {'logicalDataBytes': {'type': 'string', 'format': 'int64', 'description': '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).'}, 'logicalDataHddBytes': {'type': 'string', 'format': 'int64', 'readOnly': True, 'description': 'Output only. The logical data bytes of the column family stored on HDD.'}, 'logicalDataSsdBytes': {'type': 'string', 'format': 'int64', 'readOnly': True, 'description': 'Output only. The logical data bytes of the column family stored on SSD.'}, 'averageColumnsPerRow': {'type': 'number', 'format': 'double', 'description': '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.'}, 'averageCellsPerColumn': {'type': 'number', 'format': 'double', 'description': '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.'}}, 'description': '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.'}, 'TieredStorageRule': {'type': 'object', 'properties': {'includeIfOlderThan': {'type': 'string', 'format': 'google-duration', 'description': 'Include cells older than the given age. For the infrequent access tier, this value must be at least 30 days.'}}, 'description': 'Rule to specify what data is stored in a storage tier.'}, 'ChangeStreamConfig': {'type': 'object', 'properties': {'retentionPeriod': {'type': 'string', 'format': 'google-duration', 'description': '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.'}}, 'description': 'Change stream configuration.'}, 'TieredStorageConfig': {'type': 'object', 'properties': {'infrequentAccess': {'$ref': '#/$defs/TieredStorageRule', 'description': 'Rule to specify what data is stored in the infrequent access(IA) tier. The IA tier allows storing more data per node with reduced performance.'}}, 'description': 'Config for tiered storage. A valid config must have a valid TieredStorageRule. Otherwise the whole TieredStorageConfig must be unset. By default all data is stored in the SSD tier (only SSD instances can configure tiered storage).'}, 'AutomatedBackupPolicy': {'type': 'object', 'properties': {'frequency': {'type': 'string', 'format': 'google-duration', 'description': 'How frequently automated backups should occur. The only supported value at this time is 24 hours. An undefined frequency is treated as 24 hours.'}, 'locations': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Optional. A list of Cloud Bigtable zones where automated backups are allowed to be created. If empty, automated backups will be created in all zones of the instance. Locations are in the format `projects/{project}/locations/{zone}`. You can set this field only for tables in Enterprise Plus instances.'}, 'retentionPeriod': {'type': 'string', 'format': 'google-duration', 'description': 'Required. How long the automated backups should be retained. Values must be at least 3 days and at most 90 days.'}}, 'description': 'Defines an automated backup policy for a table'}, 'GoogleBigtableAdminV2TypeMap': {'type': 'object', 'properties': {'keyType': {'$ref': '#/$defs/Type', 'description': 'The type of a map key. Only `Bytes`, `String`, and `Int64` are allowed as key types.'}, 'valueType': {'$ref': '#/$defs/Type', 'description': 'The type of the values in a map.'}}, 'description': "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."}, 'GoogleBigtableAdminV2TypeBool': {'type': 'object', 'properties': {'encoding': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeBoolEncoding', 'description': 'Specifies the encoding to use when converting to or from lower level types.'}}, 'description': 'bool Values of type `Bool` are stored in `Value.bool_value`.'}, 'GoogleBigtableAdminV2TypeDate': {'type': 'object', 'properties': {}, 'description': 'Date Values of type `Date` are stored in `Value.date_value`.'}, 'GoogleBigtableAdminV2TypeEnum': {'type': 'object', 'properties': {'enumName': {'type': 'string', 'description': 'The fully qualified name of the protobuf enum message, including package. In the format of "foo.bar.EnumMessage".'}, 'schemaBundleId': {'type': 'string', 'description': 'The ID of the schema bundle that this enum is defined in.'}}, 'description': 'A protobuf enum type. Values of type `Enum` are stored in `Value.int_value`.'}, 'GoogleBigtableAdminV2TypeArray': {'type': 'object', 'properties': {'elementType': {'$ref': '#/$defs/Type', 'description': 'The type of the elements in the array. This must not be `Array`.'}}, 'description': 'An ordered list of elements of a given type. Values of type `Array` are stored in `Value.array_value`.'}, 'GoogleBigtableAdminV2TypeBytes': {'type': 'object', 'properties': {'encoding': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeBytesEncoding', 'description': 'The encoding to use when converting to or from lower level types.'}}, 'description': 'Bytes Values of type `Bytes` are stored in `Value.bytes_value`.'}, 'GoogleBigtableAdminV2TypeInt32': {'type': 'object', 'properties': {'encoding': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeInt32Encoding', 'description': 'The encoding to use when converting to or from lower level types.'}}, 'description': 'Int32 Values of type `Int32` are stored in `Value.int_value`.'}, 'GoogleBigtableAdminV2TypeInt64': {'type': 'object', 'properties': {'encoding': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeInt64Encoding', 'description': 'The encoding to use when converting to or from lower level types.'}}, 'description': 'Int64 Values of type `Int64` are stored in `Value.int_value`.'}, 'GoogleBigtableAdminV2TypeProto': {'type': 'object', 'properties': {'messageName': {'type': 'string', 'description': 'The fully qualified name of the protobuf message, including package. In the format of "foo.bar.Message".'}, 'schemaBundleId': {'type': 'string', 'description': 'The ID of the schema bundle that this proto is defined in.'}}, 'description': 'A protobuf message type. Values of type `Proto` are stored in `Value.bytes_value`.'}, 'GoogleBigtableAdminV2TypeString': {'type': 'object', 'properties': {'encoding': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeStringEncoding', 'description': 'The encoding to use when converting to or from lower level types.'}}, 'description': 'String Values of type `String` are stored in `Value.string_value`.'}, 'GoogleBigtableAdminV2TypeStruct': {'type': 'object', 'properties': {'fields': {'type': 'array', 'items': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeStructField'}, 'description': 'The names and types of the fields in this struct.'}, 'encoding': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeStructEncoding', 'description': 'The encoding to use when converting to or from lower level types.'}}, 'description': '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`.'}, 'GoogleBigtableAdminV2TypeFloat32': {'type': 'object', 'properties': {}, 'description': 'Float32 Values of type `Float32` are stored in `Value.float_value`.'}, 'GoogleBigtableAdminV2TypeFloat64': {'type': 'object', 'properties': {}, 'description': 'Float64 Values of type `Float64` are stored in `Value.float_value`.'}, 'GoogleBigtableAdminV2TypeAggregate': {'type': 'object', 'properties': {'max': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeAggregateMax', 'description': 'Max aggregator.'}, 'min': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeAggregateMin', 'description': 'Min aggregator.'}, 'sum': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeAggregateSum', 'description': 'Sum aggregator.'}, 'inputType': {'$ref': '#/$defs/Type', 'description': 'Type of the inputs that are accumulated by this `Aggregate`. Use `AddInput` mutations to accumulate new inputs.'}, 'stateType': {'$ref': '#/$defs/Type', 'readOnly': True, 'description': 'Output only. Type that holds the internal accumulator state for the `Aggregate`. This is a function of the `input_type` and `aggregator` chosen.'}, 'hllppUniqueCount': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeAggregateHyperLogLogPlusPlusUniqueCount', 'description': 'HyperLogLogPlusPlusUniqueCount aggregator.'}}, 'description': 'A value that combines incremental updates into a summarized value. Data is never directly written or read using type `Aggregate`. Writes provide either the `input_type` or `state_type`, and reads always return the `state_type` .'}, 'GoogleBigtableAdminV2TypeGeography': {'type': 'object', 'properties': {}, 'description': 'A geography type, representing a point or region on Earth. The value is stored in `Value.bytes_value` as Well-Known Binary (WKB) bytes.'}, 'GoogleBigtableAdminV2TypeTimestamp': {'type': 'object', 'properties': {'encoding': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeTimestampEncoding', 'description': 'The encoding to use when converting to or from lower level types.'}}, 'description': 'Timestamp Values of type `Timestamp` are stored in `Value.timestamp_value`.'}, 'GoogleBigtableAdminV2TypeStructField': {'type': 'object', 'properties': {'type': {'$ref': '#/$defs/Type', 'description': 'The type of values in this field.'}, 'fieldName': {'type': 'string', 'description': 'The field name (optional). Fields without a `field_name` are considered anonymous and cannot be referenced by name.'}}, 'description': 'A struct field and its type.'}, 'GoogleBigtableAdminV2TypeAggregateMax': {'type': 'object', 'properties': {}, 'description': 'Computes the max of the input values. Allowed input: `Int64` State: same as input'}, 'GoogleBigtableAdminV2TypeAggregateMin': {'type': 'object', 'properties': {}, 'description': 'Computes the min of the input values. Allowed input: `Int64` State: same as input'}, 'GoogleBigtableAdminV2TypeAggregateSum': {'type': 'object', 'properties': {}, 'description': 'Computes the sum of the input values. Allowed input: `Int64` State: same as input'}, 'GoogleBigtableAdminV2TypeBoolEncoding': {'type': 'object', 'properties': {}, 'description': 'Defines rules used to convert to or from lower level types.'}, 'GoogleBigtableAdminV2TypeBytesEncoding': {'type': 'object', 'properties': {'raw': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeBytesEncodingRaw', 'description': 'Use `Raw` encoding.'}}, 'description': 'Rules used to convert to or from lower level types.'}, 'GoogleBigtableAdminV2TypeInt32Encoding': {'type': 'object', 'properties': {'bigEndianBytes': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeInt32EncodingBigEndianBytes', 'description': 'Use `BigEndianBytes` encoding.'}, 'orderedCodeBytes': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeInt32EncodingOrderedCodeBytes', 'description': 'Use `OrderedCodeBytes` encoding.'}}, 'description': 'Rules used to convert to or from lower level types.'}, 'GoogleBigtableAdminV2TypeInt64Encoding': {'type': 'object', 'properties': {'bigEndianBytes': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeInt64EncodingBigEndianBytes', 'description': 'Use `BigEndianBytes` encoding.'}, 'orderedCodeBytes': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeInt64EncodingOrderedCodeBytes', 'description': 'Use `OrderedCodeBytes` encoding.'}}, 'description': 'Rules used to convert to or from lower level types.'}, 'GoogleBigtableAdminV2TypeStringEncoding': {'type': 'object', 'properties': {'utf8Raw': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeStringEncodingUtf8Raw', 'deprecated': True, 'description': 'Deprecated: if set, converts to an empty `utf8_bytes`.'}, 'utf8Bytes': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeStringEncodingUtf8Bytes', 'description': 'Use `Utf8Bytes` encoding.'}}, 'description': 'Rules used to convert to or from lower level types.'}, 'GoogleBigtableAdminV2TypeStructEncoding': {'type': 'object', 'properties': {'singleton': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeStructEncodingSingleton', 'description': 'Use `Singleton` encoding.'}, 'delimitedBytes': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeStructEncodingDelimitedBytes', 'description': 'Use `DelimitedBytes` encoding.'}, 'orderedCodeBytes': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeStructEncodingOrderedCodeBytes', 'description': 'User `OrderedCodeBytes` encoding.'}}, 'description': 'Rules used to convert to or from lower level types.'}, 'GoogleBigtableAdminV2TypeBytesEncodingRaw': {'type': 'object', 'properties': {'escapeNulls': {'type': 'boolean', 'description': 'If set, allows NULL values to be encoded as the empty string "". The actual empty string, or any value which only contains the null byte `0x00`, has one more null byte appended.'}}, 'description': 'Leaves the value as-is. Sorted mode: all values are supported. Distinct mode: all values are supported.'}, 'GoogleBigtableAdminV2TypeTimestampEncoding': {'type': 'object', 'properties': {'unixMicrosInt64': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeInt64Encoding', 'description': 'Encodes the number of microseconds since the Unix epoch using the given `Int64` encoding. Values must be microsecond-aligned. Compatible with: - Java `Instant.truncatedTo()` with `ChronoUnit.MICROS`'}}, 'description': 'Rules used to convert to or from lower level types.'}, 'GoogleBigtableAdminV2TypeStringEncodingUtf8Raw': {'type': 'object', 'properties': {}, 'description': 'Deprecated: prefer the equivalent `Utf8Bytes`.'}, 'GoogleBigtableAdminV2TypeStringEncodingUtf8Bytes': {'type': 'object', 'properties': {'nullEscapeChar': {'type': 'string', 'description': 'Single-character escape sequence used to support NULL values. If set, allows NULL values to be encoded as the empty string "". The actual empty string, or any value where every character equals `null_escape_char`, has one more `null_escape_char` appended. If `null_escape_char` is set and does not equal the ASCII null character `0x00`, then the encoding will not support sorted mode. .'}}, 'description': 'UTF-8 encoding. Sorted mode: - All values are supported. - Code point order is preserved. Distinct mode: all values are supported. Compatible with: - BigQuery `TEXT` encoding - HBase `Bytes.toBytes` - Java `String#getBytes(StandardCharsets.UTF_8)`'}, 'GoogleBigtableAdminV2TypeStructEncodingSingleton': {'type': 'object', 'properties': {}, 'description': 'Uses the encoding of `fields[0].type` as-is. Only valid if `fields.size == 1`. This encoding does not support `DESC` field ordering.'}, 'GoogleBigtableAdminV2TypeInt32EncodingBigEndianBytes': {'type': 'object', 'properties': {}, 'description': "Encodes the value as a 4-byte big-endian two's complement value. Sorted mode: non-negative values are supported. Distinct mode: all values are supported. Compatible with: - BigQuery `BINARY` encoding - HBase `Bytes.toBytes` - Java `ByteBuffer.putInt()` with `ByteOrder.BIG_ENDIAN`"}, 'GoogleBigtableAdminV2TypeInt64EncodingBigEndianBytes': {'type': 'object', 'properties': {'bytesType': {'$ref': '#/$defs/GoogleBigtableAdminV2TypeBytes', 'deprecated': True, 'description': 'Deprecated: ignored if set.'}}, 'description': "Encodes the value as an 8-byte big-endian two's complement value. Sorted mode: non-negative values are supported. Distinct mode: all values are supported. Compatible with: - BigQuery `BINARY` encoding - HBase `Bytes.toBytes` - Java `ByteBuffer.putLong()` with `ByteOrder.BIG_ENDIAN`"}, 'GoogleBigtableAdminV2TypeStructEncodingDelimitedBytes': {'type': 'object', 'properties': {'delimiter': {'type': 'string', 'format': 'byte', 'description': 'Byte sequence used to delimit concatenated fields. The delimiter must contain at least 1 character and at most 50 characters.'}}, 'description': 'Fields are encoded independently and concatenated with a configurable `delimiter` in between. A struct with no fields defined is encoded as a single `delimiter`. Sorted mode: - Fields are encoded in sorted mode. - Encoded field values must not contain any bytes <= `delimiter[0]` - Element-wise order is preserved: `A < B` if `A[0] < B[0]`, or if `A[0] == B[0] && A[1] < B[1]`, etc. Strict prefixes sort first. - This encoding does not support `DESC` field ordering. Distinct mode: - Fields are encoded in distinct mode. - Encoded field values must not contain `delimiter[0]`.'}, 'GoogleBigtableAdminV2TypeInt32EncodingOrderedCodeBytes': {'type': 'object', 'properties': {}, 'description': 'Encodes the value in a variable length binary format of up to 5 bytes. Values that are closer to zero use fewer bytes. Sorted mode: all values are supported. Distinct mode: all values are supported.'}, 'GoogleBigtableAdminV2TypeInt64EncodingOrderedCodeBytes': {'type': 'object', 'properties': {}, 'description': 'Encodes the value in a variable length binary format of up to 10 bytes. Values that are closer to zero use fewer bytes. Sorted mode: all values are supported. Distinct mode: all values are supported.'}, 'GoogleBigtableAdminV2TypeStructEncodingOrderedCodeBytes': {'type': 'object', 'properties': {}, 'description': 'Fields are encoded independently, then escaped and delimited by appling the following rules in order: - While the last remaining field is `ASC` or `UNSPECIFIED`, and encodes to the empty string "", remove it. - In each remaining field, replace all null bytes `0x00` with the fixed byte pair `{0x00, 0xFF}`. - If any remaining field encodes to the empty string "", replace it with the fixed byte pair `{0x00, 0x00}`. - Append the fixed byte pair `{0x00, 0x01}` to each remaining field, except for the last remaining field if it is `ASC`. - Bitwise negate all `DESC` fields. - Concatenate the results, or emit the fixed byte pair `{0x00, 0x00}` if there are no remaining fields to concatenate. Examples: ``` - STRUCT() -> "\\00\\00" - STRUCT("") -> "\\00\\00" - STRUCT("", "") -> "\\00\\00" - STRUCT("", "B") -> "\\00\\00" + "\\00\\01" + "B" - STRUCT("A", "") -> "A" - STRUCT("", "B", "") -> "\\00\\00" + "\\00\\01" + "B" - STRUCT("A", "", "C") -> "A" + "\\00\\01" + "\\00\\00" + "\\00\\01" + "C" ``` Examples for struct with `DESC` fields: ``` - STRUCT("" DESC) -> "\\xFF\\xFF" + "\\xFF\\xFE" - STRUCT("" DESC, "") -> "\\xFF\\xFF" + "\\xFF\\xFE" - STRUCT("" DESC, "", "") -> "\\xFF\\xFF" + "\\xFF\\xFE" - STRUCT("" DESC, "A") -> "\\xFF\\xFF" + "\\xFF\\xFE" + "A" - STRUCT("A", "" DESC, "") -> "A" + "\\00\\01" + "\\xFF\\xFF" + "\\xFF\\xFE" - STRUCT("", "A" DESC) -> "\\x00\\x00" + "\\x00\\x01" + "\\xBE" + "\\xFF\\xFE" ``` Since null bytes are always escaped, this encoding can cause size blowup for encodings like `Int64.BigEndianBytes` that are likely to produce many such bytes. Sorted mode: - Fields are encoded in sorted mode. - All values supported by the field encodings are allowed. - Fields with unset or `UNSPECIFIED` order are treated as `ASC`. - Element-wise order is preserved: `A < B` if `A[0] < B[0]`, or if `A[0] == B[0] && A[1] < B[1]`, etc. Strict prefixes sort first. Distinct mode: - Fields are encoded in distinct mode. - All values supported by the field encodings are allowed.'}, 'GoogleBigtableAdminV2TypeAggregateHyperLogLogPlusPlusUniqueCount': {'type': 'object', 'properties': {}, 'description': '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)'}}, 'properties': {'tables': {'type': 'array', 'items': {'$ref': '#/$defs/Table'}, 'description': 'The tables present in the requested instance.'}, 'nextPageToken': {'type': 'string', 'description': '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.'}}, 'description': 'Response message for google.bigtable.admin.v2.BigtableTableAdmin.ListTables'}
update_logical_view
Updates a Bigtable logical view within a specified instance. You can update the GoogleSQL query and/or the deletion protection setting. At least one field to update (e.g., `query` or `deletion_protection`) must be provided in logical_view field. Update query example: { "project_id": "my-project", "instance_id": "my-instance", "logical_view_id": "my-logical-view", logical_view: { "query": "SELECT CF FROM my-table" } } Update deletion protection example: { "project_id": "my-project", "instance_id": "my-instance", "logical_view_id": "my-logical-view", logical_view: { "deletion_protection": true } } Update query and deletion protection example: { "project_id": "my-project", "instance_id": "my-instance", "logical_view_id": "my-logical-view", logical_view: { "query": "SELECT CF FROM my-table", "deletion_protection": true } }
可访问外部资源 幂等
输入模式
{'type': 'object', '$defs': {'LogicalView': {'type': 'object', 'required': ['query'], 'properties': {'name': {'type': 'string', 'description': 'Identifier. The name of the logical view.', 'x-google-identifier': True}, 'query': {'type': 'string', 'description': "Required. The logical view's select query."}, 'deletionProtection': {'type': 'boolean', 'description': 'Optional. Set to true to make the LogicalView protected against deletion.'}}, 'description': 'A simplified mcp version of the SQL logical view object.'}}, 'required': ['projectId', 'instanceId', 'logicalViewId', 'logicalView'], 'properties': {'projectId': {'type': 'string', 'description': 'Required. The project ID (e.g., "my-project"). If not known from the context, the Agent should attempt to get the current project ID from the gcloud config by running `gcloud config get-value project`. If the attempt fails, prompt the user for the project ID.'}, 'instanceId': {'type': 'string', 'description': 'Required. The instance ID within the project where the logical view will be created (e.g., "my-instance").'}, 'logicalView': {'$ref': '#/$defs/LogicalView', 'description': 'Required. The logical view to update.'}, 'logicalViewId': {'type': 'string', 'description': 'Required. The ID used for the logical view within its instance, e.g., `mylogicalview`.'}}, 'description': 'Request message for Bigtable.UpdateLogicalView'}
输出模式
{'type': 'object', '$defs': {'Status': {'type': 'object', 'properties': {'code': {'type': 'integer', 'format': 'int32', 'description': 'The status code, which should be an enum value of google.rpc.Code.'}, 'details': {'type': 'array', 'items': {'type': 'object', 'additionalProperties': {'description': 'Properties of the object. Contains field @type with type URL.'}}, 'description': 'A list of messages that carry the error details. There is a common set of message types for APIs to use.'}, 'message': {'type': 'string', 'description': 'A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.'}}, 'description': 'The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors).'}}, 'properties': {'done': {'type': 'boolean', 'description': 'If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.'}, 'name': {'type': 'string', 'description': 'The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.'}, 'error': {'$ref': '#/$defs/Status', 'description': 'The error result of the operation in case of failure or cancellation.'}, 'metadata': {'type': 'object', 'description': 'Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.', 'additionalProperties': {'description': 'Properties of the object. Contains field @type with type URL.'}}, 'response': {'type': 'object', 'description': 'The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.', 'additionalProperties': {'description': 'Properties of the object. Contains field @type with type URL.'}}}, 'description': 'This resource represents a long-running operation that is the result of a network API call.'}
已添加
list_hot_tablets
2026年9月17日 12:35
已添加
delete_logical_view
2026年9月17日 12:35
已添加
update_logical_view
2026年9月17日 12:35
已添加
list_logical_views
2026年9月17日 12:35
已添加
get_logical_view
2026年9月17日 12:35
已添加
create_logical_view
2026年9月17日 12:35
已添加
delete_table
2026年9月17日 12:35
已添加
list_tables
2026年9月17日 12:35
已添加
get_table
2026年9月17日 12:35
已添加
create_table
2026年9月17日 12:35
已添加
delete_instance
2026年9月17日 12:35
已添加
list_instances
2026年9月17日 12:35
已添加
get_instance
2026年9月17日 12:35
已添加
create_instance
2026年9月17日 12:35