xref: /openbmc/bmcweb/features/redfish/include/generated/enums/outlet.hpp (revision 40e9b92ec19acffb46f83a6e55b18974da5d708e)
1*40e9b92eSEd Tanous // SPDX-License-Identifier: Apache-2.0
2*40e9b92eSEd Tanous // SPDX-FileCopyrightText: Copyright OpenBMC Authors
3853c0dc5SEd Tanous #pragma once
4853c0dc5SEd Tanous #include <nlohmann/json.hpp>
5853c0dc5SEd Tanous 
6853c0dc5SEd Tanous namespace outlet
7853c0dc5SEd Tanous {
8853c0dc5SEd Tanous // clang-format off
9853c0dc5SEd Tanous 
10f263e09cSEd Tanous enum class PowerState{
11f263e09cSEd Tanous     Invalid,
12f263e09cSEd Tanous     On,
13f263e09cSEd Tanous     Off,
14f263e09cSEd Tanous     PowerCycle,
15f263e09cSEd Tanous };
16f263e09cSEd Tanous 
17853c0dc5SEd Tanous enum class ReceptacleType{
18853c0dc5SEd Tanous     Invalid,
19853c0dc5SEd Tanous     NEMA_5_15R,
20853c0dc5SEd Tanous     NEMA_5_20R,
21853c0dc5SEd Tanous     NEMA_L5_20R,
22853c0dc5SEd Tanous     NEMA_L5_30R,
23853c0dc5SEd Tanous     NEMA_L6_20R,
24853c0dc5SEd Tanous     NEMA_L6_30R,
25853c0dc5SEd Tanous     IEC_60320_C13,
26853c0dc5SEd Tanous     IEC_60320_C19,
27853c0dc5SEd Tanous     CEE_7_Type_E,
28853c0dc5SEd Tanous     CEE_7_Type_F,
29853c0dc5SEd Tanous     SEV_1011_TYPE_12,
30853c0dc5SEd Tanous     SEV_1011_TYPE_23,
31853c0dc5SEd Tanous     BS_1363_Type_G,
32853c0dc5SEd Tanous     BusConnection,
33853c0dc5SEd Tanous };
34853c0dc5SEd Tanous 
35853c0dc5SEd Tanous enum class VoltageType{
36853c0dc5SEd Tanous     Invalid,
37853c0dc5SEd Tanous     AC,
38853c0dc5SEd Tanous     DC,
39853c0dc5SEd Tanous };
40853c0dc5SEd Tanous 
41f263e09cSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(PowerState, {
42f263e09cSEd Tanous     {PowerState::Invalid, "Invalid"},
43f263e09cSEd Tanous     {PowerState::On, "On"},
44f263e09cSEd Tanous     {PowerState::Off, "Off"},
45f263e09cSEd Tanous     {PowerState::PowerCycle, "PowerCycle"},
46f263e09cSEd Tanous });
47f263e09cSEd Tanous 
48853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(ReceptacleType, {
49853c0dc5SEd Tanous     {ReceptacleType::Invalid, "Invalid"},
50853c0dc5SEd Tanous     {ReceptacleType::NEMA_5_15R, "NEMA_5_15R"},
51853c0dc5SEd Tanous     {ReceptacleType::NEMA_5_20R, "NEMA_5_20R"},
52853c0dc5SEd Tanous     {ReceptacleType::NEMA_L5_20R, "NEMA_L5_20R"},
53853c0dc5SEd Tanous     {ReceptacleType::NEMA_L5_30R, "NEMA_L5_30R"},
54853c0dc5SEd Tanous     {ReceptacleType::NEMA_L6_20R, "NEMA_L6_20R"},
55853c0dc5SEd Tanous     {ReceptacleType::NEMA_L6_30R, "NEMA_L6_30R"},
56853c0dc5SEd Tanous     {ReceptacleType::IEC_60320_C13, "IEC_60320_C13"},
57853c0dc5SEd Tanous     {ReceptacleType::IEC_60320_C19, "IEC_60320_C19"},
58853c0dc5SEd Tanous     {ReceptacleType::CEE_7_Type_E, "CEE_7_Type_E"},
59853c0dc5SEd Tanous     {ReceptacleType::CEE_7_Type_F, "CEE_7_Type_F"},
60853c0dc5SEd Tanous     {ReceptacleType::SEV_1011_TYPE_12, "SEV_1011_TYPE_12"},
61853c0dc5SEd Tanous     {ReceptacleType::SEV_1011_TYPE_23, "SEV_1011_TYPE_23"},
62853c0dc5SEd Tanous     {ReceptacleType::BS_1363_Type_G, "BS_1363_Type_G"},
63853c0dc5SEd Tanous     {ReceptacleType::BusConnection, "BusConnection"},
64853c0dc5SEd Tanous });
65853c0dc5SEd Tanous 
66853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(VoltageType, {
67853c0dc5SEd Tanous     {VoltageType::Invalid, "Invalid"},
68853c0dc5SEd Tanous     {VoltageType::AC, "AC"},
69853c0dc5SEd Tanous     {VoltageType::DC, "DC"},
70853c0dc5SEd Tanous });
71853c0dc5SEd Tanous 
72853c0dc5SEd Tanous }
73853c0dc5SEd Tanous // clang-format on
74