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