xref: /openbmc/bmcweb/redfish-core/include/generated/enums/aggregation_source.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 aggregation_source
7 {
8 // clang-format off
9 
10 enum class SNMPAuthenticationProtocols{
11     Invalid,
12     None,
13     CommunityString,
14     HMAC_MD5,
15     HMAC_SHA96,
16     HMAC128_SHA224,
17     HMAC192_SHA256,
18     HMAC256_SHA384,
19     HMAC384_SHA512,
20 };
21 
22 enum class SNMPEncryptionProtocols{
23     Invalid,
24     None,
25     CBC_DES,
26     CFB128_AES128,
27     CFB128_AES192,
28     CFB128_AES256,
29 };
30 
31 enum class AggregationType{
32     Invalid,
33     NotificationsOnly,
34     Full,
35 };
36 
37 enum class UserAuthenticationMethod{
38     Invalid,
39     PublicKey,
40     Password,
41 };
42 
43 NLOHMANN_JSON_SERIALIZE_ENUM(SNMPAuthenticationProtocols, {
44     {SNMPAuthenticationProtocols::Invalid, "Invalid"},
45     {SNMPAuthenticationProtocols::None, "None"},
46     {SNMPAuthenticationProtocols::CommunityString, "CommunityString"},
47     {SNMPAuthenticationProtocols::HMAC_MD5, "HMAC_MD5"},
48     {SNMPAuthenticationProtocols::HMAC_SHA96, "HMAC_SHA96"},
49     {SNMPAuthenticationProtocols::HMAC128_SHA224, "HMAC128_SHA224"},
50     {SNMPAuthenticationProtocols::HMAC192_SHA256, "HMAC192_SHA256"},
51     {SNMPAuthenticationProtocols::HMAC256_SHA384, "HMAC256_SHA384"},
52     {SNMPAuthenticationProtocols::HMAC384_SHA512, "HMAC384_SHA512"},
53 });
54 
55 NLOHMANN_JSON_SERIALIZE_ENUM(SNMPEncryptionProtocols, {
56     {SNMPEncryptionProtocols::Invalid, "Invalid"},
57     {SNMPEncryptionProtocols::None, "None"},
58     {SNMPEncryptionProtocols::CBC_DES, "CBC_DES"},
59     {SNMPEncryptionProtocols::CFB128_AES128, "CFB128_AES128"},
60     {SNMPEncryptionProtocols::CFB128_AES192, "CFB128_AES192"},
61     {SNMPEncryptionProtocols::CFB128_AES256, "CFB128_AES256"},
62 });
63 
64 NLOHMANN_JSON_SERIALIZE_ENUM(AggregationType, {
65     {AggregationType::Invalid, "Invalid"},
66     {AggregationType::NotificationsOnly, "NotificationsOnly"},
67     {AggregationType::Full, "Full"},
68 });
69 
70 NLOHMANN_JSON_SERIALIZE_ENUM(UserAuthenticationMethod, {
71     {UserAuthenticationMethod::Invalid, "Invalid"},
72     {UserAuthenticationMethod::PublicKey, "PublicKey"},
73     {UserAuthenticationMethod::Password, "Password"},
74 });
75 
76 }
77 // clang-format on
78