1 // SPDX-License-Identifier: Apache-2.0 2 // SPDX-FileCopyrightText: Copyright OpenBMC Authors 3 #pragma once 4 #include <nlohmann/json.hpp> 5 6 namespace cooling_unit 7 { 8 // clang-format off 9 10 enum class CoolingEquipmentType{ 11 Invalid, 12 CDU, 13 HeatExchanger, 14 ImmersionUnit, 15 RPU, 16 }; 17 18 enum class CoolingUnitMode{ 19 Invalid, 20 Enabled, 21 Disabled, 22 }; 23 24 NLOHMANN_JSON_SERIALIZE_ENUM(CoolingEquipmentType, { 25 {CoolingEquipmentType::Invalid, "Invalid"}, 26 {CoolingEquipmentType::CDU, "CDU"}, 27 {CoolingEquipmentType::HeatExchanger, "HeatExchanger"}, 28 {CoolingEquipmentType::ImmersionUnit, "ImmersionUnit"}, 29 {CoolingEquipmentType::RPU, "RPU"}, 30 }); 31 32 NLOHMANN_JSON_SERIALIZE_ENUM(CoolingUnitMode, { 33 {CoolingUnitMode::Invalid, "Invalid"}, 34 {CoolingUnitMode::Enabled, "Enabled"}, 35 {CoolingUnitMode::Disabled, "Disabled"}, 36 }); 37 38 } 39 // clang-format on 40