xref: /openbmc/bmcweb/features/redfish/include/generated/enums/storage_controller.hpp (revision 40e9b92ec19acffb46f83a6e55b18974da5d708e)
1*40e9b92eSEd Tanous // SPDX-License-Identifier: Apache-2.0
2*40e9b92eSEd Tanous // SPDX-FileCopyrightText: Copyright OpenBMC Authors
30ec8b83dSEd Tanous #pragma once
40ec8b83dSEd Tanous #include <nlohmann/json.hpp>
50ec8b83dSEd Tanous 
60ec8b83dSEd Tanous namespace storage_controller
70ec8b83dSEd Tanous {
80ec8b83dSEd Tanous // clang-format off
90ec8b83dSEd Tanous 
100ec8b83dSEd Tanous enum class NVMeControllerType{
110ec8b83dSEd Tanous     Invalid,
120ec8b83dSEd Tanous     Admin,
130ec8b83dSEd Tanous     Discovery,
140ec8b83dSEd Tanous     IO,
150ec8b83dSEd Tanous };
160ec8b83dSEd Tanous 
170ec8b83dSEd Tanous enum class ANAAccessState{
180ec8b83dSEd Tanous     Invalid,
190ec8b83dSEd Tanous     Optimized,
200ec8b83dSEd Tanous     NonOptimized,
210ec8b83dSEd Tanous     Inaccessible,
220ec8b83dSEd Tanous     PersistentLoss,
230ec8b83dSEd Tanous };
240ec8b83dSEd Tanous 
250ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(NVMeControllerType, {
260ec8b83dSEd Tanous     {NVMeControllerType::Invalid, "Invalid"},
270ec8b83dSEd Tanous     {NVMeControllerType::Admin, "Admin"},
280ec8b83dSEd Tanous     {NVMeControllerType::Discovery, "Discovery"},
290ec8b83dSEd Tanous     {NVMeControllerType::IO, "IO"},
300ec8b83dSEd Tanous });
310ec8b83dSEd Tanous 
320ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(ANAAccessState, {
330ec8b83dSEd Tanous     {ANAAccessState::Invalid, "Invalid"},
340ec8b83dSEd Tanous     {ANAAccessState::Optimized, "Optimized"},
350ec8b83dSEd Tanous     {ANAAccessState::NonOptimized, "NonOptimized"},
360ec8b83dSEd Tanous     {ANAAccessState::Inaccessible, "Inaccessible"},
370ec8b83dSEd Tanous     {ANAAccessState::PersistentLoss, "PersistentLoss"},
380ec8b83dSEd Tanous });
390ec8b83dSEd Tanous 
400ec8b83dSEd Tanous }
410ec8b83dSEd Tanous // clang-format on
42