#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum EncapsulationEnum {
#[serde(rename = "IPsec-Transport")]
IPsecTransport,
#[serde(rename = "IPsec-Tunnel")]
IPsecTunnel,
#[serde(rename = "IP-in-IP")]
IpInIp,
#[serde(rename = "GRE")]
Gre,
#[serde(rename = "WireGuard")]
WireGuard,
#[serde(rename = "L2TP")]
L2Tp,
#[serde(rename = "PPTP")]
Pptp,
#[serde(rename = "OpenVPN")]
OpenVpn,
#[serde(rename = "EoIP")]
EoIp,
}
impl ToString for EncapsulationEnum {
fn to_string(&self) -> String {
match self {
Self::IPsecTransport => String::from("IPsec-Transport"),
Self::IPsecTunnel => String::from("IPsec-Tunnel"),
Self::IpInIp => String::from("IP-in-IP"),
Self::Gre => String::from("GRE"),
Self::WireGuard => String::from("WireGuard"),
Self::L2Tp => String::from("L2TP"),
Self::Pptp => String::from("PPTP"),
Self::OpenVpn => String::from("OpenVPN"),
Self::EoIp => String::from("EoIP"),
}
}
}
impl Default for EncapsulationEnum {
fn default() -> EncapsulationEnum {
Self::IPsecTransport
}
}