xref: /openbmc/bmcweb/redfish-core/include/generated/enums/circuit.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 circuit
7853c0dc5SEd Tanous {
8853c0dc5SEd Tanous // clang-format off
9853c0dc5SEd Tanous 
10853c0dc5SEd Tanous enum class PowerState{
11853c0dc5SEd Tanous     Invalid,
12853c0dc5SEd Tanous     On,
13853c0dc5SEd Tanous     Off,
14853c0dc5SEd Tanous     PowerCycle,
15853c0dc5SEd Tanous };
16853c0dc5SEd Tanous 
17853c0dc5SEd Tanous enum class BreakerStates{
18853c0dc5SEd Tanous     Invalid,
19853c0dc5SEd Tanous     Normal,
20853c0dc5SEd Tanous     Tripped,
21853c0dc5SEd Tanous     Off,
22853c0dc5SEd Tanous };
23853c0dc5SEd Tanous 
24853c0dc5SEd Tanous enum class PowerRestorePolicyTypes{
25853c0dc5SEd Tanous     Invalid,
26853c0dc5SEd Tanous     AlwaysOn,
27853c0dc5SEd Tanous     AlwaysOff,
28853c0dc5SEd Tanous     LastState,
29853c0dc5SEd Tanous };
30853c0dc5SEd Tanous 
31853c0dc5SEd Tanous enum class PhaseWiringType{
32853c0dc5SEd Tanous     Invalid,
33853c0dc5SEd Tanous     OnePhase3Wire,
34853c0dc5SEd Tanous     TwoPhase3Wire,
35853c0dc5SEd Tanous     OneOrTwoPhase3Wire,
36853c0dc5SEd Tanous     TwoPhase4Wire,
37853c0dc5SEd Tanous     ThreePhase4Wire,
38853c0dc5SEd Tanous     ThreePhase5Wire,
39853c0dc5SEd Tanous };
40853c0dc5SEd Tanous 
41853c0dc5SEd Tanous enum class NominalVoltageType{
42853c0dc5SEd Tanous     Invalid,
43853c0dc5SEd Tanous     AC100To127V,
44853c0dc5SEd Tanous     AC100To240V,
45853c0dc5SEd Tanous     AC100To277V,
46853c0dc5SEd Tanous     AC120V,
47853c0dc5SEd Tanous     AC200To240V,
48853c0dc5SEd Tanous     AC200To277V,
49853c0dc5SEd Tanous     AC208V,
50853c0dc5SEd Tanous     AC230V,
51853c0dc5SEd Tanous     AC240V,
52853c0dc5SEd Tanous     AC240AndDC380V,
53853c0dc5SEd Tanous     AC277V,
54853c0dc5SEd Tanous     AC277AndDC380V,
55853c0dc5SEd Tanous     AC400V,
56853c0dc5SEd Tanous     AC480V,
57853c0dc5SEd Tanous     DC48V,
58853c0dc5SEd Tanous     DC240V,
59853c0dc5SEd Tanous     DC380V,
60853c0dc5SEd Tanous     DCNeg48V,
61853c0dc5SEd Tanous     DC16V,
62853c0dc5SEd Tanous     DC12V,
63853c0dc5SEd Tanous     DC9V,
64853c0dc5SEd Tanous     DC5V,
65853c0dc5SEd Tanous     DC3_3V,
66853c0dc5SEd Tanous     DC1_8V,
67853c0dc5SEd Tanous };
68853c0dc5SEd Tanous 
69853c0dc5SEd Tanous enum class PlugType{
70853c0dc5SEd Tanous     Invalid,
71853c0dc5SEd Tanous     NEMA_5_15P,
72853c0dc5SEd Tanous     NEMA_L5_15P,
73853c0dc5SEd Tanous     NEMA_5_20P,
74853c0dc5SEd Tanous     NEMA_L5_20P,
75853c0dc5SEd Tanous     NEMA_L5_30P,
76853c0dc5SEd Tanous     NEMA_6_15P,
77853c0dc5SEd Tanous     NEMA_L6_15P,
78853c0dc5SEd Tanous     NEMA_6_20P,
79853c0dc5SEd Tanous     NEMA_L6_20P,
80853c0dc5SEd Tanous     NEMA_L6_30P,
81853c0dc5SEd Tanous     NEMA_L14_20P,
82853c0dc5SEd Tanous     NEMA_L14_30P,
83853c0dc5SEd Tanous     NEMA_L15_20P,
84853c0dc5SEd Tanous     NEMA_L15_30P,
85853c0dc5SEd Tanous     NEMA_L21_20P,
86853c0dc5SEd Tanous     NEMA_L21_30P,
87853c0dc5SEd Tanous     NEMA_L22_20P,
88853c0dc5SEd Tanous     NEMA_L22_30P,
89853c0dc5SEd Tanous     California_CS8265,
90853c0dc5SEd Tanous     California_CS8365,
91853c0dc5SEd Tanous     IEC_60320_C14,
92853c0dc5SEd Tanous     IEC_60320_C20,
93853c0dc5SEd Tanous     IEC_60309_316P6,
94853c0dc5SEd Tanous     IEC_60309_332P6,
95853c0dc5SEd Tanous     IEC_60309_363P6,
96853c0dc5SEd Tanous     IEC_60309_516P6,
97853c0dc5SEd Tanous     IEC_60309_532P6,
98853c0dc5SEd Tanous     IEC_60309_563P6,
99853c0dc5SEd Tanous     IEC_60309_460P9,
100853c0dc5SEd Tanous     IEC_60309_560P9,
101853c0dc5SEd Tanous     Field_208V_3P4W_60A,
102853c0dc5SEd Tanous     Field_400V_3P5W_32A,
103853c0dc5SEd Tanous };
104853c0dc5SEd Tanous 
105853c0dc5SEd Tanous enum class CircuitType{
106853c0dc5SEd Tanous     Invalid,
107853c0dc5SEd Tanous     Mains,
108853c0dc5SEd Tanous     Branch,
109853c0dc5SEd Tanous     Subfeed,
110853c0dc5SEd Tanous     Feeder,
111853c0dc5SEd Tanous     Bus,
112853c0dc5SEd Tanous };
113853c0dc5SEd Tanous 
114853c0dc5SEd Tanous enum class VoltageType{
115853c0dc5SEd Tanous     Invalid,
116853c0dc5SEd Tanous     AC,
117853c0dc5SEd Tanous     DC,
118853c0dc5SEd Tanous };
119853c0dc5SEd Tanous 
120853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(PowerState, {
121853c0dc5SEd Tanous     {PowerState::Invalid, "Invalid"},
122853c0dc5SEd Tanous     {PowerState::On, "On"},
123853c0dc5SEd Tanous     {PowerState::Off, "Off"},
124853c0dc5SEd Tanous     {PowerState::PowerCycle, "PowerCycle"},
125853c0dc5SEd Tanous });
126853c0dc5SEd Tanous 
127853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(BreakerStates, {
128853c0dc5SEd Tanous     {BreakerStates::Invalid, "Invalid"},
129853c0dc5SEd Tanous     {BreakerStates::Normal, "Normal"},
130853c0dc5SEd Tanous     {BreakerStates::Tripped, "Tripped"},
131853c0dc5SEd Tanous     {BreakerStates::Off, "Off"},
132853c0dc5SEd Tanous });
133853c0dc5SEd Tanous 
134853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(PowerRestorePolicyTypes, {
135853c0dc5SEd Tanous     {PowerRestorePolicyTypes::Invalid, "Invalid"},
136853c0dc5SEd Tanous     {PowerRestorePolicyTypes::AlwaysOn, "AlwaysOn"},
137853c0dc5SEd Tanous     {PowerRestorePolicyTypes::AlwaysOff, "AlwaysOff"},
138853c0dc5SEd Tanous     {PowerRestorePolicyTypes::LastState, "LastState"},
139853c0dc5SEd Tanous });
140853c0dc5SEd Tanous 
141853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(PhaseWiringType, {
142853c0dc5SEd Tanous     {PhaseWiringType::Invalid, "Invalid"},
143853c0dc5SEd Tanous     {PhaseWiringType::OnePhase3Wire, "OnePhase3Wire"},
144853c0dc5SEd Tanous     {PhaseWiringType::TwoPhase3Wire, "TwoPhase3Wire"},
145853c0dc5SEd Tanous     {PhaseWiringType::OneOrTwoPhase3Wire, "OneOrTwoPhase3Wire"},
146853c0dc5SEd Tanous     {PhaseWiringType::TwoPhase4Wire, "TwoPhase4Wire"},
147853c0dc5SEd Tanous     {PhaseWiringType::ThreePhase4Wire, "ThreePhase4Wire"},
148853c0dc5SEd Tanous     {PhaseWiringType::ThreePhase5Wire, "ThreePhase5Wire"},
149853c0dc5SEd Tanous });
150853c0dc5SEd Tanous 
151853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(NominalVoltageType, {
152853c0dc5SEd Tanous     {NominalVoltageType::Invalid, "Invalid"},
153853c0dc5SEd Tanous     {NominalVoltageType::AC100To127V, "AC100To127V"},
154853c0dc5SEd Tanous     {NominalVoltageType::AC100To240V, "AC100To240V"},
155853c0dc5SEd Tanous     {NominalVoltageType::AC100To277V, "AC100To277V"},
156853c0dc5SEd Tanous     {NominalVoltageType::AC120V, "AC120V"},
157853c0dc5SEd Tanous     {NominalVoltageType::AC200To240V, "AC200To240V"},
158853c0dc5SEd Tanous     {NominalVoltageType::AC200To277V, "AC200To277V"},
159853c0dc5SEd Tanous     {NominalVoltageType::AC208V, "AC208V"},
160853c0dc5SEd Tanous     {NominalVoltageType::AC230V, "AC230V"},
161853c0dc5SEd Tanous     {NominalVoltageType::AC240V, "AC240V"},
162853c0dc5SEd Tanous     {NominalVoltageType::AC240AndDC380V, "AC240AndDC380V"},
163853c0dc5SEd Tanous     {NominalVoltageType::AC277V, "AC277V"},
164853c0dc5SEd Tanous     {NominalVoltageType::AC277AndDC380V, "AC277AndDC380V"},
165853c0dc5SEd Tanous     {NominalVoltageType::AC400V, "AC400V"},
166853c0dc5SEd Tanous     {NominalVoltageType::AC480V, "AC480V"},
167853c0dc5SEd Tanous     {NominalVoltageType::DC48V, "DC48V"},
168853c0dc5SEd Tanous     {NominalVoltageType::DC240V, "DC240V"},
169853c0dc5SEd Tanous     {NominalVoltageType::DC380V, "DC380V"},
170853c0dc5SEd Tanous     {NominalVoltageType::DCNeg48V, "DCNeg48V"},
171853c0dc5SEd Tanous     {NominalVoltageType::DC16V, "DC16V"},
172853c0dc5SEd Tanous     {NominalVoltageType::DC12V, "DC12V"},
173853c0dc5SEd Tanous     {NominalVoltageType::DC9V, "DC9V"},
174853c0dc5SEd Tanous     {NominalVoltageType::DC5V, "DC5V"},
175853c0dc5SEd Tanous     {NominalVoltageType::DC3_3V, "DC3_3V"},
176853c0dc5SEd Tanous     {NominalVoltageType::DC1_8V, "DC1_8V"},
177853c0dc5SEd Tanous });
178853c0dc5SEd Tanous 
179853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(PlugType, {
180853c0dc5SEd Tanous     {PlugType::Invalid, "Invalid"},
181853c0dc5SEd Tanous     {PlugType::NEMA_5_15P, "NEMA_5_15P"},
182853c0dc5SEd Tanous     {PlugType::NEMA_L5_15P, "NEMA_L5_15P"},
183853c0dc5SEd Tanous     {PlugType::NEMA_5_20P, "NEMA_5_20P"},
184853c0dc5SEd Tanous     {PlugType::NEMA_L5_20P, "NEMA_L5_20P"},
185853c0dc5SEd Tanous     {PlugType::NEMA_L5_30P, "NEMA_L5_30P"},
186853c0dc5SEd Tanous     {PlugType::NEMA_6_15P, "NEMA_6_15P"},
187853c0dc5SEd Tanous     {PlugType::NEMA_L6_15P, "NEMA_L6_15P"},
188853c0dc5SEd Tanous     {PlugType::NEMA_6_20P, "NEMA_6_20P"},
189853c0dc5SEd Tanous     {PlugType::NEMA_L6_20P, "NEMA_L6_20P"},
190853c0dc5SEd Tanous     {PlugType::NEMA_L6_30P, "NEMA_L6_30P"},
191853c0dc5SEd Tanous     {PlugType::NEMA_L14_20P, "NEMA_L14_20P"},
192853c0dc5SEd Tanous     {PlugType::NEMA_L14_30P, "NEMA_L14_30P"},
193853c0dc5SEd Tanous     {PlugType::NEMA_L15_20P, "NEMA_L15_20P"},
194853c0dc5SEd Tanous     {PlugType::NEMA_L15_30P, "NEMA_L15_30P"},
195853c0dc5SEd Tanous     {PlugType::NEMA_L21_20P, "NEMA_L21_20P"},
196853c0dc5SEd Tanous     {PlugType::NEMA_L21_30P, "NEMA_L21_30P"},
197853c0dc5SEd Tanous     {PlugType::NEMA_L22_20P, "NEMA_L22_20P"},
198853c0dc5SEd Tanous     {PlugType::NEMA_L22_30P, "NEMA_L22_30P"},
199853c0dc5SEd Tanous     {PlugType::California_CS8265, "California_CS8265"},
200853c0dc5SEd Tanous     {PlugType::California_CS8365, "California_CS8365"},
201853c0dc5SEd Tanous     {PlugType::IEC_60320_C14, "IEC_60320_C14"},
202853c0dc5SEd Tanous     {PlugType::IEC_60320_C20, "IEC_60320_C20"},
203853c0dc5SEd Tanous     {PlugType::IEC_60309_316P6, "IEC_60309_316P6"},
204853c0dc5SEd Tanous     {PlugType::IEC_60309_332P6, "IEC_60309_332P6"},
205853c0dc5SEd Tanous     {PlugType::IEC_60309_363P6, "IEC_60309_363P6"},
206853c0dc5SEd Tanous     {PlugType::IEC_60309_516P6, "IEC_60309_516P6"},
207853c0dc5SEd Tanous     {PlugType::IEC_60309_532P6, "IEC_60309_532P6"},
208853c0dc5SEd Tanous     {PlugType::IEC_60309_563P6, "IEC_60309_563P6"},
209853c0dc5SEd Tanous     {PlugType::IEC_60309_460P9, "IEC_60309_460P9"},
210853c0dc5SEd Tanous     {PlugType::IEC_60309_560P9, "IEC_60309_560P9"},
211853c0dc5SEd Tanous     {PlugType::Field_208V_3P4W_60A, "Field_208V_3P4W_60A"},
212853c0dc5SEd Tanous     {PlugType::Field_400V_3P5W_32A, "Field_400V_3P5W_32A"},
213853c0dc5SEd Tanous });
214853c0dc5SEd Tanous 
215853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(CircuitType, {
216853c0dc5SEd Tanous     {CircuitType::Invalid, "Invalid"},
217853c0dc5SEd Tanous     {CircuitType::Mains, "Mains"},
218853c0dc5SEd Tanous     {CircuitType::Branch, "Branch"},
219853c0dc5SEd Tanous     {CircuitType::Subfeed, "Subfeed"},
220853c0dc5SEd Tanous     {CircuitType::Feeder, "Feeder"},
221853c0dc5SEd Tanous     {CircuitType::Bus, "Bus"},
222853c0dc5SEd Tanous });
223853c0dc5SEd Tanous 
224853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(VoltageType, {
225853c0dc5SEd Tanous     {VoltageType::Invalid, "Invalid"},
226853c0dc5SEd Tanous     {VoltageType::AC, "AC"},
227853c0dc5SEd Tanous     {VoltageType::DC, "DC"},
228853c0dc5SEd Tanous });
229853c0dc5SEd Tanous 
230853c0dc5SEd Tanous }
231853c0dc5SEd Tanous // clang-format on
232