xref: /openbmc/bmcweb/redfish-core/include/generated/enums/log_service.hpp (revision d125652e8a30dfeaad88bbfa5b1e04a80610469c)
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     Device,
74 };
75 
76 enum class LogPurpose{
77     Invalid,
78     Diagnostic,
79     Operations,
80     Security,
81     Telemetry,
82     ExternalEntity,
83     OEM,
84 };
85 
86 enum class TransferProtocolType{
87     Invalid,
88     CIFS,
89     FTP,
90     SFTP,
91     HTTP,
92     HTTPS,
93     NFS,
94     SCP,
95     TFTP,
96     OEM,
97 };
98 
99 enum class AutoClearResolvedEntries{
100     Invalid,
101     ClearEventGroup,
102     RetainCauseResolutionEntries,
103     UpdateCauseEntry,
104     None,
105 };
106 
107 NLOHMANN_JSON_SERIALIZE_ENUM(OverWritePolicy, {
108     {OverWritePolicy::Invalid, "Invalid"},
109     {OverWritePolicy::Unknown, "Unknown"},
110     {OverWritePolicy::WrapsWhenFull, "WrapsWhenFull"},
111     {OverWritePolicy::NeverOverWrites, "NeverOverWrites"},
112 });
113 
114 NLOHMANN_JSON_SERIALIZE_ENUM(LogEntryTypes, {
115     {LogEntryTypes::Invalid, "Invalid"},
116     {LogEntryTypes::Event, "Event"},
117     {LogEntryTypes::SEL, "SEL"},
118     {LogEntryTypes::Multiple, "Multiple"},
119     {LogEntryTypes::OEM, "OEM"},
120     {LogEntryTypes::CXL, "CXL"},
121 });
122 
123 NLOHMANN_JSON_SERIALIZE_ENUM(SyslogSeverity, {
124     {SyslogSeverity::Invalid, "Invalid"},
125     {SyslogSeverity::Emergency, "Emergency"},
126     {SyslogSeverity::Alert, "Alert"},
127     {SyslogSeverity::Critical, "Critical"},
128     {SyslogSeverity::Error, "Error"},
129     {SyslogSeverity::Warning, "Warning"},
130     {SyslogSeverity::Notice, "Notice"},
131     {SyslogSeverity::Informational, "Informational"},
132     {SyslogSeverity::Debug, "Debug"},
133     {SyslogSeverity::All, "All"},
134 });
135 
136 NLOHMANN_JSON_SERIALIZE_ENUM(SyslogFacility, {
137     {SyslogFacility::Invalid, "Invalid"},
138     {SyslogFacility::Kern, "Kern"},
139     {SyslogFacility::User, "User"},
140     {SyslogFacility::Mail, "Mail"},
141     {SyslogFacility::Daemon, "Daemon"},
142     {SyslogFacility::Auth, "Auth"},
143     {SyslogFacility::Syslog, "Syslog"},
144     {SyslogFacility::LPR, "LPR"},
145     {SyslogFacility::News, "News"},
146     {SyslogFacility::UUCP, "UUCP"},
147     {SyslogFacility::Cron, "Cron"},
148     {SyslogFacility::Authpriv, "Authpriv"},
149     {SyslogFacility::FTP, "FTP"},
150     {SyslogFacility::NTP, "NTP"},
151     {SyslogFacility::Security, "Security"},
152     {SyslogFacility::Console, "Console"},
153     {SyslogFacility::SolarisCron, "SolarisCron"},
154     {SyslogFacility::Local0, "Local0"},
155     {SyslogFacility::Local1, "Local1"},
156     {SyslogFacility::Local2, "Local2"},
157     {SyslogFacility::Local3, "Local3"},
158     {SyslogFacility::Local4, "Local4"},
159     {SyslogFacility::Local5, "Local5"},
160     {SyslogFacility::Local6, "Local6"},
161     {SyslogFacility::Local7, "Local7"},
162 });
163 
164 NLOHMANN_JSON_SERIALIZE_ENUM(LogDiagnosticDataTypes, {
165     {LogDiagnosticDataTypes::Invalid, "Invalid"},
166     {LogDiagnosticDataTypes::Manager, "Manager"},
167     {LogDiagnosticDataTypes::PreOS, "PreOS"},
168     {LogDiagnosticDataTypes::OS, "OS"},
169     {LogDiagnosticDataTypes::OEM, "OEM"},
170     {LogDiagnosticDataTypes::Device, "Device"},
171 });
172 
173 NLOHMANN_JSON_SERIALIZE_ENUM(LogPurpose, {
174     {LogPurpose::Invalid, "Invalid"},
175     {LogPurpose::Diagnostic, "Diagnostic"},
176     {LogPurpose::Operations, "Operations"},
177     {LogPurpose::Security, "Security"},
178     {LogPurpose::Telemetry, "Telemetry"},
179     {LogPurpose::ExternalEntity, "ExternalEntity"},
180     {LogPurpose::OEM, "OEM"},
181 });
182 
183 NLOHMANN_JSON_SERIALIZE_ENUM(TransferProtocolType, {
184     {TransferProtocolType::Invalid, "Invalid"},
185     {TransferProtocolType::CIFS, "CIFS"},
186     {TransferProtocolType::FTP, "FTP"},
187     {TransferProtocolType::SFTP, "SFTP"},
188     {TransferProtocolType::HTTP, "HTTP"},
189     {TransferProtocolType::HTTPS, "HTTPS"},
190     {TransferProtocolType::NFS, "NFS"},
191     {TransferProtocolType::SCP, "SCP"},
192     {TransferProtocolType::TFTP, "TFTP"},
193     {TransferProtocolType::OEM, "OEM"},
194 });
195 
196 NLOHMANN_JSON_SERIALIZE_ENUM(AutoClearResolvedEntries, {
197     {AutoClearResolvedEntries::Invalid, "Invalid"},
198     {AutoClearResolvedEntries::ClearEventGroup, "ClearEventGroup"},
199     {AutoClearResolvedEntries::RetainCauseResolutionEntries, "RetainCauseResolutionEntries"},
200     {AutoClearResolvedEntries::UpdateCauseEntry, "UpdateCauseEntry"},
201     {AutoClearResolvedEntries::None, "None"},
202 });
203 
204 }
205 // clang-format on
206