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