From a78d4b5a3a660b3d8bbd8efcbf48f7c02c4ece8f Mon Sep 17 00:00:00 2001 From: Gabriel Goller Date: Mon, 12 Feb 2024 11:43:40 +0100 Subject: [PATCH] client: add "delete-groups" param to delete namespace The api parameter "delete-groups" was missing on the proxmox-backup-client command. This allows the client to remove non-empty namespaces. Signed-off-by: Gabriel Goller --- proxmox-backup-client/src/namespace.rs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/proxmox-backup-client/src/namespace.rs b/proxmox-backup-client/src/namespace.rs index ce3f113b..abf31ef4 100644 --- a/proxmox-backup-client/src/namespace.rs +++ b/proxmox-backup-client/src/namespace.rs @@ -132,11 +132,15 @@ async fn create_namespace(param: Value) -> Result<(), Error> { type: BackupNamespace, optional: true, }, + "delete-groups": { + description: "Destroys all groups in the hierarchy.", + optional: true, + }, } }, )] /// Delete an existing namespace. -async fn delete_namespace(param: Value) -> Result<(), Error> { +async fn delete_namespace(param: Value, delete_groups: Option) -> Result<(), Error> { let repo = extract_repository_from_value(¶m)?; let backup_ns = optional_ns_param(¶m)?; @@ -145,7 +149,11 @@ async fn delete_namespace(param: Value) -> Result<(), Error> { } let path = format!("api2/json/admin/datastore/{}/namespace", repo.store()); - let param = json!({ "ns": backup_ns }); + let mut param = json!({ "ns": backup_ns }); + + if let Some(dg) = delete_groups { + param["delete-groups"] = serde_json::to_value(dg)?; + } let client = connect(&repo)?;