xref: /openbmc/bmcweb/features/redfish/include/generated/enums/virtual_media.hpp (revision a8d8f9d82afce0780f5cea13839d8a650787fc41)
10ec8b83dSEd Tanous #pragma once
20ec8b83dSEd Tanous #include <nlohmann/json.hpp>
30ec8b83dSEd Tanous 
40ec8b83dSEd Tanous namespace virtual_media
50ec8b83dSEd Tanous {
60ec8b83dSEd Tanous // clang-format off
70ec8b83dSEd Tanous 
80ec8b83dSEd Tanous enum class MediaType{
90ec8b83dSEd Tanous     Invalid,
100ec8b83dSEd Tanous     CD,
110ec8b83dSEd Tanous     Floppy,
120ec8b83dSEd Tanous     USBStick,
130ec8b83dSEd Tanous     DVD,
140ec8b83dSEd Tanous };
150ec8b83dSEd Tanous 
160ec8b83dSEd Tanous enum class ConnectedVia{
170ec8b83dSEd Tanous     Invalid,
180ec8b83dSEd Tanous     NotConnected,
190ec8b83dSEd Tanous     URI,
200ec8b83dSEd Tanous     Applet,
210ec8b83dSEd Tanous     Oem,
220ec8b83dSEd Tanous };
230ec8b83dSEd Tanous 
240ec8b83dSEd Tanous enum class TransferProtocolType{
250ec8b83dSEd Tanous     Invalid,
260ec8b83dSEd Tanous     CIFS,
270ec8b83dSEd Tanous     FTP,
280ec8b83dSEd Tanous     SFTP,
290ec8b83dSEd Tanous     HTTP,
300ec8b83dSEd Tanous     HTTPS,
310ec8b83dSEd Tanous     NFS,
320ec8b83dSEd Tanous     SCP,
330ec8b83dSEd Tanous     TFTP,
340ec8b83dSEd Tanous     OEM,
350ec8b83dSEd Tanous };
360ec8b83dSEd Tanous 
370ec8b83dSEd Tanous enum class TransferMethod{
380ec8b83dSEd Tanous     Invalid,
390ec8b83dSEd Tanous     Stream,
400ec8b83dSEd Tanous     Upload,
410ec8b83dSEd Tanous };
420ec8b83dSEd Tanous 
43*a8d8f9d8SEd Tanous enum class EjectPolicy{
44*a8d8f9d8SEd Tanous     Invalid,
45*a8d8f9d8SEd Tanous     OnPowerOff,
46*a8d8f9d8SEd Tanous     Session,
47*a8d8f9d8SEd Tanous     Timed,
48*a8d8f9d8SEd Tanous     AfterUse,
49*a8d8f9d8SEd Tanous     Persistent,
50*a8d8f9d8SEd Tanous };
51*a8d8f9d8SEd Tanous 
520ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(MediaType, {
530ec8b83dSEd Tanous     {MediaType::Invalid, "Invalid"},
540ec8b83dSEd Tanous     {MediaType::CD, "CD"},
550ec8b83dSEd Tanous     {MediaType::Floppy, "Floppy"},
560ec8b83dSEd Tanous     {MediaType::USBStick, "USBStick"},
570ec8b83dSEd Tanous     {MediaType::DVD, "DVD"},
580ec8b83dSEd Tanous });
590ec8b83dSEd Tanous 
600ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(ConnectedVia, {
610ec8b83dSEd Tanous     {ConnectedVia::Invalid, "Invalid"},
620ec8b83dSEd Tanous     {ConnectedVia::NotConnected, "NotConnected"},
630ec8b83dSEd Tanous     {ConnectedVia::URI, "URI"},
640ec8b83dSEd Tanous     {ConnectedVia::Applet, "Applet"},
650ec8b83dSEd Tanous     {ConnectedVia::Oem, "Oem"},
660ec8b83dSEd Tanous });
670ec8b83dSEd Tanous 
680ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(TransferProtocolType, {
690ec8b83dSEd Tanous     {TransferProtocolType::Invalid, "Invalid"},
700ec8b83dSEd Tanous     {TransferProtocolType::CIFS, "CIFS"},
710ec8b83dSEd Tanous     {TransferProtocolType::FTP, "FTP"},
720ec8b83dSEd Tanous     {TransferProtocolType::SFTP, "SFTP"},
730ec8b83dSEd Tanous     {TransferProtocolType::HTTP, "HTTP"},
740ec8b83dSEd Tanous     {TransferProtocolType::HTTPS, "HTTPS"},
750ec8b83dSEd Tanous     {TransferProtocolType::NFS, "NFS"},
760ec8b83dSEd Tanous     {TransferProtocolType::SCP, "SCP"},
770ec8b83dSEd Tanous     {TransferProtocolType::TFTP, "TFTP"},
780ec8b83dSEd Tanous     {TransferProtocolType::OEM, "OEM"},
790ec8b83dSEd Tanous });
800ec8b83dSEd Tanous 
810ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(TransferMethod, {
820ec8b83dSEd Tanous     {TransferMethod::Invalid, "Invalid"},
830ec8b83dSEd Tanous     {TransferMethod::Stream, "Stream"},
840ec8b83dSEd Tanous     {TransferMethod::Upload, "Upload"},
850ec8b83dSEd Tanous });
860ec8b83dSEd Tanous 
87*a8d8f9d8SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(EjectPolicy, {
88*a8d8f9d8SEd Tanous     {EjectPolicy::Invalid, "Invalid"},
89*a8d8f9d8SEd Tanous     {EjectPolicy::OnPowerOff, "OnPowerOff"},
90*a8d8f9d8SEd Tanous     {EjectPolicy::Session, "Session"},
91*a8d8f9d8SEd Tanous     {EjectPolicy::Timed, "Timed"},
92*a8d8f9d8SEd Tanous     {EjectPolicy::AfterUse, "AfterUse"},
93*a8d8f9d8SEd Tanous     {EjectPolicy::Persistent, "Persistent"},
94*a8d8f9d8SEd Tanous });
95*a8d8f9d8SEd Tanous 
960ec8b83dSEd Tanous }
970ec8b83dSEd Tanous // clang-format on
98