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