1*40e9b92eSEd Tanous // SPDX-License-Identifier: Apache-2.0 2*40e9b92eSEd Tanous // SPDX-FileCopyrightText: Copyright OpenBMC Authors 30ec8b83dSEd Tanous #pragma once 40ec8b83dSEd Tanous #include <nlohmann/json.hpp> 50ec8b83dSEd Tanous 60ec8b83dSEd Tanous namespace manager 70ec8b83dSEd Tanous { 80ec8b83dSEd Tanous // clang-format off 90ec8b83dSEd Tanous 100ec8b83dSEd Tanous enum class ManagerType{ 110ec8b83dSEd Tanous Invalid, 120ec8b83dSEd Tanous ManagementController, 130ec8b83dSEd Tanous EnclosureManager, 140ec8b83dSEd Tanous BMC, 150ec8b83dSEd Tanous RackManager, 160ec8b83dSEd Tanous AuxiliaryController, 170ec8b83dSEd Tanous Service, 180ec8b83dSEd Tanous }; 190ec8b83dSEd Tanous 200ec8b83dSEd Tanous enum class SerialConnectTypesSupported{ 210ec8b83dSEd Tanous Invalid, 220ec8b83dSEd Tanous SSH, 230ec8b83dSEd Tanous Telnet, 240ec8b83dSEd Tanous IPMI, 250ec8b83dSEd Tanous Oem, 260ec8b83dSEd Tanous }; 270ec8b83dSEd Tanous 280ec8b83dSEd Tanous enum class CommandConnectTypesSupported{ 290ec8b83dSEd Tanous Invalid, 300ec8b83dSEd Tanous SSH, 310ec8b83dSEd Tanous Telnet, 320ec8b83dSEd Tanous IPMI, 330ec8b83dSEd Tanous Oem, 340ec8b83dSEd Tanous }; 350ec8b83dSEd Tanous 360ec8b83dSEd Tanous enum class GraphicalConnectTypesSupported{ 370ec8b83dSEd Tanous Invalid, 380ec8b83dSEd Tanous KVMIP, 390ec8b83dSEd Tanous Oem, 400ec8b83dSEd Tanous }; 410ec8b83dSEd Tanous 420ec8b83dSEd Tanous enum class ResetToDefaultsType{ 430ec8b83dSEd Tanous Invalid, 440ec8b83dSEd Tanous ResetAll, 450ec8b83dSEd Tanous PreserveNetworkAndUsers, 460ec8b83dSEd Tanous PreserveNetwork, 470ec8b83dSEd Tanous }; 480ec8b83dSEd Tanous 490ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(ManagerType, { 500ec8b83dSEd Tanous {ManagerType::Invalid, "Invalid"}, 510ec8b83dSEd Tanous {ManagerType::ManagementController, "ManagementController"}, 520ec8b83dSEd Tanous {ManagerType::EnclosureManager, "EnclosureManager"}, 530ec8b83dSEd Tanous {ManagerType::BMC, "BMC"}, 540ec8b83dSEd Tanous {ManagerType::RackManager, "RackManager"}, 550ec8b83dSEd Tanous {ManagerType::AuxiliaryController, "AuxiliaryController"}, 560ec8b83dSEd Tanous {ManagerType::Service, "Service"}, 570ec8b83dSEd Tanous }); 580ec8b83dSEd Tanous 590ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(SerialConnectTypesSupported, { 600ec8b83dSEd Tanous {SerialConnectTypesSupported::Invalid, "Invalid"}, 610ec8b83dSEd Tanous {SerialConnectTypesSupported::SSH, "SSH"}, 620ec8b83dSEd Tanous {SerialConnectTypesSupported::Telnet, "Telnet"}, 630ec8b83dSEd Tanous {SerialConnectTypesSupported::IPMI, "IPMI"}, 640ec8b83dSEd Tanous {SerialConnectTypesSupported::Oem, "Oem"}, 650ec8b83dSEd Tanous }); 660ec8b83dSEd Tanous 670ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(CommandConnectTypesSupported, { 680ec8b83dSEd Tanous {CommandConnectTypesSupported::Invalid, "Invalid"}, 690ec8b83dSEd Tanous {CommandConnectTypesSupported::SSH, "SSH"}, 700ec8b83dSEd Tanous {CommandConnectTypesSupported::Telnet, "Telnet"}, 710ec8b83dSEd Tanous {CommandConnectTypesSupported::IPMI, "IPMI"}, 720ec8b83dSEd Tanous {CommandConnectTypesSupported::Oem, "Oem"}, 730ec8b83dSEd Tanous }); 740ec8b83dSEd Tanous 750ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(GraphicalConnectTypesSupported, { 760ec8b83dSEd Tanous {GraphicalConnectTypesSupported::Invalid, "Invalid"}, 770ec8b83dSEd Tanous {GraphicalConnectTypesSupported::KVMIP, "KVMIP"}, 780ec8b83dSEd Tanous {GraphicalConnectTypesSupported::Oem, "Oem"}, 790ec8b83dSEd Tanous }); 800ec8b83dSEd Tanous 810ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(ResetToDefaultsType, { 820ec8b83dSEd Tanous {ResetToDefaultsType::Invalid, "Invalid"}, 830ec8b83dSEd Tanous {ResetToDefaultsType::ResetAll, "ResetAll"}, 840ec8b83dSEd Tanous {ResetToDefaultsType::PreserveNetworkAndUsers, "PreserveNetworkAndUsers"}, 850ec8b83dSEd Tanous {ResetToDefaultsType::PreserveNetwork, "PreserveNetwork"}, 860ec8b83dSEd Tanous }); 870ec8b83dSEd Tanous 880ec8b83dSEd Tanous } 890ec8b83dSEd Tanous // clang-format on 90