xref: /openbmc/bmcweb/redfish-core/include/generated/enums/virtual_media.hpp (revision 40e9b92ec19acffb46f83a6e55b18974da5d708e)
1 // SPDX-License-Identifier: Apache-2.0
2 // SPDX-FileCopyrightText: Copyright OpenBMC Authors
3 #pragma once
4 #include <nlohmann/json.hpp>
5 
6 namespace virtual_media
7 {
8 // clang-format off
9 
10 enum class MediaType{
11     Invalid,
12     CD,
13     Floppy,
14     USBStick,
15     DVD,
16 };
17 
18 enum class ConnectedVia{
19     Invalid,
20     NotConnected,
21     URI,
22     Applet,
23     Oem,
24 };
25 
26 enum class TransferProtocolType{
27     Invalid,
28     CIFS,
29     FTP,
30     SFTP,
31     HTTP,
32     HTTPS,
33     NFS,
34     SCP,
35     TFTP,
36     OEM,
37 };
38 
39 enum class TransferMethod{
40     Invalid,
41     Stream,
42     Upload,
43 };
44 
45 enum class EjectPolicy{
46     Invalid,
47     OnPowerOff,
48     Session,
49     Timed,
50     AfterUse,
51     Persistent,
52 };
53 
54 NLOHMANN_JSON_SERIALIZE_ENUM(MediaType, {
55     {MediaType::Invalid, "Invalid"},
56     {MediaType::CD, "CD"},
57     {MediaType::Floppy, "Floppy"},
58     {MediaType::USBStick, "USBStick"},
59     {MediaType::DVD, "DVD"},
60 });
61 
62 NLOHMANN_JSON_SERIALIZE_ENUM(ConnectedVia, {
63     {ConnectedVia::Invalid, "Invalid"},
64     {ConnectedVia::NotConnected, "NotConnected"},
65     {ConnectedVia::URI, "URI"},
66     {ConnectedVia::Applet, "Applet"},
67     {ConnectedVia::Oem, "Oem"},
68 });
69 
70 NLOHMANN_JSON_SERIALIZE_ENUM(TransferProtocolType, {
71     {TransferProtocolType::Invalid, "Invalid"},
72     {TransferProtocolType::CIFS, "CIFS"},
73     {TransferProtocolType::FTP, "FTP"},
74     {TransferProtocolType::SFTP, "SFTP"},
75     {TransferProtocolType::HTTP, "HTTP"},
76     {TransferProtocolType::HTTPS, "HTTPS"},
77     {TransferProtocolType::NFS, "NFS"},
78     {TransferProtocolType::SCP, "SCP"},
79     {TransferProtocolType::TFTP, "TFTP"},
80     {TransferProtocolType::OEM, "OEM"},
81 });
82 
83 NLOHMANN_JSON_SERIALIZE_ENUM(TransferMethod, {
84     {TransferMethod::Invalid, "Invalid"},
85     {TransferMethod::Stream, "Stream"},
86     {TransferMethod::Upload, "Upload"},
87 });
88 
89 NLOHMANN_JSON_SERIALIZE_ENUM(EjectPolicy, {
90     {EjectPolicy::Invalid, "Invalid"},
91     {EjectPolicy::OnPowerOff, "OnPowerOff"},
92     {EjectPolicy::Session, "Session"},
93     {EjectPolicy::Timed, "Timed"},
94     {EjectPolicy::AfterUse, "AfterUse"},
95     {EjectPolicy::Persistent, "Persistent"},
96 });
97 
98 }
99 // clang-format on
100