1 // SPDX-License-Identifier: Apache-2.0 2 // SPDX-FileCopyrightText: Copyright OpenBMC Authors 3 #pragma once 4 #include <nlohmann/json.hpp> 5 6 namespace connection_method 7 { 8 // clang-format off 9 10 enum class ConnectionMethodType{ 11 Invalid, 12 Redfish, 13 SNMP, 14 IPMI15, 15 IPMI20, 16 NETCONF, 17 OEM, 18 }; 19 20 enum class TunnelingProtocolType{ 21 Invalid, 22 SSH, 23 OEM, 24 }; 25 26 NLOHMANN_JSON_SERIALIZE_ENUM(ConnectionMethodType, { 27 {ConnectionMethodType::Invalid, "Invalid"}, 28 {ConnectionMethodType::Redfish, "Redfish"}, 29 {ConnectionMethodType::SNMP, "SNMP"}, 30 {ConnectionMethodType::IPMI15, "IPMI15"}, 31 {ConnectionMethodType::IPMI20, "IPMI20"}, 32 {ConnectionMethodType::NETCONF, "NETCONF"}, 33 {ConnectionMethodType::OEM, "OEM"}, 34 }); 35 36 NLOHMANN_JSON_SERIALIZE_ENUM(TunnelingProtocolType, { 37 {TunnelingProtocolType::Invalid, "Invalid"}, 38 {TunnelingProtocolType::SSH, "SSH"}, 39 {TunnelingProtocolType::OEM, "OEM"}, 40 }); 41 42 } 43 // clang-format on 44