nodesty_api_library/models/
firewall.rs

1use 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}