xref: /openbmc/bmcweb/features/redfish/include/generated/enums/endpoint.hpp (revision a8d8f9d82afce0780f5cea13839d8a650787fc41)
1853c0dc5SEd Tanous #pragma once
2853c0dc5SEd Tanous #include <nlohmann/json.hpp>
3853c0dc5SEd Tanous 
4853c0dc5SEd Tanous namespace endpoint
5853c0dc5SEd Tanous {
6853c0dc5SEd Tanous // clang-format off
7853c0dc5SEd Tanous 
8853c0dc5SEd Tanous enum class EntityType{
9853c0dc5SEd Tanous     Invalid,
10853c0dc5SEd Tanous     StorageInitiator,
11853c0dc5SEd Tanous     RootComplex,
12853c0dc5SEd Tanous     NetworkController,
13853c0dc5SEd Tanous     Drive,
14853c0dc5SEd Tanous     StorageExpander,
15853c0dc5SEd Tanous     DisplayController,
16853c0dc5SEd Tanous     Bridge,
17853c0dc5SEd Tanous     Processor,
18853c0dc5SEd Tanous     Volume,
19853c0dc5SEd Tanous     AccelerationFunction,
20853c0dc5SEd Tanous     MediaController,
21853c0dc5SEd Tanous     MemoryChunk,
22853c0dc5SEd Tanous     Switch,
23853c0dc5SEd Tanous     FabricBridge,
24853c0dc5SEd Tanous     Manager,
25853c0dc5SEd Tanous     StorageSubsystem,
26*a8d8f9d8SEd Tanous     Memory,
27*a8d8f9d8SEd Tanous     CXLDevice,
28853c0dc5SEd Tanous };
29853c0dc5SEd Tanous 
30853c0dc5SEd Tanous enum class EntityRole{
31853c0dc5SEd Tanous     Invalid,
32853c0dc5SEd Tanous     Initiator,
33853c0dc5SEd Tanous     Target,
34853c0dc5SEd Tanous     Both,
35853c0dc5SEd Tanous };
36853c0dc5SEd Tanous 
37853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(EntityType, {
38853c0dc5SEd Tanous     {EntityType::Invalid, "Invalid"},
39853c0dc5SEd Tanous     {EntityType::StorageInitiator, "StorageInitiator"},
40853c0dc5SEd Tanous     {EntityType::RootComplex, "RootComplex"},
41853c0dc5SEd Tanous     {EntityType::NetworkController, "NetworkController"},
42853c0dc5SEd Tanous     {EntityType::Drive, "Drive"},
43853c0dc5SEd Tanous     {EntityType::StorageExpander, "StorageExpander"},
44853c0dc5SEd Tanous     {EntityType::DisplayController, "DisplayController"},
45853c0dc5SEd Tanous     {EntityType::Bridge, "Bridge"},
46853c0dc5SEd Tanous     {EntityType::Processor, "Processor"},
47853c0dc5SEd Tanous     {EntityType::Volume, "Volume"},
48853c0dc5SEd Tanous     {EntityType::AccelerationFunction, "AccelerationFunction"},
49853c0dc5SEd Tanous     {EntityType::MediaController, "MediaController"},
50853c0dc5SEd Tanous     {EntityType::MemoryChunk, "MemoryChunk"},
51853c0dc5SEd Tanous     {EntityType::Switch, "Switch"},
52853c0dc5SEd Tanous     {EntityType::FabricBridge, "FabricBridge"},
53853c0dc5SEd Tanous     {EntityType::Manager, "Manager"},
54853c0dc5SEd Tanous     {EntityType::StorageSubsystem, "StorageSubsystem"},
55*a8d8f9d8SEd Tanous     {EntityType::Memory, "Memory"},
56*a8d8f9d8SEd Tanous     {EntityType::CXLDevice, "CXLDevice"},
57853c0dc5SEd Tanous });
58853c0dc5SEd Tanous 
59853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(EntityRole, {
60853c0dc5SEd Tanous     {EntityRole::Invalid, "Invalid"},
61853c0dc5SEd Tanous     {EntityRole::Initiator, "Initiator"},
62853c0dc5SEd Tanous     {EntityRole::Target, "Target"},
63853c0dc5SEd Tanous     {EntityRole::Both, "Both"},
64853c0dc5SEd Tanous });
65853c0dc5SEd Tanous 
66853c0dc5SEd Tanous }
67853c0dc5SEd Tanous // clang-format on
68