xref: /openbmc/bmcweb/redfish-core/include/generated/enums/event_destination.hpp (revision 5a19396d081c5cb68d3e880529ecd552d1c4f5a0)
1 #pragma once
2 #include <nlohmann/json.hpp>
3 
4 namespace event_destination
5 {
6 // clang-format off
7 
8 enum class EventFormatType{
9     Invalid,
10     Event,
11     MetricReport,
12 };
13 
14 enum class EventDestinationProtocol{
15     Invalid,
16     Redfish,
17     SNMPv1,
18     SNMPv2c,
19     SNMPv3,
20     SMTP,
21     SyslogTLS,
22     SyslogTCP,
23     SyslogUDP,
24     SyslogRELP,
25     OEM,
26 };
27 
28 enum class SubscriptionType{
29     Invalid,
30     RedfishEvent,
31     SSE,
32     SNMPTrap,
33     SNMPInform,
34     Syslog,
35     OEM,
36 };
37 
38 enum class DeliveryRetryPolicy{
39     Invalid,
40     TerminateAfterRetries,
41     SuspendRetries,
42     RetryForever,
43     RetryForeverWithBackoff,
44 };
45 
46 enum class SNMPAuthenticationProtocols{
47     Invalid,
48     None,
49     CommunityString,
50     HMAC_MD5,
51     HMAC_SHA96,
52     HMAC128_SHA224,
53     HMAC192_SHA256,
54     HMAC256_SHA384,
55     HMAC384_SHA512,
56 };
57 
58 enum class SNMPEncryptionProtocols{
59     Invalid,
60     None,
61     CBC_DES,
62     CFB128_AES128,
63 };
64 
65 enum class SyslogSeverity{
66     Invalid,
67     Emergency,
68     Alert,
69     Critical,
70     Error,
71     Warning,
72     Notice,
73     Informational,
74     Debug,
75     All,
76 };
77 
78 enum class SyslogFacility{
79     Invalid,
80     Kern,
81     User,
82     Mail,
83     Daemon,
84     Auth,
85     Syslog,
86     LPR,
87     News,
88     UUCP,
89     Cron,
90     Authpriv,
91     FTP,
92     NTP,
93     Security,
94     Console,
95     SolarisCron,
96     Local0,
97     Local1,
98     Local2,
99     Local3,
100     Local4,
101     Local5,
102     Local6,
103     Local7,
104 };
105 
106 NLOHMANN_JSON_SERIALIZE_ENUM(EventFormatType, {
107     {EventFormatType::Invalid, "Invalid"},
108     {EventFormatType::Event, "Event"},
109     {EventFormatType::MetricReport, "MetricReport"},
110 });
111 
112 NLOHMANN_JSON_SERIALIZE_ENUM(EventDestinationProtocol, {
113     {EventDestinationProtocol::Invalid, "Invalid"},
114     {EventDestinationProtocol::Redfish, "Redfish"},
115     {EventDestinationProtocol::SNMPv1, "SNMPv1"},
116     {EventDestinationProtocol::SNMPv2c, "SNMPv2c"},
117     {EventDestinationProtocol::SNMPv3, "SNMPv3"},
118     {EventDestinationProtocol::SMTP, "SMTP"},
119     {EventDestinationProtocol::SyslogTLS, "SyslogTLS"},
120     {EventDestinationProtocol::SyslogTCP, "SyslogTCP"},
121     {EventDestinationProtocol::SyslogUDP, "SyslogUDP"},
122     {EventDestinationProtocol::SyslogRELP, "SyslogRELP"},
123     {EventDestinationProtocol::OEM, "OEM"},
124 });
125 
126 NLOHMANN_JSON_SERIALIZE_ENUM(SubscriptionType, {
127     {SubscriptionType::Invalid, "Invalid"},
128     {SubscriptionType::RedfishEvent, "RedfishEvent"},
129     {SubscriptionType::SSE, "SSE"},
130     {SubscriptionType::SNMPTrap, "SNMPTrap"},
131     {SubscriptionType::SNMPInform, "SNMPInform"},
132     {SubscriptionType::Syslog, "Syslog"},
133     {SubscriptionType::OEM, "OEM"},
134 });
135 
136 NLOHMANN_JSON_SERIALIZE_ENUM(DeliveryRetryPolicy, {
137     {DeliveryRetryPolicy::Invalid, "Invalid"},
138     {DeliveryRetryPolicy::TerminateAfterRetries, "TerminateAfterRetries"},
139     {DeliveryRetryPolicy::SuspendRetries, "SuspendRetries"},
140     {DeliveryRetryPolicy::RetryForever, "RetryForever"},
141     {DeliveryRetryPolicy::RetryForeverWithBackoff, "RetryForeverWithBackoff"},
142 });
143 
144 NLOHMANN_JSON_SERIALIZE_ENUM(SNMPAuthenticationProtocols, {
145     {SNMPAuthenticationProtocols::Invalid, "Invalid"},
146     {SNMPAuthenticationProtocols::None, "None"},
147     {SNMPAuthenticationProtocols::CommunityString, "CommunityString"},
148     {SNMPAuthenticationProtocols::HMAC_MD5, "HMAC_MD5"},
149     {SNMPAuthenticationProtocols::HMAC_SHA96, "HMAC_SHA96"},
150     {SNMPAuthenticationProtocols::HMAC128_SHA224, "HMAC128_SHA224"},
151     {SNMPAuthenticationProtocols::HMAC192_SHA256, "HMAC192_SHA256"},
152     {SNMPAuthenticationProtocols::HMAC256_SHA384, "HMAC256_SHA384"},
153     {SNMPAuthenticationProtocols::HMAC384_SHA512, "HMAC384_SHA512"},
154 });
155 
156 NLOHMANN_JSON_SERIALIZE_ENUM(SNMPEncryptionProtocols, {
157     {SNMPEncryptionProtocols::Invalid, "Invalid"},
158     {SNMPEncryptionProtocols::None, "None"},
159     {SNMPEncryptionProtocols::CBC_DES, "CBC_DES"},
160     {SNMPEncryptionProtocols::CFB128_AES128, "CFB128_AES128"},
161 });
162 
163 NLOHMANN_JSON_SERIALIZE_ENUM(SyslogSeverity, {
164     {SyslogSeverity::Invalid, "Invalid"},
165     {SyslogSeverity::Emergency, "Emergency"},
166     {SyslogSeverity::Alert, "Alert"},
167     {SyslogSeverity::Critical, "Critical"},
168     {SyslogSeverity::Error, "Error"},
169     {SyslogSeverity::Warning, "Warning"},
170     {SyslogSeverity::Notice, "Notice"},
171     {SyslogSeverity::Informational, "Informational"},
172     {SyslogSeverity::Debug, "Debug"},
173     {SyslogSeverity::All, "All"},
174 });
175 
176 NLOHMANN_JSON_SERIALIZE_ENUM(SyslogFacility, {
177     {SyslogFacility::Invalid, "Invalid"},
178     {SyslogFacility::Kern, "Kern"},
179     {SyslogFacility::User, "User"},
180     {SyslogFacility::Mail, "Mail"},
181     {SyslogFacility::Daemon, "Daemon"},
182     {SyslogFacility::Auth, "Auth"},
183     {SyslogFacility::Syslog, "Syslog"},
184     {SyslogFacility::LPR, "LPR"},
185     {SyslogFacility::News, "News"},
186     {SyslogFacility::UUCP, "UUCP"},
187     {SyslogFacility::Cron, "Cron"},
188     {SyslogFacility::Authpriv, "Authpriv"},
189     {SyslogFacility::FTP, "FTP"},
190     {SyslogFacility::NTP, "NTP"},
191     {SyslogFacility::Security, "Security"},
192     {SyslogFacility::Console, "Console"},
193     {SyslogFacility::SolarisCron, "SolarisCron"},
194     {SyslogFacility::Local0, "Local0"},
195     {SyslogFacility::Local1, "Local1"},
196     {SyslogFacility::Local2, "Local2"},
197     {SyslogFacility::Local3, "Local3"},
198     {SyslogFacility::Local4, "Local4"},
199     {SyslogFacility::Local5, "Local5"},
200     {SyslogFacility::Local6, "Local6"},
201     {SyslogFacility::Local7, "Local7"},
202 });
203 
204 }
205 // clang-format on
206