zabbix_api/trigger/
create.rs

1use serde::{Deserialize, Serialize};
2
3use super::model::ZabbixTriggerTag;
4
5#[derive(Serialize, Debug, Clone)]
6pub struct CreateTriggerRequest {
7    pub description: String,
8    pub expression: String,
9    pub priority: u8,
10
11    #[serde(skip_serializing_if = "Option::is_none")]
12    pub recovery_mode: Option<u8>,
13
14    #[serde(skip_serializing_if = "Option::is_none")]
15    pub recovery_expression: Option<String>,
16
17    #[serde(skip_serializing_if = "Option::is_none")]
18    pub url: Option<String>,
19
20    #[serde(skip_serializing_if = "Option::is_none")]
21    pub event_name: Option<String>,
22
23    pub dependencies: Vec<ZabbixTriggerDependency>,
24    pub tags: Vec<ZabbixTriggerTag>,
25}
26
27#[derive(Serialize, Debug, Clone)]
28pub struct ZabbixTriggerDependency {
29    #[serde(alias = "triggerid")]
30    pub trigger_id: String,
31}
32
33#[derive(Deserialize, Debug, Clone)]
34pub struct CreateTriggerResponse {
35    #[serde(rename = "triggerids")]
36    pub trigger_ids: Vec<String>,
37}