redfish_codegen/models/protocol/
protocol.rs

1// Generated by redfish-codegen. Do not modify.
2
3
4#[derive(Clone, Debug, serde::Deserialize, serde::Serialize)]
5pub enum Protocol {
6    /// This value shall indicate conformance to the PCI-SIG PCI Express Base Specification.
7    PCIe,
8    /// This value shall indicate conformance to the Intel Advanced Host Controller Interface (AHCI) Specification.
9    AHCI,
10    /// This value shall indicate conformance to the Intel Universal Host Controller Interface (UHCI) Specification, Enhanced Host Controller Interface Specification, or the Extensible Host Controller Interface Specification.
11    UHCI,
12    /// This value shall indicate conformance to the T10 SAS Protocol Layer Specification.
13    SAS,
14    /// This value shall indicate conformance to the Serial ATA International Organization Serial ATA Specification.
15    SATA,
16    /// This value shall indicate conformance to the USB Implementers Forum Universal Serial Bus Specification.
17    USB,
18    /// This value shall indicate conformance to the Non-Volatile Memory Host Controller Interface Specification.
19    NVMe,
20    /// This value shall indicate conformance to the T11 Fibre Channel Physical and Signaling Interface Specification.
21    FC,
22    /// This value shall indicate conformance to the IETF Internet Small Computer Systems Interface (iSCSI) Specification.
23    #[serde(rename = "iSCSI")]
24    Iscsi,
25    /// This value shall indicate conformance to the T11 FC-BB-5 Specification.
26    FCoE,
27    /// This value shall indicate conformance to the INCITS 481: Information Technology - Fibre Channel Protocol for SCSI. Added in version 2017.1.
28    FCP,
29    /// This value shall indicate conformance to the ANSI FC-SB-3 Single-Byte Command Code Sets-3 Mapping Protocol for the Fibre Channel (FC) protocol.  Fibre Connection (FICON) is the IBM-proprietary name for this protocol. Added in version 2017.1.
30    FICON,
31    /// This value shall indicate conformance to the NVM Express over Fabrics Specification.
32    NVMeOverFabrics,
33    /// This value shall indicate conformance to the Server Message Block (SMB), or Common Internet File System (CIFS), protocol.
34    SMB,
35    /// This value shall indicate conformance to the RFC1813-defined Network File System (NFS) protocol.
36    NFSv3,
37    /// Network File System (NFS) version 4.
38    NFSv4,
39    /// This value shall indicate conformance to the Hypertext Transport Protocol (HTTP) as defined by RFC3010 or RFC5661.
40    HTTP,
41    /// This value shall indicate conformance to the Hypertext Transfer Protocol Secure (HTTPS) as defined by RFC2068 or RFC2616, which uses Transport Layer Security (TLS) as defined by RFC5246 or RFC6176.
42    HTTPS,
43    /// This value shall indicate conformance to the RFC114-defined File Transfer Protocol (FTP).
44    FTP,
45    /// This value shall indicate conformance to the RFC114-defined SSH File Transfer Protocol (SFTP) that uses Transport Layer Security (TLS) as defined by RFC5246 or RFC6176.
46    SFTP,
47    /// This value shall indicate conformance to the RFC5042-defined Internet Wide Area RDMA Protocol (iWARP) that uses the transport layer mechanisms as defined by RFC5043 or RFC5044. Added in version 2017.3.
48    #[serde(rename = "iWARP")]
49    IWARP,
50    /// This value shall indicate conformance to the InfiniBand Architecture Specification-defined RDMA over Converged Ethernet Protocol. Added in version 2017.3.
51    RoCE,
52    /// This value shall indicate conformance to the InfiniBand Architecture Specification-defined RDMA over Converged Ethernet Protocol version 2. Added in version 2017.3.
53    RoCEv2,
54    /// This value shall indicate conformance to the NXP Semiconductors I2C-bus Specification. Added in version 2018.2.
55    I2C,
56    /// This value shall indicate conformance to the IETF-defined Transmission Control Protocol (TCP).  For example, RFC7414 defines the roadmap of the TCP specification. Added in version 2019.3.
57    TCP,
58    /// This value shall indicate conformance to the IETF-defined User Datagram Protocol (UDP).  For example, RFC768 defines the core UDP specification. Added in version 2019.3.
59    UDP,
60    /// This value shall indicate conformance to the IETF-defined Trivial File Transfer Protocol (TFTP).  For example, RFC1350 defines the core TFTP version 2 specification. Added in version 2019.3.
61    TFTP,
62    /// This value shall indicate conformance to the Gen-Z Core Specification. Added in version 2019.4.
63    GenZ,
64    /// This value shall indicate conformance to multiple protocols. Added in version 2019.4.
65    MultiProtocol,
66    /// This value shall indicate conformance to the InfiniBand Architecture Specification-defined InfiniBand protocol. Added in version 2020.3.
67    InfiniBand,
68    /// This value shall indicate conformance to the IEEE 802.3 Ethernet specification. Added in version 2020.3.
69    Ethernet,
70    /// This value shall indicate conformance to the NVIDIA NVLink protocol. Added in version 2021.1.
71    NVLink,
72    /// This value shall indicate conformance to an OEM-specific architecture and the OEM section may include additional information. Added in version 2018.1.
73    OEM,
74    /// This value shall indicate conformance to the VESA DisplayPort Specification. Added in version 2021.1.
75    DisplayPort,
76    /// This value shall indicate conformance to the HDMI Forum HDMI Specification. Added in version 2021.1.
77    HDMI,
78    /// This value shall indicate conformance to the VESA SVGA Specification. Added in version 2021.1.
79    VGA,
80    /// This value shall indicate conformance to the Digital Display Working Group DVI-A, DVI-D, or DVI-I Specification. Added in version 2021.1.
81    DVI,
82    /// This value shall indicate conformance to the Compute Express Link Specification. Added in version 2022.3.
83    CXL,
84}
85
86#[allow(clippy::derivable_impls)]
87impl Default for Protocol {
88     fn default() -> Protocol {
89        Protocol::PCIe
90     }
91}
92
93impl crate::Metadata<'static> for Protocol {
94    const JSON_SCHEMA: &'static str = "Protocol.json";
95}