prune-backups CLI: use keep-options directly

Makes the interface cleaner; e.g. --keep-daily=2 instead of
--prune-backups=keep-daily=2

Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
This commit is contained in:
Fabian Ebner
2020-08-31 10:48:01 +02:00
committed by Thomas Lamprecht
parent c3e87d0f6e
commit a0933d7e16
2 changed files with 9 additions and 5 deletions

View File

@ -752,10 +752,7 @@ __PACKAGE__->register_method ({
storage => get_standard_option('pve-storage-id', {
completion => \&PVE::Storage::complete_storage_enabled,
}),
'prune-backups' => get_standard_option('prune-backups', {
description => "Use these retention options instead of those from the storage configuration.",
optional => 1,
}),
%{$PVE::Storage::Plugin::prune_backups_format},
type => {
description => "Either 'qemu' or 'lxc'. Only consider backups for guests of this type.",
type => 'string',
@ -813,6 +810,13 @@ __PACKAGE__->register_method ({
my $dryrun = extract_param($param, 'dry-run') ? 1 : 0;
my $keep_opts;
foreach my $keep (keys %{$PVE::Storage::Plugin::prune_backups_format}) {
$keep_opts->{$keep} = extract_param($param, $keep) if defined($param->{$keep});
}
$param->{'prune-backups'} = PVE::JSONSchema::print_property_string(
$keep_opts, $PVE::Storage::Plugin::prune_backups_format) if $keep_opts;
my $list = [];
if ($dryrun) {
$list = PVE::API2::Storage::PruneBackups->dryrun($param);

View File

@ -49,7 +49,7 @@ my %prune_option = (
format_description => 'N',
);
my $prune_backups_format = {
our $prune_backups_format = {
'keep-last' => {
%prune_option,
description => 'Keep the last <N> backups.',