xref: /openbmc/bmcweb/redfish-core/include/generated/enums/endpoint.hpp (revision 40e9b92ec19acffb46f83a6e55b18974da5d708e)
1*40e9b92eSEd Tanous // SPDX-License-Identifier: Apache-2.0
2*40e9b92eSEd Tanous // SPDX-FileCopyrightText: Copyright OpenBMC Authors
3853c0dc5SEd Tanous #pragma once
4853c0dc5SEd Tanous #include <nlohmann/json.hpp>
5853c0dc5SEd Tanous 
6853c0dc5SEd Tanous namespace endpoint
7853c0dc5SEd Tanous {
8853c0dc5SEd Tanous // clang-format off
9853c0dc5SEd Tanous 
10853c0dc5SEd Tanous enum class EntityType{
11853c0dc5SEd Tanous     Invalid,
12853c0dc5SEd Tanous     StorageInitiator,
13853c0dc5SEd Tanous     RootComplex,
14853c0dc5SEd Tanous     NetworkController,
15853c0dc5SEd Tanous     Drive,
16853c0dc5SEd Tanous     StorageExpander,
17853c0dc5SEd Tanous     DisplayController,
18853c0dc5SEd Tanous     Bridge,
19853c0dc5SEd Tanous     Processor,
20853c0dc5SEd Tanous     Volume,
21853c0dc5SEd Tanous     AccelerationFunction,
22853c0dc5SEd Tanous     MediaController,
23853c0dc5SEd Tanous     MemoryChunk,
24853c0dc5SEd Tanous     Switch,
25853c0dc5SEd Tanous     FabricBridge,
26853c0dc5SEd Tanous     Manager,
27853c0dc5SEd Tanous     StorageSubsystem,
28a8d8f9d8SEd Tanous     Memory,
29a8d8f9d8SEd Tanous     CXLDevice,
30853c0dc5SEd Tanous };
31853c0dc5SEd Tanous 
32853c0dc5SEd Tanous enum class EntityRole{
33853c0dc5SEd Tanous     Invalid,
34853c0dc5SEd Tanous     Initiator,
35853c0dc5SEd Tanous     Target,
36853c0dc5SEd Tanous     Both,
37853c0dc5SEd Tanous };
38853c0dc5SEd Tanous 
39853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(EntityType, {
40853c0dc5SEd Tanous     {EntityType::Invalid, "Invalid"},
41853c0dc5SEd Tanous     {EntityType::StorageInitiator, "StorageInitiator"},
42853c0dc5SEd Tanous     {EntityType::RootComplex, "RootComplex"},
43853c0dc5SEd Tanous     {EntityType::NetworkController, "NetworkController"},
44853c0dc5SEd Tanous     {EntityType::Drive, "Drive"},
45853c0dc5SEd Tanous     {EntityType::StorageExpander, "StorageExpander"},
46853c0dc5SEd Tanous     {EntityType::DisplayController, "DisplayController"},
47853c0dc5SEd Tanous     {EntityType::Bridge, "Bridge"},
48853c0dc5SEd Tanous     {EntityType::Processor, "Processor"},
49853c0dc5SEd Tanous     {EntityType::Volume, "Volume"},
50853c0dc5SEd Tanous     {EntityType::AccelerationFunction, "AccelerationFunction"},
51853c0dc5SEd Tanous     {EntityType::MediaController, "MediaController"},
52853c0dc5SEd Tanous     {EntityType::MemoryChunk, "MemoryChunk"},
53853c0dc5SEd Tanous     {EntityType::Switch, "Switch"},
54853c0dc5SEd Tanous     {EntityType::FabricBridge, "FabricBridge"},
55853c0dc5SEd Tanous     {EntityType::Manager, "Manager"},
56853c0dc5SEd Tanous     {EntityType::StorageSubsystem, "StorageSubsystem"},
57a8d8f9d8SEd Tanous     {EntityType::Memory, "Memory"},
58a8d8f9d8SEd Tanous     {EntityType::CXLDevice, "CXLDevice"},
59853c0dc5SEd Tanous });
60853c0dc5SEd Tanous 
61853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(EntityRole, {
62853c0dc5SEd Tanous     {EntityRole::Invalid, "Invalid"},
63853c0dc5SEd Tanous     {EntityRole::Initiator, "Initiator"},
64853c0dc5SEd Tanous     {EntityRole::Target, "Target"},
65853c0dc5SEd Tanous     {EntityRole::Both, "Both"},
66853c0dc5SEd Tanous });
67853c0dc5SEd Tanous 
68853c0dc5SEd Tanous }
69853c0dc5SEd Tanous // clang-format on
70