usiem/components/
alert.rs1use super::mitre::MitreTechniques;
2use super::SiemLog;
3use serde::{Deserialize, Serialize};
4
5#[derive(Serialize, Deserialize, Debug, Clone)]
6pub enum AlertSeverity {
7 INFORMATIONAL,
8 LOW,
9 MEDIUM,
10 HIGH,
11 CRITICAL,
12}
13
14#[derive(Serialize, Deserialize, Debug, Clone)]
16pub struct SiemAlert {
17 pub title: String,
18 pub description: String,
19 pub severity: AlertSeverity,
21 pub date: i64,
23 pub tags: Vec<String>,
25 pub techniques: Vec<MitreTechniques>,
27 pub rule: String,
29 pub log: SiemLog,
31 pub aggregation: Option<AlertAggregation>,
32}
33#[derive(Serialize, Deserialize, Debug, Clone)]
34pub struct AlertAggregation {
35 pub limit: i64,
37 pub key: String,
39}