blob: 13137b4c4beec66b508d4ec82d6a2f852bef149a [file] [log] [blame]
#pragma once
#include <cstdint>
#include <nlohmann/json.hpp>
namespace aggregation_source
{
// clang-format off
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 AggregationType : std::uint8_t{
Invalid,
NotificationsOnly,
Full,
};
enum class UserAuthenticationMethod : std::uint8_t{
Invalid,
PublicKey,
Password,
};
enum class SSHKeyType : std::uint8_t{
Invalid,
RSA,
DSA,
ECDSA,
Ed25519,
};
enum class ECDSACurveType : std::uint8_t{
Invalid,
NISTP256,
NISTP384,
NISTP521,
NISTK163,
NISTP192,
NISTP224,
NISTK233,
NISTB233,
NISTK283,
NISTK409,
NISTB409,
NISTT571,
};
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(AggregationType, {
{AggregationType::Invalid, "Invalid"},
{AggregationType::NotificationsOnly, "NotificationsOnly"},
{AggregationType::Full, "Full"},
});
NLOHMANN_JSON_SERIALIZE_ENUM(UserAuthenticationMethod, {
{UserAuthenticationMethod::Invalid, "Invalid"},
{UserAuthenticationMethod::PublicKey, "PublicKey"},
{UserAuthenticationMethod::Password, "Password"},
});
NLOHMANN_JSON_SERIALIZE_ENUM(SSHKeyType, {
{SSHKeyType::Invalid, "Invalid"},
{SSHKeyType::RSA, "RSA"},
{SSHKeyType::DSA, "DSA"},
{SSHKeyType::ECDSA, "ECDSA"},
{SSHKeyType::Ed25519, "Ed25519"},
});
NLOHMANN_JSON_SERIALIZE_ENUM(ECDSACurveType, {
{ECDSACurveType::Invalid, "Invalid"},
{ECDSACurveType::NISTP256, "NISTP256"},
{ECDSACurveType::NISTP384, "NISTP384"},
{ECDSACurveType::NISTP521, "NISTP521"},
{ECDSACurveType::NISTK163, "NISTK163"},
{ECDSACurveType::NISTP192, "NISTP192"},
{ECDSACurveType::NISTP224, "NISTP224"},
{ECDSACurveType::NISTK233, "NISTK233"},
{ECDSACurveType::NISTB233, "NISTB233"},
{ECDSACurveType::NISTK283, "NISTK283"},
{ECDSACurveType::NISTK409, "NISTK409"},
{ECDSACurveType::NISTB409, "NISTB409"},
{ECDSACurveType::NISTT571, "NISTT571"},
});
} // namespace aggregation_source
// clang-format on