xref: /openbmc/bmcweb/redfish-core/include/generated/enums/endpoint.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 endpoint
7 {
8 // clang-format off
9 
10 enum class EntityType{
11     Invalid,
12     StorageInitiator,
13     RootComplex,
14     NetworkController,
15     Drive,
16     StorageExpander,
17     DisplayController,
18     Bridge,
19     Processor,
20     Volume,
21     AccelerationFunction,
22     MediaController,
23     MemoryChunk,
24     Switch,
25     FabricBridge,
26     Manager,
27     StorageSubsystem,
28     Memory,
29     CXLDevice,
30 };
31 
32 enum class EntityRole{
33     Invalid,
34     Initiator,
35     Target,
36     Both,
37 };
38 
39 NLOHMANN_JSON_SERIALIZE_ENUM(EntityType, {
40     {EntityType::Invalid, "Invalid"},
41     {EntityType::StorageInitiator, "StorageInitiator"},
42     {EntityType::RootComplex, "RootComplex"},
43     {EntityType::NetworkController, "NetworkController"},
44     {EntityType::Drive, "Drive"},
45     {EntityType::StorageExpander, "StorageExpander"},
46     {EntityType::DisplayController, "DisplayController"},
47     {EntityType::Bridge, "Bridge"},
48     {EntityType::Processor, "Processor"},
49     {EntityType::Volume, "Volume"},
50     {EntityType::AccelerationFunction, "AccelerationFunction"},
51     {EntityType::MediaController, "MediaController"},
52     {EntityType::MemoryChunk, "MemoryChunk"},
53     {EntityType::Switch, "Switch"},
54     {EntityType::FabricBridge, "FabricBridge"},
55     {EntityType::Manager, "Manager"},
56     {EntityType::StorageSubsystem, "StorageSubsystem"},
57     {EntityType::Memory, "Memory"},
58     {EntityType::CXLDevice, "CXLDevice"},
59 });
60 
61 NLOHMANN_JSON_SERIALIZE_ENUM(EntityRole, {
62     {EntityRole::Invalid, "Invalid"},
63     {EntityRole::Initiator, "Initiator"},
64     {EntityRole::Target, "Target"},
65     {EntityRole::Both, "Both"},
66 });
67 
68 }
69 // clang-format on
70