xref: /openbmc/bmcweb/features/redfish/include/generated/enums/pcie_slots.hpp (revision 40e9b92ec19acffb46f83a6e55b18974da5d708e)
1*40e9b92eSEd Tanous // SPDX-License-Identifier: Apache-2.0
2*40e9b92eSEd Tanous // SPDX-FileCopyrightText: Copyright OpenBMC Authors
30ec8b83dSEd Tanous #pragma once
40ec8b83dSEd Tanous #include <nlohmann/json.hpp>
50ec8b83dSEd Tanous 
60ec8b83dSEd Tanous namespace pcie_slots
70ec8b83dSEd Tanous {
80ec8b83dSEd Tanous // clang-format off
90ec8b83dSEd Tanous 
100ec8b83dSEd Tanous enum class SlotTypes{
110ec8b83dSEd Tanous     Invalid,
120ec8b83dSEd Tanous     FullLength,
130ec8b83dSEd Tanous     HalfLength,
140ec8b83dSEd Tanous     LowProfile,
150ec8b83dSEd Tanous     Mini,
160ec8b83dSEd Tanous     M2,
170ec8b83dSEd Tanous     OEM,
180ec8b83dSEd Tanous     OCP3Small,
190ec8b83dSEd Tanous     OCP3Large,
200ec8b83dSEd Tanous     U2,
210ec8b83dSEd Tanous };
220ec8b83dSEd Tanous 
230ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(SlotTypes, {
240ec8b83dSEd Tanous     {SlotTypes::Invalid, "Invalid"},
250ec8b83dSEd Tanous     {SlotTypes::FullLength, "FullLength"},
260ec8b83dSEd Tanous     {SlotTypes::HalfLength, "HalfLength"},
270ec8b83dSEd Tanous     {SlotTypes::LowProfile, "LowProfile"},
280ec8b83dSEd Tanous     {SlotTypes::Mini, "Mini"},
290ec8b83dSEd Tanous     {SlotTypes::M2, "M2"},
300ec8b83dSEd Tanous     {SlotTypes::OEM, "OEM"},
310ec8b83dSEd Tanous     {SlotTypes::OCP3Small, "OCP3Small"},
320ec8b83dSEd Tanous     {SlotTypes::OCP3Large, "OCP3Large"},
330ec8b83dSEd Tanous     {SlotTypes::U2, "U2"},
340ec8b83dSEd Tanous });
350ec8b83dSEd Tanous 
360ec8b83dSEd Tanous }
370ec8b83dSEd Tanous // clang-format on
38