akin to get_guest_config_property, but with a list of properties. uses the new CFS_IPC_GET_GUEST_CONFIG_PROPERTIES
Signed-off-by: Dominik Csapak <d.csa...@proxmox.com> --- data/PVE/Cluster.pm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/data/PVE/Cluster.pm b/data/PVE/Cluster.pm index 765fb43..c65ba17 100644 --- a/data/PVE/Cluster.pm +++ b/data/PVE/Cluster.pm @@ -340,6 +340,27 @@ sub get_node_kv { return $res; } +# properties: an array-ref of config properties you want to get, e.g., this +# is perfect to get multiple properties of a guest _fast_ +# (>100 faster than manual parsing here) +# vmid: optional, if a valid is passed we only check that one, else return all +# NOTE: does *not* searches snapshot and PENDING entries sections! +sub get_guest_config_properties { + my ($properties, $vmid) = @_; + + die "properties required" if !defined($properties); + + my $bindata = pack "VC", $vmid // 0, scalar(@$properties); + for my $property (@$properties) { + die "property name cannot be longer than 254 chars\n" + if length($property) > 254; + $bindata .= pack "C/Z*", $property; + } + my $res = $ipcc_send_rec_json->(CFS_IPC_GET_GUEST_CONFIG_PROPERTIES, $bindata); + + return $res; +} + # property: a config property you want to get, e.g., this is perfect to get # the 'lock' entry of a guest _fast_ (>100 faster than manual parsing here) # vmid: optipnal, if a valid is passed we only check that one, else return all -- 2.30.2 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel