[pve-devel] [PATCH v3 manager 2/5] task index: allow filtering by task type

Fabian Grünbichler f.gruenbichler at proxmox.com
Wed Jan 23 14:56:32 CET 2019


convenience filter if caller is only interested in certain actions

Signed-off-by: Fabian Grünbichler <f.gruenbichler at proxmox.com>
Reviewed-by: Thomas Lamprecht <t.lamprecht at proxmox.com>
Tested-by: Thomas Lamprecht <t.lamprecht at proxmox.com>
---

Notes:
    unchanged from v1

 PVE/API2/Tasks.pm | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/PVE/API2/Tasks.pm b/PVE/API2/Tasks.pm
index 0f2a622b..8cdc534d 100644
--- a/PVE/API2/Tasks.pm
+++ b/PVE/API2/Tasks.pm
@@ -49,6 +49,11 @@ __PACKAGE__->register_method({
 		optional => 1,
 		description => "Only list tasks from this user.",
 	    },
+	    typefilter => {
+		type => 'string',
+		optional => 1,
+		description => 'Only list tasks of this type (e.g., vzstart, vzdump).',
+	    },
 	    vmid => get_standard_option('pve-vmid', {
 		description => "Only list tasks for this VM.",
 		optional => 1,
@@ -100,6 +105,7 @@ __PACKAGE__->register_method({
 	my $start = $param->{start} // 0;
 	my $limit = $param->{limit} // 50;
 	my $userfilter = $param->{userfilter};
+	my $typefilter = $param->{typefilter};
 	my $errors = $param->{errors} // 0;
 	my $source = $param->{source} // 'archive';
 
@@ -114,6 +120,8 @@ __PACKAGE__->register_method({
 	    return 1 if $userfilter && $task->{user} !~ m/\Q$userfilter\E/i;
 	    return 1 if !($auditor || $user eq $task->{user});
 
+	    return 1 if $typefilter && $task->{type} ne $typefilter;
+
 	    return 1 if $errors && $task->{status} && $task->{status} eq 'OK';
 	    return 1 if $param->{vmid} && (!$task->{id} || $task->{id} ne $param->{vmid});
 
-- 
2.20.1





More information about the pve-devel mailing list