use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum PveKeyKeyEnum {
#[serde(rename = "ip-next-hop-peer-address")]
IpNextHopPeerAddress,
#[serde(rename = "ip-next-hop")]
IpNextHop,
#[serde(rename = "ip-next-hop-unchanged")]
IpNextHopUnchanged,
#[serde(rename = "ip6-next-hop-peer-address")]
Ip6NextHopPeerAddress,
#[serde(rename = "ip6-next-hop-prefer-global")]
Ip6NextHopPreferGlobal,
#[serde(rename = "ip6-next-hop")]
Ip6NextHop,
#[serde(rename = "local-preference")]
LocalPreference,
#[serde(rename = "tag")]
Tag,
#[serde(rename = "weight")]
Weight,
#[serde(rename = "metric")]
Metric,
#[serde(rename = "src")]
Src,
}
impl std::fmt::Display for PveKeyKeyEnum {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
match self {
Self::IpNextHopPeerAddress => write!(f, "ip-next-hop-peer-address"),
Self::IpNextHop => write!(f, "ip-next-hop"),
Self::IpNextHopUnchanged => write!(f, "ip-next-hop-unchanged"),
Self::Ip6NextHopPeerAddress => write!(f, "ip6-next-hop-peer-address"),
Self::Ip6NextHopPreferGlobal => write!(f, "ip6-next-hop-prefer-global"),
Self::Ip6NextHop => write!(f, "ip6-next-hop"),
Self::LocalPreference => write!(f, "local-preference"),
Self::Tag => write!(f, "tag"),
Self::Weight => write!(f, "weight"),
Self::Metric => write!(f, "metric"),
Self::Src => write!(f, "src"),
}
}
}
impl Default for PveKeyKeyEnum {
fn default() -> PveKeyKeyEnum {
Self::IpNextHopPeerAddress
}
}