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 DurableNameFormat {
    /// This durable name shall contain a hexadecimal representation of the Name Address Authority structure, as defined in the T11 Fibre Channel - Framing and Signaling - 3 (FC-FS-3) specification.  The DurableName property shall follow the regular expression pattern '^(([0-9A-Fa-f]{2}){8}){1,2}$', where the most significant octet is first.
    NAA,
    /// This durable name shall be in the iSCSI Qualified Name (iQN) format, as defined in RFC3720 and RFC3721.
    #[serde(rename = "iQN")]
    IQN,
    /// This durable name shall contain a hexadecimal representation of the World-Wide Name (WWN) format, as defined in the T11 Fibre Channel Physical and Signaling Interface Specification.  The DurableName property shall follow the regular expression pattern '^([0-9A-Fa-f]{2}[:-]){7}([0-9A-Fa-f]{2})$', where the most significant octet is first.
    #[serde(rename = "FC_WWN")]
    FCWWN,
    /// This durable name shall contain the hexadecimal representation of the UUID, as defined by RFC4122.  The DurableName property shall follow the regular expression pattern '([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})'.
    UUID,
    /// This durable name shall contain the hexadecimal representation of the IEEE-defined 64-bit Extended Unique Identifier (EUI), as defined in the IEEE's Guidelines for 64-bit Global Identifier (EUI-64) Specification.  The DurableName property shall follow the regular expression pattern '^([0-9A-Fa-f]{2}[:-]){7}([0-9A-Fa-f]{2})$', where the most significant octet is first.
    EUI,
    /// This durable name shall be in the NVMe Qualified Name (NQN) format, as defined in the NVN Express over Fabric Specification. Added in version v1_6_0.
    NQN,
    /// This durable name shall be in the NVM Namespace Identifier (NSID) format, as defined in the NVN Express Specification. Added in version v1_6_0.
    NSID,
    /// This durable name shall be in the Namespace Globally Unique Identifier (NGUID), as defined in the NVN Express Specification.  The DurableName property shall follow the regular expression pattern '^([0-9A-Fa-f]{2}){16}$', where the most significant octet is first. Added in version v1_10_0.
    NGUID,
    /// This durable name shall be a media access control address (MAC address), which is a unique identifier assigned to a network interface controller (NIC) for use as a network address.  This value should not be used if a more specific type of identifier is available.  The DurableName property shall follow the regular expression pattern '^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$', where the most significant octet is first. Added in version v1_14_0.
    MACAddress,
    /// This durable name shall be in the globally unique CXL logical device identifier (GCXLID).  The DurableName property shall follow the regular expression pattern '^([0-9A-Fa-f]{2}-){7}[0-9A-Fa-f]{2}:([0-9A-Fa-f]{4})$', where the first eight hyphen-delimited octets contain the PCIe serial number, where the most significant octet is first, and the remaining 16-bit field contains the CXL Logical Device Identifier, where the most significant byte first. Added in version v1_15_0.
    GCXLID,
}

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

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