From: Fiona Ebner <f.ebner@proxmox.com>
To: Proxmox Backup Server development discussion
<pbs-devel@lists.proxmox.com>,
Gabriel Goller <g.goller@proxmox.com>
Subject: Re: [pbs-devel] [PATCH proxmox-backup] close #4763: client: added command to forget backup group
Date: Wed, 30 Aug 2023 09:37:04 +0200 [thread overview]
Message-ID: <7dd35be8-86a0-bd3d-d489-d3797a1c0271@proxmox.com> (raw)
In-Reply-To: <20230829111310.90248-1-g.goller@proxmox.com>
Am 29.08.23 um 13:13 schrieb Gabriel Goller:
> diff --git a/Cargo.toml b/Cargo.toml
> index c7773f0e..e0f12806 100644
> --- a/Cargo.toml
> +++ b/Cargo.toml
> @@ -264,8 +264,8 @@ proxmox-rrd.workspace = true
> #proxmox-sortable-macro = { path = "../proxmox/proxmox-sortable-macro" }
> #proxmox-human-byte = { path = "../proxmox/proxmox-human-byte" }
>
> -#proxmox-apt = { path = "../proxmox-apt" }
> -#proxmox-openid = { path = "../proxmox-openid-rs" }
> +#proxmox-apt = { path = "../proxmox/proxmox-apt" }
> +#proxmox-openid = { path = "../proxmox/proxmox-openid" }
> #pathpatterns = {path = "../pathpatterns" }
>
Should be a separate patch. Each patch should do one thing semantically.
> #pxar = { path = "../pxar" }
> diff --git a/proxmox-backup-client/src/group.rs b/proxmox-backup-client/src/group.rs
> new file mode 100644
> index 00000000..84b73b67
> --- /dev/null
> +++ b/proxmox-backup-client/src/group.rs
> @@ -0,0 +1,68 @@
> +use anyhow::{bail, Error};
> +use pbs_api_types::{BackupGroup, BackupNamespace};
> +use pbs_client::tools::{connect, extract_repository_from_value};
> +use proxmox_router::cli::{ask_for_confirmation, CliCommand, CliCommandMap};
> +use proxmox_schema::api;
> +use serde_json::Value;
> +
Nit: I think we usually group proxmox includes, pbs includes and other
includes separately.
> +use crate::{
> + complete_backup_group, complete_namespace, complete_repository, merge_group_into,
> + REPO_URL_SCHEMA,
> +};
> +
> +pub fn group_mgtm_cli() -> CliCommandMap {
typo: mgtm -> mgmt
(...)
> + let path = format!("api2/json/admin/datastore/{}/snapshots", repo.store());
> + let result = client.get(&path, Some(api_params.clone())).await?;
> + let snapshots = result["data"].as_array().unwrap().len();
> + if snapshots == 0 {
> + bail!("Backup group doesn't exist.");
> + }
A group being empty doesn't necessarily mean that it doesn't exist.
Removing an empty group could also be considered valid, to get rid of
the owner, right?
> +
> + ask_for_confirmation(format!(
> + "Delete group \"{}\" with {} snapshots?",
Nit: using "snapshot(s)" would also read correctly when it's just 1 snapshot
> + backup_group, snapshots
> + ))?;
The second patch you sent should be sorted first, because it is a
prerequisite. Please mention that a dependency bump is needed below the
"---" below the commit message.
> +
> + let path = format!("api2/json/admin/datastore/{}/groups", repo.store());
> + let _ = client.delete(&path, Some(api_params)).await?;
> +
> + println!("Successfully deleted group!");
> + Ok(Value::Null)
> +}
> diff --git a/proxmox-backup-client/src/main.rs b/proxmox-backup-client/src/main.rs
> index 1a13291a..76d45b84 100644
> --- a/proxmox-backup-client/src/main.rs
> +++ b/proxmox-backup-client/src/main.rs
> @@ -72,6 +72,8 @@ mod catalog;
> pub use catalog::*;
> mod snapshot;
> pub use snapshot::*;
> +mod group;
> +pub use group::*;
> pub mod key;
> pub mod namespace;
>
> @@ -1606,7 +1608,6 @@ async fn prune(
> }
>
> format_and_print_result_full(&mut data, return_type, &output_format, &options);
> -
> Ok(Value::Null)
> }
>
This hunk does not belong in this patch either.
next prev parent reply other threads:[~2023-08-30 7:37 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-08-29 11:13 Gabriel Goller
2023-08-29 11:13 ` [pbs-devel] [PATCH proxmox] router: cli: added `ask_for_confirmation` helper Gabriel Goller
2023-08-30 7:37 ` Fiona Ebner [this message]
2023-08-30 7:41 ` [pbs-devel] [PATCH proxmox-backup] close #4763: client: added command to forget backup group Gabriel Goller
2023-08-30 8:58 ` Gabriel Goller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=7dd35be8-86a0-bd3d-d489-d3797a1c0271@proxmox.com \
--to=f.ebner@proxmox.com \
--cc=g.goller@proxmox.com \
--cc=pbs-devel@lists.proxmox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.