pub struct ApplicationDefinition<'a> {
pub name: &'a str,
pub category: &'a str,
pub transports: &'a [TransportService],
pub indicators: ApplicationIndicators<'a>,
}Fields§
§name: &'a str§category: &'a str§transports: &'a [TransportService]§indicators: ApplicationIndicators<'a>Implementations§
Source§impl<'a> ApplicationDefinition<'a>
impl<'a> ApplicationDefinition<'a>
Sourcepub fn matches(&self, input: &ApplicationMatchInput<'_>) -> bool
pub fn matches(&self, input: &ApplicationMatchInput<'_>) -> bool
Returns true when the provided metadata satisfies this application’s indicators.
use firewall_objects::service::application::{
ApplicationDefinition, ApplicationIndicators, ApplicationMatchInput,
};
use firewall_objects::service::TransportService;
let app = ApplicationDefinition {
name: "example",
category: "test",
transports: &[TransportService::tcp(443)],
indicators: ApplicationIndicators {
dns_suffixes: &[".example.com"],
tls_sni_suffixes: &[],
http_hosts: &["example.com"],
},
};
let input = ApplicationMatchInput {
http_host: Some("example.com"),
..Default::default()
};
assert!(app.matches(&input));Trait Implementations§
Source§impl<'a> Clone for ApplicationDefinition<'a>
impl<'a> Clone for ApplicationDefinition<'a>
Source§fn clone(&self) -> ApplicationDefinition<'a>
fn clone(&self) -> ApplicationDefinition<'a>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<'a> Debug for ApplicationDefinition<'a>
impl<'a> Debug for ApplicationDefinition<'a>
Source§impl<'a> From<ApplicationDefinition<'a>> for ApplicationObj
impl<'a> From<ApplicationDefinition<'a>> for ApplicationObj
Source§fn from(def: ApplicationDefinition<'a>) -> Self
fn from(def: ApplicationDefinition<'a>) -> Self
Converts to this type from the input type.
Source§impl<'a> PartialEq for ApplicationDefinition<'a>
impl<'a> PartialEq for ApplicationDefinition<'a>
impl<'a> Copy for ApplicationDefinition<'a>
impl<'a> Eq for ApplicationDefinition<'a>
impl<'a> StructuralPartialEq for ApplicationDefinition<'a>
Auto Trait Implementations§
impl<'a> Freeze for ApplicationDefinition<'a>
impl<'a> RefUnwindSafe for ApplicationDefinition<'a>
impl<'a> Send for ApplicationDefinition<'a>
impl<'a> Sync for ApplicationDefinition<'a>
impl<'a> Unpin for ApplicationDefinition<'a>
impl<'a> UnwindSafe for ApplicationDefinition<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more