qm showcmd: add simple 'pretty' parameter

Shows each parameter value pair in a new line with a backslash at the
end, so it's still possible to copy, paste and execute it, while
being easier to read and edit by humans. This is opt in.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
This commit is contained in:
Thomas Lamprecht 2018-01-09 09:56:28 +01:00 committed by Wolfgang Bumiller
parent f38de678e4
commit 16a01738cb

View File

@ -117,6 +117,12 @@ __PACKAGE__->register_method ({
additionalProperties => 0,
properties => {
vmid => get_standard_option('pve-vmid', { completion => \&PVE::QemuServer::complete_vmid }),
pretty => {
description => "Puts each option on a new line to enhance human readability",
type => 'boolean',
optional => 1,
default => 0,
}
},
},
returns => { type => 'null'},
@ -124,7 +130,11 @@ __PACKAGE__->register_method ({
my ($param) = @_;
my $storecfg = PVE::Storage::config();
print PVE::QemuServer::vm_commandline($storecfg, $param->{vmid}) . "\n";
my $cmdline = PVE::QemuServer::vm_commandline($storecfg, $param->{vmid});
$cmdline =~ s/ -/ \\\n-/g if $param->{pretty};
print "$cmdline\n";
return undef;
}});