UNPKG

@google-cloud/bigtable

Version:
738 lines 132 kB
import type * as gax from 'google-gax'; import type { Callback, CallOptions, Descriptors, ClientOptions, LROperation, PaginationCallback } from 'google-gax'; import { Transform } from 'stream'; import * as protos from '../../protos/protos'; /** * Service for creating, configuring, and deleting Cloud Bigtable tables. * * * Provides access to the table schemas only, not the data stored within * the tables. * @class * @memberof v2 */ export declare class BigtableTableAdminClient { private _terminated; private _opts; private _providedCustomServicePath; private _gaxModule; private _gaxGrpc; private _protos; private _defaults; private _universeDomain; private _servicePath; private _log; auth: gax.GoogleAuth; descriptors: Descriptors; warn: (code: string, message: string, warnType?: string) => void; innerApiCalls: { [name: string]: Function; }; pathTemplates: { [name: string]: gax.PathTemplate; }; operationsClient: gax.OperationsClient; bigtableTableAdminStub?: Promise<{ [name: string]: Function; }>; /** * Construct an instance of BigtableTableAdminClient. * * @param {object} [options] - The configuration object. * The options accepted by the constructor are described in detail * in [this document](https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#creating-the-client-instance). * The common options are: * @param {object} [options.credentials] - Credentials object. * @param {string} [options.credentials.client_email] * @param {string} [options.credentials.private_key] * @param {string} [options.email] - Account email address. Required when * using a .pem or .p12 keyFilename. * @param {string} [options.keyFilename] - Full path to the a .json, .pem, or * .p12 key downloaded from the Google Developers Console. If you provide * a path to a JSON file, the projectId option below is not necessary. * NOTE: .pem and .p12 require you to specify options.email as well. * @param {number} [options.port] - The port on which to connect to * the remote host. * @param {string} [options.projectId] - The project ID from the Google * Developer's Console, e.g. 'grape-spaceship-123'. We will also check * the environment variable GCLOUD_PROJECT for your project ID. If your * app is running in an environment which supports * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials}, * your project ID will be detected automatically. * @param {string} [options.apiEndpoint] - The domain name of the * API remote host. * @param {gax.ClientConfig} [options.clientConfig] - Client configuration override. * Follows the structure of {@link gapicConfig}. * @param {boolean} [options.fallback] - Use HTTP/1.1 REST mode. * For more information, please check the * {@link https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#http11-rest-api-mode documentation}. * @param {gax} [gaxInstance]: loaded instance of `google-gax`. Useful if you * need to avoid loading the default gRPC version and want to use the fallback * HTTP implementation. Load only fallback version and pass it to the constructor: * ``` * const gax = require('google-gax/build/src/fallback'); // avoids loading google-gax with gRPC * const client = new BigtableTableAdminClient({fallback: true}, gax); * ``` */ constructor(opts?: ClientOptions, gaxInstance?: typeof gax | typeof gax.fallback); /** * Initialize the client. * Performs asynchronous operations (such as authentication) and prepares the client. * This function will be called automatically when any class method is called for the * first time, but if you need to initialize it before calling an actual method, * feel free to call initialize() directly. * * You can await on this method if you want to make sure the client is initialized. * * @returns {Promise} A promise that resolves to an authenticated service stub. */ initialize(): Promise<{ [name: string]: Function; }>; /** * The DNS address for this API service. * @deprecated Use the apiEndpoint method of the client instance. * @returns {string} The DNS address for this service. */ static get servicePath(): string; /** * The DNS address for this API service - same as servicePath. * @deprecated Use the apiEndpoint method of the client instance. * @returns {string} The DNS address for this service. */ static get apiEndpoint(): string; /** * The DNS address for this API service. * @returns {string} The DNS address for this service. */ get apiEndpoint(): string; get universeDomain(): string; /** * The port for this API service. * @returns {number} The default port for this service. */ static get port(): number; /** * The scopes needed to make gRPC calls for every method defined * in this service. * @returns {string[]} List of default scopes. */ static get scopes(): string[]; getProjectId(): Promise<string>; getProjectId(callback: Callback<string, undefined, undefined>): void; /** * Creates a new table in the specified instance. * The table can be created with a full set of initial column families, * specified in the request. * * @param {Object} request * The request object that will be sent. * @param {string} request.parent * Required. The unique name of the instance in which to create the table. * Values are of the form `projects/{project}/instances/{instance}`. * @param {string} request.tableId * Required. The name by which the new table should be referred to within the * parent instance, e.g., `foobar` rather than `{parent}/tables/foobar`. * Maximum 50 characters. * @param {google.bigtable.admin.v2.Table} request.table * Required. The Table to create. * @param {number[]} request.initialSplits * The optional list of row keys that will be used to initially split the * table into several tablets (tablets are similar to HBase regions). * Given two split keys, `s1` and `s2`, three tablets will be created, * spanning the key ranges: `[, s1), [s1, s2), [s2, )`. * * Example: * * * Row keys := `["a", "apple", "custom", "customer_1", "customer_2",` * `"other", "zz"]` * * initial_split_keys := `["apple", "customer_1", "customer_2", "other"]` * * Key assignment: * - Tablet 1 `[, apple) => {"a"}.` * - Tablet 2 `[apple, customer_1) => {"apple", "custom"}.` * - Tablet 3 `[customer_1, customer_2) => {"customer_1"}.` * - Tablet 4 `[customer_2, other) => {"customer_2"}.` * - Tablet 5 `[other, ) => {"other", "zz"}.` * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing {@link protos.google.bigtable.admin.v2.Table|Table}. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } * for more details and examples. * @example <caption>include:samples/generated/v2/bigtable_table_admin.create_table.js</caption> * region_tag:bigtableadmin_v2_generated_BigtableTableAdmin_CreateTable_async */ createTable(request?: protos.google.bigtable.admin.v2.ICreateTableRequest, options?: CallOptions): Promise<[ protos.google.bigtable.admin.v2.ITable, protos.google.bigtable.admin.v2.ICreateTableRequest | undefined, {} | undefined ]>; createTable(request: protos.google.bigtable.admin.v2.ICreateTableRequest, options: CallOptions, callback: Callback<protos.google.bigtable.admin.v2.ITable, protos.google.bigtable.admin.v2.ICreateTableRequest | null | undefined, {} | null | undefined>): void; createTable(request: protos.google.bigtable.admin.v2.ICreateTableRequest, callback: Callback<protos.google.bigtable.admin.v2.ITable, protos.google.bigtable.admin.v2.ICreateTableRequest | null | undefined, {} | null | undefined>): void; /** * Gets metadata information about the specified table. * * @param {Object} request * The request object that will be sent. * @param {string} request.name * Required. The unique name of the requested table. * Values are of the form * `projects/{project}/instances/{instance}/tables/{table}`. * @param {google.bigtable.admin.v2.Table.View} request.view * The view to be applied to the returned table's fields. * Defaults to `SCHEMA_VIEW` if unspecified. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing {@link protos.google.bigtable.admin.v2.Table|Table}. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } * for more details and examples. * @example <caption>include:samples/generated/v2/bigtable_table_admin.get_table.js</caption> * region_tag:bigtableadmin_v2_generated_BigtableTableAdmin_GetTable_async */ getTable(request?: protos.google.bigtable.admin.v2.IGetTableRequest, options?: CallOptions): Promise<[ protos.google.bigtable.admin.v2.ITable, protos.google.bigtable.admin.v2.IGetTableRequest | undefined, {} | undefined ]>; getTable(request: protos.google.bigtable.admin.v2.IGetTableRequest, options: CallOptions, callback: Callback<protos.google.bigtable.admin.v2.ITable, protos.google.bigtable.admin.v2.IGetTableRequest | null | undefined, {} | null | undefined>): void; getTable(request: protos.google.bigtable.admin.v2.IGetTableRequest, callback: Callback<protos.google.bigtable.admin.v2.ITable, protos.google.bigtable.admin.v2.IGetTableRequest | null | undefined, {} | null | undefined>): void; /** * Permanently deletes a specified table and all of its data. * * @param {Object} request * The request object that will be sent. * @param {string} request.name * Required. The unique name of the table to be deleted. * Values are of the form * `projects/{project}/instances/{instance}/tables/{table}`. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing {@link protos.google.protobuf.Empty|Empty}. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } * for more details and examples. * @example <caption>include:samples/generated/v2/bigtable_table_admin.delete_table.js</caption> * region_tag:bigtableadmin_v2_generated_BigtableTableAdmin_DeleteTable_async */ deleteTable(request?: protos.google.bigtable.admin.v2.IDeleteTableRequest, options?: CallOptions): Promise<[ protos.google.protobuf.IEmpty, protos.google.bigtable.admin.v2.IDeleteTableRequest | undefined, {} | undefined ]>; deleteTable(request: protos.google.bigtable.admin.v2.IDeleteTableRequest, options: CallOptions, callback: Callback<protos.google.protobuf.IEmpty, protos.google.bigtable.admin.v2.IDeleteTableRequest | null | undefined, {} | null | undefined>): void; deleteTable(request: protos.google.bigtable.admin.v2.IDeleteTableRequest, callback: Callback<protos.google.protobuf.IEmpty, protos.google.bigtable.admin.v2.IDeleteTableRequest | null | undefined, {} | null | undefined>): void; /** * Gets information from a specified AuthorizedView. * * @param {Object} request * The request object that will be sent. * @param {string} request.name * Required. The unique name of the requested AuthorizedView. * Values are of the form * `projects/{project}/instances/{instance}/tables/{table}/authorizedViews/{authorized_view}`. * @param {google.bigtable.admin.v2.AuthorizedView.ResponseView} [request.view] * Optional. The resource_view to be applied to the returned AuthorizedView's * fields. Default to BASIC. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing {@link protos.google.bigtable.admin.v2.AuthorizedView|AuthorizedView}. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } * for more details and examples. * @example <caption>include:samples/generated/v2/bigtable_table_admin.get_authorized_view.js</caption> * region_tag:bigtableadmin_v2_generated_BigtableTableAdmin_GetAuthorizedView_async */ getAuthorizedView(request?: protos.google.bigtable.admin.v2.IGetAuthorizedViewRequest, options?: CallOptions): Promise<[ protos.google.bigtable.admin.v2.IAuthorizedView, protos.google.bigtable.admin.v2.IGetAuthorizedViewRequest | undefined, {} | undefined ]>; getAuthorizedView(request: protos.google.bigtable.admin.v2.IGetAuthorizedViewRequest, options: CallOptions, callback: Callback<protos.google.bigtable.admin.v2.IAuthorizedView, protos.google.bigtable.admin.v2.IGetAuthorizedViewRequest | null | undefined, {} | null | undefined>): void; getAuthorizedView(request: protos.google.bigtable.admin.v2.IGetAuthorizedViewRequest, callback: Callback<protos.google.bigtable.admin.v2.IAuthorizedView, protos.google.bigtable.admin.v2.IGetAuthorizedViewRequest | null | undefined, {} | null | undefined>): void; /** * Permanently deletes a specified AuthorizedView. * * @param {Object} request * The request object that will be sent. * @param {string} request.name * Required. The unique name of the AuthorizedView to be deleted. * Values are of the form * `projects/{project}/instances/{instance}/tables/{table}/authorizedViews/{authorized_view}`. * @param {string} [request.etag] * Optional. The current etag of the AuthorizedView. * If an etag is provided and does not match the current etag of the * AuthorizedView, deletion will be blocked and an ABORTED error will be * returned. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing {@link protos.google.protobuf.Empty|Empty}. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } * for more details and examples. * @example <caption>include:samples/generated/v2/bigtable_table_admin.delete_authorized_view.js</caption> * region_tag:bigtableadmin_v2_generated_BigtableTableAdmin_DeleteAuthorizedView_async */ deleteAuthorizedView(request?: protos.google.bigtable.admin.v2.IDeleteAuthorizedViewRequest, options?: CallOptions): Promise<[ protos.google.protobuf.IEmpty, protos.google.bigtable.admin.v2.IDeleteAuthorizedViewRequest | undefined, {} | undefined ]>; deleteAuthorizedView(request: protos.google.bigtable.admin.v2.IDeleteAuthorizedViewRequest, options: CallOptions, callback: Callback<protos.google.protobuf.IEmpty, protos.google.bigtable.admin.v2.IDeleteAuthorizedViewRequest | null | undefined, {} | null | undefined>): void; deleteAuthorizedView(request: protos.google.bigtable.admin.v2.IDeleteAuthorizedViewRequest, callback: Callback<protos.google.protobuf.IEmpty, protos.google.bigtable.admin.v2.IDeleteAuthorizedViewRequest | null | undefined, {} | null | undefined>): void; /** * Performs a series of column family modifications on the specified table. * Either all or none of the modifications will occur before this method * returns, but data requests received prior to that point may see a table * where only some modifications have taken effect. * * @param {Object} request * The request object that will be sent. * @param {string} request.name * Required. The unique name of the table whose families should be modified. * Values are of the form * `projects/{project}/instances/{instance}/tables/{table}`. * @param {number[]} request.modifications * Required. Modifications to be atomically applied to the specified table's * families. Entries are applied in order, meaning that earlier modifications * can be masked by later ones (in the case of repeated updates to the same * family, for example). * @param {boolean} [request.ignoreWarnings] * Optional. If true, ignore safety checks when modifying the column families. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing {@link protos.google.bigtable.admin.v2.Table|Table}. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } * for more details and examples. * @example <caption>include:samples/generated/v2/bigtable_table_admin.modify_column_families.js</caption> * region_tag:bigtableadmin_v2_generated_BigtableTableAdmin_ModifyColumnFamilies_async */ modifyColumnFamilies(request?: protos.google.bigtable.admin.v2.IModifyColumnFamiliesRequest, options?: CallOptions): Promise<[ protos.google.bigtable.admin.v2.ITable, protos.google.bigtable.admin.v2.IModifyColumnFamiliesRequest | undefined, {} | undefined ]>; modifyColumnFamilies(request: protos.google.bigtable.admin.v2.IModifyColumnFamiliesRequest, options: CallOptions, callback: Callback<protos.google.bigtable.admin.v2.ITable, protos.google.bigtable.admin.v2.IModifyColumnFamiliesRequest | null | undefined, {} | null | undefined>): void; modifyColumnFamilies(request: protos.google.bigtable.admin.v2.IModifyColumnFamiliesRequest, callback: Callback<protos.google.bigtable.admin.v2.ITable, protos.google.bigtable.admin.v2.IModifyColumnFamiliesRequest | null | undefined, {} | null | undefined>): void; /** * Permanently drop/delete a row range from a specified table. The request can * specify whether to delete all rows in a table, or only those that match a * particular prefix. * * @param {Object} request * The request object that will be sent. * @param {string} request.name * Required. The unique name of the table on which to drop a range of rows. * Values are of the form * `projects/{project}/instances/{instance}/tables/{table}`. * @param {Buffer} request.rowKeyPrefix * Delete all rows that start with this row key prefix. Prefix cannot be * zero length. * @param {boolean} request.deleteAllDataFromTable * Delete all rows in the table. Setting this to false is a no-op. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing {@link protos.google.protobuf.Empty|Empty}. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } * for more details and examples. * @example <caption>include:samples/generated/v2/bigtable_table_admin.drop_row_range.js</caption> * region_tag:bigtableadmin_v2_generated_BigtableTableAdmin_DropRowRange_async */ dropRowRange(request?: protos.google.bigtable.admin.v2.IDropRowRangeRequest, options?: CallOptions): Promise<[ protos.google.protobuf.IEmpty, protos.google.bigtable.admin.v2.IDropRowRangeRequest | undefined, {} | undefined ]>; dropRowRange(request: protos.google.bigtable.admin.v2.IDropRowRangeRequest, options: CallOptions, callback: Callback<protos.google.protobuf.IEmpty, protos.google.bigtable.admin.v2.IDropRowRangeRequest | null | undefined, {} | null | undefined>): void; dropRowRange(request: protos.google.bigtable.admin.v2.IDropRowRangeRequest, callback: Callback<protos.google.protobuf.IEmpty, protos.google.bigtable.admin.v2.IDropRowRangeRequest | null | undefined, {} | null | undefined>): void; /** * Generates a consistency token for a Table, which can be used in * CheckConsistency to check whether mutations to the table that finished * before this call started have been replicated. The tokens will be available * for 90 days. * * @param {Object} request * The request object that will be sent. * @param {string} request.name * Required. The unique name of the Table for which to create a consistency * token. Values are of the form * `projects/{project}/instances/{instance}/tables/{table}`. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing {@link protos.google.bigtable.admin.v2.GenerateConsistencyTokenResponse|GenerateConsistencyTokenResponse}. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } * for more details and examples. * @example <caption>include:samples/generated/v2/bigtable_table_admin.generate_consistency_token.js</caption> * region_tag:bigtableadmin_v2_generated_BigtableTableAdmin_GenerateConsistencyToken_async */ generateConsistencyToken(request?: protos.google.bigtable.admin.v2.IGenerateConsistencyTokenRequest, options?: CallOptions): Promise<[ protos.google.bigtable.admin.v2.IGenerateConsistencyTokenResponse, (protos.google.bigtable.admin.v2.IGenerateConsistencyTokenRequest | undefined), {} | undefined ]>; generateConsistencyToken(request: protos.google.bigtable.admin.v2.IGenerateConsistencyTokenRequest, options: CallOptions, callback: Callback<protos.google.bigtable.admin.v2.IGenerateConsistencyTokenResponse, protos.google.bigtable.admin.v2.IGenerateConsistencyTokenRequest | null | undefined, {} | null | undefined>): void; generateConsistencyToken(request: protos.google.bigtable.admin.v2.IGenerateConsistencyTokenRequest, callback: Callback<protos.google.bigtable.admin.v2.IGenerateConsistencyTokenResponse, protos.google.bigtable.admin.v2.IGenerateConsistencyTokenRequest | null | undefined, {} | null | undefined>): void; /** * Checks replication consistency based on a consistency token, that is, if * replication has caught up based on the conditions specified in the token * and the check request. * * @param {Object} request * The request object that will be sent. * @param {string} request.name * Required. The unique name of the Table for which to check replication * consistency. Values are of the form * `projects/{project}/instances/{instance}/tables/{table}`. * @param {string} request.consistencyToken * Required. The token created using GenerateConsistencyToken for the Table. * @param {google.bigtable.admin.v2.StandardReadRemoteWrites} request.standardReadRemoteWrites * Checks that reads using an app profile with `StandardIsolation` can * see all writes committed before the token was created, even if the * read and write target different clusters. * @param {google.bigtable.admin.v2.DataBoostReadLocalWrites} request.dataBoostReadLocalWrites * Checks that reads using an app profile with `DataBoostIsolationReadOnly` * can see all writes committed before the token was created, but only if * the read and write target the same cluster. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing {@link protos.google.bigtable.admin.v2.CheckConsistencyResponse|CheckConsistencyResponse}. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } * for more details and examples. * @example <caption>include:samples/generated/v2/bigtable_table_admin.check_consistency.js</caption> * region_tag:bigtableadmin_v2_generated_BigtableTableAdmin_CheckConsistency_async */ checkConsistency(request?: protos.google.bigtable.admin.v2.ICheckConsistencyRequest, options?: CallOptions): Promise<[ protos.google.bigtable.admin.v2.ICheckConsistencyResponse, protos.google.bigtable.admin.v2.ICheckConsistencyRequest | undefined, {} | undefined ]>; checkConsistency(request: protos.google.bigtable.admin.v2.ICheckConsistencyRequest, options: CallOptions, callback: Callback<protos.google.bigtable.admin.v2.ICheckConsistencyResponse, protos.google.bigtable.admin.v2.ICheckConsistencyRequest | null | undefined, {} | null | undefined>): void; checkConsistency(request: protos.google.bigtable.admin.v2.ICheckConsistencyRequest, callback: Callback<protos.google.bigtable.admin.v2.ICheckConsistencyResponse, protos.google.bigtable.admin.v2.ICheckConsistencyRequest | null | undefined, {} | null | undefined>): void; /** * Gets metadata information about the specified snapshot. * * Note: This is a private alpha release of Cloud Bigtable snapshots. This * feature is not currently available to most Cloud Bigtable customers. This * feature might be changed in backward-incompatible ways and is not * recommended for production use. It is not subject to any SLA or deprecation * policy. * * @param {Object} request * The request object that will be sent. * @param {string} request.name * Required. The unique name of the requested snapshot. * Values are of the form * `projects/{project}/instances/{instance}/clusters/{cluster}/snapshots/{snapshot}`. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing {@link protos.google.bigtable.admin.v2.Snapshot|Snapshot}. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } * for more details and examples. * @example <caption>include:samples/generated/v2/bigtable_table_admin.get_snapshot.js</caption> * region_tag:bigtableadmin_v2_generated_BigtableTableAdmin_GetSnapshot_async */ getSnapshot(request?: protos.google.bigtable.admin.v2.IGetSnapshotRequest, options?: CallOptions): Promise<[ protos.google.bigtable.admin.v2.ISnapshot, protos.google.bigtable.admin.v2.IGetSnapshotRequest | undefined, {} | undefined ]>; getSnapshot(request: protos.google.bigtable.admin.v2.IGetSnapshotRequest, options: CallOptions, callback: Callback<protos.google.bigtable.admin.v2.ISnapshot, protos.google.bigtable.admin.v2.IGetSnapshotRequest | null | undefined, {} | null | undefined>): void; getSnapshot(request: protos.google.bigtable.admin.v2.IGetSnapshotRequest, callback: Callback<protos.google.bigtable.admin.v2.ISnapshot, protos.google.bigtable.admin.v2.IGetSnapshotRequest | null | undefined, {} | null | undefined>): void; /** * Permanently deletes the specified snapshot. * * Note: This is a private alpha release of Cloud Bigtable snapshots. This * feature is not currently available to most Cloud Bigtable customers. This * feature might be changed in backward-incompatible ways and is not * recommended for production use. It is not subject to any SLA or deprecation * policy. * * @param {Object} request * The request object that will be sent. * @param {string} request.name * Required. The unique name of the snapshot to be deleted. * Values are of the form * `projects/{project}/instances/{instance}/clusters/{cluster}/snapshots/{snapshot}`. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing {@link protos.google.protobuf.Empty|Empty}. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } * for more details and examples. * @example <caption>include:samples/generated/v2/bigtable_table_admin.delete_snapshot.js</caption> * region_tag:bigtableadmin_v2_generated_BigtableTableAdmin_DeleteSnapshot_async */ deleteSnapshot(request?: protos.google.bigtable.admin.v2.IDeleteSnapshotRequest, options?: CallOptions): Promise<[ protos.google.protobuf.IEmpty, protos.google.bigtable.admin.v2.IDeleteSnapshotRequest | undefined, {} | undefined ]>; deleteSnapshot(request: protos.google.bigtable.admin.v2.IDeleteSnapshotRequest, options: CallOptions, callback: Callback<protos.google.protobuf.IEmpty, protos.google.bigtable.admin.v2.IDeleteSnapshotRequest | null | undefined, {} | null | undefined>): void; deleteSnapshot(request: protos.google.bigtable.admin.v2.IDeleteSnapshotRequest, callback: Callback<protos.google.protobuf.IEmpty, protos.google.bigtable.admin.v2.IDeleteSnapshotRequest | null | undefined, {} | null | undefined>): void; /** * Gets metadata on a pending or completed Cloud Bigtable Backup. * * @param {Object} request * The request object that will be sent. * @param {string} request.name * Required. Name of the backup. * Values are of the form * `projects/{project}/instances/{instance}/clusters/{cluster}/backups/{backup}`. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing {@link protos.google.bigtable.admin.v2.Backup|Backup}. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } * for more details and examples. * @example <caption>include:samples/generated/v2/bigtable_table_admin.get_backup.js</caption> * region_tag:bigtableadmin_v2_generated_BigtableTableAdmin_GetBackup_async */ getBackup(request?: protos.google.bigtable.admin.v2.IGetBackupRequest, options?: CallOptions): Promise<[ protos.google.bigtable.admin.v2.IBackup, protos.google.bigtable.admin.v2.IGetBackupRequest | undefined, {} | undefined ]>; getBackup(request: protos.google.bigtable.admin.v2.IGetBackupRequest, options: CallOptions, callback: Callback<protos.google.bigtable.admin.v2.IBackup, protos.google.bigtable.admin.v2.IGetBackupRequest | null | undefined, {} | null | undefined>): void; getBackup(request: protos.google.bigtable.admin.v2.IGetBackupRequest, callback: Callback<protos.google.bigtable.admin.v2.IBackup, protos.google.bigtable.admin.v2.IGetBackupRequest | null | undefined, {} | null | undefined>): void; /** * Updates a pending or completed Cloud Bigtable Backup. * * @param {Object} request * The request object that will be sent. * @param {google.bigtable.admin.v2.Backup} request.backup * Required. The backup to update. `backup.name`, and the fields to be updated * as specified by `update_mask` are required. Other fields are ignored. * Update is only supported for the following fields: * * * `backup.expire_time`. * @param {google.protobuf.FieldMask} request.updateMask * Required. A mask specifying which fields (e.g. `expire_time`) in the * Backup resource should be updated. This mask is relative to the Backup * resource, not to the request message. The field mask must always be * specified; this prevents any future fields from being erased accidentally * by clients that do not know about them. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing {@link protos.google.bigtable.admin.v2.Backup|Backup}. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } * for more details and examples. * @example <caption>include:samples/generated/v2/bigtable_table_admin.update_backup.js</caption> * region_tag:bigtableadmin_v2_generated_BigtableTableAdmin_UpdateBackup_async */ updateBackup(request?: protos.google.bigtable.admin.v2.IUpdateBackupRequest, options?: CallOptions): Promise<[ protos.google.bigtable.admin.v2.IBackup, protos.google.bigtable.admin.v2.IUpdateBackupRequest | undefined, {} | undefined ]>; updateBackup(request: protos.google.bigtable.admin.v2.IUpdateBackupRequest, options: CallOptions, callback: Callback<protos.google.bigtable.admin.v2.IBackup, protos.google.bigtable.admin.v2.IUpdateBackupRequest | null | undefined, {} | null | undefined>): void; updateBackup(request: protos.google.bigtable.admin.v2.IUpdateBackupRequest, callback: Callback<protos.google.bigtable.admin.v2.IBackup, protos.google.bigtable.admin.v2.IUpdateBackupRequest | null | undefined, {} | null | undefined>): void; /** * Deletes a pending or completed Cloud Bigtable backup. * * @param {Object} request * The request object that will be sent. * @param {string} request.name * Required. Name of the backup to delete. * Values are of the form * `projects/{project}/instances/{instance}/clusters/{cluster}/backups/{backup}`. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing {@link protos.google.protobuf.Empty|Empty}. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } * for more details and examples. * @example <caption>include:samples/generated/v2/bigtable_table_admin.delete_backup.js</caption> * region_tag:bigtableadmin_v2_generated_BigtableTableAdmin_DeleteBackup_async */ deleteBackup(request?: protos.google.bigtable.admin.v2.IDeleteBackupRequest, options?: CallOptions): Promise<[ protos.google.protobuf.IEmpty, protos.google.bigtable.admin.v2.IDeleteBackupRequest | undefined, {} | undefined ]>; deleteBackup(request: protos.google.bigtable.admin.v2.IDeleteBackupRequest, options: CallOptions, callback: Callback<protos.google.protobuf.IEmpty, protos.google.bigtable.admin.v2.IDeleteBackupRequest | null | undefined, {} | null | undefined>): void; deleteBackup(request: protos.google.bigtable.admin.v2.IDeleteBackupRequest, callback: Callback<protos.google.protobuf.IEmpty, protos.google.bigtable.admin.v2.IDeleteBackupRequest | null | undefined, {} | null | undefined>): void; /** * Gets the access control policy for a Table or Backup resource. * Returns an empty policy if the resource exists but does not have a policy * set. * * @param {Object} request * The request object that will be sent. * @param {string} request.resource * REQUIRED: The resource for which the policy is being requested. * See the operation documentation for the appropriate value for this field. * @param {google.iam.v1.GetPolicyOptions} request.options * OPTIONAL: A `GetPolicyOptions` object for specifying options to * `GetIamPolicy`. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing {@link protos.google.iam.v1.Policy|Policy}. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } * for more details and examples. * @example <caption>include:samples/generated/v2/bigtable_table_admin.get_iam_policy.js</caption> * region_tag:bigtableadmin_v2_generated_BigtableTableAdmin_GetIamPolicy_async */ getIamPolicy(request?: protos.google.iam.v1.IGetIamPolicyRequest, options?: CallOptions): Promise<[ protos.google.iam.v1.IPolicy, protos.google.iam.v1.IGetIamPolicyRequest | undefined, {} | undefined ]>; getIamPolicy(request: protos.google.iam.v1.IGetIamPolicyRequest, options: CallOptions, callback: Callback<protos.google.iam.v1.IPolicy, protos.google.iam.v1.IGetIamPolicyRequest | null | undefined, {} | null | undefined>): void; getIamPolicy(request: protos.google.iam.v1.IGetIamPolicyRequest, callback: Callback<protos.google.iam.v1.IPolicy, protos.google.iam.v1.IGetIamPolicyRequest | null | undefined, {} | null | undefined>): void; /** * Sets the access control policy on a Table or Backup resource. * Replaces any existing policy. * * @param {Object} request * The request object that will be sent. * @param {string} request.resource * REQUIRED: The resource for which the policy is being specified. * See the operation documentation for the appropriate value for this field. * @param {google.iam.v1.Policy} request.policy * REQUIRED: The complete policy to be applied to the `resource`. The size of * the policy is limited to a few 10s of KB. An empty policy is a * valid policy but certain Cloud Platform services (such as Projects) * might reject them. * @param {google.protobuf.FieldMask} request.updateMask * OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only * the fields in the mask will be modified. If no mask is provided, the * following default mask is used: * * `paths: "bindings, etag"` * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing {@link protos.google.iam.v1.Policy|Policy}. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } * for more details and examples. * @example <caption>include:samples/generated/v2/bigtable_table_admin.set_iam_policy.js</caption> * region_tag:bigtableadmin_v2_generated_BigtableTableAdmin_SetIamPolicy_async */ setIamPolicy(request?: protos.google.iam.v1.ISetIamPolicyRequest, options?: CallOptions): Promise<[ protos.google.iam.v1.IPolicy, protos.google.iam.v1.ISetIamPolicyRequest | undefined, {} | undefined ]>; setIamPolicy(request: protos.google.iam.v1.ISetIamPolicyRequest, options: CallOptions, callback: Callback<protos.google.iam.v1.IPolicy, protos.google.iam.v1.ISetIamPolicyRequest | null | undefined, {} | null | undefined>): void; setIamPolicy(request: protos.google.iam.v1.ISetIamPolicyRequest, callback: Callback<protos.google.iam.v1.IPolicy, protos.google.iam.v1.ISetIamPolicyRequest | null | undefined, {} | null | undefined>): void; /** * Returns permissions that the caller has on the specified Table or Backup * resource. * * @param {Object} request * The request object that will be sent. * @param {string} request.resource * REQUIRED: The resource for which the policy detail is being requested. * See the operation documentation for the appropriate value for this field. * @param {string[]} request.permissions * The set of permissions to check for the `resource`. Permissions with * wildcards (such as '*' or 'storage.*') are not allowed. For more * information see * [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions). * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing {@link protos.google.iam.v1.TestIamPermissionsResponse|TestIamPermissionsResponse}. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation } * for more details and examples. * @example <caption>include:samples/generated/v2/bigtable_table_admin.test_iam_permissions.js</caption> * region_tag:bigtableadmin_v2_generated_BigtableTableAdmin_TestIamPermissions_async */ testIamPermissions(request?: protos.google.iam.v1.ITestIamPermissionsRequest, options?: CallOptions): Promise<[ protos.google.iam.v1.ITestIamPermissionsResponse, protos.google.iam.v1.ITestIamPermissionsRequest | undefined, {} | undefined ]>; testIamPermissions(request: protos.google.iam.v1.ITestIamPermissionsRequest, options: CallOptions, callback: Callback<protos.google.iam.v1.ITestIamPermissionsResponse, protos.google.iam.v1.ITestIamPermissionsRequest | null | undefined, {} | null | undefined>): void; testIamPermissions(request: protos.google.iam.v1.ITestIamPermissionsRequest, callback: Callback<protos.google.iam.v1.ITestIamPermissionsResponse, protos.google.iam.v1.ITestIamPermissionsRequest | null | undefined, {} | null | undefined>): void; /** * Creates a new table from the specified snapshot. The target table must * not exist. The snapshot and the table must be in the same instance. * * Note: This is a private alpha release of Cloud Bigtable snapshots. This * feature is not currently available to most Cloud Bigtable customers. This * feature might be changed in backward-incompatible ways and is not * recommended for production use. It is not subject to any SLA or deprecation * policy. * * @param {Object} request * The request object that will be sent. * @param {string} request.parent * Required. The unique name of the instance in which to create the table. * Values are of the form `projects/{project}/instances/{instance}`. * @param {string} request.tableId * Required. The name by which the new table should be referred to within the * parent instance, e.g., `foobar` rather than `{parent}/tables/foobar`. * @param {string} request.sourceSnapshot * Required. The unique name of the snapshot from which to restore the table. * The snapshot and the table must be in the same instance. Values are of the * form * `projects/{project}/instances/{instance}/clusters/{cluster}/snapshots/{snapshot}`. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing * a long running operation. Its `promise()` method returns a promise * you can `await` for. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } * for more details and examples. * @example <caption>include:samples/generated/v2/bigtable_table_admin.create_table_from_snapshot.js</caption> * region_tag:bigtableadmin_v2_generated_BigtableTableAdmin_CreateTableFromSnapshot_async */ createTableFromSnapshot(request?: protos.google.bigtable.admin.v2.ICreateTableFromSnapshotRequest, options?: CallOptions): Promise<[ LROperation<protos.google.bigtable.admin.v2.ITable, protos.google.bigtable.admin.v2.ICreateTableFromSnapshotMetadata>, protos.google.longrunning.IOperation | undefined, {} | undefined ]>; createTableFromSnapshot(request: protos.google.bigtable.admin.v2.ICreateTableFromSnapshotRequest, options: CallOptions, callback: Callback<LROperation<protos.google.bigtable.admin.v2.ITable, protos.google.bigtable.admin.v2.ICreateTableFromSnapshotMetadata>, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>): void; createTableFromSnapshot(request: protos.google.bigtable.admin.v2.ICreateTableFromSnapshotRequest, callback: Callback<LROperation<protos.google.bigtable.admin.v2.ITable, protos.google.bigtable.admin.v2.ICreateTableFromSnapshotMetadata>, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>): void; /** * Check the status of the long running operation returned by `createTableFromSnapshot()`. * @param {String} name * The operation name that will be passed. * @returns {Promise} - The promise which resolves to an object. * The decoded operation object has result and metadata field to get information from. * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation } * for more details and examples. * @example <caption>include:samples/generated/v2/bigtable_table_admin.create_table_from_snapshot.js</caption> * region_tag:bigtableadmin_v2_generated_BigtableTableAdmin_CreateTableFromSnapshot_async */ checkCreateTableFromSnapshotProgress(name: string): Promise<LROperation<protos.google.bigtable.admin.v2.Table, protos.google.bigtable.admin.v2.CreateTableFromSnapshotMetadata>>; /** * Updates a specified table. * * @param {Object} request * The request object that will be sent. * @param {google.bigtable.admin.v2.Table} request.table * Required. The table to update. * The table's `name` field is used to identify the table to update. * @param {google.protobuf.FieldMask} request.updateMask * Required. The list of fields to update. * A mask specifying which fields (e.g. `change_stream_config`) in the `table` * field should be updated. This mask is relative to the `table` field, not to * the request message. The wildcard (*) path is currently not supported. * Currently UpdateTable is only supported for the following fields: * * * `change_stream_config` * * `change_stream_config.retention_period` * * `deletion_protection` * * `row_key_schema` * * If `column_families` is set in `update_mask`, it will return an * UNIMPLEMENTED error. * @param {boolean} [request.ignoreWarnings] * Optional. If true, ignore safety checks when updating the table. * @param {object} [options] * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. * @returns {Promise} - The promise which resolves to an array. * The first element of the array is an object representing * a long running operation. Its `promise()` method returns a promise * you can `await` for. * Please see the {@link https://github.com/googleapis/gax