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