zabbix_api/trigger/
create.rs1use 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}