Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 0 additions & 4 deletions packages/google-storage-control/.jsdoc.js
Original file line number Diff line number Diff line change
Expand Up @@ -37,10 +37,6 @@ module.exports = {
'build/src',
'protos'
],
exclude: [
'build/src/v2/storage_client.js',
'build/src/v2/storage_control_client.js'
],
includePattern: '\\.js$'
},
templates: {
Expand Down
3 changes: 2 additions & 1 deletion packages/google-storage-control/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ Storage Control API client for Node.js
A comprehensive list of changes in each version may be found in
[the CHANGELOG][homepage_changelog].

* [Storage Control API Nodejs Client API Reference](https://cloud.google.com/nodejs/docs/reference/control/latest)
* [Storage Control API Nodejs Client API Reference](https://cloud.google.com/nodejs/docs/reference/storage-control/latest)
* [Storage Control API Documentation](https://cloud.google.com/storage/docs/overview)

Read more about the client libraries for Cloud APIs, including the older
Expand Down Expand Up @@ -69,6 +69,7 @@ Samples are in the [`samples/`][homepage_samples] directory. Each sample's `READ
| 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) |
| 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) |
| 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) |
| 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) |
| 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) |
| 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) |
| 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) |
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright 2025 Google LLC
// Copyright 2026 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -112,6 +112,23 @@ service StorageControl {
};
}

// Deletes a folder recursively. This operation is only applicable to a
// hierarchical namespace enabled bucket.
rpc DeleteFolderRecursive(DeleteFolderRecursiveRequest)
returns (google.longrunning.Operation) {
option (google.api.routing) = {
routing_parameters {
field: "name"
path_template: "{bucket=projects/*/buckets/*}/**"
}
};
option (google.api.method_signature) = "name";
option (google.longrunning.operation_info) = {
response_type: "google.protobuf.Empty"
metadata_type: "DeleteFolderRecursiveMetadata"
};
}

// Returns the storage layout configuration for a given bucket.
rpc GetStorageLayout(GetStorageLayoutRequest) returns (StorageLayout) {
option (google.api.routing) = {
Expand Down Expand Up @@ -586,6 +603,34 @@ message RenameFolderRequest {
];
}

// Request message for DeleteFolderRecursive.
message DeleteFolderRecursiveRequest {
// Required. Name of the folder being deleted, however all of its contents
// will be deleted too. Format:
// `projects/{project}/buckets/{bucket}/folders/{folder}`
string name = 1 [
(google.api.field_behavior) = REQUIRED,
(google.api.resource_reference) = { type: "storage.googleapis.com/Folder" }
];

// Optional. Makes the operation only succeed conditional on whether the root
// folder's current metageneration matches the given value.
optional int64 if_metageneration_match = 2
[(google.api.field_behavior) = OPTIONAL];

// Optional. Makes the operation only succeed conditional on whether the root
// folder's current metageneration does not match the given value.
optional int64 if_metageneration_not_match = 3
[(google.api.field_behavior) = OPTIONAL];

// Optional. A unique identifier for this request. UUID is the recommended
// format, but other formats are still accepted.
string request_id = 4 [
(google.api.field_info).format = UUID4,
(google.api.field_behavior) = OPTIONAL
];
}

// The message contains metadata that is common to all Storage Control
// long-running operations, present in its `google.longrunning.Operation`
// messages, and accessible via `metadata.common_metadata`.
Expand Down Expand Up @@ -626,6 +671,16 @@ message RenameFolderMetadata {
string destination_folder_id = 3;
}

// Message returned in the metadata field of the Operation resource for
// DeleteFolderRecursive operations.
message DeleteFolderRecursiveMetadata {
// Generic metadata for the long running operation.
CommonLongRunningOperationMetadata common_metadata = 1;

// The path of the folder recursively deleted.
string folder_id = 2;
}

// The storage layout configuration of a bucket.
message StorageLayout {
option (google.api.resource) = {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright 2025 Google LLC
// Copyright 2026 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
Expand Down Expand Up @@ -3163,4 +3163,4 @@ message ContentRange {

// The complete length of the object data.
int64 complete_length = 3;
}
}
Loading