1 // SPDX-License-Identifier: Apache-2.0 2 // SPDX-FileCopyrightText: Copyright OpenBMC Authors 3 #pragma once 4 #include <nlohmann/json.hpp> 5 6 namespace redundancy 7 { 8 // clang-format off 9 10 enum class RedundancyType{ 11 Invalid, 12 Failover, 13 NPlusM, 14 Sharing, 15 Sparing, 16 NotRedundant, 17 }; 18 19 NLOHMANN_JSON_SERIALIZE_ENUM(RedundancyType, { 20 {RedundancyType::Invalid, "Invalid"}, 21 {RedundancyType::Failover, "Failover"}, 22 {RedundancyType::NPlusM, "NPlusM"}, 23 {RedundancyType::Sharing, "Sharing"}, 24 {RedundancyType::Sparing, "Sparing"}, 25 {RedundancyType::NotRedundant, "NotRedundant"}, 26 }); 27 28 } 29 // clang-format on 30