5
0
mirror of git://git.proxmox.com/git/qemu-server.git synced 2025-01-26 10:03:51 +03:00

api: use guesthelper method for vm_pending path

we can use the shared conf_table_with_pending guesthelper to produce the
config table with the extra delete and pending columns.

Signed-off-by: Oguz Bektas <o.bektas@proxmox.com>
This commit is contained in:
Oguz Bektas 2019-10-14 10:28:40 +02:00 committed by Thomas Lamprecht
parent 5c39708eb3
commit 59ef70033c

View File

@ -933,47 +933,11 @@ __PACKAGE__->register_method({
my $pending_delete_hash = PVE::QemuConfig->parse_pending_delete($conf->{pending}->{delete});
my $res = [];
$conf->{cipassword} = '**********' if defined($conf->{cipassword});
$conf->{pending}->{cipassword} = '********** ' if defined($conf->{pending}->{cipassword});
foreach my $opt (keys %$conf) {
next if ref($conf->{$opt});
my $item = { key => $opt };
$item->{value} = $conf->{$opt} if defined($conf->{$opt});
$item->{pending} = $conf->{pending}->{$opt} if defined($conf->{pending}->{$opt});
$item->{delete} = ($pending_delete_hash->{$opt} ? 2 : 1) if exists $pending_delete_hash->{$opt};
# hide cloudinit password
if ($opt eq 'cipassword') {
$item->{value} = '**********' if defined($item->{value});
# the trailing space so that the pending string is different
$item->{pending} = '********** ' if defined($item->{pending});
}
push @$res, $item;
}
foreach my $opt (keys %{$conf->{pending}}) {
next if $opt eq 'delete';
next if ref($conf->{pending}->{$opt}); # just to be sure
next if defined($conf->{$opt});
my $item = { key => $opt };
$item->{pending} = $conf->{pending}->{$opt};
# hide cloudinit password
if ($opt eq 'cipassword') {
$item->{pending} = '**********' if defined($item->{pending});
}
push @$res, $item;
}
while (my ($opt, $force) = each %$pending_delete_hash) {
next if $conf->{pending}->{$opt}; # just to be sure
next if $conf->{$opt};
my $item = { key => $opt, delete => ($force ? 2 : 1)};
push @$res, $item;
}
return $res;
}});
return PVE::GuestHelpers::conf_table_with_pending($conf, $pending_delete_hash);
}});
# POST/PUT {vmid}/config implementation
#