From 89ef8b503544faf573736077ee9ea10448ef9c87 Mon Sep 17 00:00:00 2001 From: Lukas Wagner Date: Tue, 23 Apr 2024 13:52:05 +0200 Subject: [PATCH] api-types: api: tape: add notification-mode parameter Same as with datastores, this option determines whether we send notifications the old way (send email via sendmail to a user's email address) or the new way (emit matchable notification events to the notification stack). Signed-off-by: Lukas Wagner Tested-by: Gabriel Goller Reviewed-by: Gabriel Goller Tested-by: Maximiliano Sandoval Signed-off-by: Thomas Lamprecht --- pbs-api-types/src/jobs.rs | 8 +++++--- src/api2/config/tape_backup_job.rs | 8 ++++++++ 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/pbs-api-types/src/jobs.rs b/pbs-api-types/src/jobs.rs index 6fb9b187..868702bc 100644 --- a/pbs-api-types/src/jobs.rs +++ b/pbs-api-types/src/jobs.rs @@ -8,9 +8,9 @@ use serde::{Deserialize, Serialize}; use proxmox_schema::*; use crate::{ - Authid, BackupNamespace, BackupType, RateLimitConfig, Userid, BACKUP_GROUP_SCHEMA, - BACKUP_NAMESPACE_SCHEMA, BACKUP_NS_RE, DATASTORE_SCHEMA, DRIVE_NAME_SCHEMA, - MEDIA_POOL_NAME_SCHEMA, NS_MAX_DEPTH_REDUCED_SCHEMA, PROXMOX_SAFE_ID_FORMAT, + Authid, BackupNamespace, BackupType, NotificationMode, RateLimitConfig, Userid, + BACKUP_GROUP_SCHEMA, BACKUP_NAMESPACE_SCHEMA, BACKUP_NS_RE, DATASTORE_SCHEMA, + DRIVE_NAME_SCHEMA, MEDIA_POOL_NAME_SCHEMA, NS_MAX_DEPTH_REDUCED_SCHEMA, PROXMOX_SAFE_ID_FORMAT, PROXMOX_SAFE_ID_REGEX_STR, REMOTE_ID_SCHEMA, SINGLE_LINE_COMMENT_SCHEMA, }; @@ -325,6 +325,8 @@ pub struct TapeBackupJobSetup { #[serde(skip_serializing_if = "Option::is_none")] pub notify_user: Option, #[serde(skip_serializing_if = "Option::is_none")] + pub notification_mode: Option, + #[serde(skip_serializing_if = "Option::is_none")] pub group_filter: Option>, #[serde(skip_serializing_if = "Option::is_none", default)] pub ns: Option, diff --git a/src/api2/config/tape_backup_job.rs b/src/api2/config/tape_backup_job.rs index 386ff530..e425cbb5 100644 --- a/src/api2/config/tape_backup_job.rs +++ b/src/api2/config/tape_backup_job.rs @@ -132,6 +132,8 @@ pub enum DeletableProperty { LatestOnly, /// Delete the 'notify-user' property NotifyUser, + /// Delete the 'notification-mode' property + NotificationMode, /// Delete the 'group_filter' property GroupFilter, /// Delete the 'max-depth' property @@ -202,6 +204,9 @@ pub fn update_tape_backup_job( DeletableProperty::NotifyUser => { data.setup.notify_user = None; } + DeletableProperty::NotificationMode => { + data.setup.notification_mode = None; + } DeletableProperty::Schedule => { data.schedule = None; } @@ -243,6 +248,9 @@ pub fn update_tape_backup_job( if update.setup.notify_user.is_some() { data.setup.notify_user = update.setup.notify_user; } + if update.setup.notification_mode.is_some() { + data.setup.notification_mode = update.setup.notification_mode; + } if update.setup.group_filter.is_some() { data.setup.group_filter = update.setup.group_filter; }