xref: /openbmc/bmcweb/redfish-core/include/generated/enums/power_distribution.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 power_distribution
7 {
8 // clang-format off
9 
10 enum class PowerEquipmentType{
11     Invalid,
12     RackPDU,
13     FloorPDU,
14     ManualTransferSwitch,
15     AutomaticTransferSwitch,
16     Switchgear,
17     PowerShelf,
18     Bus,
19     BatteryShelf,
20 };
21 
22 enum class TransferSensitivityType{
23     Invalid,
24     High,
25     Medium,
26     Low,
27 };
28 
29 NLOHMANN_JSON_SERIALIZE_ENUM(PowerEquipmentType, {
30     {PowerEquipmentType::Invalid, "Invalid"},
31     {PowerEquipmentType::RackPDU, "RackPDU"},
32     {PowerEquipmentType::FloorPDU, "FloorPDU"},
33     {PowerEquipmentType::ManualTransferSwitch, "ManualTransferSwitch"},
34     {PowerEquipmentType::AutomaticTransferSwitch, "AutomaticTransferSwitch"},
35     {PowerEquipmentType::Switchgear, "Switchgear"},
36     {PowerEquipmentType::PowerShelf, "PowerShelf"},
37     {PowerEquipmentType::Bus, "Bus"},
38     {PowerEquipmentType::BatteryShelf, "BatteryShelf"},
39 });
40 
41 NLOHMANN_JSON_SERIALIZE_ENUM(TransferSensitivityType, {
42     {TransferSensitivityType::Invalid, "Invalid"},
43     {TransferSensitivityType::High, "High"},
44     {TransferSensitivityType::Medium, "Medium"},
45     {TransferSensitivityType::Low, "Low"},
46 });
47 
48 }
49 // clang-format on
50