xref: /openbmc/bmcweb/redfish-core/include/generated/enums/manager_account.hpp (revision a08c3de2e9a788addf7c71fc2db1912e39a85d3b)
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     ControlPanel,
22 };
23 
24 enum class SNMPAuthenticationProtocols{
25     Invalid,
26     None,
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     CBC_DES,
39     CFB128_AES128,
40     CFB128_AES192,
41     CFB128_AES256,
42 };
43 
44 NLOHMANN_JSON_SERIALIZE_ENUM(AccountTypes, {
45     {AccountTypes::Invalid, "Invalid"},
46     {AccountTypes::Redfish, "Redfish"},
47     {AccountTypes::SNMP, "SNMP"},
48     {AccountTypes::OEM, "OEM"},
49     {AccountTypes::HostConsole, "HostConsole"},
50     {AccountTypes::ManagerConsole, "ManagerConsole"},
51     {AccountTypes::IPMI, "IPMI"},
52     {AccountTypes::KVMIP, "KVMIP"},
53     {AccountTypes::VirtualMedia, "VirtualMedia"},
54     {AccountTypes::WebUI, "WebUI"},
55     {AccountTypes::ControlPanel, "ControlPanel"},
56 });
57 
58 NLOHMANN_JSON_SERIALIZE_ENUM(SNMPAuthenticationProtocols, {
59     {SNMPAuthenticationProtocols::Invalid, "Invalid"},
60     {SNMPAuthenticationProtocols::None, "None"},
61     {SNMPAuthenticationProtocols::HMAC_MD5, "HMAC_MD5"},
62     {SNMPAuthenticationProtocols::HMAC_SHA96, "HMAC_SHA96"},
63     {SNMPAuthenticationProtocols::HMAC128_SHA224, "HMAC128_SHA224"},
64     {SNMPAuthenticationProtocols::HMAC192_SHA256, "HMAC192_SHA256"},
65     {SNMPAuthenticationProtocols::HMAC256_SHA384, "HMAC256_SHA384"},
66     {SNMPAuthenticationProtocols::HMAC384_SHA512, "HMAC384_SHA512"},
67 });
68 
69 NLOHMANN_JSON_SERIALIZE_ENUM(SNMPEncryptionProtocols, {
70     {SNMPEncryptionProtocols::Invalid, "Invalid"},
71     {SNMPEncryptionProtocols::None, "None"},
72     {SNMPEncryptionProtocols::CBC_DES, "CBC_DES"},
73     {SNMPEncryptionProtocols::CFB128_AES128, "CFB128_AES128"},
74     {SNMPEncryptionProtocols::CFB128_AES192, "CFB128_AES192"},
75     {SNMPEncryptionProtocols::CFB128_AES256, "CFB128_AES256"},
76 });
77 
78 }
79 // clang-format on
80