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