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