xref: /openbmc/bmcweb/features/redfish/include/generated/enums/resource.hpp (revision c6d7a45d427f9a6d9e761afcf305761dca60d7cf)
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 resource
70ec8b83dSEd Tanous {
80ec8b83dSEd Tanous // clang-format off
90ec8b83dSEd Tanous 
10d1a3caa4SChandramohan Harkude enum class Id{
11d1a3caa4SChandramohan Harkude     Invalid,
12d1a3caa4SChandramohan Harkude };
13d1a3caa4SChandramohan Harkude 
14d1a3caa4SChandramohan Harkude enum class Description{
15d1a3caa4SChandramohan Harkude     Invalid,
16d1a3caa4SChandramohan Harkude };
17d1a3caa4SChandramohan Harkude 
18d1a3caa4SChandramohan Harkude enum class Name{
19d1a3caa4SChandramohan Harkude     Invalid,
20d1a3caa4SChandramohan Harkude };
21d1a3caa4SChandramohan Harkude 
22d1a3caa4SChandramohan Harkude enum class UUID{
23d1a3caa4SChandramohan Harkude     Invalid,
24d1a3caa4SChandramohan Harkude };
25d1a3caa4SChandramohan Harkude 
260ec8b83dSEd Tanous enum class State{
270ec8b83dSEd Tanous     Invalid,
280ec8b83dSEd Tanous     Enabled,
290ec8b83dSEd Tanous     Disabled,
300ec8b83dSEd Tanous     StandbyOffline,
310ec8b83dSEd Tanous     StandbySpare,
320ec8b83dSEd Tanous     InTest,
330ec8b83dSEd Tanous     Starting,
340ec8b83dSEd Tanous     Absent,
350ec8b83dSEd Tanous     UnavailableOffline,
360ec8b83dSEd Tanous     Deferring,
370ec8b83dSEd Tanous     Quiesced,
380ec8b83dSEd Tanous     Updating,
390ec8b83dSEd Tanous     Qualified,
40f2a8e57eSGunnar Mills     Degraded,
410ec8b83dSEd Tanous };
420ec8b83dSEd Tanous 
430ec8b83dSEd Tanous enum class Health{
440ec8b83dSEd Tanous     Invalid,
450ec8b83dSEd Tanous     OK,
460ec8b83dSEd Tanous     Warning,
470ec8b83dSEd Tanous     Critical,
480ec8b83dSEd Tanous };
490ec8b83dSEd Tanous 
500ec8b83dSEd Tanous enum class ResetType{
510ec8b83dSEd Tanous     Invalid,
520ec8b83dSEd Tanous     On,
530ec8b83dSEd Tanous     ForceOff,
540ec8b83dSEd Tanous     GracefulShutdown,
550ec8b83dSEd Tanous     GracefulRestart,
560ec8b83dSEd Tanous     ForceRestart,
570ec8b83dSEd Tanous     Nmi,
580ec8b83dSEd Tanous     ForceOn,
590ec8b83dSEd Tanous     PushPowerButton,
600ec8b83dSEd Tanous     PowerCycle,
610ec8b83dSEd Tanous     Suspend,
620ec8b83dSEd Tanous     Pause,
630ec8b83dSEd Tanous     Resume,
649b46bc0bSMyung Bae     FullPowerCycle,
650ec8b83dSEd Tanous };
660ec8b83dSEd Tanous 
670ec8b83dSEd Tanous enum class IndicatorLED{
680ec8b83dSEd Tanous     Invalid,
690ec8b83dSEd Tanous     Lit,
700ec8b83dSEd Tanous     Blinking,
710ec8b83dSEd Tanous     Off,
720ec8b83dSEd Tanous };
730ec8b83dSEd Tanous 
740ec8b83dSEd Tanous enum class PowerState{
750ec8b83dSEd Tanous     Invalid,
760ec8b83dSEd Tanous     On,
770ec8b83dSEd Tanous     Off,
780ec8b83dSEd Tanous     PoweringOn,
790ec8b83dSEd Tanous     PoweringOff,
800ec8b83dSEd Tanous     Paused,
810ec8b83dSEd Tanous };
820ec8b83dSEd Tanous 
830ec8b83dSEd Tanous enum class DurableNameFormat{
840ec8b83dSEd Tanous     Invalid,
850ec8b83dSEd Tanous     NAA,
860ec8b83dSEd Tanous     iQN,
870ec8b83dSEd Tanous     FC_WWN,
880ec8b83dSEd Tanous     UUID,
890ec8b83dSEd Tanous     EUI,
900ec8b83dSEd Tanous     NQN,
910ec8b83dSEd Tanous     NSID,
920ec8b83dSEd Tanous     NGUID,
930ec8b83dSEd Tanous     MACAddress,
94a8d8f9d8SEd Tanous     GCXLID,
950ec8b83dSEd Tanous };
960ec8b83dSEd Tanous 
970ec8b83dSEd Tanous enum class RackUnits{
980ec8b83dSEd Tanous     Invalid,
990ec8b83dSEd Tanous     OpenU,
1000ec8b83dSEd Tanous     EIA_310,
1010ec8b83dSEd Tanous };
1020ec8b83dSEd Tanous 
1030ec8b83dSEd Tanous enum class LocationType{
1040ec8b83dSEd Tanous     Invalid,
1050ec8b83dSEd Tanous     Slot,
1060ec8b83dSEd Tanous     Bay,
1070ec8b83dSEd Tanous     Connector,
1080ec8b83dSEd Tanous     Socket,
1090ec8b83dSEd Tanous     Backplane,
1100ec8b83dSEd Tanous     Embedded,
1110ec8b83dSEd Tanous };
1120ec8b83dSEd Tanous 
1130ec8b83dSEd Tanous enum class Reference{
1140ec8b83dSEd Tanous     Invalid,
1150ec8b83dSEd Tanous     Top,
1160ec8b83dSEd Tanous     Bottom,
1170ec8b83dSEd Tanous     Front,
1180ec8b83dSEd Tanous     Rear,
1190ec8b83dSEd Tanous     Left,
1200ec8b83dSEd Tanous     Right,
1210ec8b83dSEd Tanous     Middle,
1220ec8b83dSEd Tanous };
1230ec8b83dSEd Tanous 
1240ec8b83dSEd Tanous enum class Orientation{
1250ec8b83dSEd Tanous     Invalid,
1260ec8b83dSEd Tanous     FrontToBack,
1270ec8b83dSEd Tanous     BackToFront,
1280ec8b83dSEd Tanous     TopToBottom,
1290ec8b83dSEd Tanous     BottomToTop,
1300ec8b83dSEd Tanous     LeftToRight,
1310ec8b83dSEd Tanous     RightToLeft,
1320ec8b83dSEd Tanous };
1330ec8b83dSEd Tanous 
134*c6d7a45dSGunnar Mills enum class ConditionType{
135*c6d7a45dSGunnar Mills     Invalid,
136*c6d7a45dSGunnar Mills     Alert,
137*c6d7a45dSGunnar Mills     Informational,
138*c6d7a45dSGunnar Mills     Subsystem,
139*c6d7a45dSGunnar Mills };
140*c6d7a45dSGunnar Mills 
141d1a3caa4SChandramohan Harkude NLOHMANN_JSON_SERIALIZE_ENUM(Id, {
142d1a3caa4SChandramohan Harkude     {Id::Invalid, "Invalid"},
143d1a3caa4SChandramohan Harkude });
144d1a3caa4SChandramohan Harkude 
145d1a3caa4SChandramohan Harkude NLOHMANN_JSON_SERIALIZE_ENUM(Description, {
146d1a3caa4SChandramohan Harkude     {Description::Invalid, "Invalid"},
147d1a3caa4SChandramohan Harkude });
148d1a3caa4SChandramohan Harkude 
149d1a3caa4SChandramohan Harkude NLOHMANN_JSON_SERIALIZE_ENUM(Name, {
150d1a3caa4SChandramohan Harkude     {Name::Invalid, "Invalid"},
151d1a3caa4SChandramohan Harkude });
152d1a3caa4SChandramohan Harkude 
153d1a3caa4SChandramohan Harkude NLOHMANN_JSON_SERIALIZE_ENUM(UUID, {
154d1a3caa4SChandramohan Harkude     {UUID::Invalid, "Invalid"},
155d1a3caa4SChandramohan Harkude });
156d1a3caa4SChandramohan Harkude 
1570ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(State, {
1580ec8b83dSEd Tanous     {State::Invalid, "Invalid"},
1590ec8b83dSEd Tanous     {State::Enabled, "Enabled"},
1600ec8b83dSEd Tanous     {State::Disabled, "Disabled"},
1610ec8b83dSEd Tanous     {State::StandbyOffline, "StandbyOffline"},
1620ec8b83dSEd Tanous     {State::StandbySpare, "StandbySpare"},
1630ec8b83dSEd Tanous     {State::InTest, "InTest"},
1640ec8b83dSEd Tanous     {State::Starting, "Starting"},
1650ec8b83dSEd Tanous     {State::Absent, "Absent"},
1660ec8b83dSEd Tanous     {State::UnavailableOffline, "UnavailableOffline"},
1670ec8b83dSEd Tanous     {State::Deferring, "Deferring"},
1680ec8b83dSEd Tanous     {State::Quiesced, "Quiesced"},
1690ec8b83dSEd Tanous     {State::Updating, "Updating"},
1700ec8b83dSEd Tanous     {State::Qualified, "Qualified"},
171f2a8e57eSGunnar Mills     {State::Degraded, "Degraded"},
1720ec8b83dSEd Tanous });
1730ec8b83dSEd Tanous 
1740ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(Health, {
1750ec8b83dSEd Tanous     {Health::Invalid, "Invalid"},
1760ec8b83dSEd Tanous     {Health::OK, "OK"},
1770ec8b83dSEd Tanous     {Health::Warning, "Warning"},
1780ec8b83dSEd Tanous     {Health::Critical, "Critical"},
1790ec8b83dSEd Tanous });
1800ec8b83dSEd Tanous 
1810ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(ResetType, {
1820ec8b83dSEd Tanous     {ResetType::Invalid, "Invalid"},
1830ec8b83dSEd Tanous     {ResetType::On, "On"},
1840ec8b83dSEd Tanous     {ResetType::ForceOff, "ForceOff"},
1850ec8b83dSEd Tanous     {ResetType::GracefulShutdown, "GracefulShutdown"},
1860ec8b83dSEd Tanous     {ResetType::GracefulRestart, "GracefulRestart"},
1870ec8b83dSEd Tanous     {ResetType::ForceRestart, "ForceRestart"},
1880ec8b83dSEd Tanous     {ResetType::Nmi, "Nmi"},
1890ec8b83dSEd Tanous     {ResetType::ForceOn, "ForceOn"},
1900ec8b83dSEd Tanous     {ResetType::PushPowerButton, "PushPowerButton"},
1910ec8b83dSEd Tanous     {ResetType::PowerCycle, "PowerCycle"},
1920ec8b83dSEd Tanous     {ResetType::Suspend, "Suspend"},
1930ec8b83dSEd Tanous     {ResetType::Pause, "Pause"},
1940ec8b83dSEd Tanous     {ResetType::Resume, "Resume"},
1959b46bc0bSMyung Bae     {ResetType::FullPowerCycle, "FullPowerCycle"},
1960ec8b83dSEd Tanous });
1970ec8b83dSEd Tanous 
1980ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(IndicatorLED, {
1990ec8b83dSEd Tanous     {IndicatorLED::Invalid, "Invalid"},
2000ec8b83dSEd Tanous     {IndicatorLED::Lit, "Lit"},
2010ec8b83dSEd Tanous     {IndicatorLED::Blinking, "Blinking"},
2020ec8b83dSEd Tanous     {IndicatorLED::Off, "Off"},
2030ec8b83dSEd Tanous });
2040ec8b83dSEd Tanous 
2050ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(PowerState, {
2060ec8b83dSEd Tanous     {PowerState::Invalid, "Invalid"},
2070ec8b83dSEd Tanous     {PowerState::On, "On"},
2080ec8b83dSEd Tanous     {PowerState::Off, "Off"},
2090ec8b83dSEd Tanous     {PowerState::PoweringOn, "PoweringOn"},
2100ec8b83dSEd Tanous     {PowerState::PoweringOff, "PoweringOff"},
2110ec8b83dSEd Tanous     {PowerState::Paused, "Paused"},
2120ec8b83dSEd Tanous });
2130ec8b83dSEd Tanous 
2140ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(DurableNameFormat, {
2150ec8b83dSEd Tanous     {DurableNameFormat::Invalid, "Invalid"},
2160ec8b83dSEd Tanous     {DurableNameFormat::NAA, "NAA"},
2170ec8b83dSEd Tanous     {DurableNameFormat::iQN, "iQN"},
2180ec8b83dSEd Tanous     {DurableNameFormat::FC_WWN, "FC_WWN"},
2190ec8b83dSEd Tanous     {DurableNameFormat::UUID, "UUID"},
2200ec8b83dSEd Tanous     {DurableNameFormat::EUI, "EUI"},
2210ec8b83dSEd Tanous     {DurableNameFormat::NQN, "NQN"},
2220ec8b83dSEd Tanous     {DurableNameFormat::NSID, "NSID"},
2230ec8b83dSEd Tanous     {DurableNameFormat::NGUID, "NGUID"},
2240ec8b83dSEd Tanous     {DurableNameFormat::MACAddress, "MACAddress"},
225a8d8f9d8SEd Tanous     {DurableNameFormat::GCXLID, "GCXLID"},
2260ec8b83dSEd Tanous });
2270ec8b83dSEd Tanous 
2280ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(RackUnits, {
2290ec8b83dSEd Tanous     {RackUnits::Invalid, "Invalid"},
2300ec8b83dSEd Tanous     {RackUnits::OpenU, "OpenU"},
2310ec8b83dSEd Tanous     {RackUnits::EIA_310, "EIA_310"},
2320ec8b83dSEd Tanous });
2330ec8b83dSEd Tanous 
2340ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(LocationType, {
2350ec8b83dSEd Tanous     {LocationType::Invalid, "Invalid"},
2360ec8b83dSEd Tanous     {LocationType::Slot, "Slot"},
2370ec8b83dSEd Tanous     {LocationType::Bay, "Bay"},
2380ec8b83dSEd Tanous     {LocationType::Connector, "Connector"},
2390ec8b83dSEd Tanous     {LocationType::Socket, "Socket"},
2400ec8b83dSEd Tanous     {LocationType::Backplane, "Backplane"},
2410ec8b83dSEd Tanous     {LocationType::Embedded, "Embedded"},
2420ec8b83dSEd Tanous });
2430ec8b83dSEd Tanous 
2440ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(Reference, {
2450ec8b83dSEd Tanous     {Reference::Invalid, "Invalid"},
2460ec8b83dSEd Tanous     {Reference::Top, "Top"},
2470ec8b83dSEd Tanous     {Reference::Bottom, "Bottom"},
2480ec8b83dSEd Tanous     {Reference::Front, "Front"},
2490ec8b83dSEd Tanous     {Reference::Rear, "Rear"},
2500ec8b83dSEd Tanous     {Reference::Left, "Left"},
2510ec8b83dSEd Tanous     {Reference::Right, "Right"},
2520ec8b83dSEd Tanous     {Reference::Middle, "Middle"},
2530ec8b83dSEd Tanous });
2540ec8b83dSEd Tanous 
2550ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(Orientation, {
2560ec8b83dSEd Tanous     {Orientation::Invalid, "Invalid"},
2570ec8b83dSEd Tanous     {Orientation::FrontToBack, "FrontToBack"},
2580ec8b83dSEd Tanous     {Orientation::BackToFront, "BackToFront"},
2590ec8b83dSEd Tanous     {Orientation::TopToBottom, "TopToBottom"},
2600ec8b83dSEd Tanous     {Orientation::BottomToTop, "BottomToTop"},
2610ec8b83dSEd Tanous     {Orientation::LeftToRight, "LeftToRight"},
2620ec8b83dSEd Tanous     {Orientation::RightToLeft, "RightToLeft"},
2630ec8b83dSEd Tanous });
2640ec8b83dSEd Tanous 
265*c6d7a45dSGunnar Mills NLOHMANN_JSON_SERIALIZE_ENUM(ConditionType, {
266*c6d7a45dSGunnar Mills     {ConditionType::Invalid, "Invalid"},
267*c6d7a45dSGunnar Mills     {ConditionType::Alert, "Alert"},
268*c6d7a45dSGunnar Mills     {ConditionType::Informational, "Informational"},
269*c6d7a45dSGunnar Mills     {ConditionType::Subsystem, "Subsystem"},
270*c6d7a45dSGunnar Mills });
271*c6d7a45dSGunnar Mills 
2720ec8b83dSEd Tanous }
2730ec8b83dSEd Tanous // clang-format on
274