redfish-codegen 0.3.1

An unopinionated translation of the Redfish specification into Rust.
Documentation
// Generated by redfish-codegen. Do not modify.


#[derive(Clone, Debug, serde::Deserialize, serde::Serialize)]
pub enum FormFactor {
    /// This value shall indicate the drive is approximately 3.5 inches in width and no more than 1.1 inches in height.
    #[serde(rename = "Drive3_5")]
    Drive35,
    /// This value shall indicate the drive is approximately 2.5 inches in width and no more than 0.8 inches in height and is not a U.2 drive.
    #[serde(rename = "Drive2_5")]
    Drive25,
    /// This value shall indicate the drive corresponds to the SFF-TA-1007 Specification.
    #[serde(rename = "EDSFF_1U_Long")]
    EDSFF1ULong,
    /// This value shall indicate the drive corresponds to the SFF-TA-1006 Specification.
    #[serde(rename = "EDSFF_1U_Short")]
    EDSFF1UShort,
    /// This value shall indicate the drive corresponds to the SFF-TA-1008 Specification and is approximately 112.75mm in length.
    #[serde(rename = "EDSFF_E3_Short")]
    EDSFFE3Short,
    /// This value shall indicate the drive corresponds to the SFF-TA-1008 Specification and is approximately 142.2mm in length.
    #[serde(rename = "EDSFF_E3_Long")]
    EDSFFE3Long,
    /// This value shall indicate the drive corresponds to the PCI Express M.2 Specification and is approximately 22mm in width and 30mm in length.
    #[serde(rename = "M2_2230")]
    M22230,
    /// This value shall indicate the drive corresponds to the PCI Express M.2 Specification and is approximately 22mm in width and 42mm in length.
    #[serde(rename = "M2_2242")]
    M22242,
    /// This value shall indicate the drive corresponds to the PCI Express M.2 Specification and is approximately 22mm in width and 60mm in length.
    #[serde(rename = "M2_2260")]
    M22260,
    /// This value shall indicate the drive corresponds to the PCI Express M.2 Specification and is approximately 22mm in width and 80mm in length.
    #[serde(rename = "M2_2280")]
    M22280,
    /// This value shall indicate the drive corresponds to the PCI Express M.2 Specification and is approximately 22mm in width and 110mm in length.
    #[serde(rename = "M2_22110")]
    M222110,
    /// This value shall indicate the drive corresponds to the PCI Express SFF-8639 Module Specification.
    U2,
    /// This value shall indicate the drive is an add in card greater than 7 inches in length.
    PCIeSlotFullLength,
    /// This value shall indicate the drive is an add in card less than 2.5 inches in height.
    PCIeSlotLowProfile,
    /// This value shall indicate the drive is an add in card less than 7 inches in length.
    PCIeHalfLength,
    /// This value shall indicate the drive is an OEM-defined form factor.
    OEM,
}

#[allow(clippy::derivable_impls)]
impl Default for FormFactor {
     fn default() -> FormFactor {
        FormFactor::Drive35
     }
}

impl crate::Metadata<'static> for FormFactor {
    const JSON_SCHEMA: &'static str = "Drive.v1_16_0.json";
}