xref: /openbmc/bmcweb/features/redfish/include/generated/enums/manager_network_protocol.hpp (revision 40e9b92ec19acffb46f83a6e55b18974da5d708e)
1*40e9b92eSEd Tanous // SPDX-License-Identifier: Apache-2.0
2*40e9b92eSEd Tanous // SPDX-FileCopyrightText: Copyright OpenBMC Authors
30ec8b83dSEd Tanous #pragma once
40ec8b83dSEd Tanous #include <nlohmann/json.hpp>
50ec8b83dSEd Tanous 
60ec8b83dSEd Tanous namespace manager_network_protocol
70ec8b83dSEd Tanous {
80ec8b83dSEd Tanous // clang-format off
90ec8b83dSEd Tanous 
100ec8b83dSEd Tanous enum class NotifyIPv6Scope{
110ec8b83dSEd Tanous     Invalid,
120ec8b83dSEd Tanous     Link,
130ec8b83dSEd Tanous     Site,
140ec8b83dSEd Tanous     Organization,
150ec8b83dSEd Tanous };
160ec8b83dSEd Tanous 
170ec8b83dSEd Tanous enum class SNMPCommunityAccessMode{
180ec8b83dSEd Tanous     Invalid,
190ec8b83dSEd Tanous     Full,
200ec8b83dSEd Tanous     Limited,
210ec8b83dSEd Tanous };
220ec8b83dSEd Tanous 
230ec8b83dSEd Tanous enum class SNMPAuthenticationProtocols{
240ec8b83dSEd Tanous     Invalid,
250ec8b83dSEd Tanous     Account,
260ec8b83dSEd Tanous     CommunityString,
270ec8b83dSEd Tanous     HMAC_MD5,
280ec8b83dSEd Tanous     HMAC_SHA96,
290ec8b83dSEd Tanous     HMAC128_SHA224,
300ec8b83dSEd Tanous     HMAC192_SHA256,
310ec8b83dSEd Tanous     HMAC256_SHA384,
320ec8b83dSEd Tanous     HMAC384_SHA512,
330ec8b83dSEd Tanous };
340ec8b83dSEd Tanous 
350ec8b83dSEd Tanous enum class SNMPEncryptionProtocols{
360ec8b83dSEd Tanous     Invalid,
370ec8b83dSEd Tanous     None,
380ec8b83dSEd Tanous     Account,
390ec8b83dSEd Tanous     CBC_DES,
400ec8b83dSEd Tanous     CFB128_AES128,
412ae81db9SGunnar Mills     CFB128_AES192,
422ae81db9SGunnar Mills     CFB128_AES256,
430ec8b83dSEd Tanous };
440ec8b83dSEd Tanous 
450ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(NotifyIPv6Scope, {
460ec8b83dSEd Tanous     {NotifyIPv6Scope::Invalid, "Invalid"},
470ec8b83dSEd Tanous     {NotifyIPv6Scope::Link, "Link"},
480ec8b83dSEd Tanous     {NotifyIPv6Scope::Site, "Site"},
490ec8b83dSEd Tanous     {NotifyIPv6Scope::Organization, "Organization"},
500ec8b83dSEd Tanous });
510ec8b83dSEd Tanous 
520ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(SNMPCommunityAccessMode, {
530ec8b83dSEd Tanous     {SNMPCommunityAccessMode::Invalid, "Invalid"},
540ec8b83dSEd Tanous     {SNMPCommunityAccessMode::Full, "Full"},
550ec8b83dSEd Tanous     {SNMPCommunityAccessMode::Limited, "Limited"},
560ec8b83dSEd Tanous });
570ec8b83dSEd Tanous 
580ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(SNMPAuthenticationProtocols, {
590ec8b83dSEd Tanous     {SNMPAuthenticationProtocols::Invalid, "Invalid"},
600ec8b83dSEd Tanous     {SNMPAuthenticationProtocols::Account, "Account"},
610ec8b83dSEd Tanous     {SNMPAuthenticationProtocols::CommunityString, "CommunityString"},
620ec8b83dSEd Tanous     {SNMPAuthenticationProtocols::HMAC_MD5, "HMAC_MD5"},
630ec8b83dSEd Tanous     {SNMPAuthenticationProtocols::HMAC_SHA96, "HMAC_SHA96"},
640ec8b83dSEd Tanous     {SNMPAuthenticationProtocols::HMAC128_SHA224, "HMAC128_SHA224"},
650ec8b83dSEd Tanous     {SNMPAuthenticationProtocols::HMAC192_SHA256, "HMAC192_SHA256"},
660ec8b83dSEd Tanous     {SNMPAuthenticationProtocols::HMAC256_SHA384, "HMAC256_SHA384"},
670ec8b83dSEd Tanous     {SNMPAuthenticationProtocols::HMAC384_SHA512, "HMAC384_SHA512"},
680ec8b83dSEd Tanous });
690ec8b83dSEd Tanous 
700ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(SNMPEncryptionProtocols, {
710ec8b83dSEd Tanous     {SNMPEncryptionProtocols::Invalid, "Invalid"},
720ec8b83dSEd Tanous     {SNMPEncryptionProtocols::None, "None"},
730ec8b83dSEd Tanous     {SNMPEncryptionProtocols::Account, "Account"},
740ec8b83dSEd Tanous     {SNMPEncryptionProtocols::CBC_DES, "CBC_DES"},
750ec8b83dSEd Tanous     {SNMPEncryptionProtocols::CFB128_AES128, "CFB128_AES128"},
762ae81db9SGunnar Mills     {SNMPEncryptionProtocols::CFB128_AES192, "CFB128_AES192"},
772ae81db9SGunnar Mills     {SNMPEncryptionProtocols::CFB128_AES256, "CFB128_AES256"},
780ec8b83dSEd Tanous });
790ec8b83dSEd Tanous 
800ec8b83dSEd Tanous }
810ec8b83dSEd Tanous // clang-format on
82