xref: /openbmc/bmcweb/redfish-core/include/generated/enums/storage_controller.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 storage_controller
7 {
8 // clang-format off
9 
10 enum class NVMeControllerType{
11     Invalid,
12     Admin,
13     Discovery,
14     IO,
15 };
16 
17 enum class ANAAccessState{
18     Invalid,
19     Optimized,
20     NonOptimized,
21     Inaccessible,
22     PersistentLoss,
23 };
24 
25 NLOHMANN_JSON_SERIALIZE_ENUM(NVMeControllerType, {
26     {NVMeControllerType::Invalid, "Invalid"},
27     {NVMeControllerType::Admin, "Admin"},
28     {NVMeControllerType::Discovery, "Discovery"},
29     {NVMeControllerType::IO, "IO"},
30 });
31 
32 NLOHMANN_JSON_SERIALIZE_ENUM(ANAAccessState, {
33     {ANAAccessState::Invalid, "Invalid"},
34     {ANAAccessState::Optimized, "Optimized"},
35     {ANAAccessState::NonOptimized, "NonOptimized"},
36     {ANAAccessState::Inaccessible, "Inaccessible"},
37     {ANAAccessState::PersistentLoss, "PersistentLoss"},
38 });
39 
40 }
41 // clang-format on
42