/*
 * 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 PowerPortTypeChoices {
    #[serde(rename = "iec-60320-c6")]
    Iec60320C6,
    #[serde(rename = "iec-60320-c8")]
    Iec60320C8,
    #[serde(rename = "iec-60320-c14")]
    Iec60320C14,
    #[serde(rename = "iec-60320-c16")]
    Iec60320C16,
    #[serde(rename = "iec-60320-c20")]
    Iec60320C20,
    #[serde(rename = "iec-60320-c22")]
    Iec60320C22,
    #[serde(rename = "iec-60309-p-n-e-4h")]
    Iec60309PNE4h,
    #[serde(rename = "iec-60309-p-n-e-6h")]
    Iec60309PNE6h,
    #[serde(rename = "iec-60309-p-n-e-9h")]
    Iec60309PNE9h,
    #[serde(rename = "iec-60309-2p-e-4h")]
    Iec603092pE4h,
    #[serde(rename = "iec-60309-2p-e-6h")]
    Iec603092pE6h,
    #[serde(rename = "iec-60309-2p-e-9h")]
    Iec603092pE9h,
    #[serde(rename = "iec-60309-3p-e-4h")]
    Iec603093pE4h,
    #[serde(rename = "iec-60309-3p-e-6h")]
    Iec603093pE6h,
    #[serde(rename = "iec-60309-3p-e-9h")]
    Iec603093pE9h,
    #[serde(rename = "iec-60309-3p-n-e-4h")]
    Iec603093pNE4h,
    #[serde(rename = "iec-60309-3p-n-e-6h")]
    Iec603093pNE6h,
    #[serde(rename = "iec-60309-3p-n-e-9h")]
    Iec603093pNE9h,
    #[serde(rename = "iec-60906-1")]
    Iec609061,
    #[serde(rename = "nbr-14136-10a")]
    Nbr1413610a,
    #[serde(rename = "nbr-14136-20a")]
    Nbr1413620a,
    #[serde(rename = "nema-1-15p")]
    Nema115p,
    #[serde(rename = "nema-5-15p")]
    Nema515p,
    #[serde(rename = "nema-5-20p")]
    Nema520p,
    #[serde(rename = "nema-5-30p")]
    Nema530p,
    #[serde(rename = "nema-5-50p")]
    Nema550p,
    #[serde(rename = "nema-6-15p")]
    Nema615p,
    #[serde(rename = "nema-6-20p")]
    Nema620p,
    #[serde(rename = "nema-6-30p")]
    Nema630p,
    #[serde(rename = "nema-6-50p")]
    Nema650p,
    #[serde(rename = "nema-10-30p")]
    Nema1030p,
    #[serde(rename = "nema-10-50p")]
    Nema1050p,
    #[serde(rename = "nema-14-20p")]
    Nema1420p,
    #[serde(rename = "nema-14-30p")]
    Nema1430p,
    #[serde(rename = "nema-14-50p")]
    Nema1450p,
    #[serde(rename = "nema-14-60p")]
    Nema1460p,
    #[serde(rename = "nema-15-15p")]
    Nema1515p,
    #[serde(rename = "nema-15-20p")]
    Nema1520p,
    #[serde(rename = "nema-15-30p")]
    Nema1530p,
    #[serde(rename = "nema-15-50p")]
    Nema1550p,
    #[serde(rename = "nema-15-60p")]
    Nema1560p,
    #[serde(rename = "nema-l1-15p")]
    NemaL115p,
    #[serde(rename = "nema-l5-15p")]
    NemaL515p,
    #[serde(rename = "nema-l5-20p")]
    NemaL520p,
    #[serde(rename = "nema-l5-30p")]
    NemaL530p,
    #[serde(rename = "nema-l5-50p")]
    NemaL550p,
    #[serde(rename = "nema-l6-15p")]
    NemaL615p,
    #[serde(rename = "nema-l6-20p")]
    NemaL620p,
    #[serde(rename = "nema-l6-30p")]
    NemaL630p,
    #[serde(rename = "nema-l6-50p")]
    NemaL650p,
    #[serde(rename = "nema-l10-30p")]
    NemaL1030p,
    #[serde(rename = "nema-l14-20p")]
    NemaL1420p,
    #[serde(rename = "nema-l14-30p")]
    NemaL1430p,
    #[serde(rename = "nema-l14-50p")]
    NemaL1450p,
    #[serde(rename = "nema-l14-60p")]
    NemaL1460p,
    #[serde(rename = "nema-l15-20p")]
    NemaL1520p,
    #[serde(rename = "nema-l15-30p")]
    NemaL1530p,
    #[serde(rename = "nema-l15-50p")]
    NemaL1550p,
    #[serde(rename = "nema-l15-60p")]
    NemaL1560p,
    #[serde(rename = "nema-l21-20p")]
    NemaL2120p,
    #[serde(rename = "nema-l21-30p")]
    NemaL2130p,
    #[serde(rename = "nema-l22-30p")]
    NemaL2230p,
    #[serde(rename = "cs6361c")]
    Cs6361c,
    #[serde(rename = "cs6365c")]
    Cs6365c,
    #[serde(rename = "cs8165c")]
    Cs8165c,
    #[serde(rename = "cs8265c")]
    Cs8265c,
    #[serde(rename = "cs8365c")]
    Cs8365c,
    #[serde(rename = "cs8465c")]
    Cs8465c,
    #[serde(rename = "ita-c")]
    ItaC,
    #[serde(rename = "ita-e")]
    ItaE,
    #[serde(rename = "ita-f")]
    ItaF,
    #[serde(rename = "ita-ef")]
    ItaEf,
    #[serde(rename = "ita-g")]
    ItaG,
    #[serde(rename = "ita-h")]
    ItaH,
    #[serde(rename = "ita-i")]
    ItaI,
    #[serde(rename = "ita-j")]
    ItaJ,
    #[serde(rename = "ita-k")]
    ItaK,
    #[serde(rename = "ita-l")]
    ItaL,
    #[serde(rename = "ita-m")]
    ItaM,
    #[serde(rename = "ita-n")]
    ItaN,
    #[serde(rename = "ita-o")]
    ItaO,
    #[serde(rename = "usb-a")]
    UsbA,
    #[serde(rename = "usb-b")]
    UsbB,
    #[serde(rename = "usb-c")]
    UsbC,
    #[serde(rename = "usb-mini-a")]
    UsbMiniA,
    #[serde(rename = "usb-mini-b")]
    UsbMiniB,
    #[serde(rename = "usb-micro-a")]
    UsbMicroA,
    #[serde(rename = "usb-micro-b")]
    UsbMicroB,
    #[serde(rename = "usb-micro-ab")]
    UsbMicroAb,
    #[serde(rename = "usb-3-b")]
    Usb3B,
    #[serde(rename = "usb-3-micro-b")]
    Usb3MicroB,
    #[serde(rename = "dc-terminal")]
    DcTerminal,
    #[serde(rename = "saf-d-grid")]
    SafDGrid,
    #[serde(rename = "neutrik-powercon-20")]
    NeutrikPowercon20,
    #[serde(rename = "neutrik-powercon-32")]
    NeutrikPowercon32,
    #[serde(rename = "neutrik-powercon-true1")]
    NeutrikPowerconTrue1,
    #[serde(rename = "neutrik-powercon-true1-top")]
    NeutrikPowerconTrue1Top,
    #[serde(rename = "ubiquiti-smartpower")]
    UbiquitiSmartpower,
    #[serde(rename = "hardwired")]
    Hardwired,
    #[serde(rename = "other")]
    Other,
}

impl ToString for PowerPortTypeChoices {
    fn to_string(&self) -> String {
        match self {
            Self::Iec60320C6 => String::from("iec-60320-c6"),
            Self::Iec60320C8 => String::from("iec-60320-c8"),
            Self::Iec60320C14 => String::from("iec-60320-c14"),
            Self::Iec60320C16 => String::from("iec-60320-c16"),
            Self::Iec60320C20 => String::from("iec-60320-c20"),
            Self::Iec60320C22 => String::from("iec-60320-c22"),
            Self::Iec60309PNE4h => String::from("iec-60309-p-n-e-4h"),
            Self::Iec60309PNE6h => String::from("iec-60309-p-n-e-6h"),
            Self::Iec60309PNE9h => String::from("iec-60309-p-n-e-9h"),
            Self::Iec603092pE4h => String::from("iec-60309-2p-e-4h"),
            Self::Iec603092pE6h => String::from("iec-60309-2p-e-6h"),
            Self::Iec603092pE9h => String::from("iec-60309-2p-e-9h"),
            Self::Iec603093pE4h => String::from("iec-60309-3p-e-4h"),
            Self::Iec603093pE6h => String::from("iec-60309-3p-e-6h"),
            Self::Iec603093pE9h => String::from("iec-60309-3p-e-9h"),
            Self::Iec603093pNE4h => String::from("iec-60309-3p-n-e-4h"),
            Self::Iec603093pNE6h => String::from("iec-60309-3p-n-e-6h"),
            Self::Iec603093pNE9h => String::from("iec-60309-3p-n-e-9h"),
            Self::Iec609061 => String::from("iec-60906-1"),
            Self::Nbr1413610a => String::from("nbr-14136-10a"),
            Self::Nbr1413620a => String::from("nbr-14136-20a"),
            Self::Nema115p => String::from("nema-1-15p"),
            Self::Nema515p => String::from("nema-5-15p"),
            Self::Nema520p => String::from("nema-5-20p"),
            Self::Nema530p => String::from("nema-5-30p"),
            Self::Nema550p => String::from("nema-5-50p"),
            Self::Nema615p => String::from("nema-6-15p"),
            Self::Nema620p => String::from("nema-6-20p"),
            Self::Nema630p => String::from("nema-6-30p"),
            Self::Nema650p => String::from("nema-6-50p"),
            Self::Nema1030p => String::from("nema-10-30p"),
            Self::Nema1050p => String::from("nema-10-50p"),
            Self::Nema1420p => String::from("nema-14-20p"),
            Self::Nema1430p => String::from("nema-14-30p"),
            Self::Nema1450p => String::from("nema-14-50p"),
            Self::Nema1460p => String::from("nema-14-60p"),
            Self::Nema1515p => String::from("nema-15-15p"),
            Self::Nema1520p => String::from("nema-15-20p"),
            Self::Nema1530p => String::from("nema-15-30p"),
            Self::Nema1550p => String::from("nema-15-50p"),
            Self::Nema1560p => String::from("nema-15-60p"),
            Self::NemaL115p => String::from("nema-l1-15p"),
            Self::NemaL515p => String::from("nema-l5-15p"),
            Self::NemaL520p => String::from("nema-l5-20p"),
            Self::NemaL530p => String::from("nema-l5-30p"),
            Self::NemaL550p => String::from("nema-l5-50p"),
            Self::NemaL615p => String::from("nema-l6-15p"),
            Self::NemaL620p => String::from("nema-l6-20p"),
            Self::NemaL630p => String::from("nema-l6-30p"),
            Self::NemaL650p => String::from("nema-l6-50p"),
            Self::NemaL1030p => String::from("nema-l10-30p"),
            Self::NemaL1420p => String::from("nema-l14-20p"),
            Self::NemaL1430p => String::from("nema-l14-30p"),
            Self::NemaL1450p => String::from("nema-l14-50p"),
            Self::NemaL1460p => String::from("nema-l14-60p"),
            Self::NemaL1520p => String::from("nema-l15-20p"),
            Self::NemaL1530p => String::from("nema-l15-30p"),
            Self::NemaL1550p => String::from("nema-l15-50p"),
            Self::NemaL1560p => String::from("nema-l15-60p"),
            Self::NemaL2120p => String::from("nema-l21-20p"),
            Self::NemaL2130p => String::from("nema-l21-30p"),
            Self::NemaL2230p => String::from("nema-l22-30p"),
            Self::Cs6361c => String::from("cs6361c"),
            Self::Cs6365c => String::from("cs6365c"),
            Self::Cs8165c => String::from("cs8165c"),
            Self::Cs8265c => String::from("cs8265c"),
            Self::Cs8365c => String::from("cs8365c"),
            Self::Cs8465c => String::from("cs8465c"),
            Self::ItaC => String::from("ita-c"),
            Self::ItaE => String::from("ita-e"),
            Self::ItaF => String::from("ita-f"),
            Self::ItaEf => String::from("ita-ef"),
            Self::ItaG => String::from("ita-g"),
            Self::ItaH => String::from("ita-h"),
            Self::ItaI => String::from("ita-i"),
            Self::ItaJ => String::from("ita-j"),
            Self::ItaK => String::from("ita-k"),
            Self::ItaL => String::from("ita-l"),
            Self::ItaM => String::from("ita-m"),
            Self::ItaN => String::from("ita-n"),
            Self::ItaO => String::from("ita-o"),
            Self::UsbA => String::from("usb-a"),
            Self::UsbB => String::from("usb-b"),
            Self::UsbC => String::from("usb-c"),
            Self::UsbMiniA => String::from("usb-mini-a"),
            Self::UsbMiniB => String::from("usb-mini-b"),
            Self::UsbMicroA => String::from("usb-micro-a"),
            Self::UsbMicroB => String::from("usb-micro-b"),
            Self::UsbMicroAb => String::from("usb-micro-ab"),
            Self::Usb3B => String::from("usb-3-b"),
            Self::Usb3MicroB => String::from("usb-3-micro-b"),
            Self::DcTerminal => String::from("dc-terminal"),
            Self::SafDGrid => String::from("saf-d-grid"),
            Self::NeutrikPowercon20 => String::from("neutrik-powercon-20"),
            Self::NeutrikPowercon32 => String::from("neutrik-powercon-32"),
            Self::NeutrikPowerconTrue1 => String::from("neutrik-powercon-true1"),
            Self::NeutrikPowerconTrue1Top => String::from("neutrik-powercon-true1-top"),
            Self::UbiquitiSmartpower => String::from("ubiquiti-smartpower"),
            Self::Hardwired => String::from("hardwired"),
            Self::Other => String::from("other"),
        }
    }
}

impl Default for PowerPortTypeChoices {
    fn default() -> PowerPortTypeChoices {
        Self::Iec60320C6
    }
}
