@google-cloud/spanner-api 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/README.md +111 -0
  2. package/build/protos/google/spanner/admin/database/v1/backup.proto +773 -0
  3. package/build/protos/google/spanner/admin/database/v1/backup_schedule.proto +230 -0
  4. package/build/protos/google/spanner/admin/database/v1/common.proto +132 -0
  5. package/build/protos/google/spanner/admin/database/v1/spanner_database_admin.proto +1314 -0
  6. package/build/protos/google/spanner/admin/instance/v1/common.proto +64 -0
  7. package/build/protos/google/spanner/admin/instance/v1/spanner_instance_admin.proto +2184 -0
  8. package/build/protos/google/spanner/executor/v1/cloud_executor.proto +1610 -0
  9. package/build/protos/google/spanner/v1/change_stream.proto +451 -0
  10. package/build/protos/google/spanner/v1/commit_response.proto +80 -0
  11. package/build/protos/google/spanner/v1/keys.proto +163 -0
  12. package/build/protos/google/spanner/v1/location.proto +388 -0
  13. package/build/protos/google/spanner/v1/mutation.proto +156 -0
  14. package/build/protos/google/spanner/v1/query_plan.proto +156 -0
  15. package/build/protos/google/spanner/v1/result_set.proto +260 -0
  16. package/build/protos/google/spanner/v1/spanner.proto +1472 -0
  17. package/build/protos/google/spanner/v1/transaction.proto +329 -0
  18. package/build/protos/google/spanner/v1/type.proto +214 -0
  19. package/build/protos/protos.d.ts +42547 -0
  20. package/build/protos/protos.js +1 -0
  21. package/build/protos/protos.json +1 -0
  22. package/build/src/index.d.ts +20 -0
  23. package/build/src/index.js +34 -0
  24. package/build/src/index.js.map +1 -0
  25. package/build/src/v1/database_admin_client.d.ts +2433 -0
  26. package/build/src/v1/database_admin_client.js +2938 -0
  27. package/build/src/v1/database_admin_client.js.map +1 -0
  28. package/build/src/v1/database_admin_client_config.json +169 -0
  29. package/build/src/v1/database_admin_proto_list.json +6 -0
  30. package/build/src/v1/gapic_metadata.json +253 -0
  31. package/build/src/v1/index.d.ts +4 -0
  32. package/build/src/v1/index.js +29 -0
  33. package/build/src/v1/index.js.map +1 -0
  34. package/build/src/v1/instance_admin_client.d.ts +2162 -0
  35. package/build/src/v1/instance_admin_client.js +2411 -0
  36. package/build/src/v1/instance_admin_client.js.map +1 -0
  37. package/build/src/v1/instance_admin_client_config.json +129 -0
  38. package/build/src/v1/instance_admin_proto_list.json +4 -0
  39. package/build/src/v1/spanner_client.d.ts +1353 -0
  40. package/build/src/v1/spanner_client.js +1456 -0
  41. package/build/src/v1/spanner_client.js.map +1 -0
  42. package/build/src/v1/spanner_client_config.json +123 -0
  43. package/build/src/v1/spanner_executor_proxy_client.d.ts +419 -0
  44. package/build/src/v1/spanner_executor_proxy_client.js +730 -0
  45. package/build/src/v1/spanner_executor_proxy_client.js.map +1 -0
  46. package/build/src/v1/spanner_executor_proxy_client_config.json +30 -0
  47. package/build/src/v1/spanner_executor_proxy_proto_list.json +15 -0
  48. package/build/src/v1/spanner_proto_list.json +12 -0
  49. package/package.json +65 -0
@@ -0,0 +1,2162 @@
1
+ import type * as gax from 'google-gax';
2
+ import type { Callback, CallOptions, Descriptors, ClientOptions, LROperation, PaginationCallback } from 'google-gax';
3
+ import { Transform } from 'stream';
4
+ import * as protos from '../../protos/protos';
5
+ /**
6
+ * Cloud Spanner Instance Admin API
7
+ *
8
+ * The Cloud Spanner Instance Admin API can be used to create, delete,
9
+ * modify and list instances. Instances are dedicated Cloud Spanner serving
10
+ * and storage resources to be used by Cloud Spanner databases.
11
+ *
12
+ * Each instance has a "configuration", which dictates where the
13
+ * serving resources for the Cloud Spanner instance are located (e.g.,
14
+ * US-central, Europe). Configurations are created by Google based on
15
+ * resource availability.
16
+ *
17
+ * Cloud Spanner billing is based on the instances that exist and their
18
+ * sizes. After an instance exists, there are no additional
19
+ * per-database or per-operation charges for use of the instance
20
+ * (though there may be additional network bandwidth charges).
21
+ * Instances offer isolation: problems with databases in one instance
22
+ * will not affect other instances. However, within an instance
23
+ * databases can affect each other. For example, if one database in an
24
+ * instance receives a lot of requests and consumes most of the
25
+ * instance resources, fewer resources are available for other
26
+ * databases in that instance, and their performance may suffer.
27
+ * @class
28
+ * @memberof v1
29
+ */
30
+ export declare class InstanceAdminClient {
31
+ private _terminated;
32
+ private _opts;
33
+ private _providedCustomServicePath;
34
+ private _gaxModule;
35
+ private _gaxGrpc;
36
+ private _protos;
37
+ private _defaults;
38
+ private _universeDomain;
39
+ private _servicePath;
40
+ private _log;
41
+ auth: gax.GoogleAuth;
42
+ descriptors: Descriptors;
43
+ warn: (code: string, message: string, warnType?: string) => void;
44
+ innerApiCalls: {
45
+ [name: string]: Function;
46
+ };
47
+ pathTemplates: {
48
+ [name: string]: gax.PathTemplate;
49
+ };
50
+ operationsClient: gax.OperationsClient;
51
+ instanceAdminStub?: Promise<{
52
+ [name: string]: Function;
53
+ }>;
54
+ /**
55
+ * Construct an instance of InstanceAdminClient.
56
+ *
57
+ * @param {object} [options] - The configuration object.
58
+ * The options accepted by the constructor are described in detail
59
+ * in [this document](https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#creating-the-client-instance).
60
+ * The common options are:
61
+ * @param {object} [options.credentials] - Credentials object.
62
+ * @param {string} [options.credentials.client_email]
63
+ * @param {string} [options.credentials.private_key]
64
+ * @param {string} [options.email] - Account email address. Required when
65
+ * using a .pem or .p12 keyFilename.
66
+ * @param {string} [options.keyFilename] - Full path to the a .json, .pem, or
67
+ * .p12 key downloaded from the Google Developers Console. If you provide
68
+ * a path to a JSON file, the projectId option below is not necessary.
69
+ * NOTE: .pem and .p12 require you to specify options.email as well.
70
+ * @param {number} [options.port] - The port on which to connect to
71
+ * the remote host.
72
+ * @param {string} [options.projectId] - The project ID from the Google
73
+ * Developer's Console, e.g. 'grape-spaceship-123'. We will also check
74
+ * the environment variable GCLOUD_PROJECT for your project ID. If your
75
+ * app is running in an environment which supports
76
+ * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials},
77
+ * your project ID will be detected automatically.
78
+ * @param {string} [options.apiEndpoint] - The domain name of the
79
+ * API remote host.
80
+ * @param {gax.ClientConfig} [options.clientConfig] - Client configuration override.
81
+ * Follows the structure of {@link gapicConfig}.
82
+ * @param {boolean} [options.fallback] - Use HTTP/1.1 REST mode.
83
+ * For more information, please check the
84
+ * {@link https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#http11-rest-api-mode documentation}.
85
+ * @param {gax} [gaxInstance]: loaded instance of `google-gax`. Useful if you
86
+ * need to avoid loading the default gRPC version and want to use the fallback
87
+ * HTTP implementation. Load only fallback version and pass it to the constructor:
88
+ * ```
89
+ * const gax = require('google-gax/build/src/fallback'); // avoids loading google-gax with gRPC
90
+ * const client = new InstanceAdminClient({fallback: true}, gax);
91
+ * ```
92
+ */
93
+ constructor(opts?: ClientOptions, gaxInstance?: typeof gax | typeof gax.fallback);
94
+ /**
95
+ * Initialize the client.
96
+ * Performs asynchronous operations (such as authentication) and prepares the client.
97
+ * This function will be called automatically when any class method is called for the
98
+ * first time, but if you need to initialize it before calling an actual method,
99
+ * feel free to call initialize() directly.
100
+ *
101
+ * You can await on this method if you want to make sure the client is initialized.
102
+ *
103
+ * @returns {Promise} A promise that resolves to an authenticated service stub.
104
+ */
105
+ initialize(): Promise<{
106
+ [name: string]: Function;
107
+ }>;
108
+ /**
109
+ * The DNS address for this API service.
110
+ * @deprecated Use the apiEndpoint method of the client instance.
111
+ * @returns {string} The DNS address for this service.
112
+ */
113
+ static get servicePath(): string;
114
+ /**
115
+ * The DNS address for this API service - same as servicePath.
116
+ * @deprecated Use the apiEndpoint method of the client instance.
117
+ * @returns {string} The DNS address for this service.
118
+ */
119
+ static get apiEndpoint(): string;
120
+ /**
121
+ * The DNS address for this API service.
122
+ * @returns {string} The DNS address for this service.
123
+ */
124
+ get apiEndpoint(): string;
125
+ get universeDomain(): string;
126
+ /**
127
+ * The port for this API service.
128
+ * @returns {number} The default port for this service.
129
+ */
130
+ static get port(): number;
131
+ /**
132
+ * The scopes needed to make gRPC calls for every method defined
133
+ * in this service.
134
+ * @returns {string[]} List of default scopes.
135
+ */
136
+ static get scopes(): string[];
137
+ getProjectId(): Promise<string>;
138
+ getProjectId(callback: Callback<string, undefined, undefined>): void;
139
+ /**
140
+ * Gets information about a particular instance configuration.
141
+ *
142
+ * @param {Object} request
143
+ * The request object that will be sent.
144
+ * @param {string} request.name
145
+ * Required. The name of the requested instance configuration. Values are of
146
+ * the form `projects/<project>/instanceConfigs/<config>`.
147
+ * @param {object} [options]
148
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
149
+ * @returns {Promise} - The promise which resolves to an array.
150
+ * The first element of the array is an object representing {@link protos.google.spanner.admin.instance.v1.InstanceConfig|InstanceConfig}.
151
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
152
+ * for more details and examples.
153
+ * @example <caption>include:samples/generated/v1/instance_admin.get_instance_config.js</caption>
154
+ * region_tag:spanner_v1_generated_InstanceAdmin_GetInstanceConfig_async
155
+ */
156
+ getInstanceConfig(request?: protos.google.spanner.admin.instance.v1.IGetInstanceConfigRequest, options?: CallOptions): Promise<[
157
+ protos.google.spanner.admin.instance.v1.IInstanceConfig,
158
+ (protos.google.spanner.admin.instance.v1.IGetInstanceConfigRequest | undefined),
159
+ {} | undefined
160
+ ]>;
161
+ getInstanceConfig(request: protos.google.spanner.admin.instance.v1.IGetInstanceConfigRequest, options: CallOptions, callback: Callback<protos.google.spanner.admin.instance.v1.IInstanceConfig, protos.google.spanner.admin.instance.v1.IGetInstanceConfigRequest | null | undefined, {} | null | undefined>): void;
162
+ getInstanceConfig(request: protos.google.spanner.admin.instance.v1.IGetInstanceConfigRequest, callback: Callback<protos.google.spanner.admin.instance.v1.IInstanceConfig, protos.google.spanner.admin.instance.v1.IGetInstanceConfigRequest | null | undefined, {} | null | undefined>): void;
163
+ /**
164
+ * Deletes the instance configuration. Deletion is only allowed when no
165
+ * instances are using the configuration. If any instances are using
166
+ * the configuration, returns `FAILED_PRECONDITION`.
167
+ *
168
+ * Only user-managed configurations can be deleted.
169
+ *
170
+ * Authorization requires `spanner.instanceConfigs.delete` permission on
171
+ * the resource {@link protos.google.spanner.admin.instance.v1.InstanceConfig.name|name}.
172
+ *
173
+ * @param {Object} request
174
+ * The request object that will be sent.
175
+ * @param {string} request.name
176
+ * Required. The name of the instance configuration to be deleted.
177
+ * Values are of the form
178
+ * `projects/<project>/instanceConfigs/<instance_config>`
179
+ * @param {string} request.etag
180
+ * Used for optimistic concurrency control as a way to help prevent
181
+ * simultaneous deletes of an instance configuration from overwriting each
182
+ * other. If not empty, the API
183
+ * only deletes the instance configuration when the etag provided matches the
184
+ * current status of the requested instance configuration. Otherwise, deletes
185
+ * the instance configuration without checking the current status of the
186
+ * requested instance configuration.
187
+ * @param {boolean} request.validateOnly
188
+ * An option to validate, but not actually execute, a request,
189
+ * and provide the same response.
190
+ * @param {object} [options]
191
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
192
+ * @returns {Promise} - The promise which resolves to an array.
193
+ * The first element of the array is an object representing {@link protos.google.protobuf.Empty|Empty}.
194
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
195
+ * for more details and examples.
196
+ * @example <caption>include:samples/generated/v1/instance_admin.delete_instance_config.js</caption>
197
+ * region_tag:spanner_v1_generated_InstanceAdmin_DeleteInstanceConfig_async
198
+ */
199
+ deleteInstanceConfig(request?: protos.google.spanner.admin.instance.v1.IDeleteInstanceConfigRequest, options?: CallOptions): Promise<[
200
+ protos.google.protobuf.IEmpty,
201
+ (protos.google.spanner.admin.instance.v1.IDeleteInstanceConfigRequest | undefined),
202
+ {} | undefined
203
+ ]>;
204
+ deleteInstanceConfig(request: protos.google.spanner.admin.instance.v1.IDeleteInstanceConfigRequest, options: CallOptions, callback: Callback<protos.google.protobuf.IEmpty, protos.google.spanner.admin.instance.v1.IDeleteInstanceConfigRequest | null | undefined, {} | null | undefined>): void;
205
+ deleteInstanceConfig(request: protos.google.spanner.admin.instance.v1.IDeleteInstanceConfigRequest, callback: Callback<protos.google.protobuf.IEmpty, protos.google.spanner.admin.instance.v1.IDeleteInstanceConfigRequest | null | undefined, {} | null | undefined>): void;
206
+ /**
207
+ * Gets information about a particular instance.
208
+ *
209
+ * @param {Object} request
210
+ * The request object that will be sent.
211
+ * @param {string} request.name
212
+ * Required. The name of the requested instance. Values are of the form
213
+ * `projects/<project>/instances/<instance>`.
214
+ * @param {google.protobuf.FieldMask} request.fieldMask
215
+ * If field_mask is present, specifies the subset of
216
+ * {@link protos.google.spanner.admin.instance.v1.Instance|Instance} fields that should be
217
+ * returned. If absent, all
218
+ * {@link protos.google.spanner.admin.instance.v1.Instance|Instance} fields are returned.
219
+ * @param {object} [options]
220
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
221
+ * @returns {Promise} - The promise which resolves to an array.
222
+ * The first element of the array is an object representing {@link protos.google.spanner.admin.instance.v1.Instance|Instance}.
223
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
224
+ * for more details and examples.
225
+ * @example <caption>include:samples/generated/v1/instance_admin.get_instance.js</caption>
226
+ * region_tag:spanner_v1_generated_InstanceAdmin_GetInstance_async
227
+ */
228
+ getInstance(request?: protos.google.spanner.admin.instance.v1.IGetInstanceRequest, options?: CallOptions): Promise<[
229
+ protos.google.spanner.admin.instance.v1.IInstance,
230
+ protos.google.spanner.admin.instance.v1.IGetInstanceRequest | undefined,
231
+ {} | undefined
232
+ ]>;
233
+ getInstance(request: protos.google.spanner.admin.instance.v1.IGetInstanceRequest, options: CallOptions, callback: Callback<protos.google.spanner.admin.instance.v1.IInstance, protos.google.spanner.admin.instance.v1.IGetInstanceRequest | null | undefined, {} | null | undefined>): void;
234
+ getInstance(request: protos.google.spanner.admin.instance.v1.IGetInstanceRequest, callback: Callback<protos.google.spanner.admin.instance.v1.IInstance, protos.google.spanner.admin.instance.v1.IGetInstanceRequest | null | undefined, {} | null | undefined>): void;
235
+ /**
236
+ * Deletes an instance.
237
+ *
238
+ * Immediately upon completion of the request:
239
+ *
240
+ * * Billing ceases for all of the instance's reserved resources.
241
+ *
242
+ * Soon afterward:
243
+ *
244
+ * * The instance and *all of its databases* immediately and
245
+ * irrevocably disappear from the API. All data in the databases
246
+ * is permanently deleted.
247
+ *
248
+ * @param {Object} request
249
+ * The request object that will be sent.
250
+ * @param {string} request.name
251
+ * Required. The name of the instance to be deleted. Values are of the form
252
+ * `projects/<project>/instances/<instance>`
253
+ * @param {object} [options]
254
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
255
+ * @returns {Promise} - The promise which resolves to an array.
256
+ * The first element of the array is an object representing {@link protos.google.protobuf.Empty|Empty}.
257
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
258
+ * for more details and examples.
259
+ * @example <caption>include:samples/generated/v1/instance_admin.delete_instance.js</caption>
260
+ * region_tag:spanner_v1_generated_InstanceAdmin_DeleteInstance_async
261
+ */
262
+ deleteInstance(request?: protos.google.spanner.admin.instance.v1.IDeleteInstanceRequest, options?: CallOptions): Promise<[
263
+ protos.google.protobuf.IEmpty,
264
+ (protos.google.spanner.admin.instance.v1.IDeleteInstanceRequest | undefined),
265
+ {} | undefined
266
+ ]>;
267
+ deleteInstance(request: protos.google.spanner.admin.instance.v1.IDeleteInstanceRequest, options: CallOptions, callback: Callback<protos.google.protobuf.IEmpty, protos.google.spanner.admin.instance.v1.IDeleteInstanceRequest | null | undefined, {} | null | undefined>): void;
268
+ deleteInstance(request: protos.google.spanner.admin.instance.v1.IDeleteInstanceRequest, callback: Callback<protos.google.protobuf.IEmpty, protos.google.spanner.admin.instance.v1.IDeleteInstanceRequest | null | undefined, {} | null | undefined>): void;
269
+ /**
270
+ * Sets the access control policy on an instance resource. Replaces any
271
+ * existing policy.
272
+ *
273
+ * Authorization requires `spanner.instances.setIamPolicy` on
274
+ * {@link protos.google.iam.v1.SetIamPolicyRequest.resource|resource}.
275
+ *
276
+ * @param {Object} request
277
+ * The request object that will be sent.
278
+ * @param {string} request.resource
279
+ * REQUIRED: The resource for which the policy is being specified.
280
+ * See the operation documentation for the appropriate value for this field.
281
+ * @param {google.iam.v1.Policy} request.policy
282
+ * REQUIRED: The complete policy to be applied to the `resource`. The size of
283
+ * the policy is limited to a few 10s of KB. An empty policy is a
284
+ * valid policy but certain Cloud Platform services (such as Projects)
285
+ * might reject them.
286
+ * @param {google.protobuf.FieldMask} request.updateMask
287
+ * OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only
288
+ * the fields in the mask will be modified. If no mask is provided, the
289
+ * following default mask is used:
290
+ *
291
+ * `paths: "bindings, etag"`
292
+ * @param {object} [options]
293
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
294
+ * @returns {Promise} - The promise which resolves to an array.
295
+ * The first element of the array is an object representing {@link protos.google.iam.v1.Policy|Policy}.
296
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
297
+ * for more details and examples.
298
+ * @example <caption>include:samples/generated/v1/instance_admin.set_iam_policy.js</caption>
299
+ * region_tag:spanner_v1_generated_InstanceAdmin_SetIamPolicy_async
300
+ */
301
+ setIamPolicy(request?: protos.google.iam.v1.ISetIamPolicyRequest, options?: CallOptions): Promise<[
302
+ protos.google.iam.v1.IPolicy,
303
+ protos.google.iam.v1.ISetIamPolicyRequest | undefined,
304
+ {} | undefined
305
+ ]>;
306
+ 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;
307
+ setIamPolicy(request: protos.google.iam.v1.ISetIamPolicyRequest, callback: Callback<protos.google.iam.v1.IPolicy, protos.google.iam.v1.ISetIamPolicyRequest | null | undefined, {} | null | undefined>): void;
308
+ /**
309
+ * Gets the access control policy for an instance resource. Returns an empty
310
+ * policy if an instance exists but does not have a policy set.
311
+ *
312
+ * Authorization requires `spanner.instances.getIamPolicy` on
313
+ * {@link protos.google.iam.v1.GetIamPolicyRequest.resource|resource}.
314
+ *
315
+ * @param {Object} request
316
+ * The request object that will be sent.
317
+ * @param {string} request.resource
318
+ * REQUIRED: The resource for which the policy is being requested.
319
+ * See the operation documentation for the appropriate value for this field.
320
+ * @param {google.iam.v1.GetPolicyOptions} request.options
321
+ * OPTIONAL: A `GetPolicyOptions` object for specifying options to
322
+ * `GetIamPolicy`.
323
+ * @param {object} [options]
324
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
325
+ * @returns {Promise} - The promise which resolves to an array.
326
+ * The first element of the array is an object representing {@link protos.google.iam.v1.Policy|Policy}.
327
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
328
+ * for more details and examples.
329
+ * @example <caption>include:samples/generated/v1/instance_admin.get_iam_policy.js</caption>
330
+ * region_tag:spanner_v1_generated_InstanceAdmin_GetIamPolicy_async
331
+ */
332
+ getIamPolicy(request?: protos.google.iam.v1.IGetIamPolicyRequest, options?: CallOptions): Promise<[
333
+ protos.google.iam.v1.IPolicy,
334
+ protos.google.iam.v1.IGetIamPolicyRequest | undefined,
335
+ {} | undefined
336
+ ]>;
337
+ 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;
338
+ getIamPolicy(request: protos.google.iam.v1.IGetIamPolicyRequest, callback: Callback<protos.google.iam.v1.IPolicy, protos.google.iam.v1.IGetIamPolicyRequest | null | undefined, {} | null | undefined>): void;
339
+ /**
340
+ * Returns permissions that the caller has on the specified instance resource.
341
+ *
342
+ * Attempting this RPC on a non-existent Cloud Spanner instance resource will
343
+ * result in a NOT_FOUND error if the user has `spanner.instances.list`
344
+ * permission on the containing Google Cloud Project. Otherwise returns an
345
+ * empty set of permissions.
346
+ *
347
+ * @param {Object} request
348
+ * The request object that will be sent.
349
+ * @param {string} request.resource
350
+ * REQUIRED: The resource for which the policy detail is being requested.
351
+ * See the operation documentation for the appropriate value for this field.
352
+ * @param {string[]} request.permissions
353
+ * The set of permissions to check for the `resource`. Permissions with
354
+ * wildcards (such as '*' or 'storage.*') are not allowed. For more
355
+ * information see
356
+ * [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
357
+ * @param {object} [options]
358
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
359
+ * @returns {Promise} - The promise which resolves to an array.
360
+ * The first element of the array is an object representing {@link protos.google.iam.v1.TestIamPermissionsResponse|TestIamPermissionsResponse}.
361
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
362
+ * for more details and examples.
363
+ * @example <caption>include:samples/generated/v1/instance_admin.test_iam_permissions.js</caption>
364
+ * region_tag:spanner_v1_generated_InstanceAdmin_TestIamPermissions_async
365
+ */
366
+ testIamPermissions(request?: protos.google.iam.v1.ITestIamPermissionsRequest, options?: CallOptions): Promise<[
367
+ protos.google.iam.v1.ITestIamPermissionsResponse,
368
+ protos.google.iam.v1.ITestIamPermissionsRequest | undefined,
369
+ {} | undefined
370
+ ]>;
371
+ 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;
372
+ testIamPermissions(request: protos.google.iam.v1.ITestIamPermissionsRequest, callback: Callback<protos.google.iam.v1.ITestIamPermissionsResponse, protos.google.iam.v1.ITestIamPermissionsRequest | null | undefined, {} | null | undefined>): void;
373
+ /**
374
+ * Gets information about a particular instance partition.
375
+ *
376
+ * @param {Object} request
377
+ * The request object that will be sent.
378
+ * @param {string} request.name
379
+ * Required. The name of the requested instance partition. Values are of
380
+ * the form
381
+ * `projects/{project}/instances/{instance}/instancePartitions/{instance_partition}`.
382
+ * @param {object} [options]
383
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
384
+ * @returns {Promise} - The promise which resolves to an array.
385
+ * The first element of the array is an object representing {@link protos.google.spanner.admin.instance.v1.InstancePartition|InstancePartition}.
386
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
387
+ * for more details and examples.
388
+ * @example <caption>include:samples/generated/v1/instance_admin.get_instance_partition.js</caption>
389
+ * region_tag:spanner_v1_generated_InstanceAdmin_GetInstancePartition_async
390
+ */
391
+ getInstancePartition(request?: protos.google.spanner.admin.instance.v1.IGetInstancePartitionRequest, options?: CallOptions): Promise<[
392
+ protos.google.spanner.admin.instance.v1.IInstancePartition,
393
+ (protos.google.spanner.admin.instance.v1.IGetInstancePartitionRequest | undefined),
394
+ {} | undefined
395
+ ]>;
396
+ getInstancePartition(request: protos.google.spanner.admin.instance.v1.IGetInstancePartitionRequest, options: CallOptions, callback: Callback<protos.google.spanner.admin.instance.v1.IInstancePartition, protos.google.spanner.admin.instance.v1.IGetInstancePartitionRequest | null | undefined, {} | null | undefined>): void;
397
+ getInstancePartition(request: protos.google.spanner.admin.instance.v1.IGetInstancePartitionRequest, callback: Callback<protos.google.spanner.admin.instance.v1.IInstancePartition, protos.google.spanner.admin.instance.v1.IGetInstancePartitionRequest | null | undefined, {} | null | undefined>): void;
398
+ /**
399
+ * Deletes an existing instance partition. Requires that the
400
+ * instance partition is not used by any database or backup and is not the
401
+ * default instance partition of an instance.
402
+ *
403
+ * Authorization requires `spanner.instancePartitions.delete` permission on
404
+ * the resource
405
+ * {@link protos.google.spanner.admin.instance.v1.InstancePartition.name|name}.
406
+ *
407
+ * @param {Object} request
408
+ * The request object that will be sent.
409
+ * @param {string} request.name
410
+ * Required. The name of the instance partition to be deleted.
411
+ * Values are of the form
412
+ * `projects/{project}/instances/{instance}/instancePartitions/{instance_partition}`
413
+ * @param {string} request.etag
414
+ * Optional. If not empty, the API only deletes the instance partition when
415
+ * the etag provided matches the current status of the requested instance
416
+ * partition. Otherwise, deletes the instance partition without checking the
417
+ * current status of the requested instance partition.
418
+ * @param {object} [options]
419
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
420
+ * @returns {Promise} - The promise which resolves to an array.
421
+ * The first element of the array is an object representing {@link protos.google.protobuf.Empty|Empty}.
422
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
423
+ * for more details and examples.
424
+ * @example <caption>include:samples/generated/v1/instance_admin.delete_instance_partition.js</caption>
425
+ * region_tag:spanner_v1_generated_InstanceAdmin_DeleteInstancePartition_async
426
+ */
427
+ deleteInstancePartition(request?: protos.google.spanner.admin.instance.v1.IDeleteInstancePartitionRequest, options?: CallOptions): Promise<[
428
+ protos.google.protobuf.IEmpty,
429
+ (protos.google.spanner.admin.instance.v1.IDeleteInstancePartitionRequest | undefined),
430
+ {} | undefined
431
+ ]>;
432
+ deleteInstancePartition(request: protos.google.spanner.admin.instance.v1.IDeleteInstancePartitionRequest, options: CallOptions, callback: Callback<protos.google.protobuf.IEmpty, protos.google.spanner.admin.instance.v1.IDeleteInstancePartitionRequest | null | undefined, {} | null | undefined>): void;
433
+ deleteInstancePartition(request: protos.google.spanner.admin.instance.v1.IDeleteInstancePartitionRequest, callback: Callback<protos.google.protobuf.IEmpty, protos.google.spanner.admin.instance.v1.IDeleteInstancePartitionRequest | null | undefined, {} | null | undefined>): void;
434
+ /**
435
+ * Creates an instance configuration and begins preparing it to be used. The
436
+ * returned long-running operation
437
+ * can be used to track the progress of preparing the new
438
+ * instance configuration. The instance configuration name is assigned by the
439
+ * caller. If the named instance configuration already exists,
440
+ * `CreateInstanceConfig` returns `ALREADY_EXISTS`.
441
+ *
442
+ * Immediately after the request returns:
443
+ *
444
+ * * The instance configuration is readable via the API, with all requested
445
+ * attributes. The instance configuration's
446
+ * {@link protos.google.spanner.admin.instance.v1.InstanceConfig.reconciling|reconciling}
447
+ * field is set to true. Its state is `CREATING`.
448
+ *
449
+ * While the operation is pending:
450
+ *
451
+ * * Cancelling the operation renders the instance configuration immediately
452
+ * unreadable via the API.
453
+ * * Except for deleting the creating resource, all other attempts to modify
454
+ * the instance configuration are rejected.
455
+ *
456
+ * Upon completion of the returned operation:
457
+ *
458
+ * * Instances can be created using the instance configuration.
459
+ * * The instance configuration's
460
+ * {@link protos.google.spanner.admin.instance.v1.InstanceConfig.reconciling|reconciling}
461
+ * field becomes false. Its state becomes `READY`.
462
+ *
463
+ * The returned long-running operation will
464
+ * have a name of the format
465
+ * `<instance_config_name>/operations/<operation_id>` and can be used to track
466
+ * creation of the instance configuration. The
467
+ * metadata field type is
468
+ * {@link protos.google.spanner.admin.instance.v1.CreateInstanceConfigMetadata|CreateInstanceConfigMetadata}.
469
+ * The response field type is
470
+ * {@link protos.google.spanner.admin.instance.v1.InstanceConfig|InstanceConfig}, if
471
+ * successful.
472
+ *
473
+ * Authorization requires `spanner.instanceConfigs.create` permission on
474
+ * the resource
475
+ * {@link protos.google.spanner.admin.instance.v1.CreateInstanceConfigRequest.parent|parent}.
476
+ *
477
+ * @param {Object} request
478
+ * The request object that will be sent.
479
+ * @param {string} request.parent
480
+ * Required. The name of the project in which to create the instance
481
+ * configuration. Values are of the form `projects/<project>`.
482
+ * @param {string} request.instanceConfigId
483
+ * Required. The ID of the instance configuration to create. Valid identifiers
484
+ * are of the form `custom-[-a-z0-9]*[a-z0-9]` and must be between 2 and 64
485
+ * characters in length. The `custom-` prefix is required to avoid name
486
+ * conflicts with Google-managed configurations.
487
+ * @param {google.spanner.admin.instance.v1.InstanceConfig} request.instanceConfig
488
+ * Required. The `InstanceConfig` proto of the configuration to create.
489
+ * `instance_config.name` must be
490
+ * `<parent>/instanceConfigs/<instance_config_id>`.
491
+ * `instance_config.base_config` must be a Google-managed configuration name,
492
+ * e.g. <parent>/instanceConfigs/us-east1, <parent>/instanceConfigs/nam3.
493
+ * @param {boolean} request.validateOnly
494
+ * An option to validate, but not actually execute, a request,
495
+ * and provide the same response.
496
+ * @param {object} [options]
497
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
498
+ * @returns {Promise} - The promise which resolves to an array.
499
+ * The first element of the array is an object representing
500
+ * a long running operation. Its `promise()` method returns a promise
501
+ * you can `await` for.
502
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation }
503
+ * for more details and examples.
504
+ * @example <caption>include:samples/generated/v1/instance_admin.create_instance_config.js</caption>
505
+ * region_tag:spanner_v1_generated_InstanceAdmin_CreateInstanceConfig_async
506
+ */
507
+ createInstanceConfig(request?: protos.google.spanner.admin.instance.v1.ICreateInstanceConfigRequest, options?: CallOptions): Promise<[
508
+ LROperation<protos.google.spanner.admin.instance.v1.IInstanceConfig, protos.google.spanner.admin.instance.v1.ICreateInstanceConfigMetadata>,
509
+ protos.google.longrunning.IOperation | undefined,
510
+ {} | undefined
511
+ ]>;
512
+ createInstanceConfig(request: protos.google.spanner.admin.instance.v1.ICreateInstanceConfigRequest, options: CallOptions, callback: Callback<LROperation<protos.google.spanner.admin.instance.v1.IInstanceConfig, protos.google.spanner.admin.instance.v1.ICreateInstanceConfigMetadata>, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>): void;
513
+ createInstanceConfig(request: protos.google.spanner.admin.instance.v1.ICreateInstanceConfigRequest, callback: Callback<LROperation<protos.google.spanner.admin.instance.v1.IInstanceConfig, protos.google.spanner.admin.instance.v1.ICreateInstanceConfigMetadata>, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>): void;
514
+ /**
515
+ * Check the status of the long running operation returned by `createInstanceConfig()`.
516
+ * @param {String} name
517
+ * The operation name that will be passed.
518
+ * @returns {Promise} - The promise which resolves to an object.
519
+ * The decoded operation object has result and metadata field to get information from.
520
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation }
521
+ * for more details and examples.
522
+ * @example <caption>include:samples/generated/v1/instance_admin.create_instance_config.js</caption>
523
+ * region_tag:spanner_v1_generated_InstanceAdmin_CreateInstanceConfig_async
524
+ */
525
+ checkCreateInstanceConfigProgress(name: string): Promise<LROperation<protos.google.spanner.admin.instance.v1.InstanceConfig, protos.google.spanner.admin.instance.v1.CreateInstanceConfigMetadata>>;
526
+ /**
527
+ * Updates an instance configuration. The returned
528
+ * long-running operation can be used to track
529
+ * the progress of updating the instance. If the named instance configuration
530
+ * does not exist, returns `NOT_FOUND`.
531
+ *
532
+ * Only user-managed configurations can be updated.
533
+ *
534
+ * Immediately after the request returns:
535
+ *
536
+ * * The instance configuration's
537
+ * {@link protos.google.spanner.admin.instance.v1.InstanceConfig.reconciling|reconciling}
538
+ * field is set to true.
539
+ *
540
+ * While the operation is pending:
541
+ *
542
+ * * Cancelling the operation sets its metadata's
543
+ * {@link protos.google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata.cancel_time|cancel_time}.
544
+ * The operation is guaranteed to succeed at undoing all changes, after
545
+ * which point it terminates with a `CANCELLED` status.
546
+ * * All other attempts to modify the instance configuration are rejected.
547
+ * * Reading the instance configuration via the API continues to give the
548
+ * pre-request values.
549
+ *
550
+ * Upon completion of the returned operation:
551
+ *
552
+ * * Creating instances using the instance configuration uses the new
553
+ * values.
554
+ * * The new values of the instance configuration are readable via the API.
555
+ * * The instance configuration's
556
+ * {@link protos.google.spanner.admin.instance.v1.InstanceConfig.reconciling|reconciling}
557
+ * field becomes false.
558
+ *
559
+ * The returned long-running operation will
560
+ * have a name of the format
561
+ * `<instance_config_name>/operations/<operation_id>` and can be used to track
562
+ * the instance configuration modification. The
563
+ * metadata field type is
564
+ * {@link protos.google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata|UpdateInstanceConfigMetadata}.
565
+ * The response field type is
566
+ * {@link protos.google.spanner.admin.instance.v1.InstanceConfig|InstanceConfig}, if
567
+ * successful.
568
+ *
569
+ * Authorization requires `spanner.instanceConfigs.update` permission on
570
+ * the resource {@link protos.google.spanner.admin.instance.v1.InstanceConfig.name|name}.
571
+ *
572
+ * @param {Object} request
573
+ * The request object that will be sent.
574
+ * @param {google.spanner.admin.instance.v1.InstanceConfig} request.instanceConfig
575
+ * Required. The user instance configuration to update, which must always
576
+ * include the instance configuration name. Otherwise, only fields mentioned
577
+ * in
578
+ * {@link protos.google.spanner.admin.instance.v1.UpdateInstanceConfigRequest.update_mask|update_mask}
579
+ * need be included. To prevent conflicts of concurrent updates,
580
+ * {@link protos.google.spanner.admin.instance.v1.InstanceConfig.reconciling|etag} can
581
+ * be used.
582
+ * @param {google.protobuf.FieldMask} request.updateMask
583
+ * Required. A mask specifying which fields in
584
+ * {@link protos.google.spanner.admin.instance.v1.InstanceConfig|InstanceConfig} should be
585
+ * updated. The field mask must always be specified; this prevents any future
586
+ * fields in {@link protos.google.spanner.admin.instance.v1.InstanceConfig|InstanceConfig}
587
+ * from being erased accidentally by clients that do not know about them. Only
588
+ * display_name and labels can be updated.
589
+ * @param {boolean} request.validateOnly
590
+ * An option to validate, but not actually execute, a request,
591
+ * and provide the same response.
592
+ * @param {object} [options]
593
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
594
+ * @returns {Promise} - The promise which resolves to an array.
595
+ * The first element of the array is an object representing
596
+ * a long running operation. Its `promise()` method returns a promise
597
+ * you can `await` for.
598
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation }
599
+ * for more details and examples.
600
+ * @example <caption>include:samples/generated/v1/instance_admin.update_instance_config.js</caption>
601
+ * region_tag:spanner_v1_generated_InstanceAdmin_UpdateInstanceConfig_async
602
+ */
603
+ updateInstanceConfig(request?: protos.google.spanner.admin.instance.v1.IUpdateInstanceConfigRequest, options?: CallOptions): Promise<[
604
+ LROperation<protos.google.spanner.admin.instance.v1.IInstanceConfig, protos.google.spanner.admin.instance.v1.IUpdateInstanceConfigMetadata>,
605
+ protos.google.longrunning.IOperation | undefined,
606
+ {} | undefined
607
+ ]>;
608
+ updateInstanceConfig(request: protos.google.spanner.admin.instance.v1.IUpdateInstanceConfigRequest, options: CallOptions, callback: Callback<LROperation<protos.google.spanner.admin.instance.v1.IInstanceConfig, protos.google.spanner.admin.instance.v1.IUpdateInstanceConfigMetadata>, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>): void;
609
+ updateInstanceConfig(request: protos.google.spanner.admin.instance.v1.IUpdateInstanceConfigRequest, callback: Callback<LROperation<protos.google.spanner.admin.instance.v1.IInstanceConfig, protos.google.spanner.admin.instance.v1.IUpdateInstanceConfigMetadata>, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>): void;
610
+ /**
611
+ * Check the status of the long running operation returned by `updateInstanceConfig()`.
612
+ * @param {String} name
613
+ * The operation name that will be passed.
614
+ * @returns {Promise} - The promise which resolves to an object.
615
+ * The decoded operation object has result and metadata field to get information from.
616
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation }
617
+ * for more details and examples.
618
+ * @example <caption>include:samples/generated/v1/instance_admin.update_instance_config.js</caption>
619
+ * region_tag:spanner_v1_generated_InstanceAdmin_UpdateInstanceConfig_async
620
+ */
621
+ checkUpdateInstanceConfigProgress(name: string): Promise<LROperation<protos.google.spanner.admin.instance.v1.InstanceConfig, protos.google.spanner.admin.instance.v1.UpdateInstanceConfigMetadata>>;
622
+ /**
623
+ * Creates an instance and begins preparing it to begin serving. The
624
+ * returned long-running operation
625
+ * can be used to track the progress of preparing the new
626
+ * instance. The instance name is assigned by the caller. If the
627
+ * named instance already exists, `CreateInstance` returns
628
+ * `ALREADY_EXISTS`.
629
+ *
630
+ * Immediately upon completion of this request:
631
+ *
632
+ * * The instance is readable via the API, with all requested attributes
633
+ * but no allocated resources. Its state is `CREATING`.
634
+ *
635
+ * Until completion of the returned operation:
636
+ *
637
+ * * Cancelling the operation renders the instance immediately unreadable
638
+ * via the API.
639
+ * * The instance can be deleted.
640
+ * * All other attempts to modify the instance are rejected.
641
+ *
642
+ * Upon completion of the returned operation:
643
+ *
644
+ * * Billing for all successfully-allocated resources begins (some types
645
+ * may have lower than the requested levels).
646
+ * * Databases can be created in the instance.
647
+ * * The instance's allocated resource levels are readable via the API.
648
+ * * The instance's state becomes `READY`.
649
+ *
650
+ * The returned long-running operation will
651
+ * have a name of the format `<instance_name>/operations/<operation_id>` and
652
+ * can be used to track creation of the instance. The
653
+ * metadata field type is
654
+ * {@link protos.google.spanner.admin.instance.v1.CreateInstanceMetadata|CreateInstanceMetadata}.
655
+ * The response field type is
656
+ * {@link protos.google.spanner.admin.instance.v1.Instance|Instance}, if successful.
657
+ *
658
+ * @param {Object} request
659
+ * The request object that will be sent.
660
+ * @param {string} request.parent
661
+ * Required. The name of the project in which to create the instance. Values
662
+ * are of the form `projects/<project>`.
663
+ * @param {string} request.instanceId
664
+ * Required. The ID of the instance to create. Valid identifiers are of the
665
+ * form `{@link protos.-a-z0-9|a-z}*[a-z0-9]` and must be between 2 and 64 characters in
666
+ * length.
667
+ * @param {google.spanner.admin.instance.v1.Instance} request.instance
668
+ * Required. The instance to create. The name may be omitted, but if
669
+ * specified must be `<parent>/instances/<instance_id>`.
670
+ * @param {object} [options]
671
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
672
+ * @returns {Promise} - The promise which resolves to an array.
673
+ * The first element of the array is an object representing
674
+ * a long running operation. Its `promise()` method returns a promise
675
+ * you can `await` for.
676
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation }
677
+ * for more details and examples.
678
+ * @example <caption>include:samples/generated/v1/instance_admin.create_instance.js</caption>
679
+ * region_tag:spanner_v1_generated_InstanceAdmin_CreateInstance_async
680
+ */
681
+ createInstance(request?: protos.google.spanner.admin.instance.v1.ICreateInstanceRequest, options?: CallOptions): Promise<[
682
+ LROperation<protos.google.spanner.admin.instance.v1.IInstance, protos.google.spanner.admin.instance.v1.ICreateInstanceMetadata>,
683
+ protos.google.longrunning.IOperation | undefined,
684
+ {} | undefined
685
+ ]>;
686
+ createInstance(request: protos.google.spanner.admin.instance.v1.ICreateInstanceRequest, options: CallOptions, callback: Callback<LROperation<protos.google.spanner.admin.instance.v1.IInstance, protos.google.spanner.admin.instance.v1.ICreateInstanceMetadata>, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>): void;
687
+ createInstance(request: protos.google.spanner.admin.instance.v1.ICreateInstanceRequest, callback: Callback<LROperation<protos.google.spanner.admin.instance.v1.IInstance, protos.google.spanner.admin.instance.v1.ICreateInstanceMetadata>, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>): void;
688
+ /**
689
+ * Check the status of the long running operation returned by `createInstance()`.
690
+ * @param {String} name
691
+ * The operation name that will be passed.
692
+ * @returns {Promise} - The promise which resolves to an object.
693
+ * The decoded operation object has result and metadata field to get information from.
694
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation }
695
+ * for more details and examples.
696
+ * @example <caption>include:samples/generated/v1/instance_admin.create_instance.js</caption>
697
+ * region_tag:spanner_v1_generated_InstanceAdmin_CreateInstance_async
698
+ */
699
+ checkCreateInstanceProgress(name: string): Promise<LROperation<protos.google.spanner.admin.instance.v1.Instance, protos.google.spanner.admin.instance.v1.CreateInstanceMetadata>>;
700
+ /**
701
+ * Updates an instance, and begins allocating or releasing resources
702
+ * as requested. The returned long-running operation can be used to track the
703
+ * progress of updating the instance. If the named instance does not
704
+ * exist, returns `NOT_FOUND`.
705
+ *
706
+ * Immediately upon completion of this request:
707
+ *
708
+ * * For resource types for which a decrease in the instance's allocation
709
+ * has been requested, billing is based on the newly-requested level.
710
+ *
711
+ * Until completion of the returned operation:
712
+ *
713
+ * * Cancelling the operation sets its metadata's
714
+ * {@link protos.google.spanner.admin.instance.v1.UpdateInstanceMetadata.cancel_time|cancel_time},
715
+ * and begins restoring resources to their pre-request values. The
716
+ * operation is guaranteed to succeed at undoing all resource changes,
717
+ * after which point it terminates with a `CANCELLED` status.
718
+ * * All other attempts to modify the instance are rejected.
719
+ * * Reading the instance via the API continues to give the pre-request
720
+ * resource levels.
721
+ *
722
+ * Upon completion of the returned operation:
723
+ *
724
+ * * Billing begins for all successfully-allocated resources (some types
725
+ * may have lower than the requested levels).
726
+ * * All newly-reserved resources are available for serving the instance's
727
+ * tables.
728
+ * * The instance's new resource levels are readable via the API.
729
+ *
730
+ * The returned long-running operation will
731
+ * have a name of the format `<instance_name>/operations/<operation_id>` and
732
+ * can be used to track the instance modification. The
733
+ * metadata field type is
734
+ * {@link protos.google.spanner.admin.instance.v1.UpdateInstanceMetadata|UpdateInstanceMetadata}.
735
+ * The response field type is
736
+ * {@link protos.google.spanner.admin.instance.v1.Instance|Instance}, if successful.
737
+ *
738
+ * Authorization requires `spanner.instances.update` permission on
739
+ * the resource {@link protos.google.spanner.admin.instance.v1.Instance.name|name}.
740
+ *
741
+ * @param {Object} request
742
+ * The request object that will be sent.
743
+ * @param {google.spanner.admin.instance.v1.Instance} request.instance
744
+ * Required. The instance to update, which must always include the instance
745
+ * name. Otherwise, only fields mentioned in
746
+ * {@link protos.google.spanner.admin.instance.v1.UpdateInstanceRequest.field_mask|field_mask}
747
+ * need be included.
748
+ * @param {google.protobuf.FieldMask} request.fieldMask
749
+ * Required. A mask specifying which fields in
750
+ * {@link protos.google.spanner.admin.instance.v1.Instance|Instance} should be updated.
751
+ * The field mask must always be specified; this prevents any future fields in
752
+ * {@link protos.google.spanner.admin.instance.v1.Instance|Instance} from being erased
753
+ * accidentally by clients that do not know about them.
754
+ * @param {object} [options]
755
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
756
+ * @returns {Promise} - The promise which resolves to an array.
757
+ * The first element of the array is an object representing
758
+ * a long running operation. Its `promise()` method returns a promise
759
+ * you can `await` for.
760
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation }
761
+ * for more details and examples.
762
+ * @example <caption>include:samples/generated/v1/instance_admin.update_instance.js</caption>
763
+ * region_tag:spanner_v1_generated_InstanceAdmin_UpdateInstance_async
764
+ */
765
+ updateInstance(request?: protos.google.spanner.admin.instance.v1.IUpdateInstanceRequest, options?: CallOptions): Promise<[
766
+ LROperation<protos.google.spanner.admin.instance.v1.IInstance, protos.google.spanner.admin.instance.v1.IUpdateInstanceMetadata>,
767
+ protos.google.longrunning.IOperation | undefined,
768
+ {} | undefined
769
+ ]>;
770
+ updateInstance(request: protos.google.spanner.admin.instance.v1.IUpdateInstanceRequest, options: CallOptions, callback: Callback<LROperation<protos.google.spanner.admin.instance.v1.IInstance, protos.google.spanner.admin.instance.v1.IUpdateInstanceMetadata>, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>): void;
771
+ updateInstance(request: protos.google.spanner.admin.instance.v1.IUpdateInstanceRequest, callback: Callback<LROperation<protos.google.spanner.admin.instance.v1.IInstance, protos.google.spanner.admin.instance.v1.IUpdateInstanceMetadata>, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>): void;
772
+ /**
773
+ * Check the status of the long running operation returned by `updateInstance()`.
774
+ * @param {String} name
775
+ * The operation name that will be passed.
776
+ * @returns {Promise} - The promise which resolves to an object.
777
+ * The decoded operation object has result and metadata field to get information from.
778
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation }
779
+ * for more details and examples.
780
+ * @example <caption>include:samples/generated/v1/instance_admin.update_instance.js</caption>
781
+ * region_tag:spanner_v1_generated_InstanceAdmin_UpdateInstance_async
782
+ */
783
+ checkUpdateInstanceProgress(name: string): Promise<LROperation<protos.google.spanner.admin.instance.v1.Instance, protos.google.spanner.admin.instance.v1.UpdateInstanceMetadata>>;
784
+ /**
785
+ * Creates an instance partition and begins preparing it to be used. The
786
+ * returned long-running operation
787
+ * can be used to track the progress of preparing the new instance partition.
788
+ * The instance partition name is assigned by the caller. If the named
789
+ * instance partition already exists, `CreateInstancePartition` returns
790
+ * `ALREADY_EXISTS`.
791
+ *
792
+ * Immediately upon completion of this request:
793
+ *
794
+ * * The instance partition is readable via the API, with all requested
795
+ * attributes but no allocated resources. Its state is `CREATING`.
796
+ *
797
+ * Until completion of the returned operation:
798
+ *
799
+ * * Cancelling the operation renders the instance partition immediately
800
+ * unreadable via the API.
801
+ * * The instance partition can be deleted.
802
+ * * All other attempts to modify the instance partition are rejected.
803
+ *
804
+ * Upon completion of the returned operation:
805
+ *
806
+ * * Billing for all successfully-allocated resources begins (some types
807
+ * may have lower than the requested levels).
808
+ * * Databases can start using this instance partition.
809
+ * * The instance partition's allocated resource levels are readable via the
810
+ * API.
811
+ * * The instance partition's state becomes `READY`.
812
+ *
813
+ * The returned long-running operation will
814
+ * have a name of the format
815
+ * `<instance_partition_name>/operations/<operation_id>` and can be used to
816
+ * track creation of the instance partition. The
817
+ * metadata field type is
818
+ * {@link protos.google.spanner.admin.instance.v1.CreateInstancePartitionMetadata|CreateInstancePartitionMetadata}.
819
+ * The response field type is
820
+ * {@link protos.google.spanner.admin.instance.v1.InstancePartition|InstancePartition}, if
821
+ * successful.
822
+ *
823
+ * @param {Object} request
824
+ * The request object that will be sent.
825
+ * @param {string} request.parent
826
+ * Required. The name of the instance in which to create the instance
827
+ * partition. Values are of the form
828
+ * `projects/<project>/instances/<instance>`.
829
+ * @param {string} request.instancePartitionId
830
+ * Required. The ID of the instance partition to create. Valid identifiers are
831
+ * of the form `{@link protos.-a-z0-9|a-z}*[a-z0-9]` and must be between 2 and 64
832
+ * characters in length.
833
+ * @param {google.spanner.admin.instance.v1.InstancePartition} request.instancePartition
834
+ * Required. The instance partition to create. The instance_partition.name may
835
+ * be omitted, but if specified must be
836
+ * `<parent>/instancePartitions/<instance_partition_id>`.
837
+ * @param {object} [options]
838
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
839
+ * @returns {Promise} - The promise which resolves to an array.
840
+ * The first element of the array is an object representing
841
+ * a long running operation. Its `promise()` method returns a promise
842
+ * you can `await` for.
843
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation }
844
+ * for more details and examples.
845
+ * @example <caption>include:samples/generated/v1/instance_admin.create_instance_partition.js</caption>
846
+ * region_tag:spanner_v1_generated_InstanceAdmin_CreateInstancePartition_async
847
+ */
848
+ createInstancePartition(request?: protos.google.spanner.admin.instance.v1.ICreateInstancePartitionRequest, options?: CallOptions): Promise<[
849
+ LROperation<protos.google.spanner.admin.instance.v1.IInstancePartition, protos.google.spanner.admin.instance.v1.ICreateInstancePartitionMetadata>,
850
+ protos.google.longrunning.IOperation | undefined,
851
+ {} | undefined
852
+ ]>;
853
+ createInstancePartition(request: protos.google.spanner.admin.instance.v1.ICreateInstancePartitionRequest, options: CallOptions, callback: Callback<LROperation<protos.google.spanner.admin.instance.v1.IInstancePartition, protos.google.spanner.admin.instance.v1.ICreateInstancePartitionMetadata>, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>): void;
854
+ createInstancePartition(request: protos.google.spanner.admin.instance.v1.ICreateInstancePartitionRequest, callback: Callback<LROperation<protos.google.spanner.admin.instance.v1.IInstancePartition, protos.google.spanner.admin.instance.v1.ICreateInstancePartitionMetadata>, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>): void;
855
+ /**
856
+ * Check the status of the long running operation returned by `createInstancePartition()`.
857
+ * @param {String} name
858
+ * The operation name that will be passed.
859
+ * @returns {Promise} - The promise which resolves to an object.
860
+ * The decoded operation object has result and metadata field to get information from.
861
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation }
862
+ * for more details and examples.
863
+ * @example <caption>include:samples/generated/v1/instance_admin.create_instance_partition.js</caption>
864
+ * region_tag:spanner_v1_generated_InstanceAdmin_CreateInstancePartition_async
865
+ */
866
+ checkCreateInstancePartitionProgress(name: string): Promise<LROperation<protos.google.spanner.admin.instance.v1.InstancePartition, protos.google.spanner.admin.instance.v1.CreateInstancePartitionMetadata>>;
867
+ /**
868
+ * Updates an instance partition, and begins allocating or releasing resources
869
+ * as requested. The returned long-running operation can be used to track the
870
+ * progress of updating the instance partition. If the named instance
871
+ * partition does not exist, returns `NOT_FOUND`.
872
+ *
873
+ * Immediately upon completion of this request:
874
+ *
875
+ * * For resource types for which a decrease in the instance partition's
876
+ * allocation has been requested, billing is based on the newly-requested
877
+ * level.
878
+ *
879
+ * Until completion of the returned operation:
880
+ *
881
+ * * Cancelling the operation sets its metadata's
882
+ * {@link protos.google.spanner.admin.instance.v1.UpdateInstancePartitionMetadata.cancel_time|cancel_time},
883
+ * and begins restoring resources to their pre-request values. The
884
+ * operation is guaranteed to succeed at undoing all resource changes,
885
+ * after which point it terminates with a `CANCELLED` status.
886
+ * * All other attempts to modify the instance partition are rejected.
887
+ * * Reading the instance partition via the API continues to give the
888
+ * pre-request resource levels.
889
+ *
890
+ * Upon completion of the returned operation:
891
+ *
892
+ * * Billing begins for all successfully-allocated resources (some types
893
+ * may have lower than the requested levels).
894
+ * * All newly-reserved resources are available for serving the instance
895
+ * partition's tables.
896
+ * * The instance partition's new resource levels are readable via the API.
897
+ *
898
+ * The returned long-running operation will
899
+ * have a name of the format
900
+ * `<instance_partition_name>/operations/<operation_id>` and can be used to
901
+ * track the instance partition modification. The
902
+ * metadata field type is
903
+ * {@link protos.google.spanner.admin.instance.v1.UpdateInstancePartitionMetadata|UpdateInstancePartitionMetadata}.
904
+ * The response field type is
905
+ * {@link protos.google.spanner.admin.instance.v1.InstancePartition|InstancePartition}, if
906
+ * successful.
907
+ *
908
+ * Authorization requires `spanner.instancePartitions.update` permission on
909
+ * the resource
910
+ * {@link protos.google.spanner.admin.instance.v1.InstancePartition.name|name}.
911
+ *
912
+ * @param {Object} request
913
+ * The request object that will be sent.
914
+ * @param {google.spanner.admin.instance.v1.InstancePartition} request.instancePartition
915
+ * Required. The instance partition to update, which must always include the
916
+ * instance partition name. Otherwise, only fields mentioned in
917
+ * {@link protos.google.spanner.admin.instance.v1.UpdateInstancePartitionRequest.field_mask|field_mask}
918
+ * need be included.
919
+ * @param {google.protobuf.FieldMask} request.fieldMask
920
+ * Required. A mask specifying which fields in
921
+ * {@link protos.google.spanner.admin.instance.v1.InstancePartition|InstancePartition}
922
+ * should be updated. The field mask must always be specified; this prevents
923
+ * any future fields in
924
+ * {@link protos.google.spanner.admin.instance.v1.InstancePartition|InstancePartition}
925
+ * from being erased accidentally by clients that do not know about them.
926
+ * @param {object} [options]
927
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
928
+ * @returns {Promise} - The promise which resolves to an array.
929
+ * The first element of the array is an object representing
930
+ * a long running operation. Its `promise()` method returns a promise
931
+ * you can `await` for.
932
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation }
933
+ * for more details and examples.
934
+ * @example <caption>include:samples/generated/v1/instance_admin.update_instance_partition.js</caption>
935
+ * region_tag:spanner_v1_generated_InstanceAdmin_UpdateInstancePartition_async
936
+ */
937
+ updateInstancePartition(request?: protos.google.spanner.admin.instance.v1.IUpdateInstancePartitionRequest, options?: CallOptions): Promise<[
938
+ LROperation<protos.google.spanner.admin.instance.v1.IInstancePartition, protos.google.spanner.admin.instance.v1.IUpdateInstancePartitionMetadata>,
939
+ protos.google.longrunning.IOperation | undefined,
940
+ {} | undefined
941
+ ]>;
942
+ updateInstancePartition(request: protos.google.spanner.admin.instance.v1.IUpdateInstancePartitionRequest, options: CallOptions, callback: Callback<LROperation<protos.google.spanner.admin.instance.v1.IInstancePartition, protos.google.spanner.admin.instance.v1.IUpdateInstancePartitionMetadata>, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>): void;
943
+ updateInstancePartition(request: protos.google.spanner.admin.instance.v1.IUpdateInstancePartitionRequest, callback: Callback<LROperation<protos.google.spanner.admin.instance.v1.IInstancePartition, protos.google.spanner.admin.instance.v1.IUpdateInstancePartitionMetadata>, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>): void;
944
+ /**
945
+ * Check the status of the long running operation returned by `updateInstancePartition()`.
946
+ * @param {String} name
947
+ * The operation name that will be passed.
948
+ * @returns {Promise} - The promise which resolves to an object.
949
+ * The decoded operation object has result and metadata field to get information from.
950
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation }
951
+ * for more details and examples.
952
+ * @example <caption>include:samples/generated/v1/instance_admin.update_instance_partition.js</caption>
953
+ * region_tag:spanner_v1_generated_InstanceAdmin_UpdateInstancePartition_async
954
+ */
955
+ checkUpdateInstancePartitionProgress(name: string): Promise<LROperation<protos.google.spanner.admin.instance.v1.InstancePartition, protos.google.spanner.admin.instance.v1.UpdateInstancePartitionMetadata>>;
956
+ /**
957
+ * Moves an instance to the target instance configuration. You can use the
958
+ * returned long-running operation to track
959
+ * the progress of moving the instance.
960
+ *
961
+ * `MoveInstance` returns `FAILED_PRECONDITION` if the instance meets any of
962
+ * the following criteria:
963
+ *
964
+ * * Is undergoing a move to a different instance configuration
965
+ * * Has backups
966
+ * * Has an ongoing update
967
+ * * Contains any CMEK-enabled databases
968
+ * * Is a free trial instance
969
+ *
970
+ * While the operation is pending:
971
+ *
972
+ * * All other attempts to modify the instance, including changes to its
973
+ * compute capacity, are rejected.
974
+ * * The following database and backup admin operations are rejected:
975
+ *
976
+ * * `DatabaseAdmin.CreateDatabase`
977
+ * * `DatabaseAdmin.UpdateDatabaseDdl` (disabled if default_leader is
978
+ * specified in the request.)
979
+ * * `DatabaseAdmin.RestoreDatabase`
980
+ * * `DatabaseAdmin.CreateBackup`
981
+ * * `DatabaseAdmin.CopyBackup`
982
+ *
983
+ * * Both the source and target instance configurations are subject to
984
+ * hourly compute and storage charges.
985
+ * * The instance might experience higher read-write latencies and a higher
986
+ * transaction abort rate. However, moving an instance doesn't cause any
987
+ * downtime.
988
+ *
989
+ * The returned long-running operation has
990
+ * a name of the format
991
+ * `<instance_name>/operations/<operation_id>` and can be used to track
992
+ * the move instance operation. The
993
+ * metadata field type is
994
+ * {@link protos.google.spanner.admin.instance.v1.MoveInstanceMetadata|MoveInstanceMetadata}.
995
+ * The response field type is
996
+ * {@link protos.google.spanner.admin.instance.v1.Instance|Instance},
997
+ * if successful.
998
+ * Cancelling the operation sets its metadata's
999
+ * {@link protos.google.spanner.admin.instance.v1.MoveInstanceMetadata.cancel_time|cancel_time}.
1000
+ * Cancellation is not immediate because it involves moving any data
1001
+ * previously moved to the target instance configuration back to the original
1002
+ * instance configuration. You can use this operation to track the progress of
1003
+ * the cancellation. Upon successful completion of the cancellation, the
1004
+ * operation terminates with `CANCELLED` status.
1005
+ *
1006
+ * If not cancelled, upon completion of the returned operation:
1007
+ *
1008
+ * * The instance successfully moves to the target instance
1009
+ * configuration.
1010
+ * * You are billed for compute and storage in target instance
1011
+ * configuration.
1012
+ *
1013
+ * Authorization requires the `spanner.instances.update` permission on
1014
+ * the resource {@link protos.google.spanner.admin.instance.v1.Instance|instance}.
1015
+ *
1016
+ * For more details, see
1017
+ * [Move an instance](https://cloud.google.com/spanner/docs/move-instance).
1018
+ *
1019
+ * @param {Object} request
1020
+ * The request object that will be sent.
1021
+ * @param {string} request.name
1022
+ * Required. The instance to move.
1023
+ * Values are of the form `projects/<project>/instances/<instance>`.
1024
+ * @param {string} request.targetConfig
1025
+ * Required. The target instance configuration where to move the instance.
1026
+ * Values are of the form `projects/<project>/instanceConfigs/<config>`.
1027
+ * @param {object} [options]
1028
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
1029
+ * @returns {Promise} - The promise which resolves to an array.
1030
+ * The first element of the array is an object representing
1031
+ * a long running operation. Its `promise()` method returns a promise
1032
+ * you can `await` for.
1033
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation }
1034
+ * for more details and examples.
1035
+ * @example <caption>include:samples/generated/v1/instance_admin.move_instance.js</caption>
1036
+ * region_tag:spanner_v1_generated_InstanceAdmin_MoveInstance_async
1037
+ */
1038
+ moveInstance(request?: protos.google.spanner.admin.instance.v1.IMoveInstanceRequest, options?: CallOptions): Promise<[
1039
+ LROperation<protos.google.spanner.admin.instance.v1.IMoveInstanceResponse, protos.google.spanner.admin.instance.v1.IMoveInstanceMetadata>,
1040
+ protos.google.longrunning.IOperation | undefined,
1041
+ {} | undefined
1042
+ ]>;
1043
+ moveInstance(request: protos.google.spanner.admin.instance.v1.IMoveInstanceRequest, options: CallOptions, callback: Callback<LROperation<protos.google.spanner.admin.instance.v1.IMoveInstanceResponse, protos.google.spanner.admin.instance.v1.IMoveInstanceMetadata>, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>): void;
1044
+ moveInstance(request: protos.google.spanner.admin.instance.v1.IMoveInstanceRequest, callback: Callback<LROperation<protos.google.spanner.admin.instance.v1.IMoveInstanceResponse, protos.google.spanner.admin.instance.v1.IMoveInstanceMetadata>, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>): void;
1045
+ /**
1046
+ * Check the status of the long running operation returned by `moveInstance()`.
1047
+ * @param {String} name
1048
+ * The operation name that will be passed.
1049
+ * @returns {Promise} - The promise which resolves to an object.
1050
+ * The decoded operation object has result and metadata field to get information from.
1051
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation }
1052
+ * for more details and examples.
1053
+ * @example <caption>include:samples/generated/v1/instance_admin.move_instance.js</caption>
1054
+ * region_tag:spanner_v1_generated_InstanceAdmin_MoveInstance_async
1055
+ */
1056
+ checkMoveInstanceProgress(name: string): Promise<LROperation<protos.google.spanner.admin.instance.v1.MoveInstanceResponse, protos.google.spanner.admin.instance.v1.MoveInstanceMetadata>>;
1057
+ /**
1058
+ * Lists the supported instance configurations for a given project.
1059
+ *
1060
+ * Returns both Google-managed configurations and user-managed
1061
+ * configurations.
1062
+ *
1063
+ * @param {Object} request
1064
+ * The request object that will be sent.
1065
+ * @param {string} request.parent
1066
+ * Required. The name of the project for which a list of supported instance
1067
+ * configurations is requested. Values are of the form
1068
+ * `projects/<project>`.
1069
+ * @param {number} request.pageSize
1070
+ * Number of instance configurations to be returned in the response. If 0 or
1071
+ * less, defaults to the server's maximum allowed page size.
1072
+ * @param {string} request.pageToken
1073
+ * If non-empty, `page_token` should contain a
1074
+ * {@link protos.google.spanner.admin.instance.v1.ListInstanceConfigsResponse.next_page_token|next_page_token}
1075
+ * from a previous
1076
+ * {@link protos.google.spanner.admin.instance.v1.ListInstanceConfigsResponse|ListInstanceConfigsResponse}.
1077
+ * @param {object} [options]
1078
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
1079
+ * @returns {Promise} - The promise which resolves to an array.
1080
+ * The first element of the array is Array of {@link protos.google.spanner.admin.instance.v1.InstanceConfig|InstanceConfig}.
1081
+ * The client library will perform auto-pagination by default: it will call the API as many
1082
+ * times as needed and will merge results from all the pages into this array.
1083
+ * Note that it can affect your quota.
1084
+ * We recommend using `listInstanceConfigsAsync()`
1085
+ * method described below for async iteration which you can stop as needed.
1086
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
1087
+ * for more details and examples.
1088
+ */
1089
+ listInstanceConfigs(request?: protos.google.spanner.admin.instance.v1.IListInstanceConfigsRequest, options?: CallOptions): Promise<[
1090
+ protos.google.spanner.admin.instance.v1.IInstanceConfig[],
1091
+ protos.google.spanner.admin.instance.v1.IListInstanceConfigsRequest | null,
1092
+ protos.google.spanner.admin.instance.v1.IListInstanceConfigsResponse
1093
+ ]>;
1094
+ listInstanceConfigs(request: protos.google.spanner.admin.instance.v1.IListInstanceConfigsRequest, options: CallOptions, callback: PaginationCallback<protos.google.spanner.admin.instance.v1.IListInstanceConfigsRequest, protos.google.spanner.admin.instance.v1.IListInstanceConfigsResponse | null | undefined, protos.google.spanner.admin.instance.v1.IInstanceConfig>): void;
1095
+ listInstanceConfigs(request: protos.google.spanner.admin.instance.v1.IListInstanceConfigsRequest, callback: PaginationCallback<protos.google.spanner.admin.instance.v1.IListInstanceConfigsRequest, protos.google.spanner.admin.instance.v1.IListInstanceConfigsResponse | null | undefined, protos.google.spanner.admin.instance.v1.IInstanceConfig>): void;
1096
+ /**
1097
+ * Equivalent to `listInstanceConfigs`, but returns a NodeJS Stream object.
1098
+ * @param {Object} request
1099
+ * The request object that will be sent.
1100
+ * @param {string} request.parent
1101
+ * Required. The name of the project for which a list of supported instance
1102
+ * configurations is requested. Values are of the form
1103
+ * `projects/<project>`.
1104
+ * @param {number} request.pageSize
1105
+ * Number of instance configurations to be returned in the response. If 0 or
1106
+ * less, defaults to the server's maximum allowed page size.
1107
+ * @param {string} request.pageToken
1108
+ * If non-empty, `page_token` should contain a
1109
+ * {@link protos.google.spanner.admin.instance.v1.ListInstanceConfigsResponse.next_page_token|next_page_token}
1110
+ * from a previous
1111
+ * {@link protos.google.spanner.admin.instance.v1.ListInstanceConfigsResponse|ListInstanceConfigsResponse}.
1112
+ * @param {object} [options]
1113
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
1114
+ * @returns {Stream}
1115
+ * An object stream which emits an object representing {@link protos.google.spanner.admin.instance.v1.InstanceConfig|InstanceConfig} on 'data' event.
1116
+ * The client library will perform auto-pagination by default: it will call the API as many
1117
+ * times as needed. Note that it can affect your quota.
1118
+ * We recommend using `listInstanceConfigsAsync()`
1119
+ * method described below for async iteration which you can stop as needed.
1120
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
1121
+ * for more details and examples.
1122
+ */
1123
+ listInstanceConfigsStream(request?: protos.google.spanner.admin.instance.v1.IListInstanceConfigsRequest, options?: CallOptions): Transform;
1124
+ /**
1125
+ * Equivalent to `listInstanceConfigs`, but returns an iterable object.
1126
+ *
1127
+ * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand.
1128
+ * @param {Object} request
1129
+ * The request object that will be sent.
1130
+ * @param {string} request.parent
1131
+ * Required. The name of the project for which a list of supported instance
1132
+ * configurations is requested. Values are of the form
1133
+ * `projects/<project>`.
1134
+ * @param {number} request.pageSize
1135
+ * Number of instance configurations to be returned in the response. If 0 or
1136
+ * less, defaults to the server's maximum allowed page size.
1137
+ * @param {string} request.pageToken
1138
+ * If non-empty, `page_token` should contain a
1139
+ * {@link protos.google.spanner.admin.instance.v1.ListInstanceConfigsResponse.next_page_token|next_page_token}
1140
+ * from a previous
1141
+ * {@link protos.google.spanner.admin.instance.v1.ListInstanceConfigsResponse|ListInstanceConfigsResponse}.
1142
+ * @param {object} [options]
1143
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
1144
+ * @returns {Object}
1145
+ * An iterable Object that allows {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | async iteration }.
1146
+ * When you iterate the returned iterable, each element will be an object representing
1147
+ * {@link protos.google.spanner.admin.instance.v1.InstanceConfig|InstanceConfig}. The API will be called under the hood as needed, once per the page,
1148
+ * so you can stop the iteration when you don't need more results.
1149
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
1150
+ * for more details and examples.
1151
+ * @example <caption>include:samples/generated/v1/instance_admin.list_instance_configs.js</caption>
1152
+ * region_tag:spanner_v1_generated_InstanceAdmin_ListInstanceConfigs_async
1153
+ */
1154
+ listInstanceConfigsAsync(request?: protos.google.spanner.admin.instance.v1.IListInstanceConfigsRequest, options?: CallOptions): AsyncIterable<protos.google.spanner.admin.instance.v1.IInstanceConfig>;
1155
+ /**
1156
+ * Lists the user-managed instance configuration long-running
1157
+ * operations in the given project. An instance
1158
+ * configuration operation has a name of the form
1159
+ * `projects/<project>/instanceConfigs/<instance_config>/operations/<operation>`.
1160
+ * The long-running operation
1161
+ * metadata field type
1162
+ * `metadata.type_url` describes the type of the metadata. Operations returned
1163
+ * include those that have completed/failed/canceled within the last 7 days,
1164
+ * and pending operations. Operations returned are ordered by
1165
+ * `operation.metadata.value.start_time` in descending order starting
1166
+ * from the most recently started operation.
1167
+ *
1168
+ * @param {Object} request
1169
+ * The request object that will be sent.
1170
+ * @param {string} request.parent
1171
+ * Required. The project of the instance configuration operations.
1172
+ * Values are of the form `projects/<project>`.
1173
+ * @param {string} request.filter
1174
+ * An expression that filters the list of returned operations.
1175
+ *
1176
+ * A filter expression consists of a field name, a
1177
+ * comparison operator, and a value for filtering.
1178
+ * The value must be a string, a number, or a boolean. The comparison operator
1179
+ * must be one of: `<`, `>`, `<=`, `>=`, `!=`, `=`, or `:`.
1180
+ * Colon `:` is the contains operator. Filter rules are not case sensitive.
1181
+ *
1182
+ * The following fields in the Operation are eligible for filtering:
1183
+ *
1184
+ * * `name` - The name of the long-running operation
1185
+ * * `done` - False if the operation is in progress, else true.
1186
+ * * `metadata.@type` - the type of metadata. For example, the type string
1187
+ * for
1188
+ * {@link protos.google.spanner.admin.instance.v1.CreateInstanceConfigMetadata|CreateInstanceConfigMetadata}
1189
+ * is
1190
+ * `type.googleapis.com/google.spanner.admin.instance.v1.CreateInstanceConfigMetadata`.
1191
+ * * `metadata.<field_name>` - any field in metadata.value.
1192
+ * `metadata.@type` must be specified first, if filtering on metadata
1193
+ * fields.
1194
+ * * `error` - Error associated with the long-running operation.
1195
+ * * `response.@type` - the type of response.
1196
+ * * `response.<field_name>` - any field in response.value.
1197
+ *
1198
+ * You can combine multiple expressions by enclosing each expression in
1199
+ * parentheses. By default, expressions are combined with AND logic. However,
1200
+ * you can specify AND, OR, and NOT logic explicitly.
1201
+ *
1202
+ * Here are a few examples:
1203
+ *
1204
+ * * `done:true` - The operation is complete.
1205
+ * * `(metadata.@type=` \
1206
+ * `type.googleapis.com/google.spanner.admin.instance.v1.CreateInstanceConfigMetadata)
1207
+ * AND` \
1208
+ * `(metadata.instance_config.name:custom-config) AND` \
1209
+ * `(metadata.progress.start_time < \"2021-03-28T14:50:00Z\") AND` \
1210
+ * `(error:*)` - Return operations where:
1211
+ * * The operation's metadata type is
1212
+ * {@link protos.google.spanner.admin.instance.v1.CreateInstanceConfigMetadata|CreateInstanceConfigMetadata}.
1213
+ * * The instance configuration name contains "custom-config".
1214
+ * * The operation started before 2021-03-28T14:50:00Z.
1215
+ * * The operation resulted in an error.
1216
+ * @param {number} request.pageSize
1217
+ * Number of operations to be returned in the response. If 0 or
1218
+ * less, defaults to the server's maximum allowed page size.
1219
+ * @param {string} request.pageToken
1220
+ * If non-empty, `page_token` should contain a
1221
+ * {@link protos.google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse.next_page_token|next_page_token}
1222
+ * from a previous
1223
+ * {@link protos.google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse|ListInstanceConfigOperationsResponse}
1224
+ * to the same `parent` and with the same `filter`.
1225
+ * @param {object} [options]
1226
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
1227
+ * @returns {Promise} - The promise which resolves to an array.
1228
+ * The first element of the array is Array of {@link protos.google.longrunning.Operation|Operation}.
1229
+ * The client library will perform auto-pagination by default: it will call the API as many
1230
+ * times as needed and will merge results from all the pages into this array.
1231
+ * Note that it can affect your quota.
1232
+ * We recommend using `listInstanceConfigOperationsAsync()`
1233
+ * method described below for async iteration which you can stop as needed.
1234
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
1235
+ * for more details and examples.
1236
+ */
1237
+ listInstanceConfigOperations(request?: protos.google.spanner.admin.instance.v1.IListInstanceConfigOperationsRequest, options?: CallOptions): Promise<[
1238
+ protos.google.longrunning.IOperation[],
1239
+ protos.google.spanner.admin.instance.v1.IListInstanceConfigOperationsRequest | null,
1240
+ protos.google.spanner.admin.instance.v1.IListInstanceConfigOperationsResponse
1241
+ ]>;
1242
+ listInstanceConfigOperations(request: protos.google.spanner.admin.instance.v1.IListInstanceConfigOperationsRequest, options: CallOptions, callback: PaginationCallback<protos.google.spanner.admin.instance.v1.IListInstanceConfigOperationsRequest, protos.google.spanner.admin.instance.v1.IListInstanceConfigOperationsResponse | null | undefined, protos.google.longrunning.IOperation>): void;
1243
+ listInstanceConfigOperations(request: protos.google.spanner.admin.instance.v1.IListInstanceConfigOperationsRequest, callback: PaginationCallback<protos.google.spanner.admin.instance.v1.IListInstanceConfigOperationsRequest, protos.google.spanner.admin.instance.v1.IListInstanceConfigOperationsResponse | null | undefined, protos.google.longrunning.IOperation>): void;
1244
+ /**
1245
+ * Equivalent to `listInstanceConfigOperations`, but returns a NodeJS Stream object.
1246
+ * @param {Object} request
1247
+ * The request object that will be sent.
1248
+ * @param {string} request.parent
1249
+ * Required. The project of the instance configuration operations.
1250
+ * Values are of the form `projects/<project>`.
1251
+ * @param {string} request.filter
1252
+ * An expression that filters the list of returned operations.
1253
+ *
1254
+ * A filter expression consists of a field name, a
1255
+ * comparison operator, and a value for filtering.
1256
+ * The value must be a string, a number, or a boolean. The comparison operator
1257
+ * must be one of: `<`, `>`, `<=`, `>=`, `!=`, `=`, or `:`.
1258
+ * Colon `:` is the contains operator. Filter rules are not case sensitive.
1259
+ *
1260
+ * The following fields in the Operation are eligible for filtering:
1261
+ *
1262
+ * * `name` - The name of the long-running operation
1263
+ * * `done` - False if the operation is in progress, else true.
1264
+ * * `metadata.@type` - the type of metadata. For example, the type string
1265
+ * for
1266
+ * {@link protos.google.spanner.admin.instance.v1.CreateInstanceConfigMetadata|CreateInstanceConfigMetadata}
1267
+ * is
1268
+ * `type.googleapis.com/google.spanner.admin.instance.v1.CreateInstanceConfigMetadata`.
1269
+ * * `metadata.<field_name>` - any field in metadata.value.
1270
+ * `metadata.@type` must be specified first, if filtering on metadata
1271
+ * fields.
1272
+ * * `error` - Error associated with the long-running operation.
1273
+ * * `response.@type` - the type of response.
1274
+ * * `response.<field_name>` - any field in response.value.
1275
+ *
1276
+ * You can combine multiple expressions by enclosing each expression in
1277
+ * parentheses. By default, expressions are combined with AND logic. However,
1278
+ * you can specify AND, OR, and NOT logic explicitly.
1279
+ *
1280
+ * Here are a few examples:
1281
+ *
1282
+ * * `done:true` - The operation is complete.
1283
+ * * `(metadata.@type=` \
1284
+ * `type.googleapis.com/google.spanner.admin.instance.v1.CreateInstanceConfigMetadata)
1285
+ * AND` \
1286
+ * `(metadata.instance_config.name:custom-config) AND` \
1287
+ * `(metadata.progress.start_time < \"2021-03-28T14:50:00Z\") AND` \
1288
+ * `(error:*)` - Return operations where:
1289
+ * * The operation's metadata type is
1290
+ * {@link protos.google.spanner.admin.instance.v1.CreateInstanceConfigMetadata|CreateInstanceConfigMetadata}.
1291
+ * * The instance configuration name contains "custom-config".
1292
+ * * The operation started before 2021-03-28T14:50:00Z.
1293
+ * * The operation resulted in an error.
1294
+ * @param {number} request.pageSize
1295
+ * Number of operations to be returned in the response. If 0 or
1296
+ * less, defaults to the server's maximum allowed page size.
1297
+ * @param {string} request.pageToken
1298
+ * If non-empty, `page_token` should contain a
1299
+ * {@link protos.google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse.next_page_token|next_page_token}
1300
+ * from a previous
1301
+ * {@link protos.google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse|ListInstanceConfigOperationsResponse}
1302
+ * to the same `parent` and with the same `filter`.
1303
+ * @param {object} [options]
1304
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
1305
+ * @returns {Stream}
1306
+ * An object stream which emits an object representing {@link protos.google.longrunning.Operation|Operation} on 'data' event.
1307
+ * The client library will perform auto-pagination by default: it will call the API as many
1308
+ * times as needed. Note that it can affect your quota.
1309
+ * We recommend using `listInstanceConfigOperationsAsync()`
1310
+ * method described below for async iteration which you can stop as needed.
1311
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
1312
+ * for more details and examples.
1313
+ */
1314
+ listInstanceConfigOperationsStream(request?: protos.google.spanner.admin.instance.v1.IListInstanceConfigOperationsRequest, options?: CallOptions): Transform;
1315
+ /**
1316
+ * Equivalent to `listInstanceConfigOperations`, but returns an iterable object.
1317
+ *
1318
+ * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand.
1319
+ * @param {Object} request
1320
+ * The request object that will be sent.
1321
+ * @param {string} request.parent
1322
+ * Required. The project of the instance configuration operations.
1323
+ * Values are of the form `projects/<project>`.
1324
+ * @param {string} request.filter
1325
+ * An expression that filters the list of returned operations.
1326
+ *
1327
+ * A filter expression consists of a field name, a
1328
+ * comparison operator, and a value for filtering.
1329
+ * The value must be a string, a number, or a boolean. The comparison operator
1330
+ * must be one of: `<`, `>`, `<=`, `>=`, `!=`, `=`, or `:`.
1331
+ * Colon `:` is the contains operator. Filter rules are not case sensitive.
1332
+ *
1333
+ * The following fields in the Operation are eligible for filtering:
1334
+ *
1335
+ * * `name` - The name of the long-running operation
1336
+ * * `done` - False if the operation is in progress, else true.
1337
+ * * `metadata.@type` - the type of metadata. For example, the type string
1338
+ * for
1339
+ * {@link protos.google.spanner.admin.instance.v1.CreateInstanceConfigMetadata|CreateInstanceConfigMetadata}
1340
+ * is
1341
+ * `type.googleapis.com/google.spanner.admin.instance.v1.CreateInstanceConfigMetadata`.
1342
+ * * `metadata.<field_name>` - any field in metadata.value.
1343
+ * `metadata.@type` must be specified first, if filtering on metadata
1344
+ * fields.
1345
+ * * `error` - Error associated with the long-running operation.
1346
+ * * `response.@type` - the type of response.
1347
+ * * `response.<field_name>` - any field in response.value.
1348
+ *
1349
+ * You can combine multiple expressions by enclosing each expression in
1350
+ * parentheses. By default, expressions are combined with AND logic. However,
1351
+ * you can specify AND, OR, and NOT logic explicitly.
1352
+ *
1353
+ * Here are a few examples:
1354
+ *
1355
+ * * `done:true` - The operation is complete.
1356
+ * * `(metadata.@type=` \
1357
+ * `type.googleapis.com/google.spanner.admin.instance.v1.CreateInstanceConfigMetadata)
1358
+ * AND` \
1359
+ * `(metadata.instance_config.name:custom-config) AND` \
1360
+ * `(metadata.progress.start_time < \"2021-03-28T14:50:00Z\") AND` \
1361
+ * `(error:*)` - Return operations where:
1362
+ * * The operation's metadata type is
1363
+ * {@link protos.google.spanner.admin.instance.v1.CreateInstanceConfigMetadata|CreateInstanceConfigMetadata}.
1364
+ * * The instance configuration name contains "custom-config".
1365
+ * * The operation started before 2021-03-28T14:50:00Z.
1366
+ * * The operation resulted in an error.
1367
+ * @param {number} request.pageSize
1368
+ * Number of operations to be returned in the response. If 0 or
1369
+ * less, defaults to the server's maximum allowed page size.
1370
+ * @param {string} request.pageToken
1371
+ * If non-empty, `page_token` should contain a
1372
+ * {@link protos.google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse.next_page_token|next_page_token}
1373
+ * from a previous
1374
+ * {@link protos.google.spanner.admin.instance.v1.ListInstanceConfigOperationsResponse|ListInstanceConfigOperationsResponse}
1375
+ * to the same `parent` and with the same `filter`.
1376
+ * @param {object} [options]
1377
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
1378
+ * @returns {Object}
1379
+ * An iterable Object that allows {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | async iteration }.
1380
+ * When you iterate the returned iterable, each element will be an object representing
1381
+ * {@link protos.google.longrunning.Operation|Operation}. The API will be called under the hood as needed, once per the page,
1382
+ * so you can stop the iteration when you don't need more results.
1383
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
1384
+ * for more details and examples.
1385
+ * @example <caption>include:samples/generated/v1/instance_admin.list_instance_config_operations.js</caption>
1386
+ * region_tag:spanner_v1_generated_InstanceAdmin_ListInstanceConfigOperations_async
1387
+ */
1388
+ listInstanceConfigOperationsAsync(request?: protos.google.spanner.admin.instance.v1.IListInstanceConfigOperationsRequest, options?: CallOptions): AsyncIterable<protos.google.longrunning.IOperation>;
1389
+ /**
1390
+ * Lists all instances in the given project.
1391
+ *
1392
+ * @param {Object} request
1393
+ * The request object that will be sent.
1394
+ * @param {string} request.parent
1395
+ * Required. The name of the project for which a list of instances is
1396
+ * requested. Values are of the form `projects/<project>`.
1397
+ * @param {number} request.pageSize
1398
+ * Number of instances to be returned in the response. If 0 or less, defaults
1399
+ * to the server's maximum allowed page size.
1400
+ * @param {string} request.pageToken
1401
+ * If non-empty, `page_token` should contain a
1402
+ * {@link protos.google.spanner.admin.instance.v1.ListInstancesResponse.next_page_token|next_page_token}
1403
+ * from a previous
1404
+ * {@link protos.google.spanner.admin.instance.v1.ListInstancesResponse|ListInstancesResponse}.
1405
+ * @param {string} request.filter
1406
+ * An expression for filtering the results of the request. Filter rules are
1407
+ * case insensitive. The fields eligible for filtering are:
1408
+ *
1409
+ * * `name`
1410
+ * * `display_name`
1411
+ * * `labels.key` where key is the name of a label
1412
+ *
1413
+ * Some examples of using filters are:
1414
+ *
1415
+ * * `name:*` --> The instance has a name.
1416
+ * * `name:Howl` --> The instance's name contains the string "howl".
1417
+ * * `name:HOWL` --> Equivalent to above.
1418
+ * * `NAME:howl` --> Equivalent to above.
1419
+ * * `labels.env:*` --> The instance has the label "env".
1420
+ * * `labels.env:dev` --> The instance has the label "env" and the value of
1421
+ * the label contains the string "dev".
1422
+ * * `name:howl labels.env:dev` --> The instance's name contains "howl" and
1423
+ * it has the label "env" with its value
1424
+ * containing "dev".
1425
+ * @param {google.protobuf.Timestamp} request.instanceDeadline
1426
+ * Deadline used while retrieving metadata for instances.
1427
+ * Instances whose metadata cannot be retrieved within this deadline will be
1428
+ * added to
1429
+ * {@link protos.google.spanner.admin.instance.v1.ListInstancesResponse.unreachable|unreachable}
1430
+ * in
1431
+ * {@link protos.google.spanner.admin.instance.v1.ListInstancesResponse|ListInstancesResponse}.
1432
+ * @param {object} [options]
1433
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
1434
+ * @returns {Promise} - The promise which resolves to an array.
1435
+ * The first element of the array is Array of {@link protos.google.spanner.admin.instance.v1.Instance|Instance}.
1436
+ * The client library will perform auto-pagination by default: it will call the API as many
1437
+ * times as needed and will merge results from all the pages into this array.
1438
+ * Note that it can affect your quota.
1439
+ * We recommend using `listInstancesAsync()`
1440
+ * method described below for async iteration which you can stop as needed.
1441
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
1442
+ * for more details and examples.
1443
+ */
1444
+ listInstances(request?: protos.google.spanner.admin.instance.v1.IListInstancesRequest, options?: CallOptions): Promise<[
1445
+ protos.google.spanner.admin.instance.v1.IInstance[],
1446
+ protos.google.spanner.admin.instance.v1.IListInstancesRequest | null,
1447
+ protos.google.spanner.admin.instance.v1.IListInstancesResponse
1448
+ ]>;
1449
+ listInstances(request: protos.google.spanner.admin.instance.v1.IListInstancesRequest, options: CallOptions, callback: PaginationCallback<protos.google.spanner.admin.instance.v1.IListInstancesRequest, protos.google.spanner.admin.instance.v1.IListInstancesResponse | null | undefined, protos.google.spanner.admin.instance.v1.IInstance>): void;
1450
+ listInstances(request: protos.google.spanner.admin.instance.v1.IListInstancesRequest, callback: PaginationCallback<protos.google.spanner.admin.instance.v1.IListInstancesRequest, protos.google.spanner.admin.instance.v1.IListInstancesResponse | null | undefined, protos.google.spanner.admin.instance.v1.IInstance>): void;
1451
+ /**
1452
+ * Equivalent to `listInstances`, but returns a NodeJS Stream object.
1453
+ * @param {Object} request
1454
+ * The request object that will be sent.
1455
+ * @param {string} request.parent
1456
+ * Required. The name of the project for which a list of instances is
1457
+ * requested. Values are of the form `projects/<project>`.
1458
+ * @param {number} request.pageSize
1459
+ * Number of instances to be returned in the response. If 0 or less, defaults
1460
+ * to the server's maximum allowed page size.
1461
+ * @param {string} request.pageToken
1462
+ * If non-empty, `page_token` should contain a
1463
+ * {@link protos.google.spanner.admin.instance.v1.ListInstancesResponse.next_page_token|next_page_token}
1464
+ * from a previous
1465
+ * {@link protos.google.spanner.admin.instance.v1.ListInstancesResponse|ListInstancesResponse}.
1466
+ * @param {string} request.filter
1467
+ * An expression for filtering the results of the request. Filter rules are
1468
+ * case insensitive. The fields eligible for filtering are:
1469
+ *
1470
+ * * `name`
1471
+ * * `display_name`
1472
+ * * `labels.key` where key is the name of a label
1473
+ *
1474
+ * Some examples of using filters are:
1475
+ *
1476
+ * * `name:*` --> The instance has a name.
1477
+ * * `name:Howl` --> The instance's name contains the string "howl".
1478
+ * * `name:HOWL` --> Equivalent to above.
1479
+ * * `NAME:howl` --> Equivalent to above.
1480
+ * * `labels.env:*` --> The instance has the label "env".
1481
+ * * `labels.env:dev` --> The instance has the label "env" and the value of
1482
+ * the label contains the string "dev".
1483
+ * * `name:howl labels.env:dev` --> The instance's name contains "howl" and
1484
+ * it has the label "env" with its value
1485
+ * containing "dev".
1486
+ * @param {google.protobuf.Timestamp} request.instanceDeadline
1487
+ * Deadline used while retrieving metadata for instances.
1488
+ * Instances whose metadata cannot be retrieved within this deadline will be
1489
+ * added to
1490
+ * {@link protos.google.spanner.admin.instance.v1.ListInstancesResponse.unreachable|unreachable}
1491
+ * in
1492
+ * {@link protos.google.spanner.admin.instance.v1.ListInstancesResponse|ListInstancesResponse}.
1493
+ * @param {object} [options]
1494
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
1495
+ * @returns {Stream}
1496
+ * An object stream which emits an object representing {@link protos.google.spanner.admin.instance.v1.Instance|Instance} on 'data' event.
1497
+ * The client library will perform auto-pagination by default: it will call the API as many
1498
+ * times as needed. Note that it can affect your quota.
1499
+ * We recommend using `listInstancesAsync()`
1500
+ * method described below for async iteration which you can stop as needed.
1501
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
1502
+ * for more details and examples.
1503
+ */
1504
+ listInstancesStream(request?: protos.google.spanner.admin.instance.v1.IListInstancesRequest, options?: CallOptions): Transform;
1505
+ /**
1506
+ * Equivalent to `listInstances`, but returns an iterable object.
1507
+ *
1508
+ * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand.
1509
+ * @param {Object} request
1510
+ * The request object that will be sent.
1511
+ * @param {string} request.parent
1512
+ * Required. The name of the project for which a list of instances is
1513
+ * requested. Values are of the form `projects/<project>`.
1514
+ * @param {number} request.pageSize
1515
+ * Number of instances to be returned in the response. If 0 or less, defaults
1516
+ * to the server's maximum allowed page size.
1517
+ * @param {string} request.pageToken
1518
+ * If non-empty, `page_token` should contain a
1519
+ * {@link protos.google.spanner.admin.instance.v1.ListInstancesResponse.next_page_token|next_page_token}
1520
+ * from a previous
1521
+ * {@link protos.google.spanner.admin.instance.v1.ListInstancesResponse|ListInstancesResponse}.
1522
+ * @param {string} request.filter
1523
+ * An expression for filtering the results of the request. Filter rules are
1524
+ * case insensitive. The fields eligible for filtering are:
1525
+ *
1526
+ * * `name`
1527
+ * * `display_name`
1528
+ * * `labels.key` where key is the name of a label
1529
+ *
1530
+ * Some examples of using filters are:
1531
+ *
1532
+ * * `name:*` --> The instance has a name.
1533
+ * * `name:Howl` --> The instance's name contains the string "howl".
1534
+ * * `name:HOWL` --> Equivalent to above.
1535
+ * * `NAME:howl` --> Equivalent to above.
1536
+ * * `labels.env:*` --> The instance has the label "env".
1537
+ * * `labels.env:dev` --> The instance has the label "env" and the value of
1538
+ * the label contains the string "dev".
1539
+ * * `name:howl labels.env:dev` --> The instance's name contains "howl" and
1540
+ * it has the label "env" with its value
1541
+ * containing "dev".
1542
+ * @param {google.protobuf.Timestamp} request.instanceDeadline
1543
+ * Deadline used while retrieving metadata for instances.
1544
+ * Instances whose metadata cannot be retrieved within this deadline will be
1545
+ * added to
1546
+ * {@link protos.google.spanner.admin.instance.v1.ListInstancesResponse.unreachable|unreachable}
1547
+ * in
1548
+ * {@link protos.google.spanner.admin.instance.v1.ListInstancesResponse|ListInstancesResponse}.
1549
+ * @param {object} [options]
1550
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
1551
+ * @returns {Object}
1552
+ * An iterable Object that allows {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | async iteration }.
1553
+ * When you iterate the returned iterable, each element will be an object representing
1554
+ * {@link protos.google.spanner.admin.instance.v1.Instance|Instance}. The API will be called under the hood as needed, once per the page,
1555
+ * so you can stop the iteration when you don't need more results.
1556
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
1557
+ * for more details and examples.
1558
+ * @example <caption>include:samples/generated/v1/instance_admin.list_instances.js</caption>
1559
+ * region_tag:spanner_v1_generated_InstanceAdmin_ListInstances_async
1560
+ */
1561
+ listInstancesAsync(request?: protos.google.spanner.admin.instance.v1.IListInstancesRequest, options?: CallOptions): AsyncIterable<protos.google.spanner.admin.instance.v1.IInstance>;
1562
+ /**
1563
+ * Lists all instance partitions for the given instance.
1564
+ *
1565
+ * @param {Object} request
1566
+ * The request object that will be sent.
1567
+ * @param {string} request.parent
1568
+ * Required. The instance whose instance partitions should be listed. Values
1569
+ * are of the form `projects/<project>/instances/<instance>`. Use `{instance}
1570
+ * = '-'` to list instance partitions for all Instances in a project, e.g.,
1571
+ * `projects/myproject/instances/-`.
1572
+ * @param {number} request.pageSize
1573
+ * Number of instance partitions to be returned in the response. If 0 or less,
1574
+ * defaults to the server's maximum allowed page size.
1575
+ * @param {string} request.pageToken
1576
+ * If non-empty, `page_token` should contain a
1577
+ * {@link protos.google.spanner.admin.instance.v1.ListInstancePartitionsResponse.next_page_token|next_page_token}
1578
+ * from a previous
1579
+ * {@link protos.google.spanner.admin.instance.v1.ListInstancePartitionsResponse|ListInstancePartitionsResponse}.
1580
+ * @param {google.protobuf.Timestamp} [request.instancePartitionDeadline]
1581
+ * Optional. Deadline used while retrieving metadata for instance partitions.
1582
+ * Instance partitions whose metadata cannot be retrieved within this deadline
1583
+ * will be added to
1584
+ * {@link protos.google.spanner.admin.instance.v1.ListInstancePartitionsResponse.unreachable|unreachable}
1585
+ * in
1586
+ * {@link protos.google.spanner.admin.instance.v1.ListInstancePartitionsResponse|ListInstancePartitionsResponse}.
1587
+ * @param {object} [options]
1588
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
1589
+ * @returns {Promise} - The promise which resolves to an array.
1590
+ * The first element of the array is Array of {@link protos.google.spanner.admin.instance.v1.InstancePartition|InstancePartition}.
1591
+ * The client library will perform auto-pagination by default: it will call the API as many
1592
+ * times as needed and will merge results from all the pages into this array.
1593
+ * Note that it can affect your quota.
1594
+ * We recommend using `listInstancePartitionsAsync()`
1595
+ * method described below for async iteration which you can stop as needed.
1596
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
1597
+ * for more details and examples.
1598
+ */
1599
+ listInstancePartitions(request?: protos.google.spanner.admin.instance.v1.IListInstancePartitionsRequest, options?: CallOptions): Promise<[
1600
+ protos.google.spanner.admin.instance.v1.IInstancePartition[],
1601
+ protos.google.spanner.admin.instance.v1.IListInstancePartitionsRequest | null,
1602
+ protos.google.spanner.admin.instance.v1.IListInstancePartitionsResponse
1603
+ ]>;
1604
+ listInstancePartitions(request: protos.google.spanner.admin.instance.v1.IListInstancePartitionsRequest, options: CallOptions, callback: PaginationCallback<protos.google.spanner.admin.instance.v1.IListInstancePartitionsRequest, protos.google.spanner.admin.instance.v1.IListInstancePartitionsResponse | null | undefined, protos.google.spanner.admin.instance.v1.IInstancePartition>): void;
1605
+ listInstancePartitions(request: protos.google.spanner.admin.instance.v1.IListInstancePartitionsRequest, callback: PaginationCallback<protos.google.spanner.admin.instance.v1.IListInstancePartitionsRequest, protos.google.spanner.admin.instance.v1.IListInstancePartitionsResponse | null | undefined, protos.google.spanner.admin.instance.v1.IInstancePartition>): void;
1606
+ /**
1607
+ * Equivalent to `listInstancePartitions`, but returns a NodeJS Stream object.
1608
+ * @param {Object} request
1609
+ * The request object that will be sent.
1610
+ * @param {string} request.parent
1611
+ * Required. The instance whose instance partitions should be listed. Values
1612
+ * are of the form `projects/<project>/instances/<instance>`. Use `{instance}
1613
+ * = '-'` to list instance partitions for all Instances in a project, e.g.,
1614
+ * `projects/myproject/instances/-`.
1615
+ * @param {number} request.pageSize
1616
+ * Number of instance partitions to be returned in the response. If 0 or less,
1617
+ * defaults to the server's maximum allowed page size.
1618
+ * @param {string} request.pageToken
1619
+ * If non-empty, `page_token` should contain a
1620
+ * {@link protos.google.spanner.admin.instance.v1.ListInstancePartitionsResponse.next_page_token|next_page_token}
1621
+ * from a previous
1622
+ * {@link protos.google.spanner.admin.instance.v1.ListInstancePartitionsResponse|ListInstancePartitionsResponse}.
1623
+ * @param {google.protobuf.Timestamp} [request.instancePartitionDeadline]
1624
+ * Optional. Deadline used while retrieving metadata for instance partitions.
1625
+ * Instance partitions whose metadata cannot be retrieved within this deadline
1626
+ * will be added to
1627
+ * {@link protos.google.spanner.admin.instance.v1.ListInstancePartitionsResponse.unreachable|unreachable}
1628
+ * in
1629
+ * {@link protos.google.spanner.admin.instance.v1.ListInstancePartitionsResponse|ListInstancePartitionsResponse}.
1630
+ * @param {object} [options]
1631
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
1632
+ * @returns {Stream}
1633
+ * An object stream which emits an object representing {@link protos.google.spanner.admin.instance.v1.InstancePartition|InstancePartition} on 'data' event.
1634
+ * The client library will perform auto-pagination by default: it will call the API as many
1635
+ * times as needed. Note that it can affect your quota.
1636
+ * We recommend using `listInstancePartitionsAsync()`
1637
+ * method described below for async iteration which you can stop as needed.
1638
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
1639
+ * for more details and examples.
1640
+ */
1641
+ listInstancePartitionsStream(request?: protos.google.spanner.admin.instance.v1.IListInstancePartitionsRequest, options?: CallOptions): Transform;
1642
+ /**
1643
+ * Equivalent to `listInstancePartitions`, but returns an iterable object.
1644
+ *
1645
+ * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand.
1646
+ * @param {Object} request
1647
+ * The request object that will be sent.
1648
+ * @param {string} request.parent
1649
+ * Required. The instance whose instance partitions should be listed. Values
1650
+ * are of the form `projects/<project>/instances/<instance>`. Use `{instance}
1651
+ * = '-'` to list instance partitions for all Instances in a project, e.g.,
1652
+ * `projects/myproject/instances/-`.
1653
+ * @param {number} request.pageSize
1654
+ * Number of instance partitions to be returned in the response. If 0 or less,
1655
+ * defaults to the server's maximum allowed page size.
1656
+ * @param {string} request.pageToken
1657
+ * If non-empty, `page_token` should contain a
1658
+ * {@link protos.google.spanner.admin.instance.v1.ListInstancePartitionsResponse.next_page_token|next_page_token}
1659
+ * from a previous
1660
+ * {@link protos.google.spanner.admin.instance.v1.ListInstancePartitionsResponse|ListInstancePartitionsResponse}.
1661
+ * @param {google.protobuf.Timestamp} [request.instancePartitionDeadline]
1662
+ * Optional. Deadline used while retrieving metadata for instance partitions.
1663
+ * Instance partitions whose metadata cannot be retrieved within this deadline
1664
+ * will be added to
1665
+ * {@link protos.google.spanner.admin.instance.v1.ListInstancePartitionsResponse.unreachable|unreachable}
1666
+ * in
1667
+ * {@link protos.google.spanner.admin.instance.v1.ListInstancePartitionsResponse|ListInstancePartitionsResponse}.
1668
+ * @param {object} [options]
1669
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
1670
+ * @returns {Object}
1671
+ * An iterable Object that allows {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | async iteration }.
1672
+ * When you iterate the returned iterable, each element will be an object representing
1673
+ * {@link protos.google.spanner.admin.instance.v1.InstancePartition|InstancePartition}. The API will be called under the hood as needed, once per the page,
1674
+ * so you can stop the iteration when you don't need more results.
1675
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
1676
+ * for more details and examples.
1677
+ * @example <caption>include:samples/generated/v1/instance_admin.list_instance_partitions.js</caption>
1678
+ * region_tag:spanner_v1_generated_InstanceAdmin_ListInstancePartitions_async
1679
+ */
1680
+ listInstancePartitionsAsync(request?: protos.google.spanner.admin.instance.v1.IListInstancePartitionsRequest, options?: CallOptions): AsyncIterable<protos.google.spanner.admin.instance.v1.IInstancePartition>;
1681
+ /**
1682
+ * Lists instance partition long-running operations in the given instance.
1683
+ * An instance partition operation has a name of the form
1684
+ * `projects/<project>/instances/<instance>/instancePartitions/<instance_partition>/operations/<operation>`.
1685
+ * The long-running operation
1686
+ * metadata field type
1687
+ * `metadata.type_url` describes the type of the metadata. Operations returned
1688
+ * include those that have completed/failed/canceled within the last 7 days,
1689
+ * and pending operations. Operations returned are ordered by
1690
+ * `operation.metadata.value.start_time` in descending order starting from the
1691
+ * most recently started operation.
1692
+ *
1693
+ * Authorization requires `spanner.instancePartitionOperations.list`
1694
+ * permission on the resource
1695
+ * {@link protos.google.spanner.admin.instance.v1.ListInstancePartitionOperationsRequest.parent|parent}.
1696
+ *
1697
+ * @param {Object} request
1698
+ * The request object that will be sent.
1699
+ * @param {string} request.parent
1700
+ * Required. The parent instance of the instance partition operations.
1701
+ * Values are of the form `projects/<project>/instances/<instance>`.
1702
+ * @param {string} [request.filter]
1703
+ * Optional. An expression that filters the list of returned operations.
1704
+ *
1705
+ * A filter expression consists of a field name, a
1706
+ * comparison operator, and a value for filtering.
1707
+ * The value must be a string, a number, or a boolean. The comparison operator
1708
+ * must be one of: `<`, `>`, `<=`, `>=`, `!=`, `=`, or `:`.
1709
+ * Colon `:` is the contains operator. Filter rules are not case sensitive.
1710
+ *
1711
+ * The following fields in the Operation are eligible for filtering:
1712
+ *
1713
+ * * `name` - The name of the long-running operation
1714
+ * * `done` - False if the operation is in progress, else true.
1715
+ * * `metadata.@type` - the type of metadata. For example, the type string
1716
+ * for
1717
+ * {@link protos.google.spanner.admin.instance.v1.CreateInstancePartitionMetadata|CreateInstancePartitionMetadata}
1718
+ * is
1719
+ * `type.googleapis.com/google.spanner.admin.instance.v1.CreateInstancePartitionMetadata`.
1720
+ * * `metadata.<field_name>` - any field in metadata.value.
1721
+ * `metadata.@type` must be specified first, if filtering on metadata
1722
+ * fields.
1723
+ * * `error` - Error associated with the long-running operation.
1724
+ * * `response.@type` - the type of response.
1725
+ * * `response.<field_name>` - any field in response.value.
1726
+ *
1727
+ * You can combine multiple expressions by enclosing each expression in
1728
+ * parentheses. By default, expressions are combined with AND logic. However,
1729
+ * you can specify AND, OR, and NOT logic explicitly.
1730
+ *
1731
+ * Here are a few examples:
1732
+ *
1733
+ * * `done:true` - The operation is complete.
1734
+ * * `(metadata.@type=` \
1735
+ * `type.googleapis.com/google.spanner.admin.instance.v1.CreateInstancePartitionMetadata)
1736
+ * AND` \
1737
+ * `(metadata.instance_partition.name:custom-instance-partition) AND` \
1738
+ * `(metadata.start_time < \"2021-03-28T14:50:00Z\") AND` \
1739
+ * `(error:*)` - Return operations where:
1740
+ * * The operation's metadata type is
1741
+ * {@link protos.google.spanner.admin.instance.v1.CreateInstancePartitionMetadata|CreateInstancePartitionMetadata}.
1742
+ * * The instance partition name contains "custom-instance-partition".
1743
+ * * The operation started before 2021-03-28T14:50:00Z.
1744
+ * * The operation resulted in an error.
1745
+ * @param {number} [request.pageSize]
1746
+ * Optional. Number of operations to be returned in the response. If 0 or
1747
+ * less, defaults to the server's maximum allowed page size.
1748
+ * @param {string} [request.pageToken]
1749
+ * Optional. If non-empty, `page_token` should contain a
1750
+ * {@link protos.google.spanner.admin.instance.v1.ListInstancePartitionOperationsResponse.next_page_token|next_page_token}
1751
+ * from a previous
1752
+ * {@link protos.google.spanner.admin.instance.v1.ListInstancePartitionOperationsResponse|ListInstancePartitionOperationsResponse}
1753
+ * to the same `parent` and with the same `filter`.
1754
+ * @param {google.protobuf.Timestamp} [request.instancePartitionDeadline]
1755
+ * Optional. Deadline used while retrieving metadata for instance partition
1756
+ * operations. Instance partitions whose operation metadata cannot be
1757
+ * retrieved within this deadline will be added to
1758
+ * {@link protos.google.spanner.admin.instance.v1.ListInstancePartitionOperationsResponse.unreachable_instance_partitions|unreachable_instance_partitions}
1759
+ * in
1760
+ * {@link protos.google.spanner.admin.instance.v1.ListInstancePartitionOperationsResponse|ListInstancePartitionOperationsResponse}.
1761
+ * @param {object} [options]
1762
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
1763
+ * @returns {Promise} - The promise which resolves to an array.
1764
+ * The first element of the array is Array of {@link protos.google.longrunning.Operation|Operation}.
1765
+ * The client library will perform auto-pagination by default: it will call the API as many
1766
+ * times as needed and will merge results from all the pages into this array.
1767
+ * Note that it can affect your quota.
1768
+ * We recommend using `listInstancePartitionOperationsAsync()`
1769
+ * method described below for async iteration which you can stop as needed.
1770
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
1771
+ * for more details and examples.
1772
+ */
1773
+ listInstancePartitionOperations(request?: protos.google.spanner.admin.instance.v1.IListInstancePartitionOperationsRequest, options?: CallOptions): Promise<[
1774
+ protos.google.longrunning.IOperation[],
1775
+ protos.google.spanner.admin.instance.v1.IListInstancePartitionOperationsRequest | null,
1776
+ protos.google.spanner.admin.instance.v1.IListInstancePartitionOperationsResponse
1777
+ ]>;
1778
+ listInstancePartitionOperations(request: protos.google.spanner.admin.instance.v1.IListInstancePartitionOperationsRequest, options: CallOptions, callback: PaginationCallback<protos.google.spanner.admin.instance.v1.IListInstancePartitionOperationsRequest, protos.google.spanner.admin.instance.v1.IListInstancePartitionOperationsResponse | null | undefined, protos.google.longrunning.IOperation>): void;
1779
+ listInstancePartitionOperations(request: protos.google.spanner.admin.instance.v1.IListInstancePartitionOperationsRequest, callback: PaginationCallback<protos.google.spanner.admin.instance.v1.IListInstancePartitionOperationsRequest, protos.google.spanner.admin.instance.v1.IListInstancePartitionOperationsResponse | null | undefined, protos.google.longrunning.IOperation>): void;
1780
+ /**
1781
+ * Equivalent to `listInstancePartitionOperations`, but returns a NodeJS Stream object.
1782
+ * @param {Object} request
1783
+ * The request object that will be sent.
1784
+ * @param {string} request.parent
1785
+ * Required. The parent instance of the instance partition operations.
1786
+ * Values are of the form `projects/<project>/instances/<instance>`.
1787
+ * @param {string} [request.filter]
1788
+ * Optional. An expression that filters the list of returned operations.
1789
+ *
1790
+ * A filter expression consists of a field name, a
1791
+ * comparison operator, and a value for filtering.
1792
+ * The value must be a string, a number, or a boolean. The comparison operator
1793
+ * must be one of: `<`, `>`, `<=`, `>=`, `!=`, `=`, or `:`.
1794
+ * Colon `:` is the contains operator. Filter rules are not case sensitive.
1795
+ *
1796
+ * The following fields in the Operation are eligible for filtering:
1797
+ *
1798
+ * * `name` - The name of the long-running operation
1799
+ * * `done` - False if the operation is in progress, else true.
1800
+ * * `metadata.@type` - the type of metadata. For example, the type string
1801
+ * for
1802
+ * {@link protos.google.spanner.admin.instance.v1.CreateInstancePartitionMetadata|CreateInstancePartitionMetadata}
1803
+ * is
1804
+ * `type.googleapis.com/google.spanner.admin.instance.v1.CreateInstancePartitionMetadata`.
1805
+ * * `metadata.<field_name>` - any field in metadata.value.
1806
+ * `metadata.@type` must be specified first, if filtering on metadata
1807
+ * fields.
1808
+ * * `error` - Error associated with the long-running operation.
1809
+ * * `response.@type` - the type of response.
1810
+ * * `response.<field_name>` - any field in response.value.
1811
+ *
1812
+ * You can combine multiple expressions by enclosing each expression in
1813
+ * parentheses. By default, expressions are combined with AND logic. However,
1814
+ * you can specify AND, OR, and NOT logic explicitly.
1815
+ *
1816
+ * Here are a few examples:
1817
+ *
1818
+ * * `done:true` - The operation is complete.
1819
+ * * `(metadata.@type=` \
1820
+ * `type.googleapis.com/google.spanner.admin.instance.v1.CreateInstancePartitionMetadata)
1821
+ * AND` \
1822
+ * `(metadata.instance_partition.name:custom-instance-partition) AND` \
1823
+ * `(metadata.start_time < \"2021-03-28T14:50:00Z\") AND` \
1824
+ * `(error:*)` - Return operations where:
1825
+ * * The operation's metadata type is
1826
+ * {@link protos.google.spanner.admin.instance.v1.CreateInstancePartitionMetadata|CreateInstancePartitionMetadata}.
1827
+ * * The instance partition name contains "custom-instance-partition".
1828
+ * * The operation started before 2021-03-28T14:50:00Z.
1829
+ * * The operation resulted in an error.
1830
+ * @param {number} [request.pageSize]
1831
+ * Optional. Number of operations to be returned in the response. If 0 or
1832
+ * less, defaults to the server's maximum allowed page size.
1833
+ * @param {string} [request.pageToken]
1834
+ * Optional. If non-empty, `page_token` should contain a
1835
+ * {@link protos.google.spanner.admin.instance.v1.ListInstancePartitionOperationsResponse.next_page_token|next_page_token}
1836
+ * from a previous
1837
+ * {@link protos.google.spanner.admin.instance.v1.ListInstancePartitionOperationsResponse|ListInstancePartitionOperationsResponse}
1838
+ * to the same `parent` and with the same `filter`.
1839
+ * @param {google.protobuf.Timestamp} [request.instancePartitionDeadline]
1840
+ * Optional. Deadline used while retrieving metadata for instance partition
1841
+ * operations. Instance partitions whose operation metadata cannot be
1842
+ * retrieved within this deadline will be added to
1843
+ * {@link protos.google.spanner.admin.instance.v1.ListInstancePartitionOperationsResponse.unreachable_instance_partitions|unreachable_instance_partitions}
1844
+ * in
1845
+ * {@link protos.google.spanner.admin.instance.v1.ListInstancePartitionOperationsResponse|ListInstancePartitionOperationsResponse}.
1846
+ * @param {object} [options]
1847
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
1848
+ * @returns {Stream}
1849
+ * An object stream which emits an object representing {@link protos.google.longrunning.Operation|Operation} on 'data' event.
1850
+ * The client library will perform auto-pagination by default: it will call the API as many
1851
+ * times as needed. Note that it can affect your quota.
1852
+ * We recommend using `listInstancePartitionOperationsAsync()`
1853
+ * method described below for async iteration which you can stop as needed.
1854
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
1855
+ * for more details and examples.
1856
+ */
1857
+ listInstancePartitionOperationsStream(request?: protos.google.spanner.admin.instance.v1.IListInstancePartitionOperationsRequest, options?: CallOptions): Transform;
1858
+ /**
1859
+ * Equivalent to `listInstancePartitionOperations`, but returns an iterable object.
1860
+ *
1861
+ * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand.
1862
+ * @param {Object} request
1863
+ * The request object that will be sent.
1864
+ * @param {string} request.parent
1865
+ * Required. The parent instance of the instance partition operations.
1866
+ * Values are of the form `projects/<project>/instances/<instance>`.
1867
+ * @param {string} [request.filter]
1868
+ * Optional. An expression that filters the list of returned operations.
1869
+ *
1870
+ * A filter expression consists of a field name, a
1871
+ * comparison operator, and a value for filtering.
1872
+ * The value must be a string, a number, or a boolean. The comparison operator
1873
+ * must be one of: `<`, `>`, `<=`, `>=`, `!=`, `=`, or `:`.
1874
+ * Colon `:` is the contains operator. Filter rules are not case sensitive.
1875
+ *
1876
+ * The following fields in the Operation are eligible for filtering:
1877
+ *
1878
+ * * `name` - The name of the long-running operation
1879
+ * * `done` - False if the operation is in progress, else true.
1880
+ * * `metadata.@type` - the type of metadata. For example, the type string
1881
+ * for
1882
+ * {@link protos.google.spanner.admin.instance.v1.CreateInstancePartitionMetadata|CreateInstancePartitionMetadata}
1883
+ * is
1884
+ * `type.googleapis.com/google.spanner.admin.instance.v1.CreateInstancePartitionMetadata`.
1885
+ * * `metadata.<field_name>` - any field in metadata.value.
1886
+ * `metadata.@type` must be specified first, if filtering on metadata
1887
+ * fields.
1888
+ * * `error` - Error associated with the long-running operation.
1889
+ * * `response.@type` - the type of response.
1890
+ * * `response.<field_name>` - any field in response.value.
1891
+ *
1892
+ * You can combine multiple expressions by enclosing each expression in
1893
+ * parentheses. By default, expressions are combined with AND logic. However,
1894
+ * you can specify AND, OR, and NOT logic explicitly.
1895
+ *
1896
+ * Here are a few examples:
1897
+ *
1898
+ * * `done:true` - The operation is complete.
1899
+ * * `(metadata.@type=` \
1900
+ * `type.googleapis.com/google.spanner.admin.instance.v1.CreateInstancePartitionMetadata)
1901
+ * AND` \
1902
+ * `(metadata.instance_partition.name:custom-instance-partition) AND` \
1903
+ * `(metadata.start_time < \"2021-03-28T14:50:00Z\") AND` \
1904
+ * `(error:*)` - Return operations where:
1905
+ * * The operation's metadata type is
1906
+ * {@link protos.google.spanner.admin.instance.v1.CreateInstancePartitionMetadata|CreateInstancePartitionMetadata}.
1907
+ * * The instance partition name contains "custom-instance-partition".
1908
+ * * The operation started before 2021-03-28T14:50:00Z.
1909
+ * * The operation resulted in an error.
1910
+ * @param {number} [request.pageSize]
1911
+ * Optional. Number of operations to be returned in the response. If 0 or
1912
+ * less, defaults to the server's maximum allowed page size.
1913
+ * @param {string} [request.pageToken]
1914
+ * Optional. If non-empty, `page_token` should contain a
1915
+ * {@link protos.google.spanner.admin.instance.v1.ListInstancePartitionOperationsResponse.next_page_token|next_page_token}
1916
+ * from a previous
1917
+ * {@link protos.google.spanner.admin.instance.v1.ListInstancePartitionOperationsResponse|ListInstancePartitionOperationsResponse}
1918
+ * to the same `parent` and with the same `filter`.
1919
+ * @param {google.protobuf.Timestamp} [request.instancePartitionDeadline]
1920
+ * Optional. Deadline used while retrieving metadata for instance partition
1921
+ * operations. Instance partitions whose operation metadata cannot be
1922
+ * retrieved within this deadline will be added to
1923
+ * {@link protos.google.spanner.admin.instance.v1.ListInstancePartitionOperationsResponse.unreachable_instance_partitions|unreachable_instance_partitions}
1924
+ * in
1925
+ * {@link protos.google.spanner.admin.instance.v1.ListInstancePartitionOperationsResponse|ListInstancePartitionOperationsResponse}.
1926
+ * @param {object} [options]
1927
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
1928
+ * @returns {Object}
1929
+ * An iterable Object that allows {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | async iteration }.
1930
+ * When you iterate the returned iterable, each element will be an object representing
1931
+ * {@link protos.google.longrunning.Operation|Operation}. The API will be called under the hood as needed, once per the page,
1932
+ * so you can stop the iteration when you don't need more results.
1933
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
1934
+ * for more details and examples.
1935
+ * @example <caption>include:samples/generated/v1/instance_admin.list_instance_partition_operations.js</caption>
1936
+ * region_tag:spanner_v1_generated_InstanceAdmin_ListInstancePartitionOperations_async
1937
+ */
1938
+ listInstancePartitionOperationsAsync(request?: protos.google.spanner.admin.instance.v1.IListInstancePartitionOperationsRequest, options?: CallOptions): AsyncIterable<protos.google.longrunning.IOperation>;
1939
+ /**
1940
+ * Gets the latest state of a long-running operation. Clients can use this
1941
+ * method to poll the operation result at intervals as recommended by the API
1942
+ * service.
1943
+ *
1944
+ * @param {Object} request - The request object that will be sent.
1945
+ * @param {string} request.name - The name of the operation resource.
1946
+ * @param {Object=} options
1947
+ * Optional parameters. You can override the default settings for this call,
1948
+ * e.g, timeout, retries, paginations, etc. See {@link
1949
+ * https://googleapis.github.io/gax-nodejs/global.html#CallOptions | gax.CallOptions}
1950
+ * for the details.
1951
+ * @param {function(?Error, ?Object)=} callback
1952
+ * The function which will be called with the result of the API call.
1953
+ *
1954
+ * The second parameter to the callback is an object representing
1955
+ * {@link google.longrunning.Operation | google.longrunning.Operation}.
1956
+ * @return {Promise} - The promise which resolves to an array.
1957
+ * The first element of the array is an object representing
1958
+ * {@link google.longrunning.Operation | google.longrunning.Operation}.
1959
+ * The promise has a method named "cancel" which cancels the ongoing API call.
1960
+ *
1961
+ * @example
1962
+ * ```
1963
+ * const client = longrunning.operationsClient();
1964
+ * const name = '';
1965
+ * const [response] = await client.getOperation({name});
1966
+ * // doThingsWith(response)
1967
+ * ```
1968
+ */
1969
+ getOperation(request: protos.google.longrunning.GetOperationRequest, optionsOrCallback?: gax.CallOptions | Callback<protos.google.longrunning.Operation, protos.google.longrunning.GetOperationRequest, {} | null | undefined>, callback?: Callback<protos.google.longrunning.Operation, protos.google.longrunning.GetOperationRequest, {} | null | undefined>): Promise<[protos.google.longrunning.Operation]>;
1970
+ /**
1971
+ * Lists operations that match the specified filter in the request. If the
1972
+ * server doesn't support this method, it returns `UNIMPLEMENTED`. Returns an iterable object.
1973
+ *
1974
+ * For-await-of syntax is used with the iterable to recursively get response element on-demand.
1975
+ *
1976
+ * @param {Object} request - The request object that will be sent.
1977
+ * @param {string} request.name - The name of the operation collection.
1978
+ * @param {string} request.filter - The standard list filter.
1979
+ * @param {number=} request.pageSize -
1980
+ * The maximum number of resources contained in the underlying API
1981
+ * response. If page streaming is performed per-resource, this
1982
+ * parameter does not affect the return value. If page streaming is
1983
+ * performed per-page, this determines the maximum number of
1984
+ * resources in a page.
1985
+ * @param {Object=} options
1986
+ * Optional parameters. You can override the default settings for this call,
1987
+ * e.g, timeout, retries, paginations, etc. See {@link
1988
+ * https://googleapis.github.io/gax-nodejs/global.html#CallOptions | gax.CallOptions} for the
1989
+ * details.
1990
+ * @returns {Object}
1991
+ * An iterable Object that conforms to {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | iteration protocols}.
1992
+ *
1993
+ * @example
1994
+ * ```
1995
+ * const client = longrunning.operationsClient();
1996
+ * for await (const response of client.listOperationsAsync(request));
1997
+ * // doThingsWith(response)
1998
+ * ```
1999
+ */
2000
+ listOperationsAsync(request: protos.google.longrunning.ListOperationsRequest, options?: gax.CallOptions): AsyncIterable<protos.google.longrunning.IOperation>;
2001
+ /**
2002
+ * Starts asynchronous cancellation on a long-running operation. The server
2003
+ * makes a best effort to cancel the operation, but success is not
2004
+ * guaranteed. If the server doesn't support this method, it returns
2005
+ * `google.rpc.Code.UNIMPLEMENTED`. Clients can use
2006
+ * {@link Operations.GetOperation} or
2007
+ * other methods to check whether the cancellation succeeded or whether the
2008
+ * operation completed despite cancellation. On successful cancellation,
2009
+ * the operation is not deleted; instead, it becomes an operation with
2010
+ * an {@link Operation.error} value with a {@link google.rpc.Status.code} of
2011
+ * 1, corresponding to `Code.CANCELLED`.
2012
+ *
2013
+ * @param {Object} request - The request object that will be sent.
2014
+ * @param {string} request.name - The name of the operation resource to be cancelled.
2015
+ * @param {Object=} options
2016
+ * Optional parameters. You can override the default settings for this call,
2017
+ * e.g, timeout, retries, paginations, etc. See {@link
2018
+ * https://googleapis.github.io/gax-nodejs/global.html#CallOptions | gax.CallOptions} for the
2019
+ * details.
2020
+ * @param {function(?Error)=} callback
2021
+ * The function which will be called with the result of the API call.
2022
+ * @return {Promise} - The promise which resolves when API call finishes.
2023
+ * The promise has a method named "cancel" which cancels the ongoing API
2024
+ * call.
2025
+ *
2026
+ * @example
2027
+ * ```
2028
+ * const client = longrunning.operationsClient();
2029
+ * await client.cancelOperation({name: ''});
2030
+ * ```
2031
+ */
2032
+ cancelOperation(request: protos.google.longrunning.CancelOperationRequest, optionsOrCallback?: gax.CallOptions | Callback<protos.google.longrunning.CancelOperationRequest, protos.google.protobuf.Empty, {} | undefined | null>, callback?: Callback<protos.google.longrunning.CancelOperationRequest, protos.google.protobuf.Empty, {} | undefined | null>): Promise<protos.google.protobuf.Empty>;
2033
+ /**
2034
+ * Deletes a long-running operation. This method indicates that the client is
2035
+ * no longer interested in the operation result. It does not cancel the
2036
+ * operation. If the server doesn't support this method, it returns
2037
+ * `google.rpc.Code.UNIMPLEMENTED`.
2038
+ *
2039
+ * @param {Object} request - The request object that will be sent.
2040
+ * @param {string} request.name - The name of the operation resource to be deleted.
2041
+ * @param {Object=} options
2042
+ * Optional parameters. You can override the default settings for this call,
2043
+ * e.g, timeout, retries, paginations, etc. See {@link
2044
+ * https://googleapis.github.io/gax-nodejs/global.html#CallOptions | gax.CallOptions}
2045
+ * for the details.
2046
+ * @param {function(?Error)=} callback
2047
+ * The function which will be called with the result of the API call.
2048
+ * @return {Promise} - The promise which resolves when API call finishes.
2049
+ * The promise has a method named "cancel" which cancels the ongoing API
2050
+ * call.
2051
+ *
2052
+ * @example
2053
+ * ```
2054
+ * const client = longrunning.operationsClient();
2055
+ * await client.deleteOperation({name: ''});
2056
+ * ```
2057
+ */
2058
+ deleteOperation(request: protos.google.longrunning.DeleteOperationRequest, optionsOrCallback?: gax.CallOptions | Callback<protos.google.protobuf.Empty, protos.google.longrunning.DeleteOperationRequest, {} | null | undefined>, callback?: Callback<protos.google.protobuf.Empty, protos.google.longrunning.DeleteOperationRequest, {} | null | undefined>): Promise<protos.google.protobuf.Empty>;
2059
+ /**
2060
+ * Return a fully-qualified instance resource name string.
2061
+ *
2062
+ * @param {string} project
2063
+ * @param {string} instance
2064
+ * @returns {string} Resource name string.
2065
+ */
2066
+ instancePath(project: string, instance: string): string;
2067
+ /**
2068
+ * Parse the project from Instance resource.
2069
+ *
2070
+ * @param {string} instanceName
2071
+ * A fully-qualified path representing Instance resource.
2072
+ * @returns {string} A string representing the project.
2073
+ */
2074
+ matchProjectFromInstanceName(instanceName: string): string | number;
2075
+ /**
2076
+ * Parse the instance from Instance resource.
2077
+ *
2078
+ * @param {string} instanceName
2079
+ * A fully-qualified path representing Instance resource.
2080
+ * @returns {string} A string representing the instance.
2081
+ */
2082
+ matchInstanceFromInstanceName(instanceName: string): string | number;
2083
+ /**
2084
+ * Return a fully-qualified instanceConfig resource name string.
2085
+ *
2086
+ * @param {string} project
2087
+ * @param {string} instance_config
2088
+ * @returns {string} Resource name string.
2089
+ */
2090
+ instanceConfigPath(project: string, instanceConfig: string): string;
2091
+ /**
2092
+ * Parse the project from InstanceConfig resource.
2093
+ *
2094
+ * @param {string} instanceConfigName
2095
+ * A fully-qualified path representing InstanceConfig resource.
2096
+ * @returns {string} A string representing the project.
2097
+ */
2098
+ matchProjectFromInstanceConfigName(instanceConfigName: string): string | number;
2099
+ /**
2100
+ * Parse the instance_config from InstanceConfig resource.
2101
+ *
2102
+ * @param {string} instanceConfigName
2103
+ * A fully-qualified path representing InstanceConfig resource.
2104
+ * @returns {string} A string representing the instance_config.
2105
+ */
2106
+ matchInstanceConfigFromInstanceConfigName(instanceConfigName: string): string | number;
2107
+ /**
2108
+ * Return a fully-qualified instancePartition resource name string.
2109
+ *
2110
+ * @param {string} project
2111
+ * @param {string} instance
2112
+ * @param {string} instance_partition
2113
+ * @returns {string} Resource name string.
2114
+ */
2115
+ instancePartitionPath(project: string, instance: string, instancePartition: string): string;
2116
+ /**
2117
+ * Parse the project from InstancePartition resource.
2118
+ *
2119
+ * @param {string} instancePartitionName
2120
+ * A fully-qualified path representing InstancePartition resource.
2121
+ * @returns {string} A string representing the project.
2122
+ */
2123
+ matchProjectFromInstancePartitionName(instancePartitionName: string): string | number;
2124
+ /**
2125
+ * Parse the instance from InstancePartition resource.
2126
+ *
2127
+ * @param {string} instancePartitionName
2128
+ * A fully-qualified path representing InstancePartition resource.
2129
+ * @returns {string} A string representing the instance.
2130
+ */
2131
+ matchInstanceFromInstancePartitionName(instancePartitionName: string): string | number;
2132
+ /**
2133
+ * Parse the instance_partition from InstancePartition resource.
2134
+ *
2135
+ * @param {string} instancePartitionName
2136
+ * A fully-qualified path representing InstancePartition resource.
2137
+ * @returns {string} A string representing the instance_partition.
2138
+ */
2139
+ matchInstancePartitionFromInstancePartitionName(instancePartitionName: string): string | number;
2140
+ /**
2141
+ * Return a fully-qualified project resource name string.
2142
+ *
2143
+ * @param {string} project
2144
+ * @returns {string} Resource name string.
2145
+ */
2146
+ projectPath(project: string): string;
2147
+ /**
2148
+ * Parse the project from Project resource.
2149
+ *
2150
+ * @param {string} projectName
2151
+ * A fully-qualified path representing Project resource.
2152
+ * @returns {string} A string representing the project.
2153
+ */
2154
+ matchProjectFromProjectName(projectName: string): string | number;
2155
+ /**
2156
+ * Terminate the gRPC channel and close the client.
2157
+ *
2158
+ * The client will no longer be usable and all future behavior is undefined.
2159
+ * @returns {Promise} A promise that resolves when the client is closed.
2160
+ */
2161
+ close(): Promise<void>;
2162
+ }