140e9b92eSEd Tanous // SPDX-License-Identifier: Apache-2.0 240e9b92eSEd Tanous // SPDX-FileCopyrightText: Copyright OpenBMC Authors 3853c0dc5SEd Tanous #pragma once 4853c0dc5SEd Tanous #include <nlohmann/json.hpp> 5853c0dc5SEd Tanous 6853c0dc5SEd Tanous namespace connection_method 7853c0dc5SEd Tanous { 8853c0dc5SEd Tanous // clang-format off 9853c0dc5SEd Tanous 10853c0dc5SEd Tanous enum class ConnectionMethodType{ 11853c0dc5SEd Tanous Invalid, 12853c0dc5SEd Tanous Redfish, 13853c0dc5SEd Tanous SNMP, 14853c0dc5SEd Tanous IPMI15, 15853c0dc5SEd Tanous IPMI20, 16853c0dc5SEd Tanous NETCONF, 17853c0dc5SEd Tanous OEM, 18*c6d7a45dSGunnar Mills ModbusSerial, 19*c6d7a45dSGunnar Mills ModbusTCP, 20853c0dc5SEd Tanous }; 21853c0dc5SEd Tanous 22a8d8f9d8SEd Tanous enum class TunnelingProtocolType{ 23a8d8f9d8SEd Tanous Invalid, 24a8d8f9d8SEd Tanous SSH, 25a8d8f9d8SEd Tanous OEM, 26a8d8f9d8SEd Tanous }; 27a8d8f9d8SEd Tanous 28853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(ConnectionMethodType, { 29853c0dc5SEd Tanous {ConnectionMethodType::Invalid, "Invalid"}, 30853c0dc5SEd Tanous {ConnectionMethodType::Redfish, "Redfish"}, 31853c0dc5SEd Tanous {ConnectionMethodType::SNMP, "SNMP"}, 32853c0dc5SEd Tanous {ConnectionMethodType::IPMI15, "IPMI15"}, 33853c0dc5SEd Tanous {ConnectionMethodType::IPMI20, "IPMI20"}, 34853c0dc5SEd Tanous {ConnectionMethodType::NETCONF, "NETCONF"}, 35853c0dc5SEd Tanous {ConnectionMethodType::OEM, "OEM"}, 36*c6d7a45dSGunnar Mills {ConnectionMethodType::ModbusSerial, "ModbusSerial"}, 37*c6d7a45dSGunnar Mills {ConnectionMethodType::ModbusTCP, "ModbusTCP"}, 38853c0dc5SEd Tanous }); 39853c0dc5SEd Tanous 40a8d8f9d8SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(TunnelingProtocolType, { 41a8d8f9d8SEd Tanous {TunnelingProtocolType::Invalid, "Invalid"}, 42a8d8f9d8SEd Tanous {TunnelingProtocolType::SSH, "SSH"}, 43a8d8f9d8SEd Tanous {TunnelingProtocolType::OEM, "OEM"}, 44a8d8f9d8SEd Tanous }); 45a8d8f9d8SEd Tanous 46853c0dc5SEd Tanous } 47853c0dc5SEd Tanous // clang-format on 48