[pve-devel] [PATCH v3 common 1/1] API schema: add 'allowtoken' property
Fabian Grünbichler
f.gruenbichler at proxmox.com
Tue Jan 21 13:53:56 CET 2020
to mark which API methods should be available to clients authenticated using an API token.
Signed-off-by: Fabian Grünbichler <f.gruenbichler at proxmox.com>
---
Notes:
any users of this need corresponding versioned depends.
v2->v3:
- rename from notoken to allowtoken, negate semantics/default value accordingly
src/PVE/JSONSchema.pm | 6 ++++++
src/PVE/RESTHandler.pm | 3 +++
2 files changed, 9 insertions(+)
diff --git a/src/PVE/JSONSchema.pm b/src/PVE/JSONSchema.pm
index 51c3881..599dd09 100644
--- a/src/PVE/JSONSchema.pm
+++ b/src/PVE/JSONSchema.pm
@@ -1294,6 +1294,12 @@ my $method_schema = {
description => "Method needs special privileges - only pvedaemon can execute it",
optional => 1,
},
+ allowtoken => {
+ type => 'boolean',
+ description => "Method is available for clients authenticated using an API token.",
+ optional => 1,
+ default => 1,
+ },
download => {
type => 'boolean',
description => "Method downloads the file content (filename is the return value of the method).",
diff --git a/src/PVE/RESTHandler.pm b/src/PVE/RESTHandler.pm
index 5e8278e..299bf68 100644
--- a/src/PVE/RESTHandler.pm
+++ b/src/PVE/RESTHandler.pm
@@ -242,6 +242,9 @@ sub register_method {
$errprefix = "register method ${self}/$info->{path} -";
$info->{method} = 'GET' if !$info->{method};
$method = $info->{method};
+
+ # apply default value
+ $info->{allowtoken} = 1 if !defined($info->{allowtoken});
}
$method_path_lookup->{$self} = {} if !defined($method_path_lookup->{$self});
--
2.20.1
More information about the pve-devel
mailing list