/*
 * 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 CableTypeChoices {
    #[serde(rename = "cat3")]
    Cat3,
    #[serde(rename = "cat5")]
    Cat5,
    #[serde(rename = "cat5e")]
    Cat5e,
    #[serde(rename = "cat6")]
    Cat6,
    #[serde(rename = "cat6a")]
    Cat6a,
    #[serde(rename = "cat7")]
    Cat7,
    #[serde(rename = "cat7a")]
    Cat7a,
    #[serde(rename = "cat8")]
    Cat8,
    #[serde(rename = "dac-active")]
    DacActive,
    #[serde(rename = "dac-passive")]
    DacPassive,
    #[serde(rename = "mrj21-trunk")]
    Mrj21Trunk,
    #[serde(rename = "coaxial")]
    Coaxial,
    #[serde(rename = "mmf")]
    Mmf,
    #[serde(rename = "mmf-om1")]
    MmfOm1,
    #[serde(rename = "mmf-om2")]
    MmfOm2,
    #[serde(rename = "mmf-om3")]
    MmfOm3,
    #[serde(rename = "mmf-om4")]
    MmfOm4,
    #[serde(rename = "mmf-om5")]
    MmfOm5,
    #[serde(rename = "smf")]
    Smf,
    #[serde(rename = "smf-os1")]
    SmfOs1,
    #[serde(rename = "smf-os2")]
    SmfOs2,
    #[serde(rename = "aoc")]
    Aoc,
    #[serde(rename = "power")]
    Power,
    #[serde(rename = "other")]
    Other,
}

impl ToString for CableTypeChoices {
    fn to_string(&self) -> String {
        match self {
            Self::Cat3 => String::from("cat3"),
            Self::Cat5 => String::from("cat5"),
            Self::Cat5e => String::from("cat5e"),
            Self::Cat6 => String::from("cat6"),
            Self::Cat6a => String::from("cat6a"),
            Self::Cat7 => String::from("cat7"),
            Self::Cat7a => String::from("cat7a"),
            Self::Cat8 => String::from("cat8"),
            Self::DacActive => String::from("dac-active"),
            Self::DacPassive => String::from("dac-passive"),
            Self::Mrj21Trunk => String::from("mrj21-trunk"),
            Self::Coaxial => String::from("coaxial"),
            Self::Mmf => String::from("mmf"),
            Self::MmfOm1 => String::from("mmf-om1"),
            Self::MmfOm2 => String::from("mmf-om2"),
            Self::MmfOm3 => String::from("mmf-om3"),
            Self::MmfOm4 => String::from("mmf-om4"),
            Self::MmfOm5 => String::from("mmf-om5"),
            Self::Smf => String::from("smf"),
            Self::SmfOs1 => String::from("smf-os1"),
            Self::SmfOs2 => String::from("smf-os2"),
            Self::Aoc => String::from("aoc"),
            Self::Power => String::from("power"),
            Self::Other => String::from("other"),
        }
    }
}

impl Default for CableTypeChoices {
    fn default() -> CableTypeChoices {
        Self::Cat3
    }
}
