xref: /openbmc/bmcweb/features/redfish/include/generated/enums/power_distribution.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 power_distribution
7853c0dc5SEd Tanous {
8853c0dc5SEd Tanous // clang-format off
9853c0dc5SEd Tanous 
10853c0dc5SEd Tanous enum class PowerEquipmentType{
11853c0dc5SEd Tanous     Invalid,
12853c0dc5SEd Tanous     RackPDU,
13853c0dc5SEd Tanous     FloorPDU,
14853c0dc5SEd Tanous     ManualTransferSwitch,
15853c0dc5SEd Tanous     AutomaticTransferSwitch,
16853c0dc5SEd Tanous     Switchgear,
17853c0dc5SEd Tanous     PowerShelf,
18853c0dc5SEd Tanous     Bus,
19a8d8f9d8SEd Tanous     BatteryShelf,
20853c0dc5SEd Tanous };
21853c0dc5SEd Tanous 
22853c0dc5SEd Tanous enum class TransferSensitivityType{
23853c0dc5SEd Tanous     Invalid,
24853c0dc5SEd Tanous     High,
25853c0dc5SEd Tanous     Medium,
26853c0dc5SEd Tanous     Low,
27853c0dc5SEd Tanous };
28853c0dc5SEd Tanous 
29853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(PowerEquipmentType, {
30853c0dc5SEd Tanous     {PowerEquipmentType::Invalid, "Invalid"},
31853c0dc5SEd Tanous     {PowerEquipmentType::RackPDU, "RackPDU"},
32853c0dc5SEd Tanous     {PowerEquipmentType::FloorPDU, "FloorPDU"},
33853c0dc5SEd Tanous     {PowerEquipmentType::ManualTransferSwitch, "ManualTransferSwitch"},
34853c0dc5SEd Tanous     {PowerEquipmentType::AutomaticTransferSwitch, "AutomaticTransferSwitch"},
35853c0dc5SEd Tanous     {PowerEquipmentType::Switchgear, "Switchgear"},
36853c0dc5SEd Tanous     {PowerEquipmentType::PowerShelf, "PowerShelf"},
37853c0dc5SEd Tanous     {PowerEquipmentType::Bus, "Bus"},
38a8d8f9d8SEd Tanous     {PowerEquipmentType::BatteryShelf, "BatteryShelf"},
39853c0dc5SEd Tanous });
40853c0dc5SEd Tanous 
41853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(TransferSensitivityType, {
42853c0dc5SEd Tanous     {TransferSensitivityType::Invalid, "Invalid"},
43853c0dc5SEd Tanous     {TransferSensitivityType::High, "High"},
44853c0dc5SEd Tanous     {TransferSensitivityType::Medium, "Medium"},
45853c0dc5SEd Tanous     {TransferSensitivityType::Low, "Low"},
46853c0dc5SEd Tanous });
47853c0dc5SEd Tanous 
48853c0dc5SEd Tanous }
49853c0dc5SEd Tanous // clang-format on
50