@google-cloud/storage-control 0.1.0 → 0.2.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.
@@ -117,26 +117,32 @@ export declare class StorageControlClient {
117
117
  getProjectId(): Promise<string>;
118
118
  getProjectId(callback: Callback<string, undefined, undefined>): void;
119
119
  /**
120
- * Creates a new folder.
120
+ * Creates a new folder. This operation is only applicable to a hierarchical
121
+ * namespace enabled bucket.
122
+ * Hierarchical namespace buckets are in allowlist preview.
121
123
  *
122
124
  * @param {Object} request
123
125
  * The request object that will be sent.
124
126
  * @param {string} request.parent
125
- * Required. Name of the bucket in which the folder will reside.
127
+ * Required. Name of the bucket in which the folder will reside. The bucket
128
+ * must be a hierarchical namespace enabled bucket.
126
129
  * @param {google.storage.control.v2.Folder} request.folder
127
130
  * Required. Properties of the new folder being created.
128
131
  * The bucket and name of the folder are specified in the parent and folder_id
129
132
  * fields, respectively. Populating those fields in `folder` will result in an
130
133
  * error.
131
134
  * @param {string} request.folderId
132
- * Required. The absolute path of the folder, using a single `/` as delimiter.
135
+ * Required. The full name of a folder, including all its parent folders.
136
+ * Folders use single '/' characters as a delimiter.
137
+ * The folder_id must end with a slash.
138
+ * For example, the folder_id of "books/biographies/" would create a new
139
+ * "biographies/" folder under the "books/" folder.
133
140
  * @param {boolean} [request.recursive]
134
141
  * Optional. If true, parent folder doesn't have to be present and all missing
135
142
  * ancestor folders will be created atomically.
136
143
  * @param {string} [request.requestId]
137
144
  * Optional. A unique identifier for this request. UUID is the recommended
138
- * format, but other formats are still accepted. This request is only
139
- * idempotent if a `request_id` is provided.
145
+ * format, but other formats are still accepted.
140
146
  * @param {object} [options]
141
147
  * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
142
148
  * @returns {Promise} - The promise which resolves to an array.
@@ -154,7 +160,9 @@ export declare class StorageControlClient {
154
160
  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;
155
161
  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;
156
162
  /**
157
- * Permanently deletes an empty folder.
163
+ * Permanently deletes an empty folder. This operation is only applicable to a
164
+ * hierarchical namespace enabled bucket.
165
+ * Hierarchical namespace buckets are in allowlist preview.
158
166
  *
159
167
  * @param {Object} request
160
168
  * The request object that will be sent.
@@ -169,8 +177,7 @@ export declare class StorageControlClient {
169
177
  * current metageneration does not match the given value.
170
178
  * @param {string} [request.requestId]
171
179
  * Optional. A unique identifier for this request. UUID is the recommended
172
- * format, but other formats are still accepted. This request is only
173
- * idempotent if a `request_id` is provided.
180
+ * format, but other formats are still accepted.
174
181
  * @param {object} [options]
175
182
  * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
176
183
  * @returns {Promise} - The promise which resolves to an array.
@@ -188,7 +195,9 @@ export declare class StorageControlClient {
188
195
  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;
189
196
  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;
190
197
  /**
191
- * Returns metadata for the specified folder.
198
+ * Returns metadata for the specified folder. This operation is only
199
+ * applicable to a hierarchical namespace enabled bucket.
200
+ * Hierarchical namespace buckets are in allowlist preview.
192
201
  *
193
202
  * @param {Object} request
194
203
  * The request object that will be sent.
@@ -251,9 +260,118 @@ export declare class StorageControlClient {
251
260
  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;
252
261
  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;
253
262
  /**
254
- * Renames a source folder to a destination folder. During a rename, the
263
+ * Creates a new managed folder.
264
+ *
265
+ * @param {Object} request
266
+ * The request object that will be sent.
267
+ * @param {string} request.parent
268
+ * Required. Name of the bucket this managed folder belongs to.
269
+ * @param {google.storage.control.v2.ManagedFolder} request.managedFolder
270
+ * Required. Properties of the managed folder being created.
271
+ * The bucket and managed folder names are specified in the `parent` and
272
+ * `managed_folder_id` fields. Populating these fields in `managed_folder`
273
+ * will result in an error.
274
+ * @param {string} request.managedFolderId
275
+ * Required. The name of the managed folder. It uses a single `/` as delimiter
276
+ * and leading and trailing `/` are allowed.
277
+ * @param {string} [request.requestId]
278
+ * Optional. A unique identifier for this request. UUID is the recommended
279
+ * format, but other formats are still accepted.
280
+ * @param {object} [options]
281
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
282
+ * @returns {Promise} - The promise which resolves to an array.
283
+ * The first element of the array is an object representing {@link protos.google.storage.control.v2.ManagedFolder|ManagedFolder}.
284
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
285
+ * for more details and examples.
286
+ * @example <caption>include:samples/generated/v2/storage_control.create_managed_folder.js</caption>
287
+ * region_tag:storage_v2_generated_StorageControl_CreateManagedFolder_async
288
+ */
289
+ createManagedFolder(request?: protos.google.storage.control.v2.ICreateManagedFolderRequest, options?: CallOptions): Promise<[
290
+ protos.google.storage.control.v2.IManagedFolder,
291
+ protos.google.storage.control.v2.ICreateManagedFolderRequest | undefined,
292
+ {} | undefined
293
+ ]>;
294
+ 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;
295
+ 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;
296
+ /**
297
+ * Permanently deletes an empty managed folder.
298
+ *
299
+ * @param {Object} request
300
+ * The request object that will be sent.
301
+ * @param {string} request.name
302
+ * Required. Name of the managed folder.
303
+ * Format:
304
+ * `projects/{project}/buckets/{bucket}/managedFolders/{managedFolder}`
305
+ * @param {number} request.ifMetagenerationMatch
306
+ * The operation succeeds conditional on the managed folder's current
307
+ * metageneration matching the value here specified.
308
+ * @param {number} request.ifMetagenerationNotMatch
309
+ * The operation succeeds conditional on the managed folder's current
310
+ * metageneration NOT matching the value here specified.
311
+ * @param {boolean} request.allowNonEmpty
312
+ * Allows deletion of a managed folder even if it is not empty.
313
+ * A managed folder is empty if it manages no child managed folders or
314
+ * objects. Caller must have permission for
315
+ * storage.managedFolders.setIamPolicy.
316
+ * @param {string} [request.requestId]
317
+ * Optional. A unique identifier for this request. UUID is the recommended
318
+ * format, but other formats are still accepted.
319
+ * @param {object} [options]
320
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
321
+ * @returns {Promise} - The promise which resolves to an array.
322
+ * The first element of the array is an object representing {@link protos.google.protobuf.Empty|Empty}.
323
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
324
+ * for more details and examples.
325
+ * @example <caption>include:samples/generated/v2/storage_control.delete_managed_folder.js</caption>
326
+ * region_tag:storage_v2_generated_StorageControl_DeleteManagedFolder_async
327
+ */
328
+ deleteManagedFolder(request?: protos.google.storage.control.v2.IDeleteManagedFolderRequest, options?: CallOptions): Promise<[
329
+ protos.google.protobuf.IEmpty,
330
+ protos.google.storage.control.v2.IDeleteManagedFolderRequest | undefined,
331
+ {} | undefined
332
+ ]>;
333
+ 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;
334
+ 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;
335
+ /**
336
+ * Returns metadata for the specified managed folder.
337
+ *
338
+ * @param {Object} request
339
+ * The request object that will be sent.
340
+ * @param {string} request.name
341
+ * Required. Name of the managed folder.
342
+ * Format:
343
+ * `projects/{project}/buckets/{bucket}/managedFolders/{managedFolder}`
344
+ * @param {number} request.ifMetagenerationMatch
345
+ * The operation succeeds conditional on the managed folder's current
346
+ * metageneration matching the value here specified.
347
+ * @param {number} request.ifMetagenerationNotMatch
348
+ * The operation succeeds conditional on the managed folder's current
349
+ * metageneration NOT matching the value here specified.
350
+ * @param {string} [request.requestId]
351
+ * Optional. A unique identifier for this request. UUID is the recommended
352
+ * format, but other formats are still accepted.
353
+ * @param {object} [options]
354
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
355
+ * @returns {Promise} - The promise which resolves to an array.
356
+ * The first element of the array is an object representing {@link protos.google.storage.control.v2.ManagedFolder|ManagedFolder}.
357
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods | documentation }
358
+ * for more details and examples.
359
+ * @example <caption>include:samples/generated/v2/storage_control.get_managed_folder.js</caption>
360
+ * region_tag:storage_v2_generated_StorageControl_GetManagedFolder_async
361
+ */
362
+ getManagedFolder(request?: protos.google.storage.control.v2.IGetManagedFolderRequest, options?: CallOptions): Promise<[
363
+ protos.google.storage.control.v2.IManagedFolder,
364
+ protos.google.storage.control.v2.IGetManagedFolderRequest | undefined,
365
+ {} | undefined
366
+ ]>;
367
+ 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;
368
+ 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;
369
+ /**
370
+ * Renames a source folder to a destination folder. This operation is only
371
+ * applicable to a hierarchical namespace enabled bucket. During a rename, the
255
372
  * source and destination folders are locked until the long running operation
256
373
  * completes.
374
+ * Hierarchical namespace buckets are in allowlist preview.
257
375
  *
258
376
  * @param {Object} request
259
377
  * The request object that will be sent.
@@ -303,12 +421,15 @@ export declare class StorageControlClient {
303
421
  */
304
422
  checkRenameFolderProgress(name: string): Promise<LROperation<protos.google.storage.control.v2.Folder, protos.google.storage.control.v2.RenameFolderMetadata>>;
305
423
  /**
306
- * Retrieves a list of folders for a given bucket.
424
+ * Retrieves a list of folders. This operation is only applicable to a
425
+ * hierarchical namespace enabled bucket.
426
+ * Hierarchical namespace buckets are in allowlist preview.
307
427
  *
308
428
  * @param {Object} request
309
429
  * The request object that will be sent.
310
430
  * @param {string} request.parent
311
- * Required. Name of the bucket in which to look for folders.
431
+ * Required. Name of the bucket in which to look for folders. The bucket must
432
+ * be a hierarchical namespace enabled bucket.
312
433
  * @param {number} [request.pageSize]
313
434
  * Optional. Maximum number of folders to return in a single response. The
314
435
  * service will use this parameter or 1,000 items, whichever is smaller.
@@ -359,7 +480,8 @@ export declare class StorageControlClient {
359
480
  * @param {Object} request
360
481
  * The request object that will be sent.
361
482
  * @param {string} request.parent
362
- * Required. Name of the bucket in which to look for folders.
483
+ * Required. Name of the bucket in which to look for folders. The bucket must
484
+ * be a hierarchical namespace enabled bucket.
363
485
  * @param {number} [request.pageSize]
364
486
  * Optional. Maximum number of folders to return in a single response. The
365
487
  * service will use this parameter or 1,000 items, whichever is smaller.
@@ -405,7 +527,8 @@ export declare class StorageControlClient {
405
527
  * @param {Object} request
406
528
  * The request object that will be sent.
407
529
  * @param {string} request.parent
408
- * Required. Name of the bucket in which to look for folders.
530
+ * Required. Name of the bucket in which to look for folders. The bucket must
531
+ * be a hierarchical namespace enabled bucket.
409
532
  * @param {number} [request.pageSize]
410
533
  * Optional. Maximum number of folders to return in a single response. The
411
534
  * service will use this parameter or 1,000 items, whichever is smaller.
@@ -445,6 +568,107 @@ export declare class StorageControlClient {
445
568
  * region_tag:storage_v2_generated_StorageControl_ListFolders_async
446
569
  */
447
570
  listFoldersAsync(request?: protos.google.storage.control.v2.IListFoldersRequest, options?: CallOptions): AsyncIterable<protos.google.storage.control.v2.IFolder>;
571
+ /**
572
+ * Retrieves a list of managed folders for a given bucket.
573
+ *
574
+ * @param {Object} request
575
+ * The request object that will be sent.
576
+ * @param {string} request.parent
577
+ * Required. Name of the bucket this managed folder belongs to.
578
+ * @param {number} [request.pageSize]
579
+ * Optional. Maximum number of managed folders to return in a single response.
580
+ * The service will use this parameter or 1,000 items, whichever is smaller.
581
+ * @param {string} [request.pageToken]
582
+ * Optional. A previously-returned page token representing part of the larger
583
+ * set of results to view.
584
+ * @param {string} [request.prefix]
585
+ * Optional. Filter results to match managed folders with name starting with
586
+ * this prefix.
587
+ * @param {string} [request.requestId]
588
+ * Optional. A unique identifier for this request. UUID is the recommended
589
+ * format, but other formats are still accepted.
590
+ * @param {object} [options]
591
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
592
+ * @returns {Promise} - The promise which resolves to an array.
593
+ * The first element of the array is Array of {@link protos.google.storage.control.v2.ManagedFolder|ManagedFolder}.
594
+ * The client library will perform auto-pagination by default: it will call the API as many
595
+ * times as needed and will merge results from all the pages into this array.
596
+ * Note that it can affect your quota.
597
+ * We recommend using `listManagedFoldersAsync()`
598
+ * method described below for async iteration which you can stop as needed.
599
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
600
+ * for more details and examples.
601
+ */
602
+ listManagedFolders(request?: protos.google.storage.control.v2.IListManagedFoldersRequest, options?: CallOptions): Promise<[
603
+ protos.google.storage.control.v2.IManagedFolder[],
604
+ protos.google.storage.control.v2.IListManagedFoldersRequest | null,
605
+ protos.google.storage.control.v2.IListManagedFoldersResponse
606
+ ]>;
607
+ 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;
608
+ 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;
609
+ /**
610
+ * Equivalent to `method.name.toCamelCase()`, but returns a NodeJS Stream object.
611
+ * @param {Object} request
612
+ * The request object that will be sent.
613
+ * @param {string} request.parent
614
+ * Required. Name of the bucket this managed folder belongs to.
615
+ * @param {number} [request.pageSize]
616
+ * Optional. Maximum number of managed folders to return in a single response.
617
+ * The service will use this parameter or 1,000 items, whichever is smaller.
618
+ * @param {string} [request.pageToken]
619
+ * Optional. A previously-returned page token representing part of the larger
620
+ * set of results to view.
621
+ * @param {string} [request.prefix]
622
+ * Optional. Filter results to match managed folders with name starting with
623
+ * this prefix.
624
+ * @param {string} [request.requestId]
625
+ * Optional. A unique identifier for this request. UUID is the recommended
626
+ * format, but other formats are still accepted.
627
+ * @param {object} [options]
628
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
629
+ * @returns {Stream}
630
+ * An object stream which emits an object representing {@link protos.google.storage.control.v2.ManagedFolder|ManagedFolder} on 'data' event.
631
+ * The client library will perform auto-pagination by default: it will call the API as many
632
+ * times as needed. Note that it can affect your quota.
633
+ * We recommend using `listManagedFoldersAsync()`
634
+ * method described below for async iteration which you can stop as needed.
635
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
636
+ * for more details and examples.
637
+ */
638
+ listManagedFoldersStream(request?: protos.google.storage.control.v2.IListManagedFoldersRequest, options?: CallOptions): Transform;
639
+ /**
640
+ * Equivalent to `listManagedFolders`, but returns an iterable object.
641
+ *
642
+ * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand.
643
+ * @param {Object} request
644
+ * The request object that will be sent.
645
+ * @param {string} request.parent
646
+ * Required. Name of the bucket this managed folder belongs to.
647
+ * @param {number} [request.pageSize]
648
+ * Optional. Maximum number of managed folders to return in a single response.
649
+ * The service will use this parameter or 1,000 items, whichever is smaller.
650
+ * @param {string} [request.pageToken]
651
+ * Optional. A previously-returned page token representing part of the larger
652
+ * set of results to view.
653
+ * @param {string} [request.prefix]
654
+ * Optional. Filter results to match managed folders with name starting with
655
+ * this prefix.
656
+ * @param {string} [request.requestId]
657
+ * Optional. A unique identifier for this request. UUID is the recommended
658
+ * format, but other formats are still accepted.
659
+ * @param {object} [options]
660
+ * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details.
661
+ * @returns {Object}
662
+ * An iterable Object that allows {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols | async iteration }.
663
+ * When you iterate the returned iterable, each element will be an object representing
664
+ * {@link protos.google.storage.control.v2.ManagedFolder|ManagedFolder}. The API will be called under the hood as needed, once per the page,
665
+ * so you can stop the iteration when you don't need more results.
666
+ * Please see the {@link https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination | documentation }
667
+ * for more details and examples.
668
+ * @example <caption>include:samples/generated/v2/storage_control.list_managed_folders.js</caption>
669
+ * region_tag:storage_v2_generated_StorageControl_ListManagedFolders_async
670
+ */
671
+ listManagedFoldersAsync(request?: protos.google.storage.control.v2.IListManagedFoldersRequest, options?: CallOptions): AsyncIterable<protos.google.storage.control.v2.IManagedFolder>;
448
672
  /**
449
673
  * Gets the latest state of a long-running operation. Clients can use this
450
674
  * method to poll the operation result at intervals as recommended by the API
@@ -622,6 +846,39 @@ export declare class StorageControlClient {
622
846
  * @returns {string} A string representing the folder.
623
847
  */
624
848
  matchFolderFromFolderName(folderName: string): string | number;
849
+ /**
850
+ * Return a fully-qualified managedFolder resource name string.
851
+ *
852
+ * @param {string} project
853
+ * @param {string} bucket
854
+ * @param {string} managed_folder
855
+ * @returns {string} Resource name string.
856
+ */
857
+ managedFolderPath(project: string, bucket: string, managedFolder: string): string;
858
+ /**
859
+ * Parse the project from ManagedFolder resource.
860
+ *
861
+ * @param {string} managedFolderName
862
+ * A fully-qualified path representing ManagedFolder resource.
863
+ * @returns {string} A string representing the project.
864
+ */
865
+ matchProjectFromManagedFolderName(managedFolderName: string): string | number;
866
+ /**
867
+ * Parse the bucket from ManagedFolder resource.
868
+ *
869
+ * @param {string} managedFolderName
870
+ * A fully-qualified path representing ManagedFolder resource.
871
+ * @returns {string} A string representing the bucket.
872
+ */
873
+ matchBucketFromManagedFolderName(managedFolderName: string): string | number;
874
+ /**
875
+ * Parse the managed_folder from ManagedFolder resource.
876
+ *
877
+ * @param {string} managedFolderName
878
+ * A fully-qualified path representing ManagedFolder resource.
879
+ * @returns {string} A string representing the managed_folder.
880
+ */
881
+ matchManagedFolderFromManagedFolderName(managedFolderName: string): string | number;
625
882
  /**
626
883
  * Return a fully-qualified project resource name string.
627
884
  *