mirror of
https://git.proxmox.com/git/pve-manager
synced 2025-07-24 04:27:33 +00:00
Jobs/VZDump: encode/decode 'prune-backups' where needed
we want to write it out to the config as propertyString, but want it as object in the api (for compatiblity) Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
This commit is contained in:
parent
20d15804f6
commit
b34220461d
@ -52,6 +52,21 @@ sub parse_config {
|
||||
return $cfg;
|
||||
}
|
||||
|
||||
# call the plugin specific decode/encode code
|
||||
sub decode_value {
|
||||
my ($class, $type, $key, $value) = @_;
|
||||
|
||||
my $plugin = __PACKAGE__->lookup($type);
|
||||
return $plugin->decode_value($type, $key, $value);
|
||||
}
|
||||
|
||||
sub encode_value {
|
||||
my ($class, $type, $key, $value) = @_;
|
||||
|
||||
my $plugin = __PACKAGE__->lookup($type);
|
||||
return $plugin->encode_value($type, $key, $value);
|
||||
}
|
||||
|
||||
sub run {
|
||||
my ($class, $cfg) = @_;
|
||||
# implement in subclass
|
||||
|
@ -7,6 +7,7 @@ use PVE::INotify;
|
||||
use PVE::VZDump::Common;
|
||||
use PVE::API2::VZDump;
|
||||
use PVE::Cluster;
|
||||
use PVE::JSONSchema;
|
||||
|
||||
use base qw(PVE::Jobs::Plugin);
|
||||
|
||||
@ -36,6 +37,32 @@ sub options {
|
||||
return $options;
|
||||
}
|
||||
|
||||
sub decode_value {
|
||||
my ($class, $type, $key, $value) = @_;
|
||||
|
||||
if ($key eq 'prune-backups' && !ref($value)) {
|
||||
$value = PVE::JSONSchema::parse_property_string(
|
||||
'prune-backups',
|
||||
$value,
|
||||
);
|
||||
}
|
||||
|
||||
return $value;
|
||||
}
|
||||
|
||||
sub encode_value {
|
||||
my ($class, $type, $key, $value) = @_;
|
||||
|
||||
if ($key eq 'prune-backups' && ref($value) eq 'HASH') {
|
||||
$value = PVE::JSONSchema::print_property_string(
|
||||
$value,
|
||||
'prune-backups',
|
||||
);
|
||||
}
|
||||
|
||||
return $value;
|
||||
}
|
||||
|
||||
sub run {
|
||||
my ($class, $conf) = @_;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user