xref: /openbmc/bmcweb/features/redfish/include/generated/enums/redundancy.hpp (revision d1a3caa4eda8ca07cd656b4e4e8aa1e4ffe53e1e)
140e9b92eSEd Tanous // SPDX-License-Identifier: Apache-2.0
240e9b92eSEd 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 
10*d1a3caa4SChandramohan Harkude enum class RedundancyMode{
11*d1a3caa4SChandramohan Harkude     Invalid,
12*d1a3caa4SChandramohan Harkude     Failover,
13*d1a3caa4SChandramohan Harkude     Nm,
14*d1a3caa4SChandramohan Harkude     Sharing,
15*d1a3caa4SChandramohan Harkude     Sparing,
16*d1a3caa4SChandramohan Harkude     NotRedundant,
17*d1a3caa4SChandramohan Harkude };
18*d1a3caa4SChandramohan Harkude 
190ec8b83dSEd Tanous enum class RedundancyType{
200ec8b83dSEd Tanous     Invalid,
210ec8b83dSEd Tanous     Failover,
220ec8b83dSEd Tanous     NPlusM,
230ec8b83dSEd Tanous     Sharing,
240ec8b83dSEd Tanous     Sparing,
250ec8b83dSEd Tanous     NotRedundant,
260ec8b83dSEd Tanous };
270ec8b83dSEd Tanous 
28*d1a3caa4SChandramohan Harkude NLOHMANN_JSON_SERIALIZE_ENUM(RedundancyMode, {
29*d1a3caa4SChandramohan Harkude     {RedundancyMode::Invalid, "Invalid"},
30*d1a3caa4SChandramohan Harkude     {RedundancyMode::Failover, "Failover"},
31*d1a3caa4SChandramohan Harkude     {RedundancyMode::Nm, "N+m"},
32*d1a3caa4SChandramohan Harkude     {RedundancyMode::Sharing, "Sharing"},
33*d1a3caa4SChandramohan Harkude     {RedundancyMode::Sparing, "Sparing"},
34*d1a3caa4SChandramohan Harkude     {RedundancyMode::NotRedundant, "NotRedundant"},
35*d1a3caa4SChandramohan Harkude });
36*d1a3caa4SChandramohan Harkude 
370ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(RedundancyType, {
380ec8b83dSEd Tanous     {RedundancyType::Invalid, "Invalid"},
390ec8b83dSEd Tanous     {RedundancyType::Failover, "Failover"},
400ec8b83dSEd Tanous     {RedundancyType::NPlusM, "NPlusM"},
410ec8b83dSEd Tanous     {RedundancyType::Sharing, "Sharing"},
420ec8b83dSEd Tanous     {RedundancyType::Sparing, "Sparing"},
430ec8b83dSEd Tanous     {RedundancyType::NotRedundant, "NotRedundant"},
440ec8b83dSEd Tanous });
450ec8b83dSEd Tanous 
460ec8b83dSEd Tanous }
470ec8b83dSEd Tanous // clang-format on
48