/*
 * API Documentation
 *
 * Source of truth and network automation platform
 *
 * The version of the OpenAPI document: 3.1.0 (3.1)
 *
 * Generated by: https://openapi-generator.tech
 */

///
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum PortTypeChoices {
    #[serde(rename = "8p8c")]
    Variant8p8c,
    #[serde(rename = "8p6c")]
    Variant8p6c,
    #[serde(rename = "8p4c")]
    Variant8p4c,
    #[serde(rename = "8p2c")]
    Variant8p2c,
    #[serde(rename = "6p6c")]
    Variant6p6c,
    #[serde(rename = "6p4c")]
    Variant6p4c,
    #[serde(rename = "6p2c")]
    Variant6p2c,
    #[serde(rename = "4p4c")]
    Variant4p4c,
    #[serde(rename = "4p2c")]
    Variant4p2c,
    #[serde(rename = "gg45")]
    Gg45,
    #[serde(rename = "tera-4p")]
    Tera4p,
    #[serde(rename = "tera-2p")]
    Tera2p,
    #[serde(rename = "tera-1p")]
    Tera1p,
    #[serde(rename = "110-punch")]
    Variant110Punch,
    #[serde(rename = "bnc")]
    Bnc,
    #[serde(rename = "f")]
    F,
    #[serde(rename = "n")]
    N,
    #[serde(rename = "mrj21")]
    Mrj21,
    #[serde(rename = "fc")]
    Fc,
    #[serde(rename = "lc")]
    Lc,
    #[serde(rename = "lc-pc")]
    LcPc,
    #[serde(rename = "lc-upc")]
    LcUpc,
    #[serde(rename = "lc-apc")]
    LcApc,
    #[serde(rename = "lsh")]
    Lsh,
    #[serde(rename = "lsh-pc")]
    LshPc,
    #[serde(rename = "lsh-upc")]
    LshUpc,
    #[serde(rename = "lsh-apc")]
    LshApc,
    #[serde(rename = "lx5")]
    Lx5,
    #[serde(rename = "lx5-pc")]
    Lx5Pc,
    #[serde(rename = "lx5-upc")]
    Lx5Upc,
    #[serde(rename = "lx5-apc")]
    Lx5Apc,
    #[serde(rename = "mpo")]
    Mpo,
    #[serde(rename = "mtrj")]
    Mtrj,
    #[serde(rename = "sc")]
    Sc,
    #[serde(rename = "sc-pc")]
    ScPc,
    #[serde(rename = "sc-upc")]
    ScUpc,
    #[serde(rename = "sc-apc")]
    ScApc,
    #[serde(rename = "st")]
    St,
    #[serde(rename = "cs")]
    Cs,
    #[serde(rename = "cs-pc")]
    CsPc,
    #[serde(rename = "cs-upc")]
    CsUpc,
    #[serde(rename = "cs-apc")]
    CsApc,
    #[serde(rename = "sn")]
    Sn,
    #[serde(rename = "sma-905")]
    Sma905,
    #[serde(rename = "sma-906")]
    Sma906,
    #[serde(rename = "urm-p2")]
    UrmP2,
    #[serde(rename = "urm-p4")]
    UrmP4,
    #[serde(rename = "urm-p8")]
    UrmP8,
    #[serde(rename = "splice")]
    Splice,
    #[serde(rename = "other")]
    Other,
}

impl ToString for PortTypeChoices {
    fn to_string(&self) -> String {
        match self {
            Self::Variant8p8c => String::from("8p8c"),
            Self::Variant8p6c => String::from("8p6c"),
            Self::Variant8p4c => String::from("8p4c"),
            Self::Variant8p2c => String::from("8p2c"),
            Self::Variant6p6c => String::from("6p6c"),
            Self::Variant6p4c => String::from("6p4c"),
            Self::Variant6p2c => String::from("6p2c"),
            Self::Variant4p4c => String::from("4p4c"),
            Self::Variant4p2c => String::from("4p2c"),
            Self::Gg45 => String::from("gg45"),
            Self::Tera4p => String::from("tera-4p"),
            Self::Tera2p => String::from("tera-2p"),
            Self::Tera1p => String::from("tera-1p"),
            Self::Variant110Punch => String::from("110-punch"),
            Self::Bnc => String::from("bnc"),
            Self::F => String::from("f"),
            Self::N => String::from("n"),
            Self::Mrj21 => String::from("mrj21"),
            Self::Fc => String::from("fc"),
            Self::Lc => String::from("lc"),
            Self::LcPc => String::from("lc-pc"),
            Self::LcUpc => String::from("lc-upc"),
            Self::LcApc => String::from("lc-apc"),
            Self::Lsh => String::from("lsh"),
            Self::LshPc => String::from("lsh-pc"),
            Self::LshUpc => String::from("lsh-upc"),
            Self::LshApc => String::from("lsh-apc"),
            Self::Lx5 => String::from("lx5"),
            Self::Lx5Pc => String::from("lx5-pc"),
            Self::Lx5Upc => String::from("lx5-upc"),
            Self::Lx5Apc => String::from("lx5-apc"),
            Self::Mpo => String::from("mpo"),
            Self::Mtrj => String::from("mtrj"),
            Self::Sc => String::from("sc"),
            Self::ScPc => String::from("sc-pc"),
            Self::ScUpc => String::from("sc-upc"),
            Self::ScApc => String::from("sc-apc"),
            Self::St => String::from("st"),
            Self::Cs => String::from("cs"),
            Self::CsPc => String::from("cs-pc"),
            Self::CsUpc => String::from("cs-upc"),
            Self::CsApc => String::from("cs-apc"),
            Self::Sn => String::from("sn"),
            Self::Sma905 => String::from("sma-905"),
            Self::Sma906 => String::from("sma-906"),
            Self::UrmP2 => String::from("urm-p2"),
            Self::UrmP4 => String::from("urm-p4"),
            Self::UrmP8 => String::from("urm-p8"),
            Self::Splice => String::from("splice"),
            Self::Other => String::from("other"),
        }
    }
}

impl Default for PortTypeChoices {
    fn default() -> PortTypeChoices {
        Self::Variant8p8c
    }
}
