use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum PveClusterSdnKeyEnum {
#[serde(rename = "route-type")]
RouteType,
#[serde(rename = "vni")]
Vni,
#[serde(rename = "ip-address-prefix-list")]
IpAddressPrefixList,
#[serde(rename = "ip6-address-prefix-list")]
Ip6AddressPrefixList,
#[serde(rename = "ip-next-hop-prefix-list")]
IpNextHopPrefixList,
#[serde(rename = "ip6-next-hop-prefix-list")]
Ip6NextHopPrefixList,
#[serde(rename = "ip-next-hop-address")]
IpNextHopAddress,
#[serde(rename = "ip6-next-hop-address")]
Ip6NextHopAddress,
#[serde(rename = "metric")]
Metric,
#[serde(rename = "local-preference")]
LocalPreference,
#[serde(rename = "peer")]
Peer,
#[serde(rename = "tag")]
Tag,
}
impl std::fmt::Display for PveClusterSdnKeyEnum {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
match self {
Self::RouteType => write!(f, "route-type"),
Self::Vni => write!(f, "vni"),
Self::IpAddressPrefixList => write!(f, "ip-address-prefix-list"),
Self::Ip6AddressPrefixList => write!(f, "ip6-address-prefix-list"),
Self::IpNextHopPrefixList => write!(f, "ip-next-hop-prefix-list"),
Self::Ip6NextHopPrefixList => write!(f, "ip6-next-hop-prefix-list"),
Self::IpNextHopAddress => write!(f, "ip-next-hop-address"),
Self::Ip6NextHopAddress => write!(f, "ip6-next-hop-address"),
Self::Metric => write!(f, "metric"),
Self::LocalPreference => write!(f, "local-preference"),
Self::Peer => write!(f, "peer"),
Self::Tag => write!(f, "tag"),
}
}
}
impl Default for PveClusterSdnKeyEnum {
fn default() -> PveClusterSdnKeyEnum {
Self::RouteType
}
}