xref: /openbmc/bmcweb/features/redfish/include/generated/enums/endpoint.hpp (revision 853c0dc5486bbab77b2d1f158152de93847c20d9)
1*853c0dc5SEd Tanous #pragma once
2*853c0dc5SEd Tanous #include <nlohmann/json.hpp>
3*853c0dc5SEd Tanous 
4*853c0dc5SEd Tanous namespace endpoint
5*853c0dc5SEd Tanous {
6*853c0dc5SEd Tanous // clang-format off
7*853c0dc5SEd Tanous 
8*853c0dc5SEd Tanous enum class EntityType{
9*853c0dc5SEd Tanous     Invalid,
10*853c0dc5SEd Tanous     StorageInitiator,
11*853c0dc5SEd Tanous     RootComplex,
12*853c0dc5SEd Tanous     NetworkController,
13*853c0dc5SEd Tanous     Drive,
14*853c0dc5SEd Tanous     StorageExpander,
15*853c0dc5SEd Tanous     DisplayController,
16*853c0dc5SEd Tanous     Bridge,
17*853c0dc5SEd Tanous     Processor,
18*853c0dc5SEd Tanous     Volume,
19*853c0dc5SEd Tanous     AccelerationFunction,
20*853c0dc5SEd Tanous     MediaController,
21*853c0dc5SEd Tanous     MemoryChunk,
22*853c0dc5SEd Tanous     Switch,
23*853c0dc5SEd Tanous     FabricBridge,
24*853c0dc5SEd Tanous     Manager,
25*853c0dc5SEd Tanous     StorageSubsystem,
26*853c0dc5SEd Tanous };
27*853c0dc5SEd Tanous 
28*853c0dc5SEd Tanous enum class EntityRole{
29*853c0dc5SEd Tanous     Invalid,
30*853c0dc5SEd Tanous     Initiator,
31*853c0dc5SEd Tanous     Target,
32*853c0dc5SEd Tanous     Both,
33*853c0dc5SEd Tanous };
34*853c0dc5SEd Tanous 
35*853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(EntityType, {
36*853c0dc5SEd Tanous     {EntityType::Invalid, "Invalid"},
37*853c0dc5SEd Tanous     {EntityType::StorageInitiator, "StorageInitiator"},
38*853c0dc5SEd Tanous     {EntityType::RootComplex, "RootComplex"},
39*853c0dc5SEd Tanous     {EntityType::NetworkController, "NetworkController"},
40*853c0dc5SEd Tanous     {EntityType::Drive, "Drive"},
41*853c0dc5SEd Tanous     {EntityType::StorageExpander, "StorageExpander"},
42*853c0dc5SEd Tanous     {EntityType::DisplayController, "DisplayController"},
43*853c0dc5SEd Tanous     {EntityType::Bridge, "Bridge"},
44*853c0dc5SEd Tanous     {EntityType::Processor, "Processor"},
45*853c0dc5SEd Tanous     {EntityType::Volume, "Volume"},
46*853c0dc5SEd Tanous     {EntityType::AccelerationFunction, "AccelerationFunction"},
47*853c0dc5SEd Tanous     {EntityType::MediaController, "MediaController"},
48*853c0dc5SEd Tanous     {EntityType::MemoryChunk, "MemoryChunk"},
49*853c0dc5SEd Tanous     {EntityType::Switch, "Switch"},
50*853c0dc5SEd Tanous     {EntityType::FabricBridge, "FabricBridge"},
51*853c0dc5SEd Tanous     {EntityType::Manager, "Manager"},
52*853c0dc5SEd Tanous     {EntityType::StorageSubsystem, "StorageSubsystem"},
53*853c0dc5SEd Tanous });
54*853c0dc5SEd Tanous 
55*853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(EntityRole, {
56*853c0dc5SEd Tanous     {EntityRole::Invalid, "Invalid"},
57*853c0dc5SEd Tanous     {EntityRole::Initiator, "Initiator"},
58*853c0dc5SEd Tanous     {EntityRole::Target, "Target"},
59*853c0dc5SEd Tanous     {EntityRole::Both, "Both"},
60*853c0dc5SEd Tanous });
61*853c0dc5SEd Tanous 
62*853c0dc5SEd Tanous }
63*853c0dc5SEd Tanous // clang-format on
64