nodesty_api_library/models/
firewall.rs1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Serialize, Deserialize)]
4#[serde(rename_all = "camelCase")]
5pub struct AttackNotificationSettings {
6 pub email_notification: bool,
7 #[serde(skip_serializing_if = "Option::is_none")]
8 pub discord_webhook_url: Option<String>,
9}
10
11#[derive(Debug, Serialize, Deserialize)]
12#[serde(rename_all = "camelCase")]
13pub struct FirewallAttackLog {
14 pub started_at: u64,
15 pub ended_at: u64,
16 pub vectors: Vec<String>,
17 pub peak: u64,
18}
19
20#[derive(Debug, Serialize, Deserialize)]
21#[serde(rename_all = "camelCase")]
22pub struct FirewallReverseDns {
23 #[serde(skip_serializing_if = "Option::is_none")]
24 pub rdns: Option<String>,
25}
26
27#[derive(Debug, Serialize, Deserialize)]
28#[serde(rename_all = "camelCase")]
29pub struct FirewallRule {
30 pub id: u32,
31 pub protocol: String,
32 pub service: String,
33 pub port: u16,
34}
35
36#[derive(Debug, Serialize, Deserialize)]
37#[serde(rename_all = "camelCase")]
38pub struct FirewallCreateRuleData {
39 pub port: u16,
40 pub app_id: u32,
41}
42
43#[derive(Debug, Serialize, Deserialize)]
44#[serde(rename_all = "camelCase")]
45pub struct FirewallStatistics {
46 pub timestamp: String,
47 pub total_pass_traffic: String,
48 pub total_drop_traffic: String,
49}