@google-cloud/bigtable
Version:
Cloud Bigtable Client Library for Node.js
738 lines • 132 kB
TypeScript
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