1*0ec8b83dSEd Tanous #pragma once 2*0ec8b83dSEd Tanous #include <nlohmann/json.hpp> 3*0ec8b83dSEd Tanous 4*0ec8b83dSEd Tanous namespace manager 5*0ec8b83dSEd Tanous { 6*0ec8b83dSEd Tanous // clang-format off 7*0ec8b83dSEd Tanous 8*0ec8b83dSEd Tanous enum class ManagerType{ 9*0ec8b83dSEd Tanous Invalid, 10*0ec8b83dSEd Tanous ManagementController, 11*0ec8b83dSEd Tanous EnclosureManager, 12*0ec8b83dSEd Tanous BMC, 13*0ec8b83dSEd Tanous RackManager, 14*0ec8b83dSEd Tanous AuxiliaryController, 15*0ec8b83dSEd Tanous Service, 16*0ec8b83dSEd Tanous }; 17*0ec8b83dSEd Tanous 18*0ec8b83dSEd Tanous enum class SerialConnectTypesSupported{ 19*0ec8b83dSEd Tanous Invalid, 20*0ec8b83dSEd Tanous SSH, 21*0ec8b83dSEd Tanous Telnet, 22*0ec8b83dSEd Tanous IPMI, 23*0ec8b83dSEd Tanous Oem, 24*0ec8b83dSEd Tanous }; 25*0ec8b83dSEd Tanous 26*0ec8b83dSEd Tanous enum class CommandConnectTypesSupported{ 27*0ec8b83dSEd Tanous Invalid, 28*0ec8b83dSEd Tanous SSH, 29*0ec8b83dSEd Tanous Telnet, 30*0ec8b83dSEd Tanous IPMI, 31*0ec8b83dSEd Tanous Oem, 32*0ec8b83dSEd Tanous }; 33*0ec8b83dSEd Tanous 34*0ec8b83dSEd Tanous enum class GraphicalConnectTypesSupported{ 35*0ec8b83dSEd Tanous Invalid, 36*0ec8b83dSEd Tanous KVMIP, 37*0ec8b83dSEd Tanous Oem, 38*0ec8b83dSEd Tanous }; 39*0ec8b83dSEd Tanous 40*0ec8b83dSEd Tanous enum class ResetToDefaultsType{ 41*0ec8b83dSEd Tanous Invalid, 42*0ec8b83dSEd Tanous ResetAll, 43*0ec8b83dSEd Tanous PreserveNetworkAndUsers, 44*0ec8b83dSEd Tanous PreserveNetwork, 45*0ec8b83dSEd Tanous }; 46*0ec8b83dSEd Tanous 47*0ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(ManagerType, { 48*0ec8b83dSEd Tanous {ManagerType::Invalid, "Invalid"}, 49*0ec8b83dSEd Tanous {ManagerType::ManagementController, "ManagementController"}, 50*0ec8b83dSEd Tanous {ManagerType::EnclosureManager, "EnclosureManager"}, 51*0ec8b83dSEd Tanous {ManagerType::BMC, "BMC"}, 52*0ec8b83dSEd Tanous {ManagerType::RackManager, "RackManager"}, 53*0ec8b83dSEd Tanous {ManagerType::AuxiliaryController, "AuxiliaryController"}, 54*0ec8b83dSEd Tanous {ManagerType::Service, "Service"}, 55*0ec8b83dSEd Tanous }); 56*0ec8b83dSEd Tanous 57*0ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(SerialConnectTypesSupported, { 58*0ec8b83dSEd Tanous {SerialConnectTypesSupported::Invalid, "Invalid"}, 59*0ec8b83dSEd Tanous {SerialConnectTypesSupported::SSH, "SSH"}, 60*0ec8b83dSEd Tanous {SerialConnectTypesSupported::Telnet, "Telnet"}, 61*0ec8b83dSEd Tanous {SerialConnectTypesSupported::IPMI, "IPMI"}, 62*0ec8b83dSEd Tanous {SerialConnectTypesSupported::Oem, "Oem"}, 63*0ec8b83dSEd Tanous }); 64*0ec8b83dSEd Tanous 65*0ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(CommandConnectTypesSupported, { 66*0ec8b83dSEd Tanous {CommandConnectTypesSupported::Invalid, "Invalid"}, 67*0ec8b83dSEd Tanous {CommandConnectTypesSupported::SSH, "SSH"}, 68*0ec8b83dSEd Tanous {CommandConnectTypesSupported::Telnet, "Telnet"}, 69*0ec8b83dSEd Tanous {CommandConnectTypesSupported::IPMI, "IPMI"}, 70*0ec8b83dSEd Tanous {CommandConnectTypesSupported::Oem, "Oem"}, 71*0ec8b83dSEd Tanous }); 72*0ec8b83dSEd Tanous 73*0ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(GraphicalConnectTypesSupported, { 74*0ec8b83dSEd Tanous {GraphicalConnectTypesSupported::Invalid, "Invalid"}, 75*0ec8b83dSEd Tanous {GraphicalConnectTypesSupported::KVMIP, "KVMIP"}, 76*0ec8b83dSEd Tanous {GraphicalConnectTypesSupported::Oem, "Oem"}, 77*0ec8b83dSEd Tanous }); 78*0ec8b83dSEd Tanous 79*0ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(ResetToDefaultsType, { 80*0ec8b83dSEd Tanous {ResetToDefaultsType::Invalid, "Invalid"}, 81*0ec8b83dSEd Tanous {ResetToDefaultsType::ResetAll, "ResetAll"}, 82*0ec8b83dSEd Tanous {ResetToDefaultsType::PreserveNetworkAndUsers, "PreserveNetworkAndUsers"}, 83*0ec8b83dSEd Tanous {ResetToDefaultsType::PreserveNetwork, "PreserveNetwork"}, 84*0ec8b83dSEd Tanous }); 85*0ec8b83dSEd Tanous 86*0ec8b83dSEd Tanous } 87*0ec8b83dSEd Tanous // clang-format on 88