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