WIP REST routes to create / update Network filters
This commit is contained in:
@ -238,60 +238,60 @@ pub struct NetworkFilterRuleXML {
|
||||
pub priority: Option<i32>,
|
||||
|
||||
/// Match all protocols
|
||||
#[serde(skip_serializing_if = "Option::is_none")]
|
||||
pub all: Option<NetworkFilterRuleProtocolAll>,
|
||||
#[serde(skip_serializing_if = "Vec::is_empty")]
|
||||
pub all: Vec<NetworkFilterRuleProtocolAll>,
|
||||
|
||||
/// Match mac protocol
|
||||
#[serde(default, rename = "mac", skip_serializing_if = "Vec::is_empty")]
|
||||
pub mac_rules: Vec<NetworkFilterRuleProtocolMac>,
|
||||
pub mac_selectors: Vec<NetworkFilterRuleProtocolMac>,
|
||||
|
||||
/// Match arp protocol
|
||||
#[serde(default, rename = "arp", skip_serializing_if = "Vec::is_empty")]
|
||||
pub arp_rules: Vec<NetworkFilterRuleProtocolArp>,
|
||||
pub arp_selectors: Vec<NetworkFilterRuleProtocolArp>,
|
||||
|
||||
/// Match rarp protocol
|
||||
#[serde(default, rename = "arp", skip_serializing_if = "Vec::is_empty")]
|
||||
pub rarp_rules: Vec<NetworkFilterRuleProtocolArp>,
|
||||
pub rarp_selectors: Vec<NetworkFilterRuleProtocolArp>,
|
||||
|
||||
/// Match IPv4 protocol
|
||||
#[serde(default, rename = "ip", skip_serializing_if = "Vec::is_empty")]
|
||||
pub ipv4_rules: Vec<NetworkFilterRuleProtocolIpvx>,
|
||||
pub ipv4_selectors: Vec<NetworkFilterRuleProtocolIpvx>,
|
||||
|
||||
/// Match IPv6 protocol
|
||||
#[serde(default, rename = "ipv6", skip_serializing_if = "Vec::is_empty")]
|
||||
pub ipv6_rules: Vec<NetworkFilterRuleProtocolIpvx>,
|
||||
pub ipv6_selectors: Vec<NetworkFilterRuleProtocolIpvx>,
|
||||
|
||||
/// Match TCP protocol
|
||||
#[serde(default, rename = "tcp", skip_serializing_if = "Vec::is_empty")]
|
||||
pub tcp_rules: Vec<NetworkFilterRuleProtocolLayer4<Ipv4Addr>>,
|
||||
pub tcp_selectors: Vec<NetworkFilterRuleProtocolLayer4<Ipv4Addr>>,
|
||||
|
||||
/// Match UDP protocol
|
||||
#[serde(default, rename = "udp", skip_serializing_if = "Vec::is_empty")]
|
||||
pub udp_rules: Vec<NetworkFilterRuleProtocolLayer4<Ipv4Addr>>,
|
||||
pub udp_selectors: Vec<NetworkFilterRuleProtocolLayer4<Ipv4Addr>>,
|
||||
|
||||
/// Match SCTP protocol
|
||||
#[serde(default, rename = "sctp", skip_serializing_if = "Vec::is_empty")]
|
||||
pub sctp_rules: Vec<NetworkFilterRuleProtocolLayer4<Ipv4Addr>>,
|
||||
pub sctp_selectors: Vec<NetworkFilterRuleProtocolLayer4<Ipv4Addr>>,
|
||||
|
||||
/// Match ICMP protocol
|
||||
#[serde(default, rename = "icmp", skip_serializing_if = "Vec::is_empty")]
|
||||
pub imcp_rules: Vec<NetworkFilterRuleProtocolLayer4<Ipv4Addr>>,
|
||||
pub imcp_selectors: Vec<NetworkFilterRuleProtocolLayer4<Ipv4Addr>>,
|
||||
|
||||
/// Match TCP IPv6 protocol
|
||||
#[serde(default, rename = "tcp-ipv6", skip_serializing_if = "Vec::is_empty")]
|
||||
pub tcp_ipv6_rules: Vec<NetworkFilterRuleProtocolLayer4<Ipv6Addr>>,
|
||||
pub tcp_ipv6_selectors: Vec<NetworkFilterRuleProtocolLayer4<Ipv6Addr>>,
|
||||
|
||||
/// Match UDP IPv6 protocol
|
||||
#[serde(default, rename = "udp-ipv6", skip_serializing_if = "Vec::is_empty")]
|
||||
pub udp_ipv6_rules: Vec<NetworkFilterRuleProtocolLayer4<Ipv6Addr>>,
|
||||
pub udp_ipv6_selectors: Vec<NetworkFilterRuleProtocolLayer4<Ipv6Addr>>,
|
||||
|
||||
/// Match SCTP IPv6 protocol
|
||||
#[serde(default, rename = "sctp-ipv6", skip_serializing_if = "Vec::is_empty")]
|
||||
pub sctp_ipv6_rules: Vec<NetworkFilterRuleProtocolLayer4<Ipv6Addr>>,
|
||||
pub sctp_ipv6_selectors: Vec<NetworkFilterRuleProtocolLayer4<Ipv6Addr>>,
|
||||
|
||||
/// Match ICMP IPv6 protocol
|
||||
#[serde(default, rename = "icmpv6", skip_serializing_if = "Vec::is_empty")]
|
||||
pub imcp_ipv6_rules: Vec<NetworkFilterRuleProtocolLayer4<Ipv6Addr>>,
|
||||
pub imcp_ipv6_selectors: Vec<NetworkFilterRuleProtocolLayer4<Ipv6Addr>>,
|
||||
}
|
||||
|
||||
#[derive(serde::Serialize, serde::Deserialize, Debug)]
|
||||
@ -299,8 +299,12 @@ pub struct NetworkFilterRuleXML {
|
||||
pub struct NetworkFilterXML {
|
||||
#[serde(rename(serialize = "@name"))]
|
||||
pub name: String,
|
||||
#[serde(rename(serialize = "@chain"), default)]
|
||||
pub chain: String,
|
||||
#[serde(
|
||||
rename(serialize = "@chain"),
|
||||
skip_serializing_if = "Option::is_none",
|
||||
default
|
||||
)]
|
||||
pub chain: Option<String>,
|
||||
#[serde(
|
||||
skip_serializing_if = "Option::is_none",
|
||||
rename(serialize = "@priority"),
|
||||
|
Reference in New Issue
Block a user