@google-cloud/bigtable
Version:
Cloud Bigtable Client Library for Node.js
722 lines • 123 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 Instances and
* Clusters. Provides access to the Instance and Cluster schemas only, not the
* tables' metadata or data stored in those tables.
* @class
* @memberof v2
*/
export declare class BigtableInstanceAdminClient {
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;
bigtableInstanceAdminStub?: Promise<{
[name: string]: Function;
}>;
/**
* Construct an instance of BigtableInstanceAdminClient.
*
* @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 BigtableInstanceAdminClient({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;
/**
* Gets information about an instance.
*
* @param {Object} request
* The request object that will be sent.
* @param {string} request.name
* Required. The unique name of the requested instance. Values are of the form
* `projects/{project}/instances/{instance}`.
* @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.Instance|Instance}.
* 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_instance_admin.get_instance.js</caption>
* region_tag:bigtableadmin_v2_generated_BigtableInstanceAdmin_GetInstance_async
*/
getInstance(request?: protos.google.bigtable.admin.v2.IGetInstanceRequest, options?: CallOptions): Promise<[
protos.google.bigtable.admin.v2.IInstance,
protos.google.bigtable.admin.v2.IGetInstanceRequest | undefined,
{} | undefined
]>;
getInstance(request: protos.google.bigtable.admin.v2.IGetInstanceRequest, options: CallOptions, callback: Callback<protos.google.bigtable.admin.v2.IInstance, protos.google.bigtable.admin.v2.IGetInstanceRequest | null | undefined, {} | null | undefined>): void;
getInstance(request: protos.google.bigtable.admin.v2.IGetInstanceRequest, callback: Callback<protos.google.bigtable.admin.v2.IInstance, protos.google.bigtable.admin.v2.IGetInstanceRequest | null | undefined, {} | null | undefined>): void;
/**
* Lists information about instances in a project.
*
* @param {Object} request
* The request object that will be sent.
* @param {string} request.parent
* Required. The unique name of the project for which a list of instances is
* requested. Values are of the form `projects/{project}`.
* @param {string} request.pageToken
* DEPRECATED: This field is unused and ignored.
* @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.ListInstancesResponse|ListInstancesResponse}.
* 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_instance_admin.list_instances.js</caption>
* region_tag:bigtableadmin_v2_generated_BigtableInstanceAdmin_ListInstances_async
*/
listInstances(request?: protos.google.bigtable.admin.v2.IListInstancesRequest, options?: CallOptions): Promise<[
protos.google.bigtable.admin.v2.IListInstancesResponse,
protos.google.bigtable.admin.v2.IListInstancesRequest | undefined,
{} | undefined
]>;
listInstances(request: protos.google.bigtable.admin.v2.IListInstancesRequest, options: CallOptions, callback: Callback<protos.google.bigtable.admin.v2.IListInstancesResponse, protos.google.bigtable.admin.v2.IListInstancesRequest | null | undefined, {} | null | undefined>): void;
listInstances(request: protos.google.bigtable.admin.v2.IListInstancesRequest, callback: Callback<protos.google.bigtable.admin.v2.IListInstancesResponse, protos.google.bigtable.admin.v2.IListInstancesRequest | null | undefined, {} | null | undefined>): void;
/**
* Updates an instance within a project. This method updates only the display
* name and type for an Instance. To update other Instance properties, such as
* labels, use PartialUpdateInstance.
*
* @param {Object} request
* The request object that will be sent.
* @param {string} request.name
* The unique name of the instance. Values are of the form
* `projects/{project}/instances/{@link protos.a-z0-9\\-|a-z}+[a-z0-9]`.
* @param {string} request.displayName
* 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.
* @param {google.bigtable.admin.v2.Instance.State} request.state
* Output only. The current state of the instance.
* @param {google.bigtable.admin.v2.Instance.Type} request.type
* The type of the instance. Defaults to `PRODUCTION`.
* @param {number[]} request.labels
* 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: `{@link protos.\p{Ll}\p{Lo}\p{N}_-|\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.
* @param {google.protobuf.Timestamp} request.createTime
* 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`.
* @param {boolean} request.satisfiesPzs
* Output only. Reserved for future use.
* @param {boolean} request.satisfiesPzi
* Output only. Reserved for future use.
* @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.Instance|Instance}.
* 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_instance_admin.update_instance.js</caption>
* region_tag:bigtableadmin_v2_generated_BigtableInstanceAdmin_UpdateInstance_async
*/
updateInstance(request?: protos.google.bigtable.admin.v2.IInstance, options?: CallOptions): Promise<[
protos.google.bigtable.admin.v2.IInstance,
protos.google.bigtable.admin.v2.IInstance | undefined,
{} | undefined
]>;
updateInstance(request: protos.google.bigtable.admin.v2.IInstance, options: CallOptions, callback: Callback<protos.google.bigtable.admin.v2.IInstance, protos.google.bigtable.admin.v2.IInstance | null | undefined, {} | null | undefined>): void;
updateInstance(request: protos.google.bigtable.admin.v2.IInstance, callback: Callback<protos.google.bigtable.admin.v2.IInstance, protos.google.bigtable.admin.v2.IInstance | null | undefined, {} | null | undefined>): void;
/**
* Delete an instance from a project.
*
* @param {Object} request
* The request object that will be sent.
* @param {string} request.name
* Required. The unique name of the instance to be deleted.
* Values are of the form `projects/{project}/instances/{instance}`.
* @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_instance_admin.delete_instance.js</caption>
* region_tag:bigtableadmin_v2_generated_BigtableInstanceAdmin_DeleteInstance_async
*/
deleteInstance(request?: protos.google.bigtable.admin.v2.IDeleteInstanceRequest, options?: CallOptions): Promise<[
protos.google.protobuf.IEmpty,
protos.google.bigtable.admin.v2.IDeleteInstanceRequest | undefined,
{} | undefined
]>;
deleteInstance(request: protos.google.bigtable.admin.v2.IDeleteInstanceRequest, options: CallOptions, callback: Callback<protos.google.protobuf.IEmpty, protos.google.bigtable.admin.v2.IDeleteInstanceRequest | null | undefined, {} | null | undefined>): void;
deleteInstance(request: protos.google.bigtable.admin.v2.IDeleteInstanceRequest, callback: Callback<protos.google.protobuf.IEmpty, protos.google.bigtable.admin.v2.IDeleteInstanceRequest | null | undefined, {} | null | undefined>): void;
/**
* Gets information about a cluster.
*
* @param {Object} request
* The request object that will be sent.
* @param {string} request.name
* Required. The unique name of the requested cluster. Values are of the form
* `projects/{project}/instances/{instance}/clusters/{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.Cluster|Cluster}.
* 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_instance_admin.get_cluster.js</caption>
* region_tag:bigtableadmin_v2_generated_BigtableInstanceAdmin_GetCluster_async
*/
getCluster(request?: protos.google.bigtable.admin.v2.IGetClusterRequest, options?: CallOptions): Promise<[
protos.google.bigtable.admin.v2.ICluster,
protos.google.bigtable.admin.v2.IGetClusterRequest | undefined,
{} | undefined
]>;
getCluster(request: protos.google.bigtable.admin.v2.IGetClusterRequest, options: CallOptions, callback: Callback<protos.google.bigtable.admin.v2.ICluster, protos.google.bigtable.admin.v2.IGetClusterRequest | null | undefined, {} | null | undefined>): void;
getCluster(request: protos.google.bigtable.admin.v2.IGetClusterRequest, callback: Callback<protos.google.bigtable.admin.v2.ICluster, protos.google.bigtable.admin.v2.IGetClusterRequest | null | undefined, {} | null | undefined>): void;
/**
* Lists information about clusters in an instance.
*
* @param {Object} request
* The request object that will be sent.
* @param {string} request.parent
* Required. The unique name of the instance for which a list of clusters is
* requested. Values are of the form
* `projects/{project}/instances/{instance}`. Use `{instance} = '-'` to list
* Clusters for all Instances in a project, e.g.,
* `projects/myproject/instances/-`.
* @param {string} request.pageToken
* DEPRECATED: This field is unused and ignored.
* @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.ListClustersResponse|ListClustersResponse}.
* 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_instance_admin.list_clusters.js</caption>
* region_tag:bigtableadmin_v2_generated_BigtableInstanceAdmin_ListClusters_async
*/
listClusters(request?: protos.google.bigtable.admin.v2.IListClustersRequest, options?: CallOptions): Promise<[
protos.google.bigtable.admin.v2.IListClustersResponse,
protos.google.bigtable.admin.v2.IListClustersRequest | undefined,
{} | undefined
]>;
listClusters(request: protos.google.bigtable.admin.v2.IListClustersRequest, options: CallOptions, callback: Callback<protos.google.bigtable.admin.v2.IListClustersResponse, protos.google.bigtable.admin.v2.IListClustersRequest | null | undefined, {} | null | undefined>): void;
listClusters(request: protos.google.bigtable.admin.v2.IListClustersRequest, callback: Callback<protos.google.bigtable.admin.v2.IListClustersResponse, protos.google.bigtable.admin.v2.IListClustersRequest | null | undefined, {} | null | undefined>): void;
/**
* Deletes a cluster from an instance.
*
* @param {Object} request
* The request object that will be sent.
* @param {string} request.name
* Required. The unique name of the cluster to be deleted. Values are of the
* form `projects/{project}/instances/{instance}/clusters/{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.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_instance_admin.delete_cluster.js</caption>
* region_tag:bigtableadmin_v2_generated_BigtableInstanceAdmin_DeleteCluster_async
*/
deleteCluster(request?: protos.google.bigtable.admin.v2.IDeleteClusterRequest, options?: CallOptions): Promise<[
protos.google.protobuf.IEmpty,
protos.google.bigtable.admin.v2.IDeleteClusterRequest | undefined,
{} | undefined
]>;
deleteCluster(request: protos.google.bigtable.admin.v2.IDeleteClusterRequest, options: CallOptions, callback: Callback<protos.google.protobuf.IEmpty, protos.google.bigtable.admin.v2.IDeleteClusterRequest | null | undefined, {} | null | undefined>): void;
deleteCluster(request: protos.google.bigtable.admin.v2.IDeleteClusterRequest, callback: Callback<protos.google.protobuf.IEmpty, protos.google.bigtable.admin.v2.IDeleteClusterRequest | null | undefined, {} | null | undefined>): void;
/**
* Creates an app profile within an instance.
*
* @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 new app
* profile. Values are of the form `projects/{project}/instances/{instance}`.
* @param {string} request.appProfileId
* Required. The ID to be used when referring to the new app profile within
* its instance, e.g., just `myprofile` rather than
* `projects/myproject/instances/myinstance/appProfiles/myprofile`.
* @param {google.bigtable.admin.v2.AppProfile} request.appProfile
* Required. The app profile to be created.
* Fields marked `OutputOnly` will be ignored.
* @param {boolean} request.ignoreWarnings
* If true, ignore safety checks when creating the app profile.
* @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.AppProfile|AppProfile}.
* 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_instance_admin.create_app_profile.js</caption>
* region_tag:bigtableadmin_v2_generated_BigtableInstanceAdmin_CreateAppProfile_async
*/
createAppProfile(request?: protos.google.bigtable.admin.v2.ICreateAppProfileRequest, options?: CallOptions): Promise<[
protos.google.bigtable.admin.v2.IAppProfile,
protos.google.bigtable.admin.v2.ICreateAppProfileRequest | undefined,
{} | undefined
]>;
createAppProfile(request: protos.google.bigtable.admin.v2.ICreateAppProfileRequest, options: CallOptions, callback: Callback<protos.google.bigtable.admin.v2.IAppProfile, protos.google.bigtable.admin.v2.ICreateAppProfileRequest | null | undefined, {} | null | undefined>): void;
createAppProfile(request: protos.google.bigtable.admin.v2.ICreateAppProfileRequest, callback: Callback<protos.google.bigtable.admin.v2.IAppProfile, protos.google.bigtable.admin.v2.ICreateAppProfileRequest | null | undefined, {} | null | undefined>): void;
/**
* Gets information about an app profile.
*
* @param {Object} request
* The request object that will be sent.
* @param {string} request.name
* Required. The unique name of the requested app profile. Values are of the
* form `projects/{project}/instances/{instance}/appProfiles/{app_profile}`.
* @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.AppProfile|AppProfile}.
* 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_instance_admin.get_app_profile.js</caption>
* region_tag:bigtableadmin_v2_generated_BigtableInstanceAdmin_GetAppProfile_async
*/
getAppProfile(request?: protos.google.bigtable.admin.v2.IGetAppProfileRequest, options?: CallOptions): Promise<[
protos.google.bigtable.admin.v2.IAppProfile,
protos.google.bigtable.admin.v2.IGetAppProfileRequest | undefined,
{} | undefined
]>;
getAppProfile(request: protos.google.bigtable.admin.v2.IGetAppProfileRequest, options: CallOptions, callback: Callback<protos.google.bigtable.admin.v2.IAppProfile, protos.google.bigtable.admin.v2.IGetAppProfileRequest | null | undefined, {} | null | undefined>): void;
getAppProfile(request: protos.google.bigtable.admin.v2.IGetAppProfileRequest, callback: Callback<protos.google.bigtable.admin.v2.IAppProfile, protos.google.bigtable.admin.v2.IGetAppProfileRequest | null | undefined, {} | null | undefined>): void;
/**
* Deletes an app profile from an instance.
*
* @param {Object} request
* The request object that will be sent.
* @param {string} request.name
* Required. The unique name of the app profile to be deleted. Values are of
* the form
* `projects/{project}/instances/{instance}/appProfiles/{app_profile}`.
* @param {boolean} request.ignoreWarnings
* Required. If true, ignore safety checks when deleting the app profile.
* @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_instance_admin.delete_app_profile.js</caption>
* region_tag:bigtableadmin_v2_generated_BigtableInstanceAdmin_DeleteAppProfile_async
*/
deleteAppProfile(request?: protos.google.bigtable.admin.v2.IDeleteAppProfileRequest, options?: CallOptions): Promise<[
protos.google.protobuf.IEmpty,
protos.google.bigtable.admin.v2.IDeleteAppProfileRequest | undefined,
{} | undefined
]>;
deleteAppProfile(request: protos.google.bigtable.admin.v2.IDeleteAppProfileRequest, options: CallOptions, callback: Callback<protos.google.protobuf.IEmpty, protos.google.bigtable.admin.v2.IDeleteAppProfileRequest | null | undefined, {} | null | undefined>): void;
deleteAppProfile(request: protos.google.bigtable.admin.v2.IDeleteAppProfileRequest, callback: Callback<protos.google.protobuf.IEmpty, protos.google.bigtable.admin.v2.IDeleteAppProfileRequest | null | undefined, {} | null | undefined>): void;
/**
* Gets the access control policy for an instance resource. Returns an empty
* policy if an instance 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_instance_admin.get_iam_policy.js</caption>
* region_tag:bigtableadmin_v2_generated_BigtableInstanceAdmin_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 an instance 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_instance_admin.set_iam_policy.js</caption>
* region_tag:bigtableadmin_v2_generated_BigtableInstanceAdmin_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 instance 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_instance_admin.test_iam_permissions.js</caption>
* region_tag:bigtableadmin_v2_generated_BigtableInstanceAdmin_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;
/**
* Gets information about a logical view.
*
* @param {Object} request
* The request object that will be sent.
* @param {string} request.name
* Required. The unique name of the requested logical view. Values are of the
* form `projects/{project}/instances/{instance}/logicalViews/{logical_view}`.
* @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.LogicalView|LogicalView}.
* 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_instance_admin.get_logical_view.js</caption>
* region_tag:bigtableadmin_v2_generated_BigtableInstanceAdmin_GetLogicalView_async
*/
getLogicalView(request?: protos.google.bigtable.admin.v2.IGetLogicalViewRequest, options?: CallOptions): Promise<[
protos.google.bigtable.admin.v2.ILogicalView,
protos.google.bigtable.admin.v2.IGetLogicalViewRequest | undefined,
{} | undefined
]>;
getLogicalView(request: protos.google.bigtable.admin.v2.IGetLogicalViewRequest, options: CallOptions, callback: Callback<protos.google.bigtable.admin.v2.ILogicalView, protos.google.bigtable.admin.v2.IGetLogicalViewRequest | null | undefined, {} | null | undefined>): void;
getLogicalView(request: protos.google.bigtable.admin.v2.IGetLogicalViewRequest, callback: Callback<protos.google.bigtable.admin.v2.ILogicalView, protos.google.bigtable.admin.v2.IGetLogicalViewRequest | null | undefined, {} | null | undefined>): void;
/**
* Deletes a logical view from an instance.
*
* @param {Object} request
* The request object that will be sent.
* @param {string} request.name
* Required. The unique name of the logical view to be deleted.
* Format:
* `projects/{project}/instances/{instance}/logicalViews/{logical_view}`.
* @param {string} [request.etag]
* 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.
* @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_instance_admin.delete_logical_view.js</caption>
* region_tag:bigtableadmin_v2_generated_BigtableInstanceAdmin_DeleteLogicalView_async
*/
deleteLogicalView(request?: protos.google.bigtable.admin.v2.IDeleteLogicalViewRequest, options?: CallOptions): Promise<[
protos.google.protobuf.IEmpty,
protos.google.bigtable.admin.v2.IDeleteLogicalViewRequest | undefined,
{} | undefined
]>;
deleteLogicalView(request: protos.google.bigtable.admin.v2.IDeleteLogicalViewRequest, options: CallOptions, callback: Callback<protos.google.protobuf.IEmpty, protos.google.bigtable.admin.v2.IDeleteLogicalViewRequest | null | undefined, {} | null | undefined>): void;
deleteLogicalView(request: protos.google.bigtable.admin.v2.IDeleteLogicalViewRequest, callback: Callback<protos.google.protobuf.IEmpty, protos.google.bigtable.admin.v2.IDeleteLogicalViewRequest | null | undefined, {} | null | undefined>): void;
/**
* Gets information about a materialized view.
*
* @param {Object} request
* The request object that will be sent.
* @param {string} request.name
* Required. The unique name of the requested materialized view. Values are of
* the form
* `projects/{project}/instances/{instance}/materializedViews/{materialized_view}`.
* @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.MaterializedView|MaterializedView}.
* 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_instance_admin.get_materialized_view.js</caption>
* region_tag:bigtableadmin_v2_generated_BigtableInstanceAdmin_GetMaterializedView_async
*/
getMaterializedView(request?: protos.google.bigtable.admin.v2.IGetMaterializedViewRequest, options?: CallOptions): Promise<[
protos.google.bigtable.admin.v2.IMaterializedView,
protos.google.bigtable.admin.v2.IGetMaterializedViewRequest | undefined,
{} | undefined
]>;
getMaterializedView(request: protos.google.bigtable.admin.v2.IGetMaterializedViewRequest, options: CallOptions, callback: Callback<protos.google.bigtable.admin.v2.IMaterializedView, protos.google.bigtable.admin.v2.IGetMaterializedViewRequest | null | undefined, {} | null | undefined>): void;
getMaterializedView(request: protos.google.bigtable.admin.v2.IGetMaterializedViewRequest, callback: Callback<protos.google.bigtable.admin.v2.IMaterializedView, protos.google.bigtable.admin.v2.IGetMaterializedViewRequest | null | undefined, {} | null | undefined>): void;
/**
* Deletes a materialized view from an instance.
*
* @param {Object} request
* The request object that will be sent.
* @param {string} request.name
* Required. The unique name of the materialized view to be deleted.
* Format:
* `projects/{project}/instances/{instance}/materializedViews/{materialized_view}`.
* @param {string} [request.etag]
* Optional. The current etag of the materialized view.
* If an etag is provided and does not match the current etag of the
* materialized view, 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_instance_admin.delete_materialized_view.js</caption>
* region_tag:bigtableadmin_v2_generated_BigtableInstanceAdmin_DeleteMaterializedView_async
*/
deleteMaterializedView(request?: protos.google.bigtable.admin.v2.IDeleteMaterializedViewRequest, options?: CallOptions): Promise<[
protos.google.protobuf.IEmpty,
(protos.google.bigtable.admin.v2.IDeleteMaterializedViewRequest | undefined),
{} | undefined
]>;
deleteMaterializedView(request: protos.google.bigtable.admin.v2.IDeleteMaterializedViewRequest, options: CallOptions, callback: Callback<protos.google.protobuf.IEmpty, protos.google.bigtable.admin.v2.IDeleteMaterializedViewRequest | null | undefined, {} | null | undefined>): void;
deleteMaterializedView(request: protos.google.bigtable.admin.v2.IDeleteMaterializedViewRequest, callback: Callback<protos.google.protobuf.IEmpty, protos.google.bigtable.admin.v2.IDeleteMaterializedViewRequest | null | undefined, {} | null | undefined>): void;
/**
* Create an instance within a project.
*
* Note that exactly one of Cluster.serve_nodes and
* Cluster.cluster_config.cluster_autoscaling_config can be set. If
* serve_nodes is set to non-zero, then the cluster is manually scaled. If
* cluster_config.cluster_autoscaling_config is non-empty, then autoscaling is
* enabled.
*
* @param {Object} request
* The request object that will be sent.
* @param {string} request.parent
* Required. The unique name of the project in which to create the new
* instance. Values are of the form `projects/{project}`.
* @param {string} request.instanceId
* 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`.
* @param {google.bigtable.admin.v2.Instance} request.instance
* Required. The instance to create.
* Fields marked `OutputOnly` must be left blank.
* @param {number[]} request.clusters
* Required. The clusters to be created within the instance, mapped by desired
* cluster ID, e.g., just `mycluster` rather than
* `projects/myproject/instances/myinstance/clusters/mycluster`.
* Fields marked `OutputOnly` must be left blank.
* @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_instance_admin.create_instance.js</caption>
* region_tag:bigtableadmin_v2_generated_BigtableInstanceAdmin_CreateInstance_async
*/
createInstance(request?: protos.google.bigtable.admin.v2.ICreateInstanceRequest, options?: CallOptions): Promise<[
LROperation<protos.google.bigtable.admin.v2.IInstance, protos.google.bigtable.admin.v2.ICreateInstanceMetadata>,
protos.google.longrunning.IOperation | undefined,
{} | undefined
]>;
createInstance(request: protos.google.bigtable.admin.v2.ICreateInstanceRequest, options: CallOptions, callback: Callback<LROperation<protos.google.bigtable.admin.v2.IInstance, protos.google.bigtable.admin.v2.ICreateInstanceMetadata>, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>): void;
createInstance(request: protos.google.bigtable.admin.v2.ICreateInstanceRequest, callback: Callback<LROperation<protos.google.bigtable.admin.v2.IInstance, protos.google.bigtable.admin.v2.ICreateInstanceMetadata>, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>): void;
/**
* Check the status of the long running operation returned by `createInstance()`.
* @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_instance_admin.create_instance.js</caption>
* region_tag:bigtableadmin_v2_generated_BigtableInstanceAdmin_CreateInstance_async
*/
checkCreateInstanceProgress(name: string): Promise<LROperation<protos.google.bigtable.admin.v2.Instance, protos.google.bigtable.admin.v2.CreateInstanceMetadata>>;
/**
* Partially updates an instance within a project. This method can modify all
* fields of an Instance and is the preferred way to update an Instance.
*
* @param {Object} request
* The request object that will be sent.
* @param {google.bigtable.admin.v2.Instance} request.instance
* Required. The Instance which will (partially) replace the current value.
* @param {google.protobuf.FieldMask} request.updateMask
* Required. The subset of Instance fields which should be replaced.
* Must be explicitly set.
* @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_instance_admin.partial_update_instance.js</caption>
* region_tag:bigtableadmin_v2_generated_BigtableInstanceAdmin_PartialUpdateInstance_async
*/
partialUpdateInstance(request?: protos.google.bigtable.admin.v2.IPartialUpdateInstanceRequest, options?: CallOptions): Promise<[
LROperation<protos.google.bigtable.admin.v2.IInstance, protos.google.bigtable.admin.v2.IUpdateInstanceMetadata>,
protos.google.longrunning.IOperation | undefined,
{} | undefined
]>;
partialUpdateInstance(request: protos.google.bigtable.admin.v2.IPartialUpdateInstanceRequest, options: CallOptions, callback: Callback<LROperation<protos.google.bigtable.admin.v2.IInstance, protos.google.bigtable.admin.v2.IUpdateInstanceMetadata>, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>): void;
partialUpdateInstance(request: protos.google.bigtable.admin.v2.IPartialUpdateInstanceRequest, callback: Callback<LROperation<protos.google.bigtable.admin.v2.IInstance, protos.google.bigtable.admin.v2.IUpdateInstanceMetadata>, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>): void;
/**
* Check the status of the long running operation returned by `partialUpdateInstance()`.
* @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_instance_admin.partial_update_instance.js</caption>
* region_tag:bigtableadmin_v2_generated_BigtableInstanceAdmin_PartialUpdateInstance_async
*/
checkPartialUpdateInstanceProgress(name: string): Promise<LROperation<protos.google.bigtable.admin.v2.Instance, protos.google.bigtable.admin.v2.UpdateInstanceMetadata>>;
/**
* Creates a cluster within an instance.
*
* Note that exactly one of Cluster.serve_nodes and
* Cluster.cluster_config.cluster_autoscaling_config can be set. If
* serve_nodes is set to non-zero, then the cluster is manually scaled. If
* cluster_config.cluster_autoscaling_config is non-empty, then autoscaling is
* enabled.
*
* @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 new
* cluster. Values are of the form `projects/{project}/instances/{instance}