[pve-devel] [PATCH v5 pve-manager 13/30] api: notification: allow to test targets
Lukas Wagner
l.wagner at proxmox.com
Wed Jul 26 11:49:45 CEST 2023
This API call allows the user to test a notification target.
Signed-off-by: Lukas Wagner <l.wagner at proxmox.com>
---
PVE/API2/Cluster/Notifications.pm | 40 +++++++++++++++++++++++++++++++
1 file changed, 40 insertions(+)
diff --git a/PVE/API2/Cluster/Notifications.pm b/PVE/API2/Cluster/Notifications.pm
index d6f29291..065d6690 100644
--- a/PVE/API2/Cluster/Notifications.pm
+++ b/PVE/API2/Cluster/Notifications.pm
@@ -211,6 +211,46 @@ __PACKAGE__->register_method ({
}
});
+__PACKAGE__->register_method ({
+ name => 'test_target',
+ path => 'targets/{name}/test',
+ protected => 1,
+ method => 'POST',
+ description => 'Send a test notification to a provided target.',
+ permissions => {
+ check => ['or',
+ ['perm', '/mapping/notification/{name}', ['Mapping.Use']],
+ ['perm', '/mapping/notification/{name}', ['Mapping.Modify']],
+ ['perm', '/mapping/notification/{name}', ['Mapping.Audit']],
+ ],
+ },
+ parameters => {
+ additionalProperties => 0,
+ properties => {
+ name => {
+ description => 'Name of the target.',
+ type => 'string',
+ format => 'pve-configid'
+ },
+ },
+ },
+ returns => { type => 'null' },
+ code => sub {
+ my ($param) = @_;
+ my $name = extract_param($param, 'name');
+
+ my $config = PVE::Notify::read_config();
+
+ eval {
+ $config->test_target($name);
+ };
+
+ raise_api_error($@) if $@;
+
+ return;
+ }
+});
+
my $group_properties = {
name => {
description => 'Name of the group.',
--
2.39.2
More information about the pve-devel
mailing list