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 redundancy 70ec8b83dSEd Tanous { 80ec8b83dSEd Tanous // clang-format off 90ec8b83dSEd Tanous 100ec8b83dSEd Tanous enum class RedundancyType{ 110ec8b83dSEd Tanous Invalid, 120ec8b83dSEd Tanous Failover, 130ec8b83dSEd Tanous NPlusM, 140ec8b83dSEd Tanous Sharing, 150ec8b83dSEd Tanous Sparing, 160ec8b83dSEd Tanous NotRedundant, 170ec8b83dSEd Tanous }; 180ec8b83dSEd Tanous 190ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(RedundancyType, { 200ec8b83dSEd Tanous {RedundancyType::Invalid, "Invalid"}, 210ec8b83dSEd Tanous {RedundancyType::Failover, "Failover"}, 220ec8b83dSEd Tanous {RedundancyType::NPlusM, "NPlusM"}, 230ec8b83dSEd Tanous {RedundancyType::Sharing, "Sharing"}, 240ec8b83dSEd Tanous {RedundancyType::Sparing, "Sparing"}, 250ec8b83dSEd Tanous {RedundancyType::NotRedundant, "NotRedundant"}, 260ec8b83dSEd Tanous }); 270ec8b83dSEd Tanous 280ec8b83dSEd Tanous } 290ec8b83dSEd Tanous // clang-format on 30