xref: /openbmc/bmcweb/features/redfish/include/generated/enums/log_service.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 log_service
7 {
8 // clang-format off
9 
10 enum class OverWritePolicy{
11     Invalid,
12     Unknown,
13     WrapsWhenFull,
14     NeverOverWrites,
15 };
16 
17 enum class LogEntryTypes{
18     Invalid,
19     Event,
20     SEL,
21     Multiple,
22     OEM,
23     CXL,
24 };
25 
26 enum class SyslogSeverity{
27     Invalid,
28     Emergency,
29     Alert,
30     Critical,
31     Error,
32     Warning,
33     Notice,
34     Informational,
35     Debug,
36     All,
37 };
38 
39 enum class SyslogFacility{
40     Invalid,
41     Kern,
42     User,
43     Mail,
44     Daemon,
45     Auth,
46     Syslog,
47     LPR,
48     News,
49     UUCP,
50     Cron,
51     Authpriv,
52     FTP,
53     NTP,
54     Security,
55     Console,
56     SolarisCron,
57     Local0,
58     Local1,
59     Local2,
60     Local3,
61     Local4,
62     Local5,
63     Local6,
64     Local7,
65 };
66 
67 enum class LogDiagnosticDataTypes{
68     Invalid,
69     Manager,
70     PreOS,
71     OS,
72     OEM,
73 };
74 
75 enum class LogPurpose{
76     Invalid,
77     Diagnostic,
78     Operations,
79     Security,
80     Telemetry,
81     ExternalEntity,
82     OEM,
83 };
84 
85 enum class TransferProtocolType{
86     Invalid,
87     CIFS,
88     FTP,
89     SFTP,
90     HTTP,
91     HTTPS,
92     NFS,
93     SCP,
94     TFTP,
95     OEM,
96 };
97 
98 enum class AutoClearResolvedEntries{
99     Invalid,
100     ClearEventGroup,
101     RetainCauseResolutionEntries,
102     UpdateCauseEntry,
103     None,
104 };
105 
106 NLOHMANN_JSON_SERIALIZE_ENUM(OverWritePolicy, {
107     {OverWritePolicy::Invalid, "Invalid"},
108     {OverWritePolicy::Unknown, "Unknown"},
109     {OverWritePolicy::WrapsWhenFull, "WrapsWhenFull"},
110     {OverWritePolicy::NeverOverWrites, "NeverOverWrites"},
111 });
112 
113 NLOHMANN_JSON_SERIALIZE_ENUM(LogEntryTypes, {
114     {LogEntryTypes::Invalid, "Invalid"},
115     {LogEntryTypes::Event, "Event"},
116     {LogEntryTypes::SEL, "SEL"},
117     {LogEntryTypes::Multiple, "Multiple"},
118     {LogEntryTypes::OEM, "OEM"},
119     {LogEntryTypes::CXL, "CXL"},
120 });
121 
122 NLOHMANN_JSON_SERIALIZE_ENUM(SyslogSeverity, {
123     {SyslogSeverity::Invalid, "Invalid"},
124     {SyslogSeverity::Emergency, "Emergency"},
125     {SyslogSeverity::Alert, "Alert"},
126     {SyslogSeverity::Critical, "Critical"},
127     {SyslogSeverity::Error, "Error"},
128     {SyslogSeverity::Warning, "Warning"},
129     {SyslogSeverity::Notice, "Notice"},
130     {SyslogSeverity::Informational, "Informational"},
131     {SyslogSeverity::Debug, "Debug"},
132     {SyslogSeverity::All, "All"},
133 });
134 
135 NLOHMANN_JSON_SERIALIZE_ENUM(SyslogFacility, {
136     {SyslogFacility::Invalid, "Invalid"},
137     {SyslogFacility::Kern, "Kern"},
138     {SyslogFacility::User, "User"},
139     {SyslogFacility::Mail, "Mail"},
140     {SyslogFacility::Daemon, "Daemon"},
141     {SyslogFacility::Auth, "Auth"},
142     {SyslogFacility::Syslog, "Syslog"},
143     {SyslogFacility::LPR, "LPR"},
144     {SyslogFacility::News, "News"},
145     {SyslogFacility::UUCP, "UUCP"},
146     {SyslogFacility::Cron, "Cron"},
147     {SyslogFacility::Authpriv, "Authpriv"},
148     {SyslogFacility::FTP, "FTP"},
149     {SyslogFacility::NTP, "NTP"},
150     {SyslogFacility::Security, "Security"},
151     {SyslogFacility::Console, "Console"},
152     {SyslogFacility::SolarisCron, "SolarisCron"},
153     {SyslogFacility::Local0, "Local0"},
154     {SyslogFacility::Local1, "Local1"},
155     {SyslogFacility::Local2, "Local2"},
156     {SyslogFacility::Local3, "Local3"},
157     {SyslogFacility::Local4, "Local4"},
158     {SyslogFacility::Local5, "Local5"},
159     {SyslogFacility::Local6, "Local6"},
160     {SyslogFacility::Local7, "Local7"},
161 });
162 
163 NLOHMANN_JSON_SERIALIZE_ENUM(LogDiagnosticDataTypes, {
164     {LogDiagnosticDataTypes::Invalid, "Invalid"},
165     {LogDiagnosticDataTypes::Manager, "Manager"},
166     {LogDiagnosticDataTypes::PreOS, "PreOS"},
167     {LogDiagnosticDataTypes::OS, "OS"},
168     {LogDiagnosticDataTypes::OEM, "OEM"},
169 });
170 
171 NLOHMANN_JSON_SERIALIZE_ENUM(LogPurpose, {
172     {LogPurpose::Invalid, "Invalid"},
173     {LogPurpose::Diagnostic, "Diagnostic"},
174     {LogPurpose::Operations, "Operations"},
175     {LogPurpose::Security, "Security"},
176     {LogPurpose::Telemetry, "Telemetry"},
177     {LogPurpose::ExternalEntity, "ExternalEntity"},
178     {LogPurpose::OEM, "OEM"},
179 });
180 
181 NLOHMANN_JSON_SERIALIZE_ENUM(TransferProtocolType, {
182     {TransferProtocolType::Invalid, "Invalid"},
183     {TransferProtocolType::CIFS, "CIFS"},
184     {TransferProtocolType::FTP, "FTP"},
185     {TransferProtocolType::SFTP, "SFTP"},
186     {TransferProtocolType::HTTP, "HTTP"},
187     {TransferProtocolType::HTTPS, "HTTPS"},
188     {TransferProtocolType::NFS, "NFS"},
189     {TransferProtocolType::SCP, "SCP"},
190     {TransferProtocolType::TFTP, "TFTP"},
191     {TransferProtocolType::OEM, "OEM"},
192 });
193 
194 NLOHMANN_JSON_SERIALIZE_ENUM(AutoClearResolvedEntries, {
195     {AutoClearResolvedEntries::Invalid, "Invalid"},
196     {AutoClearResolvedEntries::ClearEventGroup, "ClearEventGroup"},
197     {AutoClearResolvedEntries::RetainCauseResolutionEntries, "RetainCauseResolutionEntries"},
198     {AutoClearResolvedEntries::UpdateCauseEntry, "UpdateCauseEntry"},
199     {AutoClearResolvedEntries::None, "None"},
200 });
201 
202 }
203 // clang-format on
204