@google-cloud/storage-control 0.6.0 → 0.7.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 (38) hide show
  1. package/README.md +59 -74
  2. package/build/protos/google/storage/v2/storage.proto +3161 -0
  3. package/build/protos/protos.d.ts +10641 -0
  4. package/build/protos/protos.js +28904 -0
  5. package/build/protos/protos.json +4286 -4
  6. package/build/src/index.d.ts +2 -3
  7. package/build/src/index.js +3 -3
  8. package/build/src/index.js.map +1 -1
  9. package/build/src/storage_control_client.d.ts +2035 -0
  10. package/build/src/storage_control_client.js +1387 -0
  11. package/build/src/storage_control_client.js.map +1 -0
  12. package/build/src/util/ast_utils.d.ts +22 -0
  13. package/build/src/util/ast_utils.js +352 -0
  14. package/build/src/util/ast_utils.js.map +1 -0
  15. package/build/src/util/index_fix_utils.d.ts +15 -0
  16. package/build/src/util/index_fix_utils.js +86 -0
  17. package/build/src/util/index_fix_utils.js.map +1 -0
  18. package/build/src/util/proto_utils.d.ts +13 -0
  19. package/build/src/util/proto_utils.js +53 -0
  20. package/build/src/util/proto_utils.js.map +1 -0
  21. package/build/src/util/storage_control_utils.d.ts +1 -0
  22. package/build/src/util/storage_control_utils.js +31 -0
  23. package/build/src/util/storage_control_utils.js.map +1 -0
  24. package/build/src/util/uber_client_builder.d.ts +12 -0
  25. package/build/src/util/uber_client_builder.js +187 -0
  26. package/build/src/util/uber_client_builder.js.map +1 -0
  27. package/build/src/v2/index.d.ts +1 -0
  28. package/build/src/v2/index.js +3 -1
  29. package/build/src/v2/index.js.map +1 -1
  30. package/build/src/v2/storage_client.d.ts +614 -0
  31. package/build/src/v2/storage_client.js +911 -0
  32. package/build/src/v2/storage_client.js.map +1 -0
  33. package/build/src/v2/storage_client_config.json +65 -0
  34. package/build/src/v2/storage_control_client.d.ts +138 -138
  35. package/build/src/v2/storage_control_client.js +485 -231
  36. package/build/src/v2/storage_control_client.js.map +1 -1
  37. package/build/src/v2/storage_proto_list.json +3 -0
  38. package/package.json +4 -2
@@ -0,0 +1,2035 @@
1
+ import { protos } from './';
2
+ import { StorageControlClient as StorageControlInternal } from './v2/storage_control_client';
3
+ import { StorageClient } from './v2/storage_client';
4
+ import type * as gax from 'google-gax';
5
+ import { Callback, CallOptions, ClientOptions, PaginationCallback, LROperation, Descriptors } from 'google-gax';
6
+ import { Transform } from 'stream';
7
+ /**
8
+ * Options passed to the underlying client.
9
+ *
10
+ * @param {object} [options] - The configuration object.
11
+ * The options accepted by the constructor are described in detail
12
+ * in [this document](https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#creating-the-client-instance).
13
+ * The common options are:
14
+ * @param {object} [options.credentials] - Credentials object.
15
+ * @param {string} [options.credentials.client_email]
16
+ * @param {string} [options.credentials.private_key]
17
+ * @param {string} [options.email] - Account email address. Required when
18
+ * using a .pem or .p12 keyFilename.
19
+ * @param {string} [options.keyFilename] - Full path to the a .json, .pem, or
20
+ * .p12 key downloaded from the Google Developers Console. If you provide
21
+ * a path to a JSON file, the projectId option below is not necessary.
22
+ * NOTE: .pem and .p12 require you to specify options.email as well.
23
+ * @param {number} [options.port] - The port on which to connect to
24
+ * the remote host.
25
+ * @param {string} [options.projectId] - The project ID from the Google
26
+ * Developer's Console, e.g. 'grape-spaceship-123'. We will also check
27
+ * the environment variable GCLOUD_PROJECT for your project ID. If your
28
+ * app is running in an environment which supports
29
+ * {@link https://cloud.google.com/docs/authentication/application-default-credentials Application Default Credentials},
30
+ * your project ID will be detected automatically.
31
+ * @param {string} [options.apiEndpoint] - The domain name of the
32
+ * API remote host.
33
+ * @param {gax.ClientConfig} [options.clientConfig] - Client configuration override.
34
+ * Follows the structure of {@link gapicConfig}.
35
+ * @param {boolean} [options.fallback] - Use HTTP/1.1 REST mode.
36
+ * For more information, please check the
37
+ * {@link https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#http11-rest-api-mode documentation}.
38
+ * @param {gax} [gaxInstance]: loaded instance of `google-gax`. Useful if you
39
+ * need to avoid loading the default gRPC version and want to use the fallback
40
+ * HTTP implementation. Load only fallback version and pass it to the constructor:
41
+ * ```
42
+ * const gax = require('google-gax/build/src/fallback'); // avoids loading google-gax with gRPC
43
+ * const client = new StorageControlClient({fallback: true}, gax);
44
+ * ```
45
+ */
46
+ export interface StorageControlClientOptions extends ClientOptions {
47
+ gaxInstance?: typeof gax | typeof gax.fallback;
48
+ storageControlInternal?: StorageControlInternal;
49
+ storageClient?: StorageClient;
50
+ }
51
+ export declare class StorageControlClient {
52
+ storageControlInternal: StorageControlInternal;
53
+ storageClient: StorageClient;
54
+ auth: gax.GoogleAuth;
55
+ descriptors: Descriptors;
56
+ warn: (code: string, message: string, warnType?: string) => void;
57
+ innerApiCalls: {
58
+ [name: string]: Function;
59
+ };
60
+ pathTemplates: {
61
+ [name: string]: gax.PathTemplate;
62
+ };
63
+ operationsClient: gax.OperationsClient;
64
+ storageControlStub?: Promise<{
65
+ [name: string]: Function;
66
+ }>;
67
+ /**
68
+ * @param {object} [StorageControlClientOptions] - Enables user to instantiate clients separately and use those as the subclients.
69
+ * To have sub-clients with different options, instantiate each client separately.
70
+ */
71
+ constructor(options?: StorageControlClientOptions);
72
+ /**
73
+ * Initialize the client.
74
+ * Performs asynchronous operations (such as authentication) and prepares the client.
75
+ * This function will be called automatically when any class method is called for the
76
+ * first time, but if you need to initialize it before calling an actual method,
77
+ * feel free to call initialize() directly.
78
+ *
79
+ * You can await on this method if you want to make sure the client is initialized.
80
+ *
81
+ * @returns {Promise} A promise that resolves to an authenticated service stub.
82
+ */
83
+ initialize(): Promise<{
84
+ [name: string]: Function;
85
+ }>;
86
+ /**
87
+ * The DNS address for this API service.
88
+ * @deprecated Use the apiEndpoint method of the client instance.
89
+ * @returns {string} The DNS address for this service.
90
+ */
91
+ static get servicePath(): string;
92
+ /**
93
+ * The DNS address for this API service - same as servicePath.
94
+ * @deprecated Use the apiEndpoint method of the client instance.
95
+ * @returns {string} The DNS address for this service.
96
+ */
97
+ static get apiEndpoint(): string;
98
+ /**
99
+ * The DNS address for this API service - same as servicePath.
100
+ * @deprecated Use the apiEndpoint method of the client instance.
101
+ * @returns {string} The DNS address for this service.
102
+ */
103
+ get apiEndpoint(): string;
104
+ get universeDomain(): string;
105
+ /**
106
+ * The port for this API service.
107
+ * @returns {number} The default port for this service.
108
+ */
109
+ static get port(): number;
110
+ /**
111
+ * The scopes needed to make gRPC calls for every method defined
112
+ * in this service.
113
+ * @returns {string[]} List of default scopes.
114
+ */
115
+ static get scopes(): string[];
116
+ getProjectId(callback?: Callback<string, undefined, undefined>): Promise<string> | void;
117
+ /**
118
+ * Creates a new folder. This operation is only applicable to a hierarchical
119
+ * namespace enabled bucket.
120
+ *
121
+ * @param {Object} request
122
+ * The request object that will be sent.
123
+ * @param {string} request.parent
124
+ * Required. Name of the bucket in which the folder will reside. The bucket
125
+ * must be a hierarchical namespace enabled bucket.
126
+ * @param {google.storage.control.v2.Folder} request.folder
127
+ * Required. Properties of the new folder being created.
128
+ * The bucket and name of the folder are specified in the parent and folder_id
129
+ * fields, respectively. Populating those fields in `folder` will result in an
130
+ * error.
131
+ * @param {string} request.folderId
132
+ * Required. The full name of a folder, including all its parent folders.
133
+ * Folders use single '/' characters as a delimiter.
134
+ * The folder_id must end with a slash.
135
+ * For example, the folder_id of "books/biographies/" would create a new
136
+ * "biographies/" folder under the "books/" folder.
137
+ * @param {boolean} [request.recursive]
138
+ * Optional. If true, parent folder doesn't have to be present and all missing
139
+ * ancestor folders will be created atomically.
140
+ * @param {string} [request.requestId]
141
+ * Optional. A unique identifier for this request. UUID is the recommended
142
+ * format, but other formats are still accepted.
143
+ * @param {object} [options]
144
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
145
+ * @returns {Promise} - The promise which resolves to an array.
146
+ * The first element of the array is an object representing {@link protos.google.storage.control.v2.Folder|Folder}.
147
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
148
+ * for more details and examples.
149
+ * @example <caption>include:samples/generated/v2/storage_control.create_folder.js</caption>
150
+ * region_tag:storage_v2_generated_StorageControl_CreateFolder_async
151
+ */
152
+ createFolder(request?: protos.google.storage.control.v2.ICreateFolderRequest, options?: CallOptions): Promise<[
153
+ protos.google.storage.control.v2.IFolder,
154
+ protos.google.storage.control.v2.ICreateFolderRequest | undefined,
155
+ {} | undefined
156
+ ]>;
157
+ createFolder(request: protos.google.storage.control.v2.ICreateFolderRequest, options: CallOptions, callback: Callback<protos.google.storage.control.v2.IFolder, protos.google.storage.control.v2.ICreateFolderRequest | null | undefined, {} | null | undefined>): void;
158
+ createFolder(request: protos.google.storage.control.v2.ICreateFolderRequest, callback: Callback<protos.google.storage.control.v2.IFolder, protos.google.storage.control.v2.ICreateFolderRequest | null | undefined, {} | null | undefined>): void;
159
+ /**
160
+ * Permanently deletes an empty folder. This operation is only applicable to a
161
+ * hierarchical namespace enabled bucket.
162
+ *
163
+ * @param {Object} request
164
+ * The request object that will be sent.
165
+ * @param {string} request.name
166
+ * Required. Name of the folder.
167
+ * Format: `projects/{project}/buckets/{bucket}/folders/{folder}`
168
+ * @param {number} request.ifMetagenerationMatch
169
+ * Makes the operation only succeed conditional on whether the folder's
170
+ * current metageneration matches the given value.
171
+ * @param {number} request.ifMetagenerationNotMatch
172
+ * Makes the operation only succeed conditional on whether the folder's
173
+ * current metageneration does not match the given value.
174
+ * @param {string} [request.requestId]
175
+ * Optional. A unique identifier for this request. UUID is the recommended
176
+ * format, but other formats are still accepted.
177
+ * @param {object} [options]
178
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
179
+ * @returns {Promise} - The promise which resolves to an array.
180
+ * The first element of the array is an object representing {@link protos.google.protobuf.Empty|Empty}.
181
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
182
+ * for more details and examples.
183
+ * @example <caption>include:samples/generated/v2/storage_control.delete_folder.js</caption>
184
+ * region_tag:storage_v2_generated_StorageControl_DeleteFolder_async
185
+ */
186
+ deleteFolder(request?: protos.google.storage.control.v2.IDeleteFolderRequest, options?: CallOptions): Promise<[
187
+ protos.google.protobuf.IEmpty,
188
+ protos.google.storage.control.v2.IDeleteFolderRequest | undefined,
189
+ {} | undefined
190
+ ]>;
191
+ deleteFolder(request: protos.google.storage.control.v2.IDeleteFolderRequest, options: CallOptions, callback: Callback<protos.google.protobuf.IEmpty, protos.google.storage.control.v2.IDeleteFolderRequest | null | undefined, {} | null | undefined>): void;
192
+ deleteFolder(request: protos.google.storage.control.v2.IDeleteFolderRequest, callback: Callback<protos.google.protobuf.IEmpty, protos.google.storage.control.v2.IDeleteFolderRequest | null | undefined, {} | null | undefined>): void;
193
+ /**
194
+ * Returns metadata for the specified folder. This operation is only
195
+ * applicable to a hierarchical namespace enabled bucket.
196
+ *
197
+ * @param {Object} request
198
+ * The request object that will be sent.
199
+ * @param {string} request.name
200
+ * Required. Name of the folder.
201
+ * Format: `projects/{project}/buckets/{bucket}/folders/{folder}`
202
+ * @param {number} request.ifMetagenerationMatch
203
+ * Makes the operation only succeed conditional on whether the folder's
204
+ * current metageneration matches the given value.
205
+ * @param {number} request.ifMetagenerationNotMatch
206
+ * Makes the operation only succeed conditional on whether the folder's
207
+ * current metageneration does not match the given value.
208
+ * @param {string} [request.requestId]
209
+ * Optional. A unique identifier for this request. UUID is the recommended
210
+ * format, but other formats are still accepted.
211
+ * @param {object} [options]
212
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
213
+ * @returns {Promise} - The promise which resolves to an array.
214
+ * The first element of the array is an object representing {@link protos.google.storage.control.v2.Folder|Folder}.
215
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
216
+ * for more details and examples.
217
+ * @example <caption>include:samples/generated/v2/storage_control.get_folder.js</caption>
218
+ * region_tag:storage_v2_generated_StorageControl_GetFolder_async
219
+ */
220
+ getFolder(request?: protos.google.storage.control.v2.IGetFolderRequest, options?: CallOptions): Promise<[
221
+ protos.google.storage.control.v2.IFolder,
222
+ protos.google.storage.control.v2.IGetFolderRequest | undefined,
223
+ {} | undefined
224
+ ]>;
225
+ getFolder(request: protos.google.storage.control.v2.IGetFolderRequest, options: CallOptions, callback: Callback<protos.google.storage.control.v2.IFolder, protos.google.storage.control.v2.IGetFolderRequest | null | undefined, {} | null | undefined>): void;
226
+ getFolder(request: protos.google.storage.control.v2.IGetFolderRequest, callback: Callback<protos.google.storage.control.v2.IFolder, protos.google.storage.control.v2.IGetFolderRequest | null | undefined, {} | null | undefined>): void;
227
+ /**
228
+ * Returns the storage layout configuration for a given bucket.
229
+ *
230
+ * @param {Object} request
231
+ * The request object that will be sent.
232
+ * @param {string} request.name
233
+ * Required. The name of the StorageLayout resource.
234
+ * Format: `projects/{project}/buckets/{bucket}/storageLayout`
235
+ * @param {string} request.prefix
236
+ * An optional prefix used for permission check. It is useful when the caller
237
+ * only has limited permissions under a specific prefix.
238
+ * @param {string} [request.requestId]
239
+ * Optional. A unique identifier for this request. UUID is the recommended
240
+ * format, but other formats are still accepted.
241
+ * @param {object} [options]
242
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
243
+ * @returns {Promise} - The promise which resolves to an array.
244
+ * The first element of the array is an object representing {@link protos.google.storage.control.v2.StorageLayout|StorageLayout}.
245
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
246
+ * for more details and examples.
247
+ * @example <caption>include:samples/generated/v2/storage_control.get_storage_layout.js</caption>
248
+ * region_tag:storage_v2_generated_StorageControl_GetStorageLayout_async
249
+ */
250
+ getStorageLayout(request?: protos.google.storage.control.v2.IGetStorageLayoutRequest, options?: CallOptions): Promise<[
251
+ protos.google.storage.control.v2.IStorageLayout,
252
+ protos.google.storage.control.v2.IGetStorageLayoutRequest | undefined,
253
+ {} | undefined
254
+ ]>;
255
+ getStorageLayout(request: protos.google.storage.control.v2.IGetStorageLayoutRequest, options: CallOptions, callback: Callback<protos.google.storage.control.v2.IStorageLayout, protos.google.storage.control.v2.IGetStorageLayoutRequest | null | undefined, {} | null | undefined>): void;
256
+ getStorageLayout(request: protos.google.storage.control.v2.IGetStorageLayoutRequest, callback: Callback<protos.google.storage.control.v2.IStorageLayout, protos.google.storage.control.v2.IGetStorageLayoutRequest | null | undefined, {} | null | undefined>): void;
257
+ /**
258
+ * Creates a new managed folder.
259
+ *
260
+ * @param {Object} request
261
+ * The request object that will be sent.
262
+ * @param {string} request.parent
263
+ * Required. Name of the bucket this managed folder belongs to.
264
+ * @param {google.storage.control.v2.ManagedFolder} request.managedFolder
265
+ * Required. Properties of the managed folder being created.
266
+ * The bucket and managed folder names are specified in the `parent` and
267
+ * `managed_folder_id` fields. Populating these fields in `managed_folder`
268
+ * will result in an error.
269
+ * @param {string} request.managedFolderId
270
+ * Required. The name of the managed folder. It uses a single `/` as delimiter
271
+ * and leading and trailing `/` are allowed.
272
+ * @param {string} [request.requestId]
273
+ * Optional. A unique identifier for this request. UUID is the recommended
274
+ * format, but other formats are still accepted.
275
+ * @param {object} [options]
276
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
277
+ * @returns {Promise} - The promise which resolves to an array.
278
+ * The first element of the array is an object representing {@link protos.google.storage.control.v2.ManagedFolder|ManagedFolder}.
279
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
280
+ * for more details and examples.
281
+ * @example <caption>include:samples/generated/v2/storage_control.create_managed_folder.js</caption>
282
+ * region_tag:storage_v2_generated_StorageControl_CreateManagedFolder_async
283
+ */
284
+ createManagedFolder(request?: protos.google.storage.control.v2.ICreateManagedFolderRequest, options?: CallOptions): Promise<[
285
+ protos.google.storage.control.v2.IManagedFolder,
286
+ protos.google.storage.control.v2.ICreateManagedFolderRequest | undefined,
287
+ {} | undefined
288
+ ]>;
289
+ createManagedFolder(request: protos.google.storage.control.v2.ICreateManagedFolderRequest, options: CallOptions, callback: Callback<protos.google.storage.control.v2.IManagedFolder, protos.google.storage.control.v2.ICreateManagedFolderRequest | null | undefined, {} | null | undefined>): void;
290
+ createManagedFolder(request: protos.google.storage.control.v2.ICreateManagedFolderRequest, callback: Callback<protos.google.storage.control.v2.IManagedFolder, protos.google.storage.control.v2.ICreateManagedFolderRequest | null | undefined, {} | null | undefined>): void;
291
+ /**
292
+ * Permanently deletes an empty managed folder.
293
+ *
294
+ * @param {Object} request
295
+ * The request object that will be sent.
296
+ * @param {string} request.name
297
+ * Required. Name of the managed folder.
298
+ * Format:
299
+ * `projects/{project}/buckets/{bucket}/managedFolders/{managedFolder}`
300
+ * @param {number} request.ifMetagenerationMatch
301
+ * The operation succeeds conditional on the managed folder's current
302
+ * metageneration matching the value here specified.
303
+ * @param {number} request.ifMetagenerationNotMatch
304
+ * The operation succeeds conditional on the managed folder's current
305
+ * metageneration NOT matching the value here specified.
306
+ * @param {boolean} request.allowNonEmpty
307
+ * Allows deletion of a managed folder even if it is not empty.
308
+ * A managed folder is empty if it manages no child managed folders or
309
+ * objects. Caller must have permission for
310
+ * storage.managedFolders.setIamPolicy.
311
+ * @param {string} [request.requestId]
312
+ * Optional. A unique identifier for this request. UUID is the recommended
313
+ * format, but other formats are still accepted.
314
+ * @param {object} [options]
315
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
316
+ * @returns {Promise} - The promise which resolves to an array.
317
+ * The first element of the array is an object representing {@link protos.google.protobuf.Empty|Empty}.
318
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
319
+ * for more details and examples.
320
+ * @example <caption>include:samples/generated/v2/storage_control.delete_managed_folder.js</caption>
321
+ * region_tag:storage_v2_generated_StorageControl_DeleteManagedFolder_async
322
+ */
323
+ deleteManagedFolder(request?: protos.google.storage.control.v2.IDeleteManagedFolderRequest, options?: CallOptions): Promise<[
324
+ protos.google.protobuf.IEmpty,
325
+ protos.google.storage.control.v2.IDeleteManagedFolderRequest | undefined,
326
+ {} | undefined
327
+ ]>;
328
+ deleteManagedFolder(request: protos.google.storage.control.v2.IDeleteManagedFolderRequest, options: CallOptions, callback: Callback<protos.google.protobuf.IEmpty, protos.google.storage.control.v2.IDeleteManagedFolderRequest | null | undefined, {} | null | undefined>): void;
329
+ deleteManagedFolder(request: protos.google.storage.control.v2.IDeleteManagedFolderRequest, callback: Callback<protos.google.protobuf.IEmpty, protos.google.storage.control.v2.IDeleteManagedFolderRequest | null | undefined, {} | null | undefined>): void;
330
+ /**
331
+ * Returns metadata for the specified managed folder.
332
+ *
333
+ * @param {Object} request
334
+ * The request object that will be sent.
335
+ * @param {string} request.name
336
+ * Required. Name of the managed folder.
337
+ * Format:
338
+ * `projects/{project}/buckets/{bucket}/managedFolders/{managedFolder}`
339
+ * @param {number} request.ifMetagenerationMatch
340
+ * The operation succeeds conditional on the managed folder's current
341
+ * metageneration matching the value here specified.
342
+ * @param {number} request.ifMetagenerationNotMatch
343
+ * The operation succeeds conditional on the managed folder's current
344
+ * metageneration NOT matching the value here specified.
345
+ * @param {string} [request.requestId]
346
+ * Optional. A unique identifier for this request. UUID is the recommended
347
+ * format, but other formats are still accepted.
348
+ * @param {object} [options]
349
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
350
+ * @returns {Promise} - The promise which resolves to an array.
351
+ * The first element of the array is an object representing {@link protos.google.storage.control.v2.ManagedFolder|ManagedFolder}.
352
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
353
+ * for more details and examples.
354
+ * @example <caption>include:samples/generated/v2/storage_control.get_managed_folder.js</caption>
355
+ * region_tag:storage_v2_generated_StorageControl_GetManagedFolder_async
356
+ */
357
+ getManagedFolder(request?: protos.google.storage.control.v2.IGetManagedFolderRequest, options?: CallOptions): Promise<[
358
+ protos.google.storage.control.v2.IManagedFolder,
359
+ protos.google.storage.control.v2.IGetManagedFolderRequest | undefined,
360
+ {} | undefined
361
+ ]>;
362
+ getManagedFolder(request: protos.google.storage.control.v2.IGetManagedFolderRequest, options: CallOptions, callback: Callback<protos.google.storage.control.v2.IManagedFolder, protos.google.storage.control.v2.IGetManagedFolderRequest | null | undefined, {} | null | undefined>): void;
363
+ getManagedFolder(request: protos.google.storage.control.v2.IGetManagedFolderRequest, callback: Callback<protos.google.storage.control.v2.IManagedFolder, protos.google.storage.control.v2.IGetManagedFolderRequest | null | undefined, {} | null | undefined>): void;
364
+ /**
365
+ * Disables an Anywhere Cache instance. A disabled instance is read-only. The
366
+ * disablement could be revoked by calling ResumeAnywhereCache. The cache
367
+ * instance will be deleted automatically if it remains in the disabled state
368
+ * for at least one hour.
369
+ *
370
+ * @param {Object} request
371
+ * The request object that will be sent.
372
+ * @param {string} request.name
373
+ * Required. The name field in the request should be:
374
+ * `projects/{project}/buckets/{bucket}/anywhereCaches/{anywhere_cache}`
375
+ * @param {string} [request.requestId]
376
+ * Optional. A unique identifier for this request. UUID is the recommended
377
+ * format, but other formats are still accepted. This request is only
378
+ * idempotent if a `request_id` is provided.
379
+ * @param {object} [options]
380
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
381
+ * @returns {Promise} - The promise which resolves to an array.
382
+ * The first element of the array is an object representing {@link protos.google.storage.control.v2.AnywhereCache|AnywhereCache}.
383
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
384
+ * for more details and examples.
385
+ * @example <caption>include:samples/generated/v2/storage_control.disable_anywhere_cache.js</caption>
386
+ * region_tag:storage_v2_generated_StorageControl_DisableAnywhereCache_async
387
+ */
388
+ disableAnywhereCache(request?: protos.google.storage.control.v2.IDisableAnywhereCacheRequest, options?: CallOptions): Promise<[
389
+ protos.google.storage.control.v2.IAnywhereCache,
390
+ protos.google.storage.control.v2.IDisableAnywhereCacheRequest | undefined,
391
+ {} | undefined
392
+ ]>;
393
+ disableAnywhereCache(request: protos.google.storage.control.v2.IDisableAnywhereCacheRequest, options: CallOptions, callback: Callback<protos.google.storage.control.v2.IAnywhereCache, protos.google.storage.control.v2.IDisableAnywhereCacheRequest | null | undefined, {} | null | undefined>): void;
394
+ disableAnywhereCache(request: protos.google.storage.control.v2.IDisableAnywhereCacheRequest, callback: Callback<protos.google.storage.control.v2.IAnywhereCache, protos.google.storage.control.v2.IDisableAnywhereCacheRequest | null | undefined, {} | null | undefined>): void;
395
+ /**
396
+ * Pauses an Anywhere Cache instance.
397
+ *
398
+ * @param {Object} request
399
+ * The request object that will be sent.
400
+ * @param {string} request.name
401
+ * Required. The name field in the request should be:
402
+ * `projects/{project}/buckets/{bucket}/anywhereCaches/{anywhere_cache}`
403
+ * @param {string} [request.requestId]
404
+ * Optional. A unique identifier for this request. UUID is the recommended
405
+ * format, but other formats are still accepted. This request is only
406
+ * idempotent if a `request_id` is provided.
407
+ * @param {object} [options]
408
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
409
+ * @returns {Promise} - The promise which resolves to an array.
410
+ * The first element of the array is an object representing {@link protos.google.storage.control.v2.AnywhereCache|AnywhereCache}.
411
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
412
+ * for more details and examples.
413
+ * @example <caption>include:samples/generated/v2/storage_control.pause_anywhere_cache.js</caption>
414
+ * region_tag:storage_v2_generated_StorageControl_PauseAnywhereCache_async
415
+ */
416
+ pauseAnywhereCache(request?: protos.google.storage.control.v2.IPauseAnywhereCacheRequest, options?: CallOptions): Promise<[
417
+ protos.google.storage.control.v2.IAnywhereCache,
418
+ protos.google.storage.control.v2.IPauseAnywhereCacheRequest | undefined,
419
+ {} | undefined
420
+ ]>;
421
+ pauseAnywhereCache(request: protos.google.storage.control.v2.IPauseAnywhereCacheRequest, options: CallOptions, callback: Callback<protos.google.storage.control.v2.IAnywhereCache, protos.google.storage.control.v2.IPauseAnywhereCacheRequest | null | undefined, {} | null | undefined>): void;
422
+ pauseAnywhereCache(request: protos.google.storage.control.v2.IPauseAnywhereCacheRequest, callback: Callback<protos.google.storage.control.v2.IAnywhereCache, protos.google.storage.control.v2.IPauseAnywhereCacheRequest | null | undefined, {} | null | undefined>): void;
423
+ /**
424
+ * Resumes a disabled or paused Anywhere Cache instance.
425
+ *
426
+ * @param {Object} request
427
+ * The request object that will be sent.
428
+ * @param {string} request.name
429
+ * Required. The name field in the request should be:
430
+ * `projects/{project}/buckets/{bucket}/anywhereCaches/{anywhere_cache}`
431
+ * @param {string} [request.requestId]
432
+ * Optional. A unique identifier for this request. UUID is the recommended
433
+ * format, but other formats are still accepted. This request is only
434
+ * idempotent if a `request_id` is provided.
435
+ * @param {object} [options]
436
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
437
+ * @returns {Promise} - The promise which resolves to an array.
438
+ * The first element of the array is an object representing {@link protos.google.storage.control.v2.AnywhereCache|AnywhereCache}.
439
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
440
+ * for more details and examples.
441
+ * @example <caption>include:samples/generated/v2/storage_control.resume_anywhere_cache.js</caption>
442
+ * region_tag:storage_v2_generated_StorageControl_ResumeAnywhereCache_async
443
+ */
444
+ resumeAnywhereCache(request?: protos.google.storage.control.v2.IResumeAnywhereCacheRequest, options?: CallOptions): Promise<[
445
+ protos.google.storage.control.v2.IAnywhereCache,
446
+ protos.google.storage.control.v2.IResumeAnywhereCacheRequest | undefined,
447
+ {} | undefined
448
+ ]>;
449
+ resumeAnywhereCache(request: protos.google.storage.control.v2.IResumeAnywhereCacheRequest, options: CallOptions, callback: Callback<protos.google.storage.control.v2.IAnywhereCache, protos.google.storage.control.v2.IResumeAnywhereCacheRequest | null | undefined, {} | null | undefined>): void;
450
+ resumeAnywhereCache(request: protos.google.storage.control.v2.IResumeAnywhereCacheRequest, callback: Callback<protos.google.storage.control.v2.IAnywhereCache, protos.google.storage.control.v2.IResumeAnywhereCacheRequest | null | undefined, {} | null | undefined>): void;
451
+ /**
452
+ * Gets an Anywhere Cache instance.
453
+ *
454
+ * @param {Object} request
455
+ * The request object that will be sent.
456
+ * @param {string} request.name
457
+ * Required. The name field in the request should be:
458
+ * `projects/{project}/buckets/{bucket}/anywhereCaches/{anywhere_cache}`
459
+ * @param {string} [request.requestId]
460
+ * Optional. A unique identifier for this request. UUID is the recommended
461
+ * format, but other formats are still accepted.
462
+ * @param {object} [options]
463
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
464
+ * @returns {Promise} - The promise which resolves to an array.
465
+ * The first element of the array is an object representing {@link protos.google.storage.control.v2.AnywhereCache|AnywhereCache}.
466
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
467
+ * for more details and examples.
468
+ * @example <caption>include:samples/generated/v2/storage_control.get_anywhere_cache.js</caption>
469
+ * region_tag:storage_v2_generated_StorageControl_GetAnywhereCache_async
470
+ */
471
+ getAnywhereCache(request?: protos.google.storage.control.v2.IGetAnywhereCacheRequest, options?: CallOptions): Promise<[
472
+ protos.google.storage.control.v2.IAnywhereCache,
473
+ protos.google.storage.control.v2.IGetAnywhereCacheRequest | undefined,
474
+ {} | undefined
475
+ ]>;
476
+ getAnywhereCache(request: protos.google.storage.control.v2.IGetAnywhereCacheRequest, options: CallOptions, callback: Callback<protos.google.storage.control.v2.IAnywhereCache, protos.google.storage.control.v2.IGetAnywhereCacheRequest | null | undefined, {} | null | undefined>): void;
477
+ getAnywhereCache(request: protos.google.storage.control.v2.IGetAnywhereCacheRequest, callback: Callback<protos.google.storage.control.v2.IAnywhereCache, protos.google.storage.control.v2.IGetAnywhereCacheRequest | null | undefined, {} | null | undefined>): void;
478
+ /**
479
+ * Returns the Project scoped singleton IntelligenceConfig resource.
480
+ *
481
+ * @param {Object} request
482
+ * The request object that will be sent.
483
+ * @param {string} request.name
484
+ * Required. The name of the `IntelligenceConfig` resource associated with
485
+ * your project.
486
+ *
487
+ * Format: `projects/{id}/locations/global/intelligenceConfig`
488
+ * @param {object} [options]
489
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
490
+ * @returns {Promise} - The promise which resolves to an array.
491
+ * The first element of the array is an object representing {@link protos.google.storage.control.v2.IntelligenceConfig|IntelligenceConfig}.
492
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
493
+ * for more details and examples.
494
+ * @example <caption>include:samples/generated/v2/storage_control.get_project_intelligence_config.js</caption>
495
+ * region_tag:storage_v2_generated_StorageControl_GetProjectIntelligenceConfig_async
496
+ */
497
+ getProjectIntelligenceConfig(request?: protos.google.storage.control.v2.IGetProjectIntelligenceConfigRequest, options?: CallOptions): Promise<[
498
+ protos.google.storage.control.v2.IIntelligenceConfig,
499
+ (protos.google.storage.control.v2.IGetProjectIntelligenceConfigRequest | undefined),
500
+ {} | undefined
501
+ ]>;
502
+ getProjectIntelligenceConfig(request: protos.google.storage.control.v2.IGetProjectIntelligenceConfigRequest, options: CallOptions, callback: Callback<protos.google.storage.control.v2.IIntelligenceConfig, protos.google.storage.control.v2.IGetProjectIntelligenceConfigRequest | null | undefined, {} | null | undefined>): void;
503
+ getProjectIntelligenceConfig(request: protos.google.storage.control.v2.IGetProjectIntelligenceConfigRequest, callback: Callback<protos.google.storage.control.v2.IIntelligenceConfig, protos.google.storage.control.v2.IGetProjectIntelligenceConfigRequest | null | undefined, {} | null | undefined>): void;
504
+ /**
505
+ * Updates the Project scoped singleton IntelligenceConfig resource.
506
+ *
507
+ * @param {Object} request
508
+ * The request object that will be sent.
509
+ * @param {google.storage.control.v2.IntelligenceConfig} request.intelligenceConfig
510
+ * Required. The `IntelligenceConfig` resource to be updated.
511
+ * @param {google.protobuf.FieldMask} request.updateMask
512
+ * Required. The `update_mask` that specifies the fields within the
513
+ * `IntelligenceConfig` resource that should be modified by this update. Only
514
+ * the listed fields are updated.
515
+ * @param {string} [request.requestId]
516
+ * Optional. The ID that uniquely identifies the request, preventing duplicate
517
+ * processing.
518
+ * @param {object} [options]
519
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
520
+ * @returns {Promise} - The promise which resolves to an array.
521
+ * The first element of the array is an object representing {@link protos.google.storage.control.v2.IntelligenceConfig|IntelligenceConfig}.
522
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
523
+ * for more details and examples.
524
+ * @example <caption>include:samples/generated/v2/storage_control.update_project_intelligence_config.js</caption>
525
+ * region_tag:storage_v2_generated_StorageControl_UpdateProjectIntelligenceConfig_async
526
+ */
527
+ updateProjectIntelligenceConfig(request?: protos.google.storage.control.v2.IUpdateProjectIntelligenceConfigRequest, options?: CallOptions): Promise<[
528
+ protos.google.storage.control.v2.IIntelligenceConfig,
529
+ (protos.google.storage.control.v2.IUpdateProjectIntelligenceConfigRequest | undefined),
530
+ {} | undefined
531
+ ]>;
532
+ updateProjectIntelligenceConfig(request: protos.google.storage.control.v2.IUpdateProjectIntelligenceConfigRequest, options: CallOptions, callback: Callback<protos.google.storage.control.v2.IIntelligenceConfig, protos.google.storage.control.v2.IUpdateProjectIntelligenceConfigRequest | null | undefined, {} | null | undefined>): void;
533
+ updateProjectIntelligenceConfig(request: protos.google.storage.control.v2.IUpdateProjectIntelligenceConfigRequest, callback: Callback<protos.google.storage.control.v2.IIntelligenceConfig, protos.google.storage.control.v2.IUpdateProjectIntelligenceConfigRequest | null | undefined, {} | null | undefined>): void;
534
+ /**
535
+ * Returns the Folder scoped singleton IntelligenceConfig resource.
536
+ *
537
+ * @param {Object} request
538
+ * The request object that will be sent.
539
+ * @param {string} request.name
540
+ * Required. The name of the `IntelligenceConfig` resource associated with
541
+ * your folder.
542
+ *
543
+ * Format: `folders/{id}/locations/global/intelligenceConfig`
544
+ * @param {object} [options]
545
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
546
+ * @returns {Promise} - The promise which resolves to an array.
547
+ * The first element of the array is an object representing {@link protos.google.storage.control.v2.IntelligenceConfig|IntelligenceConfig}.
548
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
549
+ * for more details and examples.
550
+ * @example <caption>include:samples/generated/v2/storage_control.get_folder_intelligence_config.js</caption>
551
+ * region_tag:storage_v2_generated_StorageControl_GetFolderIntelligenceConfig_async
552
+ */
553
+ getFolderIntelligenceConfig(request?: protos.google.storage.control.v2.IGetFolderIntelligenceConfigRequest, options?: CallOptions): Promise<[
554
+ protos.google.storage.control.v2.IIntelligenceConfig,
555
+ (protos.google.storage.control.v2.IGetFolderIntelligenceConfigRequest | undefined),
556
+ {} | undefined
557
+ ]>;
558
+ getFolderIntelligenceConfig(request: protos.google.storage.control.v2.IGetFolderIntelligenceConfigRequest, options: CallOptions, callback: Callback<protos.google.storage.control.v2.IIntelligenceConfig, protos.google.storage.control.v2.IGetFolderIntelligenceConfigRequest | null | undefined, {} | null | undefined>): void;
559
+ getFolderIntelligenceConfig(request: protos.google.storage.control.v2.IGetFolderIntelligenceConfigRequest, callback: Callback<protos.google.storage.control.v2.IIntelligenceConfig, protos.google.storage.control.v2.IGetFolderIntelligenceConfigRequest | null | undefined, {} | null | undefined>): void;
560
+ /**
561
+ * Updates the Folder scoped singleton IntelligenceConfig resource.
562
+ *
563
+ * @param {Object} request
564
+ * The request object that will be sent.
565
+ * @param {google.storage.control.v2.IntelligenceConfig} request.intelligenceConfig
566
+ * Required. The `IntelligenceConfig` resource to be updated.
567
+ * @param {google.protobuf.FieldMask} request.updateMask
568
+ * Required. The `update_mask` that specifies the fields within the
569
+ * `IntelligenceConfig` resource that should be modified by this update. Only
570
+ * the listed fields are updated.
571
+ * @param {string} [request.requestId]
572
+ * Optional. The ID that uniquely identifies the request, preventing duplicate
573
+ * processing.
574
+ * @param {object} [options]
575
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
576
+ * @returns {Promise} - The promise which resolves to an array.
577
+ * The first element of the array is an object representing {@link protos.google.storage.control.v2.IntelligenceConfig|IntelligenceConfig}.
578
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
579
+ * for more details and examples.
580
+ * @example <caption>include:samples/generated/v2/storage_control.update_folder_intelligence_config.js</caption>
581
+ * region_tag:storage_v2_generated_StorageControl_UpdateFolderIntelligenceConfig_async
582
+ */
583
+ updateFolderIntelligenceConfig(request?: protos.google.storage.control.v2.IUpdateFolderIntelligenceConfigRequest, options?: CallOptions): Promise<[
584
+ protos.google.storage.control.v2.IIntelligenceConfig,
585
+ (protos.google.storage.control.v2.IUpdateFolderIntelligenceConfigRequest | undefined),
586
+ {} | undefined
587
+ ]>;
588
+ updateFolderIntelligenceConfig(request: protos.google.storage.control.v2.IUpdateFolderIntelligenceConfigRequest, options: CallOptions, callback: Callback<protos.google.storage.control.v2.IIntelligenceConfig, protos.google.storage.control.v2.IUpdateFolderIntelligenceConfigRequest | null | undefined, {} | null | undefined>): void;
589
+ updateFolderIntelligenceConfig(request: protos.google.storage.control.v2.IUpdateFolderIntelligenceConfigRequest, callback: Callback<protos.google.storage.control.v2.IIntelligenceConfig, protos.google.storage.control.v2.IUpdateFolderIntelligenceConfigRequest | null | undefined, {} | null | undefined>): void;
590
+ /**
591
+ * Returns the Organization scoped singleton IntelligenceConfig resource.
592
+ *
593
+ * @param {Object} request
594
+ * The request object that will be sent.
595
+ * @param {string} request.name
596
+ * Required. The name of the `IntelligenceConfig` resource associated with
597
+ * your organization.
598
+ *
599
+ * Format: `organizations/{org_id}/locations/global/intelligenceConfig`
600
+ * @param {object} [options]
601
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
602
+ * @returns {Promise} - The promise which resolves to an array.
603
+ * The first element of the array is an object representing {@link protos.google.storage.control.v2.IntelligenceConfig|IntelligenceConfig}.
604
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
605
+ * for more details and examples.
606
+ * @example <caption>include:samples/generated/v2/storage_control.get_organization_intelligence_config.js</caption>
607
+ * region_tag:storage_v2_generated_StorageControl_GetOrganizationIntelligenceConfig_async
608
+ */
609
+ getOrganizationIntelligenceConfig(request?: protos.google.storage.control.v2.IGetOrganizationIntelligenceConfigRequest, options?: CallOptions): Promise<[
610
+ protos.google.storage.control.v2.IIntelligenceConfig,
611
+ (protos.google.storage.control.v2.IGetOrganizationIntelligenceConfigRequest | undefined),
612
+ {} | undefined
613
+ ]>;
614
+ getOrganizationIntelligenceConfig(request: protos.google.storage.control.v2.IGetOrganizationIntelligenceConfigRequest, options: CallOptions, callback: Callback<protos.google.storage.control.v2.IIntelligenceConfig, protos.google.storage.control.v2.IGetOrganizationIntelligenceConfigRequest | null | undefined, {} | null | undefined>): void;
615
+ getOrganizationIntelligenceConfig(request: protos.google.storage.control.v2.IGetOrganizationIntelligenceConfigRequest, callback: Callback<protos.google.storage.control.v2.IIntelligenceConfig, protos.google.storage.control.v2.IGetOrganizationIntelligenceConfigRequest | null | undefined, {} | null | undefined>): void;
616
+ /**
617
+ * Updates the Organization scoped singleton IntelligenceConfig resource.
618
+ *
619
+ * @param {Object} request
620
+ * The request object that will be sent.
621
+ * @param {google.storage.control.v2.IntelligenceConfig} request.intelligenceConfig
622
+ * Required. The `IntelligenceConfig` resource to be updated.
623
+ * @param {google.protobuf.FieldMask} request.updateMask
624
+ * Required. The `update_mask` that specifies the fields within the
625
+ * `IntelligenceConfig` resource that should be modified by this update. Only
626
+ * the listed fields are updated.
627
+ * @param {string} [request.requestId]
628
+ * Optional. The ID that uniquely identifies the request, preventing duplicate
629
+ * processing.
630
+ * @param {object} [options]
631
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
632
+ * @returns {Promise} - The promise which resolves to an array.
633
+ * The first element of the array is an object representing {@link protos.google.storage.control.v2.IntelligenceConfig|IntelligenceConfig}.
634
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
635
+ * for more details and examples.
636
+ * @example <caption>include:samples/generated/v2/storage_control.update_organization_intelligence_config.js</caption>
637
+ * region_tag:storage_v2_generated_StorageControl_UpdateOrganizationIntelligenceConfig_async
638
+ */
639
+ updateOrganizationIntelligenceConfig(request?: protos.google.storage.control.v2.IUpdateOrganizationIntelligenceConfigRequest, options?: CallOptions): Promise<[
640
+ protos.google.storage.control.v2.IIntelligenceConfig,
641
+ (protos.google.storage.control.v2.IUpdateOrganizationIntelligenceConfigRequest | undefined),
642
+ {} | undefined
643
+ ]>;
644
+ updateOrganizationIntelligenceConfig(request: protos.google.storage.control.v2.IUpdateOrganizationIntelligenceConfigRequest, options: CallOptions, callback: Callback<protos.google.storage.control.v2.IIntelligenceConfig, protos.google.storage.control.v2.IUpdateOrganizationIntelligenceConfigRequest | null | undefined, {} | null | undefined>): void;
645
+ updateOrganizationIntelligenceConfig(request: protos.google.storage.control.v2.IUpdateOrganizationIntelligenceConfigRequest, callback: Callback<protos.google.storage.control.v2.IIntelligenceConfig, protos.google.storage.control.v2.IUpdateOrganizationIntelligenceConfigRequest | null | undefined, {} | null | undefined>): void;
646
+ /**
647
+ * Gets the IAM policy for a specified bucket.
648
+ * The `resource` field in the request should be
649
+ * `projects/_/buckets/{bucket}` for a bucket, or
650
+ * `projects/_/buckets/{bucket}/managedFolders/{managedFolder}`
651
+ * for a managed folder.
652
+ *
653
+ * @param {Object} request
654
+ * The request object that will be sent.
655
+ * @param {string} request.resource
656
+ * REQUIRED: The resource for which the policy is being requested.
657
+ * See the operation documentation for the appropriate value for this field.
658
+ * @param {google.iam.v1.GetPolicyOptions} request.options
659
+ * OPTIONAL: A `GetPolicyOptions` object for specifying options to
660
+ * `GetIamPolicy`.
661
+ * @param {object} [options]
662
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
663
+ * @returns {Promise} - The promise which resolves to an array.
664
+ * The first element of the array is an object representing {@link protos.google.iam.v1.Policy|Policy}.
665
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
666
+ * for more details and examples.
667
+ * @example <caption>include:samples/generated/v2/storage_control.get_iam_policy.js</caption>
668
+ * region_tag:storage_v2_generated_StorageControl_GetIamPolicy_async
669
+ */
670
+ getIamPolicy(request?: protos.google.iam.v1.IGetIamPolicyRequest, options?: CallOptions): Promise<[
671
+ protos.google.iam.v1.IPolicy,
672
+ protos.google.iam.v1.IGetIamPolicyRequest | undefined,
673
+ {} | undefined
674
+ ]>;
675
+ 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;
676
+ getIamPolicy(request: protos.google.iam.v1.IGetIamPolicyRequest, callback: Callback<protos.google.iam.v1.IPolicy, protos.google.iam.v1.IGetIamPolicyRequest | null | undefined, {} | null | undefined>): void;
677
+ /**
678
+ * Updates an IAM policy for the specified bucket.
679
+ * The `resource` field in the request should be
680
+ * `projects/_/buckets/{bucket}` for a bucket, or
681
+ * `projects/_/buckets/{bucket}/managedFolders/{managedFolder}`
682
+ * for a managed folder.
683
+ *
684
+ * @param {Object} request
685
+ * The request object that will be sent.
686
+ * @param {string} request.resource
687
+ * REQUIRED: The resource for which the policy is being specified.
688
+ * See the operation documentation for the appropriate value for this field.
689
+ * @param {google.iam.v1.Policy} request.policy
690
+ * REQUIRED: The complete policy to be applied to the `resource`. The size of
691
+ * the policy is limited to a few 10s of KB. An empty policy is a
692
+ * valid policy but certain Cloud Platform services (such as Projects)
693
+ * might reject them.
694
+ * @param {google.protobuf.FieldMask} request.updateMask
695
+ * OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only
696
+ * the fields in the mask will be modified. If no mask is provided, the
697
+ * following default mask is used:
698
+ *
699
+ * `paths: "bindings, etag"`
700
+ * @param {object} [options]
701
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
702
+ * @returns {Promise} - The promise which resolves to an array.
703
+ * The first element of the array is an object representing {@link protos.google.iam.v1.Policy|Policy}.
704
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
705
+ * for more details and examples.
706
+ * @example <caption>include:samples/generated/v2/storage_control.set_iam_policy.js</caption>
707
+ * region_tag:storage_v2_generated_StorageControl_SetIamPolicy_async
708
+ */
709
+ setIamPolicy(request?: protos.google.iam.v1.ISetIamPolicyRequest, options?: CallOptions): Promise<[
710
+ protos.google.iam.v1.IPolicy,
711
+ protos.google.iam.v1.ISetIamPolicyRequest | undefined,
712
+ {} | undefined
713
+ ]>;
714
+ 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;
715
+ setIamPolicy(request: protos.google.iam.v1.ISetIamPolicyRequest, callback: Callback<protos.google.iam.v1.IPolicy, protos.google.iam.v1.ISetIamPolicyRequest | null | undefined, {} | null | undefined>): void;
716
+ /**
717
+ * Tests a set of permissions on the given bucket, object, or managed folder
718
+ * to see which, if any, are held by the caller.
719
+ * The `resource` field in the request should be
720
+ * `projects/_/buckets/{bucket}` for a bucket,
721
+ * `projects/_/buckets/{bucket}/objects/{object}` for an object, or
722
+ * `projects/_/buckets/{bucket}/managedFolders/{managedFolder}`
723
+ * for a managed folder.
724
+ *
725
+ * @param {Object} request
726
+ * The request object that will be sent.
727
+ * @param {string} request.resource
728
+ * REQUIRED: The resource for which the policy detail is being requested.
729
+ * See the operation documentation for the appropriate value for this field.
730
+ * @param {string[]} request.permissions
731
+ * The set of permissions to check for the `resource`. Permissions with
732
+ * wildcards (such as '*' or 'storage.*') are not allowed. For more
733
+ * information see
734
+ * [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
735
+ * @param {object} [options]
736
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
737
+ * @returns {Promise} - The promise which resolves to an array.
738
+ * The first element of the array is an object representing {@link protos.google.iam.v1.TestIamPermissionsResponse|TestIamPermissionsResponse}.
739
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
740
+ * for more details and examples.
741
+ * @example <caption>include:samples/generated/v2/storage_control.test_iam_permissions.js</caption>
742
+ * region_tag:storage_v2_generated_StorageControl_TestIamPermissions_async
743
+ */
744
+ testIamPermissions(request?: protos.google.iam.v1.ITestIamPermissionsRequest, options?: CallOptions): Promise<[
745
+ protos.google.iam.v1.ITestIamPermissionsResponse,
746
+ protos.google.iam.v1.ITestIamPermissionsRequest | undefined,
747
+ {} | undefined
748
+ ]>;
749
+ 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;
750
+ testIamPermissions(request: protos.google.iam.v1.ITestIamPermissionsRequest, callback: Callback<protos.google.iam.v1.ITestIamPermissionsResponse, protos.google.iam.v1.ITestIamPermissionsRequest | null | undefined, {} | null | undefined>): void;
751
+ /**
752
+ * Renames a source folder to a destination folder. This operation is only
753
+ * applicable to a hierarchical namespace enabled bucket. During a rename, the
754
+ * source and destination folders are locked until the long running operation
755
+ * completes.
756
+ *
757
+ * @param {Object} request
758
+ * The request object that will be sent.
759
+ * @param {string} request.name
760
+ * Required. Name of the source folder being renamed.
761
+ * Format: `projects/{project}/buckets/{bucket}/folders/{folder}`
762
+ * @param {string} request.destinationFolderId
763
+ * Required. The destination folder ID, e.g. `foo/bar/`.
764
+ * @param {number} request.ifMetagenerationMatch
765
+ * Makes the operation only succeed conditional on whether the source
766
+ * folder's current metageneration matches the given value.
767
+ * @param {number} request.ifMetagenerationNotMatch
768
+ * Makes the operation only succeed conditional on whether the source
769
+ * folder's current metageneration does not match the given value.
770
+ * @param {string} [request.requestId]
771
+ * Optional. A unique identifier for this request. UUID is the recommended
772
+ * format, but other formats are still accepted. This request is only
773
+ * idempotent if a `request_id` is provided.
774
+ * @param {object} [options]
775
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
776
+ * @returns {Promise} - The promise which resolves to an array.
777
+ * The first element of the array is an object representing
778
+ * a long running operation. Its `promise()` method returns a promise
779
+ * you can `await` for.
780
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation }
781
+ * for more details and examples.
782
+ * @example <caption>include:samples/generated/v2/storage_control.rename_folder.js</caption>
783
+ * region_tag:storage_v2_generated_StorageControl_RenameFolder_async
784
+ */
785
+ renameFolder(request?: protos.google.storage.control.v2.IRenameFolderRequest, options?: CallOptions): Promise<[
786
+ LROperation<protos.google.storage.control.v2.IFolder, protos.google.storage.control.v2.IRenameFolderMetadata>,
787
+ protos.google.longrunning.IOperation | undefined,
788
+ {} | undefined
789
+ ]>;
790
+ renameFolder(request: protos.google.storage.control.v2.IRenameFolderRequest, options: CallOptions, callback: Callback<LROperation<protos.google.storage.control.v2.IFolder, protos.google.storage.control.v2.IRenameFolderMetadata>, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>): void;
791
+ renameFolder(request: protos.google.storage.control.v2.IRenameFolderRequest, callback: Callback<LROperation<protos.google.storage.control.v2.IFolder, protos.google.storage.control.v2.IRenameFolderMetadata>, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>): void;
792
+ /**
793
+ * Check the status of the long running operation returned by `renameFolder()`.
794
+ * @param {String} name
795
+ * The operation name that will be passed.
796
+ * @returns {Promise} - The promise which resolves to an object.
797
+ * The decoded operation object has result and metadata field to get information from.
798
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation }
799
+ * for more details and examples.
800
+ * @example <caption>include:samples/generated/v2/storage_control.rename_folder.js</caption>
801
+ * region_tag:storage_v2_generated_StorageControl_RenameFolder_async
802
+ */
803
+ checkRenameFolderProgress(name: string): Promise<LROperation<protos.google.storage.control.v2.Folder, protos.google.storage.control.v2.RenameFolderMetadata>>;
804
+ /**
805
+ * Creates an Anywhere Cache instance.
806
+ *
807
+ * @param {Object} request
808
+ * The request object that will be sent.
809
+ * @param {string} request.parent
810
+ * Required. The bucket to which this cache belongs.
811
+ * Format: `projects/{project}/buckets/{bucket}`
812
+ * @param {google.storage.control.v2.AnywhereCache} request.anywhereCache
813
+ * Required. Properties of the Anywhere Cache instance being created.
814
+ * The parent bucket name is specified in the `parent` field. Server uses the
815
+ * default value of `ttl` or `admission_policy` if not specified in
816
+ * request.
817
+ * @param {string} [request.requestId]
818
+ * Optional. A unique identifier for this request. UUID is the recommended
819
+ * format, but other formats are still accepted. This request is only
820
+ * idempotent if a `request_id` is provided.
821
+ * @param {object} [options]
822
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
823
+ * @returns {Promise} - The promise which resolves to an array.
824
+ * The first element of the array is an object representing
825
+ * a long running operation. Its `promise()` method returns a promise
826
+ * you can `await` for.
827
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation }
828
+ * for more details and examples.
829
+ * @example <caption>include:samples/generated/v2/storage_control.create_anywhere_cache.js</caption>
830
+ * region_tag:storage_v2_generated_StorageControl_CreateAnywhereCache_async
831
+ */
832
+ createAnywhereCache(request?: protos.google.storage.control.v2.ICreateAnywhereCacheRequest, options?: CallOptions): Promise<[
833
+ LROperation<protos.google.storage.control.v2.IAnywhereCache, protos.google.storage.control.v2.ICreateAnywhereCacheMetadata>,
834
+ protos.google.longrunning.IOperation | undefined,
835
+ {} | undefined
836
+ ]>;
837
+ createAnywhereCache(request: protos.google.storage.control.v2.ICreateAnywhereCacheRequest, options: CallOptions, callback: Callback<LROperation<protos.google.storage.control.v2.IAnywhereCache, protos.google.storage.control.v2.ICreateAnywhereCacheMetadata>, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>): void;
838
+ createAnywhereCache(request: protos.google.storage.control.v2.ICreateAnywhereCacheRequest, callback: Callback<LROperation<protos.google.storage.control.v2.IAnywhereCache, protos.google.storage.control.v2.ICreateAnywhereCacheMetadata>, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>): void;
839
+ /**
840
+ * Check the status of the long running operation returned by `createAnywhereCache()`.
841
+ * @param {String} name
842
+ * The operation name that will be passed.
843
+ * @returns {Promise} - The promise which resolves to an object.
844
+ * The decoded operation object has result and metadata field to get information from.
845
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation }
846
+ * for more details and examples.
847
+ * @example <caption>include:samples/generated/v2/storage_control.create_anywhere_cache.js</caption>
848
+ * region_tag:storage_v2_generated_StorageControl_CreateAnywhereCache_async
849
+ */
850
+ checkCreateAnywhereCacheProgress(name: string): Promise<LROperation<protos.google.storage.control.v2.AnywhereCache, protos.google.storage.control.v2.CreateAnywhereCacheMetadata>>;
851
+ /**
852
+ * Updates an Anywhere Cache instance. Mutable fields include `ttl` and
853
+ * `admission_policy`.
854
+ *
855
+ * @param {Object} request
856
+ * The request object that will be sent.
857
+ * @param {google.storage.control.v2.AnywhereCache} request.anywhereCache
858
+ * Required. The Anywhere Cache instance to be updated.
859
+ * @param {google.protobuf.FieldMask} request.updateMask
860
+ * Required. List of fields to be updated. Mutable fields of AnywhereCache
861
+ * include `ttl` and `admission_policy`.
862
+ *
863
+ * To specify ALL fields, specify a single field with the value `*`. Note: We
864
+ * recommend against doing this. If a new field is introduced at a later time,
865
+ * an older client updating with the `*` may accidentally reset the new
866
+ * field's value.
867
+ *
868
+ * Not specifying any fields is an error.
869
+ * @param {string} [request.requestId]
870
+ * Optional. A unique identifier for this request. UUID is the recommended
871
+ * format, but other formats are still accepted. This request is only
872
+ * idempotent if a `request_id` is provided.
873
+ * @param {object} [options]
874
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
875
+ * @returns {Promise} - The promise which resolves to an array.
876
+ * The first element of the array is an object representing
877
+ * a long running operation. Its `promise()` method returns a promise
878
+ * you can `await` for.
879
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation }
880
+ * for more details and examples.
881
+ * @example <caption>include:samples/generated/v2/storage_control.update_anywhere_cache.js</caption>
882
+ * region_tag:storage_v2_generated_StorageControl_UpdateAnywhereCache_async
883
+ */
884
+ updateAnywhereCache(request?: protos.google.storage.control.v2.IUpdateAnywhereCacheRequest, options?: CallOptions): Promise<[
885
+ LROperation<protos.google.storage.control.v2.IAnywhereCache, protos.google.storage.control.v2.IUpdateAnywhereCacheMetadata>,
886
+ protos.google.longrunning.IOperation | undefined,
887
+ {} | undefined
888
+ ]>;
889
+ updateAnywhereCache(request: protos.google.storage.control.v2.IUpdateAnywhereCacheRequest, options: CallOptions, callback: Callback<LROperation<protos.google.storage.control.v2.IAnywhereCache, protos.google.storage.control.v2.IUpdateAnywhereCacheMetadata>, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>): void;
890
+ updateAnywhereCache(request: protos.google.storage.control.v2.IUpdateAnywhereCacheRequest, callback: Callback<LROperation<protos.google.storage.control.v2.IAnywhereCache, protos.google.storage.control.v2.IUpdateAnywhereCacheMetadata>, protos.google.longrunning.IOperation | null | undefined, {} | null | undefined>): void;
891
+ /**
892
+ * Check the status of the long running operation returned by `updateAnywhereCache()`.
893
+ * @param {String} name
894
+ * The operation name that will be passed.
895
+ * @returns {Promise} - The promise which resolves to an object.
896
+ * The decoded operation object has result and metadata field to get information from.
897
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations | documentation }
898
+ * for more details and examples.
899
+ * @example <caption>include:samples/generated/v2/storage_control.update_anywhere_cache.js</caption>
900
+ * region_tag:storage_v2_generated_StorageControl_UpdateAnywhereCache_async
901
+ */
902
+ checkUpdateAnywhereCacheProgress(name: string): Promise<LROperation<protos.google.storage.control.v2.AnywhereCache, protos.google.storage.control.v2.UpdateAnywhereCacheMetadata>>;
903
+ /**
904
+ * Retrieves a list of folders. This operation is only applicable to a
905
+ * hierarchical namespace enabled bucket.
906
+ *
907
+ * @param {Object} request
908
+ * The request object that will be sent.
909
+ * @param {string} request.parent
910
+ * Required. Name of the bucket in which to look for folders. The bucket must
911
+ * be a hierarchical namespace enabled bucket.
912
+ * @param {number} [request.pageSize]
913
+ * Optional. Maximum number of folders to return in a single response. The
914
+ * service will use this parameter or 1,000 items, whichever is smaller.
915
+ * @param {string} [request.pageToken]
916
+ * Optional. A previously-returned page token representing part of the larger
917
+ * set of results to view.
918
+ * @param {string} [request.prefix]
919
+ * Optional. Filter results to folders whose names begin with this prefix.
920
+ * If set, the value must either be an empty string or end with a '/'.
921
+ * @param {string} [request.delimiter]
922
+ * Optional. If set, returns results in a directory-like mode. The results
923
+ * will only include folders that either exactly match the above prefix, or
924
+ * are one level below the prefix. The only supported value is '/'.
925
+ * @param {string} [request.lexicographicStart]
926
+ * Optional. Filter results to folders whose names are lexicographically equal
927
+ * to or after lexicographic_start. If lexicographic_end is also set, the
928
+ * folders listed have names between lexicographic_start (inclusive) and
929
+ * lexicographic_end (exclusive).
930
+ * @param {string} [request.lexicographicEnd]
931
+ * Optional. Filter results to folders whose names are lexicographically
932
+ * before lexicographic_end. If lexicographic_start is also set, the folders
933
+ * listed have names between lexicographic_start (inclusive) and
934
+ * lexicographic_end (exclusive).
935
+ * @param {string} [request.requestId]
936
+ * Optional. A unique identifier for this request. UUID is the recommended
937
+ * format, but other formats are still accepted.
938
+ * @param {object} [options]
939
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
940
+ * @returns {Promise} - The promise which resolves to an array.
941
+ * The first element of the array is Array of {@link protos.google.storage.control.v2.Folder|Folder}.
942
+ * The client library will perform auto-pagination by default: it will call the API as many
943
+ * times as needed and will merge results from all the pages into this array.
944
+ * Note that it can affect your quota.
945
+ * We recommend using `listFoldersAsync()`
946
+ * method described below for async iteration which you can stop as needed.
947
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
948
+ * for more details and examples.
949
+ */
950
+ listFolders(request?: protos.google.storage.control.v2.IListFoldersRequest, options?: CallOptions): Promise<[
951
+ protos.google.storage.control.v2.IFolder[],
952
+ protos.google.storage.control.v2.IListFoldersRequest | null,
953
+ protos.google.storage.control.v2.IListFoldersResponse
954
+ ]>;
955
+ listFolders(request: protos.google.storage.control.v2.IListFoldersRequest, options: CallOptions, callback: PaginationCallback<protos.google.storage.control.v2.IListFoldersRequest, protos.google.storage.control.v2.IListFoldersResponse | null | undefined, protos.google.storage.control.v2.IFolder>): void;
956
+ listFolders(request: protos.google.storage.control.v2.IListFoldersRequest, callback: PaginationCallback<protos.google.storage.control.v2.IListFoldersRequest, protos.google.storage.control.v2.IListFoldersResponse | null | undefined, protos.google.storage.control.v2.IFolder>): void;
957
+ /**
958
+ * Equivalent to `listFolders`, but returns a NodeJS Stream object.
959
+ * @param {Object} request
960
+ * The request object that will be sent.
961
+ * @param {string} request.parent
962
+ * Required. Name of the bucket in which to look for folders. The bucket must
963
+ * be a hierarchical namespace enabled bucket.
964
+ * @param {number} [request.pageSize]
965
+ * Optional. Maximum number of folders to return in a single response. The
966
+ * service will use this parameter or 1,000 items, whichever is smaller.
967
+ * @param {string} [request.pageToken]
968
+ * Optional. A previously-returned page token representing part of the larger
969
+ * set of results to view.
970
+ * @param {string} [request.prefix]
971
+ * Optional. Filter results to folders whose names begin with this prefix.
972
+ * If set, the value must either be an empty string or end with a '/'.
973
+ * @param {string} [request.delimiter]
974
+ * Optional. If set, returns results in a directory-like mode. The results
975
+ * will only include folders that either exactly match the above prefix, or
976
+ * are one level below the prefix. The only supported value is '/'.
977
+ * @param {string} [request.lexicographicStart]
978
+ * Optional. Filter results to folders whose names are lexicographically equal
979
+ * to or after lexicographic_start. If lexicographic_end is also set, the
980
+ * folders listed have names between lexicographic_start (inclusive) and
981
+ * lexicographic_end (exclusive).
982
+ * @param {string} [request.lexicographicEnd]
983
+ * Optional. Filter results to folders whose names are lexicographically
984
+ * before lexicographic_end. If lexicographic_start is also set, the folders
985
+ * listed have names between lexicographic_start (inclusive) and
986
+ * lexicographic_end (exclusive).
987
+ * @param {string} [request.requestId]
988
+ * Optional. A unique identifier for this request. UUID is the recommended
989
+ * format, but other formats are still accepted.
990
+ * @param {object} [options]
991
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
992
+ * @returns {Stream}
993
+ * An object stream which emits an object representing {@link protos.google.storage.control.v2.Folder|Folder} on 'data' event.
994
+ * The client library will perform auto-pagination by default: it will call the API as many
995
+ * times as needed. Note that it can affect your quota.
996
+ * We recommend using `listFoldersAsync()`
997
+ * method described below for async iteration which you can stop as needed.
998
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
999
+ * for more details and examples.
1000
+ */
1001
+ listFoldersStream(request?: protos.google.storage.control.v2.IListFoldersRequest, options?: CallOptions): Transform;
1002
+ /**
1003
+ * Equivalent to `listFolders`, but returns an iterable object.
1004
+ *
1005
+ * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand.
1006
+ * @param {Object} request
1007
+ * The request object that will be sent.
1008
+ * @param {string} request.parent
1009
+ * Required. Name of the bucket in which to look for folders. The bucket must
1010
+ * be a hierarchical namespace enabled bucket.
1011
+ * @param {number} [request.pageSize]
1012
+ * Optional. Maximum number of folders to return in a single response. The
1013
+ * service will use this parameter or 1,000 items, whichever is smaller.
1014
+ * @param {string} [request.pageToken]
1015
+ * Optional. A previously-returned page token representing part of the larger
1016
+ * set of results to view.
1017
+ * @param {string} [request.prefix]
1018
+ * Optional. Filter results to folders whose names begin with this prefix.
1019
+ * If set, the value must either be an empty string or end with a '/'.
1020
+ * @param {string} [request.delimiter]
1021
+ * Optional. If set, returns results in a directory-like mode. The results
1022
+ * will only include folders that either exactly match the above prefix, or
1023
+ * are one level below the prefix. The only supported value is '/'.
1024
+ * @param {string} [request.lexicographicStart]
1025
+ * Optional. Filter results to folders whose names are lexicographically equal
1026
+ * to or after lexicographic_start. If lexicographic_end is also set, the
1027
+ * folders listed have names between lexicographic_start (inclusive) and
1028
+ * lexicographic_end (exclusive).
1029
+ * @param {string} [request.lexicographicEnd]
1030
+ * Optional. Filter results to folders whose names are lexicographically
1031
+ * before lexicographic_end. If lexicographic_start is also set, the folders
1032
+ * listed have names between lexicographic_start (inclusive) and
1033
+ * lexicographic_end (exclusive).
1034
+ * @param {string} [request.requestId]
1035
+ * Optional. A unique identifier for this request. UUID is the recommended
1036
+ * format, but other formats are still accepted.
1037
+ * @param {object} [options]
1038
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
1039
+ * @returns {Object}
1040
+ * An iterable Object that allows {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | async iteration }.
1041
+ * When you iterate the returned iterable, each element will be an object representing
1042
+ * {@link protos.google.storage.control.v2.Folder|Folder}. The API will be called under the hood as needed, once per the page,
1043
+ * so you can stop the iteration when you don't need more results.
1044
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
1045
+ * for more details and examples.
1046
+ * @example <caption>include:samples/generated/v2/storage_control.list_folders.js</caption>
1047
+ * region_tag:storage_v2_generated_StorageControl_ListFolders_async
1048
+ */
1049
+ listFoldersAsync(request?: protos.google.storage.control.v2.IListFoldersRequest, options?: CallOptions): AsyncIterable<protos.google.storage.control.v2.IFolder>;
1050
+ /**
1051
+ * Retrieves a list of managed folders for a given bucket.
1052
+ *
1053
+ * @param {Object} request
1054
+ * The request object that will be sent.
1055
+ * @param {string} request.parent
1056
+ * Required. Name of the bucket this managed folder belongs to.
1057
+ * @param {number} [request.pageSize]
1058
+ * Optional. Maximum number of managed folders to return in a single response.
1059
+ * The service will use this parameter or 1,000 items, whichever is smaller.
1060
+ * @param {string} [request.pageToken]
1061
+ * Optional. A previously-returned page token representing part of the larger
1062
+ * set of results to view.
1063
+ * @param {string} [request.prefix]
1064
+ * Optional. Filter results to match managed folders with name starting with
1065
+ * this prefix.
1066
+ * @param {string} [request.requestId]
1067
+ * Optional. A unique identifier for this request. UUID is the recommended
1068
+ * format, but other formats are still accepted.
1069
+ * @param {object} [options]
1070
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
1071
+ * @returns {Promise} - The promise which resolves to an array.
1072
+ * The first element of the array is Array of {@link protos.google.storage.control.v2.ManagedFolder|ManagedFolder}.
1073
+ * The client library will perform auto-pagination by default: it will call the API as many
1074
+ * times as needed and will merge results from all the pages into this array.
1075
+ * Note that it can affect your quota.
1076
+ * We recommend using `listManagedFoldersAsync()`
1077
+ * method described below for async iteration which you can stop as needed.
1078
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
1079
+ * for more details and examples.
1080
+ */
1081
+ listManagedFolders(request?: protos.google.storage.control.v2.IListManagedFoldersRequest, options?: CallOptions): Promise<[
1082
+ protos.google.storage.control.v2.IManagedFolder[],
1083
+ protos.google.storage.control.v2.IListManagedFoldersRequest | null,
1084
+ protos.google.storage.control.v2.IListManagedFoldersResponse
1085
+ ]>;
1086
+ listManagedFolders(request: protos.google.storage.control.v2.IListManagedFoldersRequest, options: CallOptions, callback: PaginationCallback<protos.google.storage.control.v2.IListManagedFoldersRequest, protos.google.storage.control.v2.IListManagedFoldersResponse | null | undefined, protos.google.storage.control.v2.IManagedFolder>): void;
1087
+ listManagedFolders(request: protos.google.storage.control.v2.IListManagedFoldersRequest, callback: PaginationCallback<protos.google.storage.control.v2.IListManagedFoldersRequest, protos.google.storage.control.v2.IListManagedFoldersResponse | null | undefined, protos.google.storage.control.v2.IManagedFolder>): void;
1088
+ /**
1089
+ * Equivalent to `listManagedFolders`, but returns a NodeJS Stream object.
1090
+ * @param {Object} request
1091
+ * The request object that will be sent.
1092
+ * @param {string} request.parent
1093
+ * Required. Name of the bucket this managed folder belongs to.
1094
+ * @param {number} [request.pageSize]
1095
+ * Optional. Maximum number of managed folders to return in a single response.
1096
+ * The service will use this parameter or 1,000 items, whichever is smaller.
1097
+ * @param {string} [request.pageToken]
1098
+ * Optional. A previously-returned page token representing part of the larger
1099
+ * set of results to view.
1100
+ * @param {string} [request.prefix]
1101
+ * Optional. Filter results to match managed folders with name starting with
1102
+ * this prefix.
1103
+ * @param {string} [request.requestId]
1104
+ * Optional. A unique identifier for this request. UUID is the recommended
1105
+ * format, but other formats are still accepted.
1106
+ * @param {object} [options]
1107
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
1108
+ * @returns {Stream}
1109
+ * An object stream which emits an object representing {@link protos.google.storage.control.v2.ManagedFolder|ManagedFolder} on 'data' event.
1110
+ * The client library will perform auto-pagination by default: it will call the API as many
1111
+ * times as needed. Note that it can affect your quota.
1112
+ * We recommend using `listManagedFoldersAsync()`
1113
+ * method described below for async iteration which you can stop as needed.
1114
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
1115
+ * for more details and examples.
1116
+ */
1117
+ listManagedFoldersStream(request?: protos.google.storage.control.v2.IListManagedFoldersRequest, options?: CallOptions): Transform;
1118
+ /**
1119
+ * Equivalent to `listManagedFolders`, but returns an iterable object.
1120
+ *
1121
+ * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand.
1122
+ * @param {Object} request
1123
+ * The request object that will be sent.
1124
+ * @param {string} request.parent
1125
+ * Required. Name of the bucket this managed folder belongs to.
1126
+ * @param {number} [request.pageSize]
1127
+ * Optional. Maximum number of managed folders to return in a single response.
1128
+ * The service will use this parameter or 1,000 items, whichever is smaller.
1129
+ * @param {string} [request.pageToken]
1130
+ * Optional. A previously-returned page token representing part of the larger
1131
+ * set of results to view.
1132
+ * @param {string} [request.prefix]
1133
+ * Optional. Filter results to match managed folders with name starting with
1134
+ * this prefix.
1135
+ * @param {string} [request.requestId]
1136
+ * Optional. A unique identifier for this request. UUID is the recommended
1137
+ * format, but other formats are still accepted.
1138
+ * @param {object} [options]
1139
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
1140
+ * @returns {Object}
1141
+ * An iterable Object that allows {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | async iteration }.
1142
+ * When you iterate the returned iterable, each element will be an object representing
1143
+ * {@link protos.google.storage.control.v2.ManagedFolder|ManagedFolder}. The API will be called under the hood as needed, once per the page,
1144
+ * so you can stop the iteration when you don't need more results.
1145
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
1146
+ * for more details and examples.
1147
+ * @example <caption>include:samples/generated/v2/storage_control.list_managed_folders.js</caption>
1148
+ * region_tag:storage_v2_generated_StorageControl_ListManagedFolders_async
1149
+ */
1150
+ listManagedFoldersAsync(request?: protos.google.storage.control.v2.IListManagedFoldersRequest, options?: CallOptions): AsyncIterable<protos.google.storage.control.v2.IManagedFolder>;
1151
+ /**
1152
+ * Lists Anywhere Cache instances for a given bucket.
1153
+ *
1154
+ * @param {Object} request
1155
+ * The request object that will be sent.
1156
+ * @param {string} request.parent
1157
+ * Required. The bucket to which this cache belongs.
1158
+ * @param {number} request.pageSize
1159
+ * Maximum number of caches to return in a single response.
1160
+ * The service will use this parameter or 1,000 items, whichever is smaller.
1161
+ * @param {string} request.pageToken
1162
+ * A previously-returned page token representing part of the larger set of
1163
+ * results to view.
1164
+ * @param {string} [request.requestId]
1165
+ * Optional. A unique identifier for this request. UUID is the recommended
1166
+ * format, but other formats are still accepted.
1167
+ * @param {object} [options]
1168
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
1169
+ * @returns {Promise} - The promise which resolves to an array.
1170
+ * The first element of the array is Array of {@link protos.google.storage.control.v2.AnywhereCache|AnywhereCache}.
1171
+ * The client library will perform auto-pagination by default: it will call the API as many
1172
+ * times as needed and will merge results from all the pages into this array.
1173
+ * Note that it can affect your quota.
1174
+ * We recommend using `listAnywhereCachesAsync()`
1175
+ * method described below for async iteration which you can stop as needed.
1176
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
1177
+ * for more details and examples.
1178
+ */
1179
+ listAnywhereCaches(request?: protos.google.storage.control.v2.IListAnywhereCachesRequest, options?: CallOptions): Promise<[
1180
+ protos.google.storage.control.v2.IAnywhereCache[],
1181
+ protos.google.storage.control.v2.IListAnywhereCachesRequest | null,
1182
+ protos.google.storage.control.v2.IListAnywhereCachesResponse
1183
+ ]>;
1184
+ listAnywhereCaches(request: protos.google.storage.control.v2.IListAnywhereCachesRequest, options: CallOptions, callback: PaginationCallback<protos.google.storage.control.v2.IListAnywhereCachesRequest, protos.google.storage.control.v2.IListAnywhereCachesResponse | null | undefined, protos.google.storage.control.v2.IAnywhereCache>): void;
1185
+ listAnywhereCaches(request: protos.google.storage.control.v2.IListAnywhereCachesRequest, callback: PaginationCallback<protos.google.storage.control.v2.IListAnywhereCachesRequest, protos.google.storage.control.v2.IListAnywhereCachesResponse | null | undefined, protos.google.storage.control.v2.IAnywhereCache>): void;
1186
+ /**
1187
+ * Equivalent to `listAnywhereCaches`, but returns a NodeJS Stream object.
1188
+ * @param {Object} request
1189
+ * The request object that will be sent.
1190
+ * @param {string} request.parent
1191
+ * Required. The bucket to which this cache belongs.
1192
+ * @param {number} request.pageSize
1193
+ * Maximum number of caches to return in a single response.
1194
+ * The service will use this parameter or 1,000 items, whichever is smaller.
1195
+ * @param {string} request.pageToken
1196
+ * A previously-returned page token representing part of the larger set of
1197
+ * results to view.
1198
+ * @param {string} [request.requestId]
1199
+ * Optional. A unique identifier for this request. UUID is the recommended
1200
+ * format, but other formats are still accepted.
1201
+ * @param {object} [options]
1202
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
1203
+ * @returns {Stream}
1204
+ * An object stream which emits an object representing {@link protos.google.storage.control.v2.AnywhereCache|AnywhereCache} on 'data' event.
1205
+ * The client library will perform auto-pagination by default: it will call the API as many
1206
+ * times as needed. Note that it can affect your quota.
1207
+ * We recommend using `listAnywhereCachesAsync()`
1208
+ * method described below for async iteration which you can stop as needed.
1209
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
1210
+ * for more details and examples.
1211
+ */
1212
+ listAnywhereCachesStream(request?: protos.google.storage.control.v2.IListAnywhereCachesRequest, options?: CallOptions): Transform;
1213
+ /**
1214
+ * Equivalent to `listAnywhereCaches`, but returns an iterable object.
1215
+ *
1216
+ * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand.
1217
+ * @param {Object} request
1218
+ * The request object that will be sent.
1219
+ * @param {string} request.parent
1220
+ * Required. The bucket to which this cache belongs.
1221
+ * @param {number} request.pageSize
1222
+ * Maximum number of caches to return in a single response.
1223
+ * The service will use this parameter or 1,000 items, whichever is smaller.
1224
+ * @param {string} request.pageToken
1225
+ * A previously-returned page token representing part of the larger set of
1226
+ * results to view.
1227
+ * @param {string} [request.requestId]
1228
+ * Optional. A unique identifier for this request. UUID is the recommended
1229
+ * format, but other formats are still accepted.
1230
+ * @param {object} [options]
1231
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
1232
+ * @returns {Object}
1233
+ * An iterable Object that allows {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | async iteration }.
1234
+ * When you iterate the returned iterable, each element will be an object representing
1235
+ * {@link protos.google.storage.control.v2.AnywhereCache|AnywhereCache}. The API will be called under the hood as needed, once per the page,
1236
+ * so you can stop the iteration when you don't need more results.
1237
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
1238
+ * for more details and examples.
1239
+ * @example <caption>include:samples/generated/v2/storage_control.list_anywhere_caches.js</caption>
1240
+ * region_tag:storage_v2_generated_StorageControl_ListAnywhereCaches_async
1241
+ */
1242
+ listAnywhereCachesAsync(request?: protos.google.storage.control.v2.IListAnywhereCachesRequest, options?: CallOptions): AsyncIterable<protos.google.storage.control.v2.IAnywhereCache>;
1243
+ /**
1244
+ * Gets the latest state of a long-running operation. Clients can use this
1245
+ * method to poll the operation result at intervals as recommended by the API
1246
+ * service.
1247
+ *
1248
+ * @param {Object} request - The request object that will be sent.
1249
+ * @param {string} request.name - The name of the operation resource.
1250
+ * @param {Object=} options
1251
+ * Optional parameters. You can override the default settings for this call,
1252
+ * e.g, timeout, retries, paginations, etc. See {@link
1253
+ * https://googleapis.github.io/gax-nodejs/global.html#CallOptions | gax.CallOptions}
1254
+ * for the details.
1255
+ * @param {function(?Error, ?Object)=} callback
1256
+ * The function which will be called with the result of the API call.
1257
+ *
1258
+ * The second parameter to the callback is an object representing
1259
+ * {@link google.longrunning.Operation | google.longrunning.Operation}.
1260
+ * @return {Promise} - The promise which resolves to an array.
1261
+ * The first element of the array is an object representing
1262
+ * {@link google.longrunning.Operation | google.longrunning.Operation}.
1263
+ * The promise has a method named "cancel" which cancels the ongoing API call.
1264
+ *
1265
+ * @example
1266
+ * ```
1267
+ * const client = longrunning.operationsClient();
1268
+ * const name = '';
1269
+ * const [response] = await client.getOperation({name});
1270
+ * // doThingsWith(response)
1271
+ * ```
1272
+ */
1273
+ getOperation(request?: protos.google.longrunning.GetOperationRequest, options?: CallOptions): Promise<[protos.google.longrunning.Operation]>;
1274
+ getOperation(request: protos.google.longrunning.GetOperationRequest, options: CallOptions, callback: Callback<protos.google.longrunning.Operation, protos.google.longrunning.GetOperationRequest, {} | null | undefined>): void;
1275
+ getOperation(request: protos.google.longrunning.GetOperationRequest, callback: Callback<protos.google.longrunning.Operation, protos.google.longrunning.GetOperationRequest, {} | null | undefined>): void;
1276
+ /**
1277
+ * Lists operations that match the specified filter in the request. If the
1278
+ * server doesn't support this method, it returns `UNIMPLEMENTED`. Returns an iterable object.
1279
+ *
1280
+ * For-await-of syntax is used with the iterable to recursively get response element on-demand.
1281
+ *
1282
+ * @param {Object} request - The request object that will be sent.
1283
+ * @param {string} request.name - The name of the operation collection.
1284
+ * @param {string} request.filter - The standard list filter.
1285
+ * @param {number=} request.pageSize -
1286
+ * The maximum number of resources contained in the underlying API
1287
+ * response. If page streaming is performed per-resource, this
1288
+ * parameter does not affect the return value. If page streaming is
1289
+ * performed per-page, this determines the maximum number of
1290
+ * resources in a page.
1291
+ * @param {Object=} options
1292
+ * Optional parameters. You can override the default settings for this call,
1293
+ * e.g, timeout, retries, paginations, etc. See {@link
1294
+ * https://googleapis.github.io/gax-nodejs/global.html#CallOptions | gax.CallOptions} for the
1295
+ * details.
1296
+ * @returns {Object}
1297
+ * An iterable Object that conforms to {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | iteration protocols}.
1298
+ *
1299
+ * @example
1300
+ * ```
1301
+ * const client = longrunning.operationsClient();
1302
+ * for await (const response of client.listOperationsAsync(request));
1303
+ * // doThingsWith(response)
1304
+ * ```
1305
+ */
1306
+ listOperationsAsync(request: protos.google.longrunning.ListOperationsRequest, options?: gax.CallOptions): AsyncIterable<protos.google.longrunning.IOperation>;
1307
+ /**
1308
+ * Starts asynchronous cancellation on a long-running operation. The server
1309
+ * makes a best effort to cancel the operation, but success is not
1310
+ * guaranteed. If the server doesn't support this method, it returns
1311
+ * `google.rpc.Code.UNIMPLEMENTED`. Clients can use
1312
+ * {@link Operations.GetOperation} or
1313
+ * other methods to check whether the cancellation succeeded or whether the
1314
+ * operation completed despite cancellation. On successful cancellation,
1315
+ * the operation is not deleted; instead, it becomes an operation with
1316
+ * an {@link Operation.error} value with a {@link google.rpc.Status.code} of
1317
+ * 1, corresponding to `Code.CANCELLED`.
1318
+ *
1319
+ * @param {Object} request - The request object that will be sent.
1320
+ * @param {string} request.name - The name of the operation resource to be cancelled.
1321
+ * @param {Object=} options
1322
+ * Optional parameters. You can override the default settings for this call,
1323
+ * e.g, timeout, retries, paginations, etc. See {@link
1324
+ * https://googleapis.github.io/gax-nodejs/global.html#CallOptions | gax.CallOptions} for the
1325
+ * details.
1326
+ * @param {function(?Error)=} callback
1327
+ * The function which will be called with the result of the API call.
1328
+ * @return {Promise} - The promise which resolves when API call finishes.
1329
+ * The promise has a method named "cancel" which cancels the ongoing API
1330
+ * call.
1331
+ *
1332
+ * @example
1333
+ * ```
1334
+ * const client = longrunning.operationsClient();
1335
+ * await client.cancelOperation({name: ''});
1336
+ * ```
1337
+ */
1338
+ cancelOperation(request?: protos.google.longrunning.CancelOperationRequest, options?: CallOptions): Promise<protos.google.protobuf.Empty>;
1339
+ cancelOperation(request: protos.google.longrunning.CancelOperationRequest, options: CallOptions, callback: Callback<protos.google.longrunning.CancelOperationRequest, protos.google.protobuf.Empty, {} | undefined | null>): void;
1340
+ cancelOperation(request: protos.google.longrunning.CancelOperationRequest, callback: Callback<protos.google.longrunning.CancelOperationRequest, protos.google.protobuf.Empty, {} | undefined | null>): void;
1341
+ /**
1342
+ * Deletes a long-running operation. This method indicates that the client is
1343
+ * no longer interested in the operation result. It does not cancel the
1344
+ * operation. If the server doesn't support this method, it returns
1345
+ * `google.rpc.Code.UNIMPLEMENTED`.
1346
+ *
1347
+ * @param {Object} request - The request object that will be sent.
1348
+ * @param {string} request.name - The name of the operation resource to be deleted.
1349
+ * @param {Object=} options
1350
+ * Optional parameters. You can override the default settings for this call,
1351
+ * e.g, timeout, retries, paginations, etc. See {@link
1352
+ * https://googleapis.github.io/gax-nodejs/global.html#CallOptions | gax.CallOptions}
1353
+ * for the details.
1354
+ * @param {function(?Error)=} callback
1355
+ * The function which will be called with the result of the API call.
1356
+ * @return {Promise} - The promise which resolves when API call finishes.
1357
+ * The promise has a method named "cancel" which cancels the ongoing API
1358
+ * call.
1359
+ *
1360
+ * @example
1361
+ * ```
1362
+ * const client = longrunning.operationsClient();
1363
+ * await client.deleteOperation({name: ''});
1364
+ * ```
1365
+ */
1366
+ deleteOperation(request?: protos.google.longrunning.DeleteOperationRequest, options?: CallOptions): Promise<protos.google.protobuf.Empty>;
1367
+ deleteOperation(request: protos.google.longrunning.DeleteOperationRequest, options: CallOptions, callback: Callback<protos.google.protobuf.Empty, protos.google.longrunning.DeleteOperationRequest, {} | null | undefined>): void;
1368
+ deleteOperation(request: protos.google.longrunning.DeleteOperationRequest, callback: Callback<protos.google.protobuf.Empty, protos.google.longrunning.DeleteOperationRequest, {} | null | undefined>): void;
1369
+ /**
1370
+ * Return a fully-qualified anywhereCache resource name string.
1371
+ *
1372
+ * @param {string} project
1373
+ * @param {string} bucket
1374
+ * @param {string} anywhere_cache
1375
+ * @returns {string} Resource name string.
1376
+ */
1377
+ anywhereCachePath(project: string, bucket: string, anywhereCache: string): string;
1378
+ /**
1379
+ * Parse the project from AnywhereCache resource.
1380
+ *
1381
+ * @param {string} anywhereCacheName
1382
+ * A fully-qualified path representing AnywhereCache resource.
1383
+ * @returns {string} A string representing the project.
1384
+ */
1385
+ matchProjectFromAnywhereCacheName(anywhereCacheName: string): string | number;
1386
+ /**
1387
+ * Parse the bucket from AnywhereCache resource.
1388
+ *
1389
+ * @param {string} anywhereCacheName
1390
+ * A fully-qualified path representing AnywhereCache resource.
1391
+ * @returns {string} A string representing the bucket.
1392
+ */
1393
+ matchBucketFromAnywhereCacheName(anywhereCacheName: string): string | number;
1394
+ /**
1395
+ * Parse the anywhere_cache from AnywhereCache resource.
1396
+ *
1397
+ * @param {string} anywhereCacheName
1398
+ * A fully-qualified path representing AnywhereCache resource.
1399
+ * @returns {string} A string representing the anywhere_cache.
1400
+ */
1401
+ matchAnywhereCacheFromAnywhereCacheName(anywhereCacheName: string): string | number;
1402
+ /**
1403
+ * Return a fully-qualified bucket resource name string.
1404
+ *
1405
+ * @param {string} project
1406
+ * @param {string} bucket
1407
+ * @returns {string} Resource name string.
1408
+ */
1409
+ bucketPath(project: string, bucket: string): string;
1410
+ /**
1411
+ * Parse the project from Bucket resource.
1412
+ *
1413
+ * @param {string} bucketName
1414
+ * A fully-qualified path representing Bucket resource.
1415
+ * @returns {string} A string representing the project.
1416
+ */
1417
+ matchProjectFromBucketName(bucketName: string): string | number;
1418
+ /**
1419
+ * Parse the bucket from Bucket resource.
1420
+ *
1421
+ * @param {string} bucketName
1422
+ * A fully-qualified path representing Bucket resource.
1423
+ * @returns {string} A string representing the bucket.
1424
+ */
1425
+ matchBucketFromBucketName(bucketName: string): string | number;
1426
+ /**
1427
+ * Return a fully-qualified folder resource name string.
1428
+ *
1429
+ * @param {string} project
1430
+ * @param {string} bucket
1431
+ * @param {string} folder
1432
+ * @returns {string} Resource name string.
1433
+ */
1434
+ folderPath(project: string, bucket: string, folder: string): string;
1435
+ /**
1436
+ * Parse the project from Folder resource.
1437
+ *
1438
+ * @param {string} folderName
1439
+ * A fully-qualified path representing Folder resource.
1440
+ * @returns {string} A string representing the project.
1441
+ */
1442
+ matchProjectFromFolderName(folderName: string): string | number;
1443
+ /**
1444
+ * Parse the bucket from Folder resource.
1445
+ *
1446
+ * @param {string} folderName
1447
+ * A fully-qualified path representing Folder resource.
1448
+ * @returns {string} A string representing the bucket.
1449
+ */
1450
+ matchBucketFromFolderName(folderName: string): string | number;
1451
+ /**
1452
+ * Parse the folder from Folder resource.
1453
+ *
1454
+ * @param {string} folderName
1455
+ * A fully-qualified path representing Folder resource.
1456
+ * @returns {string} A string representing the folder.
1457
+ */
1458
+ matchFolderFromFolderName(folderName: string): string | number;
1459
+ /**
1460
+ * Return a fully-qualified folderLocationIntelligenceConfig resource name string.
1461
+ *
1462
+ * @param {string} folder
1463
+ * @param {string} location
1464
+ * @returns {string} Resource name string.
1465
+ */
1466
+ folderLocationIntelligenceConfigPath(folder: string, location: string): string;
1467
+ /**
1468
+ * Parse the folder from FolderLocationIntelligenceConfig resource.
1469
+ *
1470
+ * @param {string} folderLocationIntelligenceConfigName
1471
+ * A fully-qualified path representing folder_location_intelligenceConfig resource.
1472
+ * @returns {string} A string representing the folder.
1473
+ */
1474
+ matchFolderFromFolderLocationIntelligenceConfigName(folderLocationIntelligenceConfigName: string): string | number;
1475
+ /**
1476
+ * Parse the location from FolderLocationIntelligenceConfig resource.
1477
+ *
1478
+ * @param {string} folderLocationIntelligenceConfigName
1479
+ * A fully-qualified path representing folder_location_intelligenceConfig resource.
1480
+ * @returns {string} A string representing the location.
1481
+ */
1482
+ matchLocationFromFolderLocationIntelligenceConfigName(folderLocationIntelligenceConfigName: string): string | number;
1483
+ /**
1484
+ * Return a fully-qualified managedFolder resource name string.
1485
+ *
1486
+ * @param {string} project
1487
+ * @param {string} bucket
1488
+ * @param {string} managed_folder
1489
+ * @returns {string} Resource name string.
1490
+ */
1491
+ managedFolderPath(project: string, bucket: string, managedFolder: string): string;
1492
+ /**
1493
+ * Parse the project from ManagedFolder resource.
1494
+ *
1495
+ * @param {string} managedFolderName
1496
+ * A fully-qualified path representing ManagedFolder resource.
1497
+ * @returns {string} A string representing the project.
1498
+ */
1499
+ matchProjectFromManagedFolderName(managedFolderName: string): string | number;
1500
+ /**
1501
+ * Parse the bucket from ManagedFolder resource.
1502
+ *
1503
+ * @param {string} managedFolderName
1504
+ * A fully-qualified path representing ManagedFolder resource.
1505
+ * @returns {string} A string representing the bucket.
1506
+ */
1507
+ matchBucketFromManagedFolderName(managedFolderName: string): string | number;
1508
+ /**
1509
+ * Parse the managed_folder from ManagedFolder resource.
1510
+ *
1511
+ * @param {string} managedFolderName
1512
+ * A fully-qualified path representing ManagedFolder resource.
1513
+ * @returns {string} A string representing the managed_folder.
1514
+ */
1515
+ matchManagedFolderFromManagedFolderName(managedFolderName: string): string | number;
1516
+ /**
1517
+ * Return a fully-qualified orgLocationIntelligenceConfig resource name string.
1518
+ *
1519
+ * @param {string} org
1520
+ * @param {string} location
1521
+ * @returns {string} Resource name string.
1522
+ */
1523
+ orgLocationIntelligenceConfigPath(org: string, location: string): string;
1524
+ /**
1525
+ * Parse the org from OrgLocationIntelligenceConfig resource.
1526
+ *
1527
+ * @param {string} orgLocationIntelligenceConfigName
1528
+ * A fully-qualified path representing org_location_intelligenceConfig resource.
1529
+ * @returns {string} A string representing the org.
1530
+ */
1531
+ matchOrgFromOrgLocationIntelligenceConfigName(orgLocationIntelligenceConfigName: string): string | number;
1532
+ /**
1533
+ * Parse the location from OrgLocationIntelligenceConfig resource.
1534
+ *
1535
+ * @param {string} orgLocationIntelligenceConfigName
1536
+ * A fully-qualified path representing org_location_intelligenceConfig resource.
1537
+ * @returns {string} A string representing the location.
1538
+ */
1539
+ matchLocationFromOrgLocationIntelligenceConfigName(orgLocationIntelligenceConfigName: string): string | number;
1540
+ /**
1541
+ * Return a fully-qualified project resource name string.
1542
+ *
1543
+ * @param {string} project
1544
+ * @returns {string} Resource name string.
1545
+ */
1546
+ projectPath(project: string): string;
1547
+ /**
1548
+ * Parse the project from Project resource.
1549
+ *
1550
+ * @param {string} projectName
1551
+ * A fully-qualified path representing Project resource.
1552
+ * @returns {string} A string representing the project.
1553
+ */
1554
+ matchProjectFromProjectName(projectName: string): string | number;
1555
+ /**
1556
+ * Return a fully-qualified projectLocationIntelligenceConfig resource name string.
1557
+ *
1558
+ * @param {string} project
1559
+ * @param {string} location
1560
+ * @returns {string} Resource name string.
1561
+ */
1562
+ projectLocationIntelligenceConfigPath(project: string, location: string): string;
1563
+ /**
1564
+ * Parse the project from ProjectLocationIntelligenceConfig resource.
1565
+ *
1566
+ * @param {string} projectLocationIntelligenceConfigName
1567
+ * A fully-qualified path representing project_location_intelligenceConfig resource.
1568
+ * @returns {string} A string representing the project.
1569
+ */
1570
+ matchProjectFromProjectLocationIntelligenceConfigName(projectLocationIntelligenceConfigName: string): string | number;
1571
+ /**
1572
+ * Parse the location from ProjectLocationIntelligenceConfig resource.
1573
+ *
1574
+ * @param {string} projectLocationIntelligenceConfigName
1575
+ * A fully-qualified path representing project_location_intelligenceConfig resource.
1576
+ * @returns {string} A string representing the location.
1577
+ */
1578
+ matchLocationFromProjectLocationIntelligenceConfigName(projectLocationIntelligenceConfigName: string): string | number;
1579
+ /**
1580
+ * Return a fully-qualified storageLayout resource name string.
1581
+ *
1582
+ * @param {string} project
1583
+ * @param {string} bucket
1584
+ * @returns {string} Resource name string.
1585
+ */
1586
+ storageLayoutPath(project: string, bucket: string): string;
1587
+ /**
1588
+ * Parse the project from StorageLayout resource.
1589
+ *
1590
+ * @param {string} storageLayoutName
1591
+ * A fully-qualified path representing StorageLayout resource.
1592
+ * @returns {string} A string representing the project.
1593
+ */
1594
+ matchProjectFromStorageLayoutName(storageLayoutName: string): string | number;
1595
+ /**
1596
+ * Parse the bucket from StorageLayout resource.
1597
+ *
1598
+ * @param {string} storageLayoutName
1599
+ * A fully-qualified path representing StorageLayout resource.
1600
+ * @returns {string} A string representing the bucket.
1601
+ */
1602
+ matchBucketFromStorageLayoutName(storageLayoutName: string): string | number;
1603
+ /**
1604
+ * Terminate the gRPC channel and close the client.
1605
+ *
1606
+ * The client will no longer be usable and all future behavior is undefined.
1607
+ * @returns {Promise} A promise that resolves when the client is closed.
1608
+ */
1609
+ close(): Promise<void>;
1610
+ /**
1611
+ * Permanently deletes an empty bucket.
1612
+ * The request fails if there are any live or
1613
+ * noncurrent objects in the bucket, but the request succeeds if the
1614
+ * bucket only contains soft-deleted objects or incomplete uploads, such
1615
+ * as ongoing XML API multipart uploads. Does not permanently delete
1616
+ * soft-deleted objects.
1617
+ *
1618
+ * When this API is used to delete a bucket containing an object that has a
1619
+ * soft delete policy
1620
+ * enabled, the object becomes soft deleted, and the
1621
+ * `softDeleteTime` and `hardDeleteTime` properties are set on the
1622
+ * object.
1623
+ *
1624
+ * Objects and multipart uploads that were in the bucket at the time of
1625
+ * deletion are also retained for the specified retention duration. When
1626
+ * a soft-deleted bucket reaches the end of its retention duration, it
1627
+ * is permanently deleted. The `hardDeleteTime` of the bucket always
1628
+ * equals
1629
+ * or exceeds the expiration time of the last soft-deleted object in the
1630
+ * bucket.
1631
+ *
1632
+ * **IAM Permissions**:
1633
+ *
1634
+ * Requires `storage.buckets.delete` IAM permission on the bucket.
1635
+ *
1636
+ * @param {Object} request
1637
+ * The request object that will be sent.
1638
+ * @param {string} request.name
1639
+ * Required. Name of a bucket to delete.
1640
+ * @param {number} request.ifMetagenerationMatch
1641
+ * If set, only deletes the bucket if its metageneration matches this value.
1642
+ * @param {number} request.ifMetagenerationNotMatch
1643
+ * If set, only deletes the bucket if its metageneration does not match this
1644
+ * value.
1645
+ * @param {object} [options]
1646
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
1647
+ * @returns {Promise} - The promise which resolves to an array.
1648
+ * The first element of the array is an object representing {@link protos.google.protobuf.Empty|Empty}.
1649
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
1650
+ * for more details and examples.
1651
+ * @example <caption>include:samples/generated/v2/storage.delete_bucket.js</caption>
1652
+ * region_tag:storage_v2_generated_Storage_DeleteBucket_async
1653
+ */
1654
+ deleteBucket(request?: protos.google.storage.v2.IDeleteBucketRequest, options?: CallOptions): Promise<[
1655
+ protos.google.protobuf.IEmpty,
1656
+ protos.google.storage.v2.IDeleteBucketRequest | undefined,
1657
+ {} | undefined
1658
+ ]>;
1659
+ deleteBucket(request: protos.google.storage.v2.IDeleteBucketRequest, options: CallOptions, callback: Callback<protos.google.protobuf.IEmpty, protos.google.storage.v2.IDeleteBucketRequest | null | undefined, {} | null | undefined>): void;
1660
+ deleteBucket(request: protos.google.storage.v2.IDeleteBucketRequest, callback: Callback<protos.google.protobuf.IEmpty, protos.google.storage.v2.IDeleteBucketRequest | null | undefined, {} | null | undefined>): void;
1661
+ /**
1662
+ * Returns metadata for the specified bucket.
1663
+ *
1664
+ * **IAM Permissions**:
1665
+ *
1666
+ * Requires `storage.buckets.get`
1667
+ * IAM permission on
1668
+ * the bucket. Additionally, to return specific bucket metadata, the
1669
+ * authenticated user must have the following permissions:
1670
+ *
1671
+ * - To return the IAM policies: `storage.buckets.getIamPolicy`
1672
+ * - To return the bucket IP filtering rules: `storage.buckets.getIpFilter`
1673
+ *
1674
+ * @param {Object} request
1675
+ * The request object that will be sent.
1676
+ * @param {string} request.name
1677
+ * Required. Name of a bucket.
1678
+ * @param {number} request.ifMetagenerationMatch
1679
+ * If set, only gets the bucket metadata if its metageneration matches this
1680
+ * value.
1681
+ * @param {number} request.ifMetagenerationNotMatch
1682
+ * If set, and if the bucket's current metageneration matches the specified
1683
+ * value, the request returns an error.
1684
+ * @param {google.protobuf.FieldMask} request.readMask
1685
+ * Mask specifying which fields to read.
1686
+ * A `*` field might be used to indicate all fields.
1687
+ * If no mask is specified, it defaults to all fields.
1688
+ * @param {object} [options]
1689
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
1690
+ * @returns {Promise} - The promise which resolves to an array.
1691
+ * The first element of the array is an object representing {@link protos.google.storage.v2.Bucket|Bucket}.
1692
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
1693
+ * for more details and examples.
1694
+ * @example <caption>include:samples/generated/v2/storage.get_bucket.js</caption>
1695
+ * region_tag:storage_v2_generated_Storage_GetBucket_async
1696
+ */
1697
+ getBucket(request?: protos.google.storage.v2.IGetBucketRequest, options?: CallOptions): Promise<[
1698
+ protos.google.storage.v2.IBucket,
1699
+ protos.google.storage.v2.IGetBucketRequest | undefined,
1700
+ {} | undefined
1701
+ ]>;
1702
+ getBucket(request: protos.google.storage.v2.IGetBucketRequest, options: CallOptions, callback: Callback<protos.google.storage.v2.IBucket, protos.google.storage.v2.IGetBucketRequest | null | undefined, {} | null | undefined>): void;
1703
+ getBucket(request: protos.google.storage.v2.IGetBucketRequest, callback: Callback<protos.google.storage.v2.IBucket, protos.google.storage.v2.IGetBucketRequest | null | undefined, {} | null | undefined>): void;
1704
+ /**
1705
+ * Creates a new bucket.
1706
+ *
1707
+ * **IAM Permissions**:
1708
+ *
1709
+ * Requires `storage.buckets.create` IAM permission on the bucket.
1710
+ * Additionally, to enable specific bucket features, the authenticated user
1711
+ * must have the following permissions:
1712
+ *
1713
+ * - To enable object retention using the `enableObjectRetention` query
1714
+ * parameter: `storage.buckets.enableObjectRetention`
1715
+ * - To set the bucket IP filtering rules: `storage.buckets.setIpFilter`
1716
+ *
1717
+ * @param {Object} request
1718
+ * The request object that will be sent.
1719
+ * @param {string} request.parent
1720
+ * Required. The project to which this bucket belongs. This field must either
1721
+ * be empty or `projects/_`. The project ID that owns this bucket should be
1722
+ * specified in the `bucket.project` field.
1723
+ * @param {google.storage.v2.Bucket} [request.bucket]
1724
+ * Optional. Properties of the new bucket being inserted.
1725
+ * The name of the bucket is specified in the `bucket_id` field. Populating
1726
+ * `bucket.name` field results in an error.
1727
+ * The project of the bucket must be specified in the `bucket.project` field.
1728
+ * This field must be in `projects/{projectIdentifier}` format,
1729
+ * {projectIdentifier} can be the project ID or project number. The `parent`
1730
+ * field must be either empty or `projects/_`.
1731
+ * @param {string} request.bucketId
1732
+ * Required. The ID to use for this bucket, which becomes the final component
1733
+ * of the bucket's resource name. For example, the value `foo` might result in
1734
+ * a bucket with the name `projects/123456/buckets/foo`.
1735
+ * @param {string} [request.predefinedAcl]
1736
+ * Optional. Apply a predefined set of access controls to this bucket.
1737
+ * Valid values are `authenticatedRead`, `private`, `projectPrivate`,
1738
+ * `publicRead`, or `publicReadWrite`.
1739
+ * @param {string} [request.predefinedDefaultObjectAcl]
1740
+ * Optional. Apply a predefined set of default object access controls to this
1741
+ * bucket. Valid values are `authenticatedRead`, `bucketOwnerFullControl`,
1742
+ * `bucketOwnerRead`, `private`, `projectPrivate`, or `publicRead`.
1743
+ * @param {boolean} [request.enableObjectRetention]
1744
+ * Optional. If true, enable object retention on the bucket.
1745
+ * @param {object} [options]
1746
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
1747
+ * @returns {Promise} - The promise which resolves to an array.
1748
+ * The first element of the array is an object representing {@link protos.google.storage.v2.Bucket|Bucket}.
1749
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
1750
+ * for more details and examples.
1751
+ * @example <caption>include:samples/generated/v2/storage.create_bucket.js</caption>
1752
+ * region_tag:storage_v2_generated_Storage_CreateBucket_async
1753
+ */
1754
+ createBucket(request?: protos.google.storage.v2.ICreateBucketRequest, options?: CallOptions): Promise<[
1755
+ protos.google.storage.v2.IBucket,
1756
+ protos.google.storage.v2.ICreateBucketRequest | undefined,
1757
+ {} | undefined
1758
+ ]>;
1759
+ createBucket(request: protos.google.storage.v2.ICreateBucketRequest, options: CallOptions, callback: Callback<protos.google.storage.v2.IBucket, protos.google.storage.v2.ICreateBucketRequest | null | undefined, {} | null | undefined>): void;
1760
+ createBucket(request: protos.google.storage.v2.ICreateBucketRequest, callback: Callback<protos.google.storage.v2.IBucket, protos.google.storage.v2.ICreateBucketRequest | null | undefined, {} | null | undefined>): void;
1761
+ /**
1762
+ * Permanently locks the retention
1763
+ * policy that is
1764
+ * currently applied to the specified bucket.
1765
+ *
1766
+ * Caution: Locking a bucket is an
1767
+ * irreversible action. Once you lock a bucket:
1768
+ *
1769
+ * - You cannot remove the retention policy from the bucket.
1770
+ * - You cannot decrease the retention period for the policy.
1771
+ *
1772
+ * Once locked, you must delete the entire bucket in order to remove the
1773
+ * bucket's retention policy. However, before you can delete the bucket, you
1774
+ * must delete all the objects in the bucket, which is only
1775
+ * possible if all the objects have reached the retention period set by the
1776
+ * retention policy.
1777
+ *
1778
+ * **IAM Permissions**:
1779
+ *
1780
+ * Requires `storage.buckets.update` IAM permission on the bucket.
1781
+ *
1782
+ * @param {Object} request
1783
+ * The request object that will be sent.
1784
+ * @param {string} request.bucket
1785
+ * Required. Name of a bucket.
1786
+ * @param {number} request.ifMetagenerationMatch
1787
+ * Required. Makes the operation conditional on whether bucket's current
1788
+ * metageneration matches the given value. Must be positive.
1789
+ * @param {object} [options]
1790
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
1791
+ * @returns {Promise} - The promise which resolves to an array.
1792
+ * The first element of the array is an object representing {@link protos.google.storage.v2.Bucket|Bucket}.
1793
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
1794
+ * for more details and examples.
1795
+ * @example <caption>include:samples/generated/v2/storage.lock_bucket_retention_policy.js</caption>
1796
+ * region_tag:storage_v2_generated_Storage_LockBucketRetentionPolicy_async
1797
+ */
1798
+ lockBucketRetentionPolicy(request?: protos.google.storage.v2.ILockBucketRetentionPolicyRequest, options?: CallOptions): Promise<[
1799
+ protos.google.storage.v2.IBucket,
1800
+ protos.google.storage.v2.ILockBucketRetentionPolicyRequest | undefined,
1801
+ {} | undefined
1802
+ ]>;
1803
+ lockBucketRetentionPolicy(request: protos.google.storage.v2.ILockBucketRetentionPolicyRequest, options: CallOptions, callback: Callback<protos.google.storage.v2.IBucket, protos.google.storage.v2.ILockBucketRetentionPolicyRequest | null | undefined, {} | null | undefined>): void;
1804
+ lockBucketRetentionPolicy(request: protos.google.storage.v2.ILockBucketRetentionPolicyRequest, callback: Callback<protos.google.storage.v2.IBucket, protos.google.storage.v2.ILockBucketRetentionPolicyRequest | null | undefined, {} | null | undefined>): void;
1805
+ /**
1806
+ * Updates a bucket. Changes to the bucket are readable immediately after
1807
+ * writing, but configuration changes might take time to propagate. This
1808
+ * method supports `patch` semantics.
1809
+ *
1810
+ * **IAM Permissions**:
1811
+ *
1812
+ * Requires `storage.buckets.update` IAM permission on the bucket.
1813
+ * Additionally, to enable specific bucket features, the authenticated user
1814
+ * must have the following permissions:
1815
+ *
1816
+ * - To set bucket IP filtering rules: `storage.buckets.setIpFilter`
1817
+ * - To update public access prevention policies or access control lists
1818
+ * (ACLs): `storage.buckets.setIamPolicy`
1819
+ *
1820
+ * @param {Object} request
1821
+ * The request object that will be sent.
1822
+ * @param {google.storage.v2.Bucket} request.bucket
1823
+ * Required. The bucket to update.
1824
+ * The bucket's `name` field is used to identify the bucket.
1825
+ * @param {number} request.ifMetagenerationMatch
1826
+ * If set, the request modifies the bucket if its metageneration matches this
1827
+ * value.
1828
+ * @param {number} request.ifMetagenerationNotMatch
1829
+ * If set, the request modifies the bucket if its metageneration doesn't
1830
+ * match this value.
1831
+ * @param {string} [request.predefinedAcl]
1832
+ * Optional. Apply a predefined set of access controls to this bucket.
1833
+ * Valid values are `authenticatedRead`, `private`, `projectPrivate`,
1834
+ * `publicRead`, or `publicReadWrite`.
1835
+ * @param {string} [request.predefinedDefaultObjectAcl]
1836
+ * Optional. Apply a predefined set of default object access controls to this
1837
+ * bucket. Valid values are `authenticatedRead`, `bucketOwnerFullControl`,
1838
+ * `bucketOwnerRead`, `private`, `projectPrivate`, or `publicRead`.
1839
+ * @param {google.protobuf.FieldMask} request.updateMask
1840
+ * Required. List of fields to be updated.
1841
+ *
1842
+ * To specify ALL fields, equivalent to the JSON API's "update" function,
1843
+ * specify a single field with the value `*`. Note: not recommended. If a new
1844
+ * field is introduced at a later time, an older client updating with the `*`
1845
+ * might accidentally reset the new field's value.
1846
+ *
1847
+ * Not specifying any fields is an error.
1848
+ * @param {object} [options]
1849
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
1850
+ * @returns {Promise} - The promise which resolves to an array.
1851
+ * The first element of the array is an object representing {@link protos.google.storage.v2.Bucket|Bucket}.
1852
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
1853
+ * for more details and examples.
1854
+ * @example <caption>include:samples/generated/v2/storage.update_bucket.js</caption>
1855
+ * region_tag:storage_v2_generated_Storage_UpdateBucket_async
1856
+ */
1857
+ updateBucket(request?: protos.google.storage.v2.IUpdateBucketRequest, options?: CallOptions): Promise<[
1858
+ protos.google.storage.v2.IBucket,
1859
+ protos.google.storage.v2.IUpdateBucketRequest | undefined,
1860
+ {} | undefined
1861
+ ]>;
1862
+ updateBucket(request: protos.google.storage.v2.IUpdateBucketRequest, options: CallOptions, callback: Callback<protos.google.storage.v2.IBucket, protos.google.storage.v2.IUpdateBucketRequest | null | undefined, {} | null | undefined>): void;
1863
+ updateBucket(request: protos.google.storage.v2.IUpdateBucketRequest, callback: Callback<protos.google.storage.v2.IBucket, protos.google.storage.v2.IUpdateBucketRequest | null | undefined, {} | null | undefined>): void;
1864
+ /**
1865
+ * Retrieves a list of buckets for a given project, ordered
1866
+ * lexicographically by name.
1867
+ *
1868
+ * **IAM Permissions**:
1869
+ *
1870
+ * Requires `storage.buckets.list` IAM permission on the bucket.
1871
+ * Additionally, to enable specific bucket features, the authenticated
1872
+ * user must have the following permissions:
1873
+ *
1874
+ * - To list the IAM policies: `storage.buckets.getIamPolicy`
1875
+ * - To list the bucket IP filtering rules: `storage.buckets.getIpFilter`
1876
+ *
1877
+ * @param {Object} request
1878
+ * The request object that will be sent.
1879
+ * @param {string} request.parent
1880
+ * Required. The project whose buckets we are listing.
1881
+ * @param {number} [request.pageSize]
1882
+ * Optional. Maximum number of buckets to return in a single response. The
1883
+ * service uses this parameter or `1,000` items, whichever is smaller. If
1884
+ * `acl` is present in the `read_mask`, the service uses this parameter of
1885
+ * `200` items, whichever is smaller.
1886
+ * @param {string} [request.pageToken]
1887
+ * Optional. A previously-returned page token representing part of the larger
1888
+ * set of results to view.
1889
+ * @param {string} [request.prefix]
1890
+ * Optional. Filter results to buckets whose names begin with this prefix.
1891
+ * @param {google.protobuf.FieldMask} request.readMask
1892
+ * Mask specifying which fields to read from each result.
1893
+ * If no mask is specified, it defaults to all fields except `items.
1894
+ * owner`, `items.acl`, and `items.default_object_acl`.
1895
+ * `*` might be used to mean "all fields".
1896
+ * @param {boolean} [request.returnPartialSuccess]
1897
+ * Optional. Allows listing of buckets, even if there are buckets that are
1898
+ * unreachable.
1899
+ * @param {object} [options]
1900
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
1901
+ * @returns {Promise} - The promise which resolves to an array.
1902
+ * The first element of the array is Array of {@link protos.google.storage.v2.Bucket|Bucket}.
1903
+ * The client library will perform auto-pagination by default: it will call the API as many
1904
+ * times as needed and will merge results from all the pages into this array.
1905
+ * Note that it can affect your quota.
1906
+ * We recommend using `listBucketsAsync()`
1907
+ * method described below for async iteration which you can stop as needed.
1908
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
1909
+ * for more details and examples.
1910
+ */
1911
+ listBuckets(request?: protos.google.storage.v2.IListBucketsRequest, options?: CallOptions): Promise<[
1912
+ protos.google.storage.v2.IBucket[],
1913
+ protos.google.storage.v2.IListBucketsRequest | null,
1914
+ protos.google.storage.v2.IListBucketsResponse
1915
+ ]>;
1916
+ listBuckets(request: protos.google.storage.v2.IListBucketsRequest, options: CallOptions, callback: PaginationCallback<protos.google.storage.v2.IListBucketsRequest, protos.google.storage.v2.IListBucketsResponse | null | undefined, protos.google.storage.v2.IBucket>): void;
1917
+ listBuckets(request: protos.google.storage.v2.IListBucketsRequest, callback: PaginationCallback<protos.google.storage.v2.IListBucketsRequest, protos.google.storage.v2.IListBucketsResponse | null | undefined, protos.google.storage.v2.IBucket>): void;
1918
+ /**
1919
+ * Equivalent to `listBuckets`, but returns a NodeJS Stream object.
1920
+ * @param {Object} request
1921
+ * The request object that will be sent.
1922
+ * @param {string} request.parent
1923
+ * Required. The project whose buckets we are listing.
1924
+ * @param {number} [request.pageSize]
1925
+ * Optional. Maximum number of buckets to return in a single response. The
1926
+ * service uses this parameter or `1,000` items, whichever is smaller. If
1927
+ * `acl` is present in the `read_mask`, the service uses this parameter of
1928
+ * `200` items, whichever is smaller.
1929
+ * @param {string} [request.pageToken]
1930
+ * Optional. A previously-returned page token representing part of the larger
1931
+ * set of results to view.
1932
+ * @param {string} [request.prefix]
1933
+ * Optional. Filter results to buckets whose names begin with this prefix.
1934
+ * @param {google.protobuf.FieldMask} request.readMask
1935
+ * Mask specifying which fields to read from each result.
1936
+ * If no mask is specified, it defaults to all fields except `items.
1937
+ * owner`, `items.acl`, and `items.default_object_acl`.
1938
+ * `*` might be used to mean "all fields".
1939
+ * @param {boolean} [request.returnPartialSuccess]
1940
+ * Optional. Allows listing of buckets, even if there are buckets that are
1941
+ * unreachable.
1942
+ * @param {object} [options]
1943
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
1944
+ * @returns {Stream}
1945
+ * An object stream which emits an object representing {@link protos.google.storage.v2.Bucket|Bucket} on 'data' event.
1946
+ * The client library will perform auto-pagination by default: it will call the API as many
1947
+ * times as needed. Note that it can affect your quota.
1948
+ * We recommend using `listBucketsAsync()`
1949
+ * method described below for async iteration which you can stop as needed.
1950
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
1951
+ * for more details and examples.
1952
+ */
1953
+ listBucketsStream(request?: protos.google.storage.v2.IListBucketsRequest, options?: CallOptions): Transform;
1954
+ /**
1955
+ * Equivalent to `listBuckets`, but returns an iterable object.
1956
+ *
1957
+ * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand.
1958
+ * @param {Object} request
1959
+ * The request object that will be sent.
1960
+ * @param {string} request.parent
1961
+ * Required. The project whose buckets we are listing.
1962
+ * @param {number} [request.pageSize]
1963
+ * Optional. Maximum number of buckets to return in a single response. The
1964
+ * service uses this parameter or `1,000` items, whichever is smaller. If
1965
+ * `acl` is present in the `read_mask`, the service uses this parameter of
1966
+ * `200` items, whichever is smaller.
1967
+ * @param {string} [request.pageToken]
1968
+ * Optional. A previously-returned page token representing part of the larger
1969
+ * set of results to view.
1970
+ * @param {string} [request.prefix]
1971
+ * Optional. Filter results to buckets whose names begin with this prefix.
1972
+ * @param {google.protobuf.FieldMask} request.readMask
1973
+ * Mask specifying which fields to read from each result.
1974
+ * If no mask is specified, it defaults to all fields except `items.
1975
+ * owner`, `items.acl`, and `items.default_object_acl`.
1976
+ * `*` might be used to mean "all fields".
1977
+ * @param {boolean} [request.returnPartialSuccess]
1978
+ * Optional. Allows listing of buckets, even if there are buckets that are
1979
+ * unreachable.
1980
+ * @param {object} [options]
1981
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
1982
+ * @returns {Object}
1983
+ * An iterable Object that allows {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | async iteration }.
1984
+ * When you iterate the returned iterable, each element will be an object representing
1985
+ * {@link protos.google.storage.v2.Bucket|Bucket}. The API will be called under the hood as needed, once per the page,
1986
+ * so you can stop the iteration when you don't need more results.
1987
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
1988
+ * for more details and examples.
1989
+ * @example <caption>include:samples/generated/v2/storage.list_buckets.js</caption>
1990
+ * region_tag:storage_v2_generated_Storage_ListBuckets_async
1991
+ */
1992
+ listBucketsAsync(request?: protos.google.storage.v2.IListBucketsRequest, options?: CallOptions): AsyncIterable<protos.google.storage.v2.IBucket>;
1993
+ /**
1994
+ * Return a fully-qualified cryptoKey resource name string.
1995
+ *
1996
+ * @param {string} project
1997
+ * @param {string} location
1998
+ * @param {string} key_ring
1999
+ * @param {string} crypto_key
2000
+ * @returns {string} Resource name string.
2001
+ */
2002
+ cryptoKeyPath(project: string, location: string, keyRing: string, cryptoKey: string): string;
2003
+ /**
2004
+ * Parse the project from CryptoKey resource.
2005
+ *
2006
+ * @param {string} cryptoKeyName
2007
+ * A fully-qualified path representing CryptoKey resource.
2008
+ * @returns {string} A string representing the project.
2009
+ */
2010
+ matchProjectFromCryptoKeyName(cryptoKeyName: string): string | number;
2011
+ /**
2012
+ * Parse the location from CryptoKey resource.
2013
+ *
2014
+ * @param {string} cryptoKeyName
2015
+ * A fully-qualified path representing CryptoKey resource.
2016
+ * @returns {string} A string representing the location.
2017
+ */
2018
+ matchLocationFromCryptoKeyName(cryptoKeyName: string): string | number;
2019
+ /**
2020
+ * Parse the key_ring from CryptoKey resource.
2021
+ *
2022
+ * @param {string} cryptoKeyName
2023
+ * A fully-qualified path representing CryptoKey resource.
2024
+ * @returns {string} A string representing the key_ring.
2025
+ */
2026
+ matchKeyRingFromCryptoKeyName(cryptoKeyName: string): string | number;
2027
+ /**
2028
+ * Parse the crypto_key from CryptoKey resource.
2029
+ *
2030
+ * @param {string} cryptoKeyName
2031
+ * A fully-qualified path representing CryptoKey resource.
2032
+ * @returns {string} A string representing the crypto_key.
2033
+ */
2034
+ matchCryptoKeyFromCryptoKeyName(cryptoKeyName: string): string | number;
2035
+ }