#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ThreatLog {
#[prost(string, tag = "1")]
pub name: ::prost::alloc::string::String,
#[prost(string, tag = "13")]
pub threat_id: ::prost::alloc::string::String,
#[prost(message, optional, tag = "2")]
pub alert_time: ::core::option::Option<::prost_types::Timestamp>,
#[prost(enumeration = "threat_log::Severity", tag = "19")]
pub alert_severity: i32,
#[prost(string, tag = "4")]
pub r#type: ::prost::alloc::string::String,
#[prost(string, tag = "18")]
pub category: ::prost::alloc::string::String,
#[prost(string, tag = "5")]
pub source_ip_address: ::prost::alloc::string::String,
#[prost(int32, tag = "6")]
pub source_port: i32,
#[prost(string, tag = "7")]
pub destination_ip_address: ::prost::alloc::string::String,
#[prost(int32, tag = "8")]
pub destination_port: i32,
#[prost(string, tag = "9")]
pub ip_protocol: ::prost::alloc::string::String,
#[prost(enumeration = "threat_log::Direction", tag = "10")]
pub direction: i32,
#[prost(string, tag = "14")]
pub session_id: ::prost::alloc::string::String,
#[prost(string, tag = "15")]
pub repeat_count: ::prost::alloc::string::String,
#[prost(string, tag = "16")]
pub application: ::prost::alloc::string::String,
#[prost(string, tag = "17")]
pub uri_or_filename: ::prost::alloc::string::String,
#[prost(string, repeated, tag = "20")]
pub cves: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
#[prost(string, tag = "11")]
pub details: ::prost::alloc::string::String,
#[prost(string, tag = "12")]
pub network: ::prost::alloc::string::String,
}
pub mod threat_log {
#[derive(
Clone,
Copy,
Debug,
PartialEq,
Eq,
Hash,
PartialOrd,
Ord,
::prost::Enumeration
)]
#[repr(i32)]
pub enum Severity {
Unspecified = 0,
Low = 2,
Medium = 3,
High = 4,
Critical = 5,
Informational = 6,
}
impl Severity {
pub fn as_str_name(&self) -> &'static str {
match self {
Severity::Unspecified => "SEVERITY_UNSPECIFIED",
Severity::Low => "LOW",
Severity::Medium => "MEDIUM",
Severity::High => "HIGH",
Severity::Critical => "CRITICAL",
Severity::Informational => "INFORMATIONAL",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"SEVERITY_UNSPECIFIED" => Some(Self::Unspecified),
"LOW" => Some(Self::Low),
"MEDIUM" => Some(Self::Medium),
"HIGH" => Some(Self::High),
"CRITICAL" => Some(Self::Critical),
"INFORMATIONAL" => Some(Self::Informational),
_ => None,
}
}
}
#[derive(
Clone,
Copy,
Debug,
PartialEq,
Eq,
Hash,
PartialOrd,
Ord,
::prost::Enumeration
)]
#[repr(i32)]
pub enum Direction {
Undefined = 0,
ClientToServer = 1,
ServerToClient = 2,
}
impl Direction {
pub fn as_str_name(&self) -> &'static str {
match self {
Direction::Undefined => "DIRECTION_UNDEFINED",
Direction::ClientToServer => "CLIENT_TO_SERVER",
Direction::ServerToClient => "SERVER_TO_CLIENT",
}
}
pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
match value {
"DIRECTION_UNDEFINED" => Some(Self::Undefined),
"CLIENT_TO_SERVER" => Some(Self::ClientToServer),
"SERVER_TO_CLIENT" => Some(Self::ServerToClient),
_ => None,
}
}
}
}
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TrafficLog {
#[prost(message, optional, tag = "1")]
pub start_time: ::core::option::Option<::prost_types::Timestamp>,
#[prost(message, optional, tag = "2")]
pub elapsed_time: ::core::option::Option<::prost_types::Duration>,
#[prost(string, tag = "3")]
pub network: ::prost::alloc::string::String,
#[prost(string, tag = "4")]
pub source_ip_address: ::prost::alloc::string::String,
#[prost(int32, tag = "5")]
pub source_port: i32,
#[prost(string, tag = "6")]
pub destination_ip_address: ::prost::alloc::string::String,
#[prost(int32, tag = "7")]
pub destination_port: i32,
#[prost(string, tag = "8")]
pub ip_protocol: ::prost::alloc::string::String,
#[prost(string, tag = "9")]
pub application: ::prost::alloc::string::String,
#[prost(string, tag = "12")]
pub session_id: ::prost::alloc::string::String,
#[prost(string, tag = "13")]
pub repeat_count: ::prost::alloc::string::String,
#[prost(int64, tag = "14")]
pub total_bytes: i64,
#[prost(int64, tag = "15")]
pub total_packets: i64,
}