]>
git.proxmox.com Git - pve-manager.git/blob - PVE/Jobs/VZDump.pm
1 package PVE
::Jobs
::VZDump
;
7 use PVE
::VZDump
::Common
;
12 use base
qw(PVE::Jobs::Plugin);
18 my $props = PVE
::VZDump
::Common
::json_config_properties
();
26 enabled
=> { optional
=> 1 },
28 comment
=> { optional
=> 1 },
29 'repeat-missed' => { optional
=> 1 },
31 foreach my $opt (keys %$props) {
32 if ($props->{$opt}->{optional
}) {
33 $options->{$opt} = { optional
=> 1 };
35 $options->{$opt} = {};
43 my ($class, $type, $key, $value) = @_;
45 if ($key eq 'prune-backups' && !ref($value)) {
46 $value = PVE
::JSONSchema
::parse_property_string
(
56 my ($class, $type, $key, $value) = @_;
58 if ($key eq 'prune-backups' && ref($value) eq 'HASH') {
59 $value = PVE
::JSONSchema
::print_property_string
(
69 my ($class, $conf) = @_;
71 # remove all non vzdump related options
72 foreach my $opt (keys %$conf) {
73 delete $conf->{$opt} if !defined($props->{$opt});
76 my $retention = $conf->{'prune-backups'};
77 if ($retention && ref($retention) eq 'HASH') { # fixup, its required as string parameter
78 $conf->{'prune-backups'} = PVE
::JSONSchema
::print_property_string
($retention, 'prune-backups');
81 $conf->{quiet
} = 1; # do not write to stdout/stderr
83 PVE
::Cluster
::cfs_update
(); # refresh vmlist
85 return PVE
::API2
::VZDump-
>vzdump($conf);