mirror of
https://git.proxmox.com/git/proxmox
synced 2025-08-04 05:45:32 +00:00
api-types: api: datatore: add notification-mode parameter
This one lets the user choose between the old notification behavior (selecting an email address/user and always/error/never behavior per datastore) and the new one (emit notification events to the notification system) Signed-off-by: Lukas Wagner <l.wagner@proxmox.com> Tested-by: Gabriel Goller <g.goller@proxmox.com> Reviewed-by: Gabriel Goller <g.goller@proxmox.com> Tested-by: Maximiliano Sandoval <m.sandoval@proxmox.com> Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
This commit is contained in:
parent
730f4e58ff
commit
90603f6e25
@ -309,6 +309,10 @@ pub struct DataStoreConfig {
|
|||||||
#[serde(skip_serializing_if = "Option::is_none")]
|
#[serde(skip_serializing_if = "Option::is_none")]
|
||||||
pub notify: Option<String>,
|
pub notify: Option<String>,
|
||||||
|
|
||||||
|
/// Opt in to the new notification system
|
||||||
|
#[serde(skip_serializing_if = "Option::is_none")]
|
||||||
|
pub notification_mode: Option<NotificationMode>,
|
||||||
|
|
||||||
/// Datastore tuning options
|
/// Datastore tuning options
|
||||||
#[serde(skip_serializing_if = "Option::is_none")]
|
#[serde(skip_serializing_if = "Option::is_none")]
|
||||||
pub tuning: Option<String>,
|
pub tuning: Option<String>,
|
||||||
@ -318,6 +322,23 @@ pub struct DataStoreConfig {
|
|||||||
pub maintenance_mode: Option<String>,
|
pub maintenance_mode: Option<String>,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[api]
|
||||||
|
#[derive(Serialize, Deserialize, Updater, Clone, PartialEq, Default)]
|
||||||
|
#[serde(rename_all = "kebab-case")]
|
||||||
|
/// Configure how notifications for this datastore should be sent.
|
||||||
|
/// `legacy-sendmail` sends email notifications to the user configured
|
||||||
|
/// in `notify-user` via the system's `sendmail` executable.
|
||||||
|
/// `notification-system` emits matchable notification events to the
|
||||||
|
/// notification system.
|
||||||
|
pub enum NotificationMode {
|
||||||
|
/// Send notifications via the system's sendmail command to the user
|
||||||
|
/// configured in `notify-user`
|
||||||
|
#[default]
|
||||||
|
LegacySendmail,
|
||||||
|
/// Emit notification events to the notification system
|
||||||
|
NotificationSystem,
|
||||||
|
}
|
||||||
|
|
||||||
impl DataStoreConfig {
|
impl DataStoreConfig {
|
||||||
pub fn new(name: String, path: String) -> Self {
|
pub fn new(name: String, path: String) -> Self {
|
||||||
Self {
|
Self {
|
||||||
@ -330,6 +351,7 @@ impl DataStoreConfig {
|
|||||||
verify_new: None,
|
verify_new: None,
|
||||||
notify_user: None,
|
notify_user: None,
|
||||||
notify: None,
|
notify: None,
|
||||||
|
notification_mode: None,
|
||||||
tuning: None,
|
tuning: None,
|
||||||
maintenance_mode: None,
|
maintenance_mode: None,
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user