[][src]Struct dfw::types::ContainerDNATRule

pub struct ContainerDNATRule {
    pub src_network: Option<String>,
    pub src_container: Option<String>,
    pub dst_network: String,
    pub dst_container: String,
    pub expose_port: Vec<ExposePort>,

Definition for a rule to be used in the container-DNAT section.


src_network: Option<String>

Network of the source container to apply the rule to.

src_container: Option<String>

Source container to apply the rule to.

dst_network: String

Network of the destination container to apply the rule to.

dst_container: String

Destination container to apply the rule to.

expose_port: Vec<ExposePort>

Ports to apply the rule to.

Defined as:


All of the following are legal TOML fragments:

expose_port = 80
expose_port = [80, 443]
expose_port = "53/udp"
expose_port = ["80/tcp", "53/udp"]

# The following four all result in the same definition
expose_port = { host_port = 8080 }
expose_port = { host_port = 8080, container_port = 8080 }
expose_port = { host_port = 8080, family = "tcp" }
expose_port = { host_port = 8080, container_port = 8080, family = "tcp" }

expose_port = [
    { host_port = 80 },
    { host_port = 53, family = "udp" },
    { host_port = 443, container_port = 8443 },

Trait Implementations

impl Clone for ContainerDNATRule[src]

impl Debug for ContainerDNATRule[src]

impl<'de> Deserialize<'de> for ContainerDNATRule[src]

impl Eq for ContainerDNATRule[src]

impl Hash for ContainerDNATRule[src]

impl PartialEq<ContainerDNATRule> for ContainerDNATRule[src]

impl Process<Iptables> for ContainerDNATRule[src]

impl Process<Nftables> for ContainerDNATRule[src]

impl StructuralEq for ContainerDNATRule[src]

impl StructuralPartialEq for ContainerDNATRule[src]

Auto Trait Implementations

impl RefUnwindSafe for ContainerDNATRule

impl Send for ContainerDNATRule

impl Sync for ContainerDNATRule

impl Unpin for ContainerDNATRule

impl UnwindSafe for ContainerDNATRule

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized

impl<T> Borrow<T> for T where
    T: ?Sized

impl<T> BorrowMut<T> for T where
    T: ?Sized

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 

impl<Q, K> Equivalent<K> for Q where
    K: Borrow<Q> + ?Sized,
    Q: Eq + ?Sized

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 

impl<T> Sealed<T> for T where
    T: ?Sized

impl<T> SendSyncUnwindSafe for T where
    T: Send + Sync + UnwindSafe + ?Sized

impl<T> ToOwned for T where
    T: Clone

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,