Commit Graph

7 Commits

Author SHA1 Message Date
Fabian Ebner
5ae4718fbe Add all standard output options that are not yet defined
When a property description already contained an option, no standard
output options at all would be added to it, e.g. '/nodes/NODE/vzdump'
already defines its own 'quiet'. Now all not yet defined options are
added to the description, this is done by using the fact that we can
pass a explicit list of std options to add to
add_standard_output_properties, so we filter all already defined ones
out and just pass that as list.

Fixes
pvesh create /nodes/NODE/vzdump -vmid ID -storage STORAGE
issued from a different node and
pvesh create /nodes/NODE/vzdump -vmid ID -storage STORAGE --output-format json
and maybe other calls.

Reported here: https://forum.proxmox.com/threads/output-format-error-with-pvesh-create.47711/

Signed-off-by: Fabian Ebner <f.ebner@proxmox.com>
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-03-02 20:17:53 +01:00
Thomas Lamprecht
43b72913ac pvesh: refactor and cleanup
use $res as variable name, as $json which may not be JSON is a bit
confusing.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-02-10 11:37:37 +01:00
Alexandre Derumier
a84a2ae8c5 pvesh: proxy : display result if not json
When a remote node not return a json, we got and error.

This is fixing this:

pvesh set /nodes/localname/network
UPID:kvmformation2:0034937B:09352894:5E41106C:srvreload:networking:root@pam:

pvesh set /nodes/remotenode/network
JSON text must be an object or array (but found number, string, true, false or null, use allow_nonref to allow this) at /usr/share/perl5/PVE/CLI/pvesh.pm line 125.

This patch simply return raw result if it's not a json

Signed-off-by: Alexandre Derumier <aderumier@odiso.com>
2020-02-10 11:20:55 +01:00
Christian Ebner
0abe2e035e Fix #1982: pvesh: check if a handler exists for path
Checks that the handler for the API call even exists before verifying the
parameter schema. By this the reported error message is more descriptive.

Signed-off-by: Christian Ebner <c.ebner@proxmox.com>
2019-01-15 18:57:49 +01:00
Dietmar Maurer
ddc9c56c4d pvesh: fix bug #1942 - add standard options conditional
Do not add/extract standard options if the method itself defined properties
using the same names (like 'quiet').

Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
2018-10-16 11:41:26 +02:00
Dietmar Maurer
4d3822cc75 pvesh: add standard_output_properties to set/create/delete
Most of those API calls return simple strings, so it does not really matter.
Nethertheless, some calls return complex data structures and we want to set
output format for them.
2018-07-27 07:34:49 +02:00
Dietmar Maurer
ece19ae214 pvesh cleanup: use a handler class - PVE/CLI/pvesh.pm 2018-07-26 15:20:15 +02:00