xref: /openbmc/bmcweb/redfish-core/include/generated/enums/cable.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 cable
7 {
8 // clang-format off
9 
10 enum class CableClass{
11     Invalid,
12     Power,
13     Network,
14     Storage,
15     Fan,
16     PCIe,
17     USB,
18     Video,
19     Fabric,
20     Serial,
21     General,
22 };
23 
24 enum class ConnectorType{
25     Invalid,
26     ACPower,
27     DB9,
28     DCPower,
29     DisplayPort,
30     HDMI,
31     ICI,
32     IPASS,
33     PCIe,
34     Proprietary,
35     RJ45,
36     SATA,
37     SCSI,
38     SlimSAS,
39     SFP,
40     SFPPlus,
41     USBA,
42     USBC,
43     QSFP,
44     CDFP,
45     OSFP,
46 };
47 
48 enum class CableStatus{
49     Invalid,
50     Normal,
51     Degraded,
52     Failed,
53     Testing,
54     Disabled,
55     SetByService,
56 };
57 
58 NLOHMANN_JSON_SERIALIZE_ENUM(CableClass, {
59     {CableClass::Invalid, "Invalid"},
60     {CableClass::Power, "Power"},
61     {CableClass::Network, "Network"},
62     {CableClass::Storage, "Storage"},
63     {CableClass::Fan, "Fan"},
64     {CableClass::PCIe, "PCIe"},
65     {CableClass::USB, "USB"},
66     {CableClass::Video, "Video"},
67     {CableClass::Fabric, "Fabric"},
68     {CableClass::Serial, "Serial"},
69     {CableClass::General, "General"},
70 });
71 
72 NLOHMANN_JSON_SERIALIZE_ENUM(ConnectorType, {
73     {ConnectorType::Invalid, "Invalid"},
74     {ConnectorType::ACPower, "ACPower"},
75     {ConnectorType::DB9, "DB9"},
76     {ConnectorType::DCPower, "DCPower"},
77     {ConnectorType::DisplayPort, "DisplayPort"},
78     {ConnectorType::HDMI, "HDMI"},
79     {ConnectorType::ICI, "ICI"},
80     {ConnectorType::IPASS, "IPASS"},
81     {ConnectorType::PCIe, "PCIe"},
82     {ConnectorType::Proprietary, "Proprietary"},
83     {ConnectorType::RJ45, "RJ45"},
84     {ConnectorType::SATA, "SATA"},
85     {ConnectorType::SCSI, "SCSI"},
86     {ConnectorType::SlimSAS, "SlimSAS"},
87     {ConnectorType::SFP, "SFP"},
88     {ConnectorType::SFPPlus, "SFPPlus"},
89     {ConnectorType::USBA, "USBA"},
90     {ConnectorType::USBC, "USBC"},
91     {ConnectorType::QSFP, "QSFP"},
92     {ConnectorType::CDFP, "CDFP"},
93     {ConnectorType::OSFP, "OSFP"},
94 });
95 
96 NLOHMANN_JSON_SERIALIZE_ENUM(CableStatus, {
97     {CableStatus::Invalid, "Invalid"},
98     {CableStatus::Normal, "Normal"},
99     {CableStatus::Degraded, "Degraded"},
100     {CableStatus::Failed, "Failed"},
101     {CableStatus::Testing, "Testing"},
102     {CableStatus::Disabled, "Disabled"},
103     {CableStatus::SetByService, "SetByService"},
104 });
105 
106 }
107 // clang-format on
108