| #pragma once |
| #include <cstdint> |
| #include <nlohmann/json.hpp> |
| |
| namespace event_destination |
| { |
| // clang-format off |
| |
| enum class EventFormatType : std::uint8_t{ |
| Invalid, |
| Event, |
| MetricReport, |
| }; |
| |
| enum class EventDestinationProtocol : std::uint8_t{ |
| Invalid, |
| Redfish, |
| Kafka, |
| SNMPv1, |
| SNMPv2c, |
| SNMPv3, |
| SMTP, |
| SyslogTLS, |
| SyslogTCP, |
| SyslogUDP, |
| SyslogRELP, |
| OEM, |
| }; |
| |
| enum class SubscriptionType : std::uint8_t{ |
| Invalid, |
| RedfishEvent, |
| SSE, |
| SNMPTrap, |
| SNMPInform, |
| Syslog, |
| OEM, |
| }; |
| |
| enum class DeliveryRetryPolicy : std::uint8_t{ |
| Invalid, |
| TerminateAfterRetries, |
| SuspendRetries, |
| RetryForever, |
| RetryForeverWithBackoff, |
| }; |
| |
| enum class SNMPAuthenticationProtocols : std::uint8_t{ |
| Invalid, |
| None, |
| CommunityString, |
| HMAC_MD5, |
| HMAC_SHA96, |
| HMAC128_SHA224, |
| HMAC192_SHA256, |
| HMAC256_SHA384, |
| HMAC384_SHA512, |
| }; |
| |
| enum class SNMPEncryptionProtocols : std::uint8_t{ |
| Invalid, |
| None, |
| CBC_DES, |
| CFB128_AES128, |
| }; |
| |
| enum class SyslogSeverity : std::uint8_t{ |
| Invalid, |
| Emergency, |
| Alert, |
| Critical, |
| Error, |
| Warning, |
| Notice, |
| Informational, |
| Debug, |
| All, |
| }; |
| |
| enum class SyslogFacility : std::uint8_t{ |
| Invalid, |
| Kern, |
| User, |
| Mail, |
| Daemon, |
| Auth, |
| Syslog, |
| LPR, |
| News, |
| UUCP, |
| Cron, |
| Authpriv, |
| FTP, |
| NTP, |
| Security, |
| Console, |
| SolarisCron, |
| Local0, |
| Local1, |
| Local2, |
| Local3, |
| Local4, |
| Local5, |
| Local6, |
| Local7, |
| }; |
| |
| NLOHMANN_JSON_SERIALIZE_ENUM(EventFormatType, { |
| {EventFormatType::Invalid, "Invalid"}, |
| {EventFormatType::Event, "Event"}, |
| {EventFormatType::MetricReport, "MetricReport"}, |
| }); |
| |
| NLOHMANN_JSON_SERIALIZE_ENUM(EventDestinationProtocol, { |
| {EventDestinationProtocol::Invalid, "Invalid"}, |
| {EventDestinationProtocol::Redfish, "Redfish"}, |
| {EventDestinationProtocol::Kafka, "Kafka"}, |
| {EventDestinationProtocol::SNMPv1, "SNMPv1"}, |
| {EventDestinationProtocol::SNMPv2c, "SNMPv2c"}, |
| {EventDestinationProtocol::SNMPv3, "SNMPv3"}, |
| {EventDestinationProtocol::SMTP, "SMTP"}, |
| {EventDestinationProtocol::SyslogTLS, "SyslogTLS"}, |
| {EventDestinationProtocol::SyslogTCP, "SyslogTCP"}, |
| {EventDestinationProtocol::SyslogUDP, "SyslogUDP"}, |
| {EventDestinationProtocol::SyslogRELP, "SyslogRELP"}, |
| {EventDestinationProtocol::OEM, "OEM"}, |
| }); |
| |
| NLOHMANN_JSON_SERIALIZE_ENUM(SubscriptionType, { |
| {SubscriptionType::Invalid, "Invalid"}, |
| {SubscriptionType::RedfishEvent, "RedfishEvent"}, |
| {SubscriptionType::SSE, "SSE"}, |
| {SubscriptionType::SNMPTrap, "SNMPTrap"}, |
| {SubscriptionType::SNMPInform, "SNMPInform"}, |
| {SubscriptionType::Syslog, "Syslog"}, |
| {SubscriptionType::OEM, "OEM"}, |
| }); |
| |
| NLOHMANN_JSON_SERIALIZE_ENUM(DeliveryRetryPolicy, { |
| {DeliveryRetryPolicy::Invalid, "Invalid"}, |
| {DeliveryRetryPolicy::TerminateAfterRetries, "TerminateAfterRetries"}, |
| {DeliveryRetryPolicy::SuspendRetries, "SuspendRetries"}, |
| {DeliveryRetryPolicy::RetryForever, "RetryForever"}, |
| {DeliveryRetryPolicy::RetryForeverWithBackoff, "RetryForeverWithBackoff"}, |
| }); |
| |
| NLOHMANN_JSON_SERIALIZE_ENUM(SNMPAuthenticationProtocols, { |
| {SNMPAuthenticationProtocols::Invalid, "Invalid"}, |
| {SNMPAuthenticationProtocols::None, "None"}, |
| {SNMPAuthenticationProtocols::CommunityString, "CommunityString"}, |
| {SNMPAuthenticationProtocols::HMAC_MD5, "HMAC_MD5"}, |
| {SNMPAuthenticationProtocols::HMAC_SHA96, "HMAC_SHA96"}, |
| {SNMPAuthenticationProtocols::HMAC128_SHA224, "HMAC128_SHA224"}, |
| {SNMPAuthenticationProtocols::HMAC192_SHA256, "HMAC192_SHA256"}, |
| {SNMPAuthenticationProtocols::HMAC256_SHA384, "HMAC256_SHA384"}, |
| {SNMPAuthenticationProtocols::HMAC384_SHA512, "HMAC384_SHA512"}, |
| }); |
| |
| NLOHMANN_JSON_SERIALIZE_ENUM(SNMPEncryptionProtocols, { |
| {SNMPEncryptionProtocols::Invalid, "Invalid"}, |
| {SNMPEncryptionProtocols::None, "None"}, |
| {SNMPEncryptionProtocols::CBC_DES, "CBC_DES"}, |
| {SNMPEncryptionProtocols::CFB128_AES128, "CFB128_AES128"}, |
| }); |
| |
| NLOHMANN_JSON_SERIALIZE_ENUM(SyslogSeverity, { |
| {SyslogSeverity::Invalid, "Invalid"}, |
| {SyslogSeverity::Emergency, "Emergency"}, |
| {SyslogSeverity::Alert, "Alert"}, |
| {SyslogSeverity::Critical, "Critical"}, |
| {SyslogSeverity::Error, "Error"}, |
| {SyslogSeverity::Warning, "Warning"}, |
| {SyslogSeverity::Notice, "Notice"}, |
| {SyslogSeverity::Informational, "Informational"}, |
| {SyslogSeverity::Debug, "Debug"}, |
| {SyslogSeverity::All, "All"}, |
| }); |
| |
| NLOHMANN_JSON_SERIALIZE_ENUM(SyslogFacility, { |
| {SyslogFacility::Invalid, "Invalid"}, |
| {SyslogFacility::Kern, "Kern"}, |
| {SyslogFacility::User, "User"}, |
| {SyslogFacility::Mail, "Mail"}, |
| {SyslogFacility::Daemon, "Daemon"}, |
| {SyslogFacility::Auth, "Auth"}, |
| {SyslogFacility::Syslog, "Syslog"}, |
| {SyslogFacility::LPR, "LPR"}, |
| {SyslogFacility::News, "News"}, |
| {SyslogFacility::UUCP, "UUCP"}, |
| {SyslogFacility::Cron, "Cron"}, |
| {SyslogFacility::Authpriv, "Authpriv"}, |
| {SyslogFacility::FTP, "FTP"}, |
| {SyslogFacility::NTP, "NTP"}, |
| {SyslogFacility::Security, "Security"}, |
| {SyslogFacility::Console, "Console"}, |
| {SyslogFacility::SolarisCron, "SolarisCron"}, |
| {SyslogFacility::Local0, "Local0"}, |
| {SyslogFacility::Local1, "Local1"}, |
| {SyslogFacility::Local2, "Local2"}, |
| {SyslogFacility::Local3, "Local3"}, |
| {SyslogFacility::Local4, "Local4"}, |
| {SyslogFacility::Local5, "Local5"}, |
| {SyslogFacility::Local6, "Local6"}, |
| {SyslogFacility::Local7, "Local7"}, |
| }); |
| |
| } // namespace event_destination |
| // clang-format on |