xref: /openbmc/bmcweb/features/redfish/include/generated/enums/outlet.hpp (revision 853c0dc5486bbab77b2d1f158152de93847c20d9)
1*853c0dc5SEd Tanous #pragma once
2*853c0dc5SEd Tanous #include <nlohmann/json.hpp>
3*853c0dc5SEd Tanous 
4*853c0dc5SEd Tanous namespace outlet
5*853c0dc5SEd Tanous {
6*853c0dc5SEd Tanous // clang-format off
7*853c0dc5SEd Tanous 
8*853c0dc5SEd Tanous enum class PowerState{
9*853c0dc5SEd Tanous     Invalid,
10*853c0dc5SEd Tanous     On,
11*853c0dc5SEd Tanous     Off,
12*853c0dc5SEd Tanous     PowerCycle,
13*853c0dc5SEd Tanous };
14*853c0dc5SEd Tanous 
15*853c0dc5SEd Tanous enum class ReceptacleType{
16*853c0dc5SEd Tanous     Invalid,
17*853c0dc5SEd Tanous     NEMA_5_15R,
18*853c0dc5SEd Tanous     NEMA_5_20R,
19*853c0dc5SEd Tanous     NEMA_L5_20R,
20*853c0dc5SEd Tanous     NEMA_L5_30R,
21*853c0dc5SEd Tanous     NEMA_L6_20R,
22*853c0dc5SEd Tanous     NEMA_L6_30R,
23*853c0dc5SEd Tanous     IEC_60320_C13,
24*853c0dc5SEd Tanous     IEC_60320_C19,
25*853c0dc5SEd Tanous     CEE_7_Type_E,
26*853c0dc5SEd Tanous     CEE_7_Type_F,
27*853c0dc5SEd Tanous     SEV_1011_TYPE_12,
28*853c0dc5SEd Tanous     SEV_1011_TYPE_23,
29*853c0dc5SEd Tanous     BS_1363_Type_G,
30*853c0dc5SEd Tanous     BusConnection,
31*853c0dc5SEd Tanous };
32*853c0dc5SEd Tanous 
33*853c0dc5SEd Tanous enum class VoltageType{
34*853c0dc5SEd Tanous     Invalid,
35*853c0dc5SEd Tanous     AC,
36*853c0dc5SEd Tanous     DC,
37*853c0dc5SEd Tanous };
38*853c0dc5SEd Tanous 
39*853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(PowerState, {
40*853c0dc5SEd Tanous     {PowerState::Invalid, "Invalid"},
41*853c0dc5SEd Tanous     {PowerState::On, "On"},
42*853c0dc5SEd Tanous     {PowerState::Off, "Off"},
43*853c0dc5SEd Tanous     {PowerState::PowerCycle, "PowerCycle"},
44*853c0dc5SEd Tanous });
45*853c0dc5SEd Tanous 
46*853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(ReceptacleType, {
47*853c0dc5SEd Tanous     {ReceptacleType::Invalid, "Invalid"},
48*853c0dc5SEd Tanous     {ReceptacleType::NEMA_5_15R, "NEMA_5_15R"},
49*853c0dc5SEd Tanous     {ReceptacleType::NEMA_5_20R, "NEMA_5_20R"},
50*853c0dc5SEd Tanous     {ReceptacleType::NEMA_L5_20R, "NEMA_L5_20R"},
51*853c0dc5SEd Tanous     {ReceptacleType::NEMA_L5_30R, "NEMA_L5_30R"},
52*853c0dc5SEd Tanous     {ReceptacleType::NEMA_L6_20R, "NEMA_L6_20R"},
53*853c0dc5SEd Tanous     {ReceptacleType::NEMA_L6_30R, "NEMA_L6_30R"},
54*853c0dc5SEd Tanous     {ReceptacleType::IEC_60320_C13, "IEC_60320_C13"},
55*853c0dc5SEd Tanous     {ReceptacleType::IEC_60320_C19, "IEC_60320_C19"},
56*853c0dc5SEd Tanous     {ReceptacleType::CEE_7_Type_E, "CEE_7_Type_E"},
57*853c0dc5SEd Tanous     {ReceptacleType::CEE_7_Type_F, "CEE_7_Type_F"},
58*853c0dc5SEd Tanous     {ReceptacleType::SEV_1011_TYPE_12, "SEV_1011_TYPE_12"},
59*853c0dc5SEd Tanous     {ReceptacleType::SEV_1011_TYPE_23, "SEV_1011_TYPE_23"},
60*853c0dc5SEd Tanous     {ReceptacleType::BS_1363_Type_G, "BS_1363_Type_G"},
61*853c0dc5SEd Tanous     {ReceptacleType::BusConnection, "BusConnection"},
62*853c0dc5SEd Tanous });
63*853c0dc5SEd Tanous 
64*853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(VoltageType, {
65*853c0dc5SEd Tanous     {VoltageType::Invalid, "Invalid"},
66*853c0dc5SEd Tanous     {VoltageType::AC, "AC"},
67*853c0dc5SEd Tanous     {VoltageType::DC, "DC"},
68*853c0dc5SEd Tanous });
69*853c0dc5SEd Tanous 
70*853c0dc5SEd Tanous }
71*853c0dc5SEd Tanous // clang-format on
72