From 91357c203497ad3f3209ee6c9a2a51e0d064ecd8 Mon Sep 17 00:00:00 2001 From: Dominik Csapak Date: Thu, 4 Nov 2021 10:56:19 +0100 Subject: [PATCH] tape backup jobs: add group filters to config/api Signed-off-by: Dominik Csapak Signed-off-by: Thomas Lamprecht --- pbs-api-types/src/jobs.rs | 6 ++++++ src/api2/config/tape_backup_job.rs | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/pbs-api-types/src/jobs.rs b/pbs-api-types/src/jobs.rs index 47da53c0..601d86f9 100644 --- a/pbs-api-types/src/jobs.rs +++ b/pbs-api-types/src/jobs.rs @@ -247,6 +247,10 @@ pub struct VerificationJobStatus { optional: true, type: Userid, }, + groups: { + schema: GROUP_FILTER_LIST_SCHEMA, + optional: true, + }, } )] #[derive(Serialize,Deserialize,Clone,Updater)] @@ -265,6 +269,8 @@ pub struct TapeBackupJobSetup { /// Send job email notification to this user #[serde(skip_serializing_if="Option::is_none")] pub notify_user: Option, + #[serde(skip_serializing_if="Option::is_none")] + pub groups: Option>, } #[api( diff --git a/src/api2/config/tape_backup_job.rs b/src/api2/config/tape_backup_job.rs index 6c5680d3..84dda075 100644 --- a/src/api2/config/tape_backup_job.rs +++ b/src/api2/config/tape_backup_job.rs @@ -133,6 +133,8 @@ pub enum DeletableProperty { LatestOnly, /// Delete the 'notify-user' property NotifyUser, + /// Delete the 'groups' property + Groups, } #[api( @@ -191,6 +193,7 @@ pub fn update_tape_backup_job( DeletableProperty::NotifyUser => { data.setup.notify_user = None; }, DeletableProperty::Schedule => { data.schedule = None; }, DeletableProperty::Comment => { data.comment = None; }, + DeletableProperty::Groups => { data.setup.groups = None; }, } } } @@ -203,6 +206,7 @@ pub fn update_tape_backup_job( if update.setup.export_media_set.is_some() { data.setup.export_media_set = update.setup.export_media_set; } if update.setup.latest_only.is_some() { data.setup.latest_only = update.setup.latest_only; } if update.setup.notify_user.is_some() { data.setup.notify_user = update.setup.notify_user; } + if update.setup.groups.is_some() { data.setup.groups = update.setup.groups; } let schedule_changed = data.schedule != update.schedule; if update.schedule.is_some() { data.schedule = update.schedule; }