@google-cloud/storage-control 0.8.0 → 0.8.1

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.
package/README.md CHANGED
@@ -17,7 +17,7 @@ Storage Control API client for Node.js
17
17
  A comprehensive list of changes in each version may be found in
18
18
  [the CHANGELOG][homepage_changelog].
19
19
 
20
- * [Storage Control API Nodejs Client API Reference](https://cloud.google.com/nodejs/docs/reference/control/latest)
20
+ * [Storage Control API Nodejs Client API Reference](https://cloud.google.com/nodejs/docs/reference/storage-control/latest)
21
21
  * [Storage Control API Documentation](https://cloud.google.com/storage/docs/overview)
22
22
 
23
23
  Read more about the client libraries for Cloud APIs, including the older
@@ -69,6 +69,7 @@ Samples are in the [`samples/`][homepage_samples] directory. Each sample's `READ
69
69
  | create folder | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-storage-control/samples/generated/v2/storage_control.create_folder.js) |
70
70
  | create managed folder | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-storage-control/samples/generated/v2/storage_control.create_managed_folder.js) |
71
71
  | delete folder | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-storage-control/samples/generated/v2/storage_control.delete_folder.js) |
72
+ | delete folder recursive | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-storage-control/samples/generated/v2/storage_control.delete_folder_recursive.js) |
72
73
  | delete managed folder | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-storage-control/samples/generated/v2/storage_control.delete_managed_folder.js) |
73
74
  | disable anywhere cache | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-storage-control/samples/generated/v2/storage_control.disable_anywhere_cache.js) |
74
75
  | get anywhere cache | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-storage-control/samples/generated/v2/storage_control.get_anywhere_cache.js) |
@@ -1,4 +1,4 @@
1
- // Copyright 2025 Google LLC
1
+ // Copyright 2026 Google LLC
2
2
  //
3
3
  // Licensed under the Apache License, Version 2.0 (the "License");
4
4
  // you may not use this file except in compliance with the License.
@@ -112,6 +112,23 @@ service StorageControl {
112
112
  };
113
113
  }
114
114
 
115
+ // Deletes a folder recursively. This operation is only applicable to a
116
+ // hierarchical namespace enabled bucket.
117
+ rpc DeleteFolderRecursive(DeleteFolderRecursiveRequest)
118
+ returns (google.longrunning.Operation) {
119
+ option (google.api.routing) = {
120
+ routing_parameters {
121
+ field: "name"
122
+ path_template: "{bucket=projects/*/buckets/*}/**"
123
+ }
124
+ };
125
+ option (google.api.method_signature) = "name";
126
+ option (google.longrunning.operation_info) = {
127
+ response_type: "google.protobuf.Empty"
128
+ metadata_type: "DeleteFolderRecursiveMetadata"
129
+ };
130
+ }
131
+
115
132
  // Returns the storage layout configuration for a given bucket.
116
133
  rpc GetStorageLayout(GetStorageLayoutRequest) returns (StorageLayout) {
117
134
  option (google.api.routing) = {
@@ -586,6 +603,34 @@ message RenameFolderRequest {
586
603
  ];
587
604
  }
588
605
 
606
+ // Request message for DeleteFolderRecursive.
607
+ message DeleteFolderRecursiveRequest {
608
+ // Required. Name of the folder being deleted, however all of its contents
609
+ // will be deleted too. Format:
610
+ // `projects/{project}/buckets/{bucket}/folders/{folder}`
611
+ string name = 1 [
612
+ (google.api.field_behavior) = REQUIRED,
613
+ (google.api.resource_reference) = { type: "storage.googleapis.com/Folder" }
614
+ ];
615
+
616
+ // Optional. Makes the operation only succeed conditional on whether the root
617
+ // folder's current metageneration matches the given value.
618
+ optional int64 if_metageneration_match = 2
619
+ [(google.api.field_behavior) = OPTIONAL];
620
+
621
+ // Optional. Makes the operation only succeed conditional on whether the root
622
+ // folder's current metageneration does not match the given value.
623
+ optional int64 if_metageneration_not_match = 3
624
+ [(google.api.field_behavior) = OPTIONAL];
625
+
626
+ // Optional. A unique identifier for this request. UUID is the recommended
627
+ // format, but other formats are still accepted.
628
+ string request_id = 4 [
629
+ (google.api.field_info).format = UUID4,
630
+ (google.api.field_behavior) = OPTIONAL
631
+ ];
632
+ }
633
+
589
634
  // The message contains metadata that is common to all Storage Control
590
635
  // long-running operations, present in its `google.longrunning.Operation`
591
636
  // messages, and accessible via `metadata.common_metadata`.
@@ -626,6 +671,16 @@ message RenameFolderMetadata {
626
671
  string destination_folder_id = 3;
627
672
  }
628
673
 
674
+ // Message returned in the metadata field of the Operation resource for
675
+ // DeleteFolderRecursive operations.
676
+ message DeleteFolderRecursiveMetadata {
677
+ // Generic metadata for the long running operation.
678
+ CommonLongRunningOperationMetadata common_metadata = 1;
679
+
680
+ // The path of the folder recursively deleted.
681
+ string folder_id = 2;
682
+ }
683
+
629
684
  // The storage layout configuration of a bucket.
630
685
  message StorageLayout {
631
686
  option (google.api.resource) = {
@@ -1,4 +1,4 @@
1
- // Copyright 2025 Google LLC
1
+ // Copyright 2026 Google LLC
2
2
  //
3
3
  // Licensed under the Apache License, Version 2.0 (the "License");
4
4
  // you may not use this file except in compliance with the License.
@@ -3163,4 +3163,4 @@ message ContentRange {
3163
3163
 
3164
3164
  // The complete length of the object data.
3165
3165
  int64 complete_length = 3;
3166
- }
3166
+ }
@@ -116,6 +116,20 @@ export namespace google {
116
116
  */
117
117
  public renameFolder(request: google.storage.control.v2.IRenameFolderRequest): Promise<google.longrunning.Operation>;
118
118
 
119
+ /**
120
+ * Calls DeleteFolderRecursive.
121
+ * @param request DeleteFolderRecursiveRequest message or plain object
122
+ * @param callback Node-style callback called with the error, if any, and Operation
123
+ */
124
+ public deleteFolderRecursive(request: google.storage.control.v2.IDeleteFolderRecursiveRequest, callback: google.storage.control.v2.StorageControl.DeleteFolderRecursiveCallback): void;
125
+
126
+ /**
127
+ * Calls DeleteFolderRecursive.
128
+ * @param request DeleteFolderRecursiveRequest message or plain object
129
+ * @returns Promise
130
+ */
131
+ public deleteFolderRecursive(request: google.storage.control.v2.IDeleteFolderRecursiveRequest): Promise<google.longrunning.Operation>;
132
+
119
133
  /**
120
134
  * Calls GetStorageLayout.
121
135
  * @param request GetStorageLayoutRequest message or plain object
@@ -448,6 +462,13 @@ export namespace google {
448
462
  */
449
463
  type RenameFolderCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
450
464
 
465
+ /**
466
+ * Callback as used by {@link google.storage.control.v2.StorageControl|deleteFolderRecursive}.
467
+ * @param error Error, if any
468
+ * @param [response] Operation
469
+ */
470
+ type DeleteFolderRecursiveCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
471
+
451
472
  /**
452
473
  * Callback as used by {@link google.storage.control.v2.StorageControl|getStorageLayout}.
453
474
  * @param error Error, if any
@@ -1528,6 +1549,121 @@ export namespace google {
1528
1549
  public static getTypeUrl(typeUrlPrefix?: string): string;
1529
1550
  }
1530
1551
 
1552
+ /** Properties of a DeleteFolderRecursiveRequest. */
1553
+ interface IDeleteFolderRecursiveRequest {
1554
+
1555
+ /** DeleteFolderRecursiveRequest name */
1556
+ name?: (string|null);
1557
+
1558
+ /** DeleteFolderRecursiveRequest ifMetagenerationMatch */
1559
+ ifMetagenerationMatch?: (number|Long|string|null);
1560
+
1561
+ /** DeleteFolderRecursiveRequest ifMetagenerationNotMatch */
1562
+ ifMetagenerationNotMatch?: (number|Long|string|null);
1563
+
1564
+ /** DeleteFolderRecursiveRequest requestId */
1565
+ requestId?: (string|null);
1566
+ }
1567
+
1568
+ /** Represents a DeleteFolderRecursiveRequest. */
1569
+ class DeleteFolderRecursiveRequest implements IDeleteFolderRecursiveRequest {
1570
+
1571
+ /**
1572
+ * Constructs a new DeleteFolderRecursiveRequest.
1573
+ * @param [properties] Properties to set
1574
+ */
1575
+ constructor(properties?: google.storage.control.v2.IDeleteFolderRecursiveRequest);
1576
+
1577
+ /** DeleteFolderRecursiveRequest name. */
1578
+ public name: string;
1579
+
1580
+ /** DeleteFolderRecursiveRequest ifMetagenerationMatch. */
1581
+ public ifMetagenerationMatch?: (number|Long|string|null);
1582
+
1583
+ /** DeleteFolderRecursiveRequest ifMetagenerationNotMatch. */
1584
+ public ifMetagenerationNotMatch?: (number|Long|string|null);
1585
+
1586
+ /** DeleteFolderRecursiveRequest requestId. */
1587
+ public requestId: string;
1588
+
1589
+ /**
1590
+ * Creates a new DeleteFolderRecursiveRequest instance using the specified properties.
1591
+ * @param [properties] Properties to set
1592
+ * @returns DeleteFolderRecursiveRequest instance
1593
+ */
1594
+ public static create(properties?: google.storage.control.v2.IDeleteFolderRecursiveRequest): google.storage.control.v2.DeleteFolderRecursiveRequest;
1595
+
1596
+ /**
1597
+ * Encodes the specified DeleteFolderRecursiveRequest message. Does not implicitly {@link google.storage.control.v2.DeleteFolderRecursiveRequest.verify|verify} messages.
1598
+ * @param message DeleteFolderRecursiveRequest message or plain object to encode
1599
+ * @param [writer] Writer to encode to
1600
+ * @returns Writer
1601
+ */
1602
+ public static encode(message: google.storage.control.v2.IDeleteFolderRecursiveRequest, writer?: $protobuf.Writer): $protobuf.Writer;
1603
+
1604
+ /**
1605
+ * Encodes the specified DeleteFolderRecursiveRequest message, length delimited. Does not implicitly {@link google.storage.control.v2.DeleteFolderRecursiveRequest.verify|verify} messages.
1606
+ * @param message DeleteFolderRecursiveRequest message or plain object to encode
1607
+ * @param [writer] Writer to encode to
1608
+ * @returns Writer
1609
+ */
1610
+ public static encodeDelimited(message: google.storage.control.v2.IDeleteFolderRecursiveRequest, writer?: $protobuf.Writer): $protobuf.Writer;
1611
+
1612
+ /**
1613
+ * Decodes a DeleteFolderRecursiveRequest message from the specified reader or buffer.
1614
+ * @param reader Reader or buffer to decode from
1615
+ * @param [length] Message length if known beforehand
1616
+ * @returns DeleteFolderRecursiveRequest
1617
+ * @throws {Error} If the payload is not a reader or valid buffer
1618
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
1619
+ */
1620
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.storage.control.v2.DeleteFolderRecursiveRequest;
1621
+
1622
+ /**
1623
+ * Decodes a DeleteFolderRecursiveRequest message from the specified reader or buffer, length delimited.
1624
+ * @param reader Reader or buffer to decode from
1625
+ * @returns DeleteFolderRecursiveRequest
1626
+ * @throws {Error} If the payload is not a reader or valid buffer
1627
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
1628
+ */
1629
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.storage.control.v2.DeleteFolderRecursiveRequest;
1630
+
1631
+ /**
1632
+ * Verifies a DeleteFolderRecursiveRequest message.
1633
+ * @param message Plain object to verify
1634
+ * @returns `null` if valid, otherwise the reason why it is not
1635
+ */
1636
+ public static verify(message: { [k: string]: any }): (string|null);
1637
+
1638
+ /**
1639
+ * Creates a DeleteFolderRecursiveRequest message from a plain object. Also converts values to their respective internal types.
1640
+ * @param object Plain object
1641
+ * @returns DeleteFolderRecursiveRequest
1642
+ */
1643
+ public static fromObject(object: { [k: string]: any }): google.storage.control.v2.DeleteFolderRecursiveRequest;
1644
+
1645
+ /**
1646
+ * Creates a plain object from a DeleteFolderRecursiveRequest message. Also converts values to other types if specified.
1647
+ * @param message DeleteFolderRecursiveRequest
1648
+ * @param [options] Conversion options
1649
+ * @returns Plain object
1650
+ */
1651
+ public static toObject(message: google.storage.control.v2.DeleteFolderRecursiveRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
1652
+
1653
+ /**
1654
+ * Converts this DeleteFolderRecursiveRequest to JSON.
1655
+ * @returns JSON object
1656
+ */
1657
+ public toJSON(): { [k: string]: any };
1658
+
1659
+ /**
1660
+ * Gets the default type url for DeleteFolderRecursiveRequest
1661
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
1662
+ * @returns The default type url
1663
+ */
1664
+ public static getTypeUrl(typeUrlPrefix?: string): string;
1665
+ }
1666
+
1531
1667
  /** Properties of a CommonLongRunningOperationMetadata. */
1532
1668
  interface ICommonLongRunningOperationMetadata {
1533
1669
 
@@ -1764,6 +1900,109 @@ export namespace google {
1764
1900
  public static getTypeUrl(typeUrlPrefix?: string): string;
1765
1901
  }
1766
1902
 
1903
+ /** Properties of a DeleteFolderRecursiveMetadata. */
1904
+ interface IDeleteFolderRecursiveMetadata {
1905
+
1906
+ /** DeleteFolderRecursiveMetadata commonMetadata */
1907
+ commonMetadata?: (google.storage.control.v2.ICommonLongRunningOperationMetadata|null);
1908
+
1909
+ /** DeleteFolderRecursiveMetadata folderId */
1910
+ folderId?: (string|null);
1911
+ }
1912
+
1913
+ /** Represents a DeleteFolderRecursiveMetadata. */
1914
+ class DeleteFolderRecursiveMetadata implements IDeleteFolderRecursiveMetadata {
1915
+
1916
+ /**
1917
+ * Constructs a new DeleteFolderRecursiveMetadata.
1918
+ * @param [properties] Properties to set
1919
+ */
1920
+ constructor(properties?: google.storage.control.v2.IDeleteFolderRecursiveMetadata);
1921
+
1922
+ /** DeleteFolderRecursiveMetadata commonMetadata. */
1923
+ public commonMetadata?: (google.storage.control.v2.ICommonLongRunningOperationMetadata|null);
1924
+
1925
+ /** DeleteFolderRecursiveMetadata folderId. */
1926
+ public folderId: string;
1927
+
1928
+ /**
1929
+ * Creates a new DeleteFolderRecursiveMetadata instance using the specified properties.
1930
+ * @param [properties] Properties to set
1931
+ * @returns DeleteFolderRecursiveMetadata instance
1932
+ */
1933
+ public static create(properties?: google.storage.control.v2.IDeleteFolderRecursiveMetadata): google.storage.control.v2.DeleteFolderRecursiveMetadata;
1934
+
1935
+ /**
1936
+ * Encodes the specified DeleteFolderRecursiveMetadata message. Does not implicitly {@link google.storage.control.v2.DeleteFolderRecursiveMetadata.verify|verify} messages.
1937
+ * @param message DeleteFolderRecursiveMetadata message or plain object to encode
1938
+ * @param [writer] Writer to encode to
1939
+ * @returns Writer
1940
+ */
1941
+ public static encode(message: google.storage.control.v2.IDeleteFolderRecursiveMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
1942
+
1943
+ /**
1944
+ * Encodes the specified DeleteFolderRecursiveMetadata message, length delimited. Does not implicitly {@link google.storage.control.v2.DeleteFolderRecursiveMetadata.verify|verify} messages.
1945
+ * @param message DeleteFolderRecursiveMetadata message or plain object to encode
1946
+ * @param [writer] Writer to encode to
1947
+ * @returns Writer
1948
+ */
1949
+ public static encodeDelimited(message: google.storage.control.v2.IDeleteFolderRecursiveMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
1950
+
1951
+ /**
1952
+ * Decodes a DeleteFolderRecursiveMetadata message from the specified reader or buffer.
1953
+ * @param reader Reader or buffer to decode from
1954
+ * @param [length] Message length if known beforehand
1955
+ * @returns DeleteFolderRecursiveMetadata
1956
+ * @throws {Error} If the payload is not a reader or valid buffer
1957
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
1958
+ */
1959
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.storage.control.v2.DeleteFolderRecursiveMetadata;
1960
+
1961
+ /**
1962
+ * Decodes a DeleteFolderRecursiveMetadata message from the specified reader or buffer, length delimited.
1963
+ * @param reader Reader or buffer to decode from
1964
+ * @returns DeleteFolderRecursiveMetadata
1965
+ * @throws {Error} If the payload is not a reader or valid buffer
1966
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
1967
+ */
1968
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.storage.control.v2.DeleteFolderRecursiveMetadata;
1969
+
1970
+ /**
1971
+ * Verifies a DeleteFolderRecursiveMetadata message.
1972
+ * @param message Plain object to verify
1973
+ * @returns `null` if valid, otherwise the reason why it is not
1974
+ */
1975
+ public static verify(message: { [k: string]: any }): (string|null);
1976
+
1977
+ /**
1978
+ * Creates a DeleteFolderRecursiveMetadata message from a plain object. Also converts values to their respective internal types.
1979
+ * @param object Plain object
1980
+ * @returns DeleteFolderRecursiveMetadata
1981
+ */
1982
+ public static fromObject(object: { [k: string]: any }): google.storage.control.v2.DeleteFolderRecursiveMetadata;
1983
+
1984
+ /**
1985
+ * Creates a plain object from a DeleteFolderRecursiveMetadata message. Also converts values to other types if specified.
1986
+ * @param message DeleteFolderRecursiveMetadata
1987
+ * @param [options] Conversion options
1988
+ * @returns Plain object
1989
+ */
1990
+ public static toObject(message: google.storage.control.v2.DeleteFolderRecursiveMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };
1991
+
1992
+ /**
1993
+ * Converts this DeleteFolderRecursiveMetadata to JSON.
1994
+ * @returns JSON object
1995
+ */
1996
+ public toJSON(): { [k: string]: any };
1997
+
1998
+ /**
1999
+ * Gets the default type url for DeleteFolderRecursiveMetadata
2000
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
2001
+ * @returns The default type url
2002
+ */
2003
+ public static getTypeUrl(typeUrlPrefix?: string): string;
2004
+ }
2005
+
1767
2006
  /** Properties of a StorageLayout. */
1768
2007
  interface IStorageLayout {
1769
2008