1853c0dc5SEd Tanous #pragma once
2853c0dc5SEd Tanous #include <nlohmann/json.hpp>
3853c0dc5SEd Tanous 
4853c0dc5SEd Tanous namespace connection_method
5853c0dc5SEd Tanous {
6853c0dc5SEd Tanous // clang-format off
7853c0dc5SEd Tanous 
8853c0dc5SEd Tanous enum class ConnectionMethodType{
9853c0dc5SEd Tanous     Invalid,
10853c0dc5SEd Tanous     Redfish,
11853c0dc5SEd Tanous     SNMP,
12853c0dc5SEd Tanous     IPMI15,
13853c0dc5SEd Tanous     IPMI20,
14853c0dc5SEd Tanous     NETCONF,
15853c0dc5SEd Tanous     OEM,
16853c0dc5SEd Tanous };
17853c0dc5SEd Tanous 
18*a8d8f9d8SEd Tanous enum class TunnelingProtocolType{
19*a8d8f9d8SEd Tanous     Invalid,
20*a8d8f9d8SEd Tanous     SSH,
21*a8d8f9d8SEd Tanous     OEM,
22*a8d8f9d8SEd Tanous };
23*a8d8f9d8SEd Tanous 
24853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(ConnectionMethodType, {
25853c0dc5SEd Tanous     {ConnectionMethodType::Invalid, "Invalid"},
26853c0dc5SEd Tanous     {ConnectionMethodType::Redfish, "Redfish"},
27853c0dc5SEd Tanous     {ConnectionMethodType::SNMP, "SNMP"},
28853c0dc5SEd Tanous     {ConnectionMethodType::IPMI15, "IPMI15"},
29853c0dc5SEd Tanous     {ConnectionMethodType::IPMI20, "IPMI20"},
30853c0dc5SEd Tanous     {ConnectionMethodType::NETCONF, "NETCONF"},
31853c0dc5SEd Tanous     {ConnectionMethodType::OEM, "OEM"},
32853c0dc5SEd Tanous });
33853c0dc5SEd Tanous 
34*a8d8f9d8SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(TunnelingProtocolType, {
35*a8d8f9d8SEd Tanous     {TunnelingProtocolType::Invalid, "Invalid"},
36*a8d8f9d8SEd Tanous     {TunnelingProtocolType::SSH, "SSH"},
37*a8d8f9d8SEd Tanous     {TunnelingProtocolType::OEM, "OEM"},
38*a8d8f9d8SEd Tanous });
39*a8d8f9d8SEd Tanous 
40853c0dc5SEd Tanous }
41853c0dc5SEd Tanous // clang-format on
42