This new property returns the configured or default display for a VM. Instead of a flat property, we use a nested 'type' object that contains the actual information. This way we can add other properties that belong to a VM's display in the future without much hassle, to have them all in one place. Candidates to be moved into the display property are for example the spice and clipboard property.
Signed-off-by: Aaron Lauterer <[email protected]> Reviewed-by: Fiona Ebner <[email protected]> Tested-by: Hannes Duerr <[email protected]> Reviewed-by: Michael Köppl <[email protected]> Tested-by: Michael Köppl <[email protected]> --- changes since v7: * rebased v6: * use the new QemuServer::get_default_vga_type function, which means we can drop a lot of boilerplate code v5: * use QemuServer::get_vga_properties to determine the default * properties. src/PVE/API2/Qemu.pm | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/PVE/API2/Qemu.pm b/src/PVE/API2/Qemu.pm index 7fced6c6..d1a4eafb 100644 --- a/src/PVE/API2/Qemu.pm +++ b/src/PVE/API2/Qemu.pm @@ -3310,6 +3310,16 @@ __PACKAGE__->register_method({ enum => ['vnc'], optional => 1, }, + display => { + description => "Display settings", + type => 'object', + properties => { + type => { + description => "Display type configured", + type => 'string', + }, + }, + }, }, }, code => sub { @@ -3323,8 +3333,11 @@ __PACKAGE__->register_method({ $status->{ha} = PVE::HA::Config::get_service_status("vm:$param->{vmid}"); + $status->{display}->{type} = PVE::QemuServer::get_default_vga_type($conf); if ($conf->{vga}) { my $vga = PVE::QemuServer::parse_vga($conf->{vga}); + $status->{display}->{type} = $vga->{type} if defined($vga->{type}); + my $spice = defined($vga->{type}) && $vga->{type} =~ /^virtio/; $spice ||= PVE::QemuServer::vga_conf_has_spice($conf->{vga}); $status->{spice} = 1 if $spice; -- 2.47.3 _______________________________________________ pve-devel mailing list [email protected] https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
