API schema: add 'allowtoken' property
authorFabian Grünbichler <f.gruenbichler@proxmox.com>
Tue, 21 Jan 2020 12:53:56 +0000 (13:53 +0100)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Mon, 27 Jan 2020 17:39:26 +0000 (18:39 +0100)
to mark which API methods should be available to clients authenticated using an API token.

Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
src/PVE/JSONSchema.pm
src/PVE/RESTHandler.pm

index 51c3881..599dd09 100644 (file)
@@ -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).",
index 5e8278e..299bf68 100644 (file)
@@ -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});