xref: /openbmc/bmcweb/features/redfish/include/generated/enums/storage.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
70ec8b83dSEd Tanous {
80ec8b83dSEd Tanous // clang-format off
90ec8b83dSEd Tanous 
100ec8b83dSEd Tanous enum class ResetToDefaultsType{
110ec8b83dSEd Tanous     Invalid,
120ec8b83dSEd Tanous     ResetAll,
130ec8b83dSEd Tanous     PreserveVolumes,
140ec8b83dSEd Tanous };
150ec8b83dSEd Tanous 
16a8d8f9d8SEd Tanous enum class HotspareActivationPolicy{
17a8d8f9d8SEd Tanous     Invalid,
18a8d8f9d8SEd Tanous     OnDriveFailure,
19a8d8f9d8SEd Tanous     OnDrivePredictedFailure,
20a8d8f9d8SEd Tanous     OEM,
21a8d8f9d8SEd Tanous };
22a8d8f9d8SEd Tanous 
23a8d8f9d8SEd Tanous enum class EncryptionMode{
24a8d8f9d8SEd Tanous     Invalid,
25a8d8f9d8SEd Tanous     Disabled,
26a8d8f9d8SEd Tanous     UseExternalKey,
27a8d8f9d8SEd Tanous     UseLocalKey,
2828cfceb2SGunnar Mills     PasswordOnly,
2928cfceb2SGunnar Mills     PasswordWithExternalKey,
3028cfceb2SGunnar Mills     PasswordWithLocalKey,
31a8d8f9d8SEd Tanous };
32a8d8f9d8SEd Tanous 
33f263e09cSEd Tanous enum class AutoVolumeCreate{
34f263e09cSEd Tanous     Invalid,
35f263e09cSEd Tanous     Disabled,
36f263e09cSEd Tanous     NonRAID,
37f263e09cSEd Tanous     RAID0,
38f263e09cSEd Tanous     RAID1,
39f263e09cSEd Tanous };
40f263e09cSEd Tanous 
41f2a8e57eSGunnar Mills enum class ConfigurationLock{
42f2a8e57eSGunnar Mills     Invalid,
43f2a8e57eSGunnar Mills     Enabled,
44f2a8e57eSGunnar Mills     Disabled,
45f2a8e57eSGunnar Mills     Partial,
46f2a8e57eSGunnar Mills };
47f2a8e57eSGunnar Mills 
4828cfceb2SGunnar Mills enum class TargetConfigurationLockLevel{
4928cfceb2SGunnar Mills     Invalid,
5028cfceb2SGunnar Mills     Baseline,
5128cfceb2SGunnar Mills };
5228cfceb2SGunnar Mills 
5328cfceb2SGunnar Mills enum class ConfigLockOptions{
5428cfceb2SGunnar Mills     Invalid,
5528cfceb2SGunnar Mills     Unlocked,
5628cfceb2SGunnar Mills     Locked,
5728cfceb2SGunnar Mills     LockdownUnsupported,
5828cfceb2SGunnar Mills     CommandUnsupported,
5928cfceb2SGunnar Mills };
6028cfceb2SGunnar Mills 
610ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(ResetToDefaultsType, {
620ec8b83dSEd Tanous     {ResetToDefaultsType::Invalid, "Invalid"},
630ec8b83dSEd Tanous     {ResetToDefaultsType::ResetAll, "ResetAll"},
640ec8b83dSEd Tanous     {ResetToDefaultsType::PreserveVolumes, "PreserveVolumes"},
650ec8b83dSEd Tanous });
660ec8b83dSEd Tanous 
67a8d8f9d8SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(HotspareActivationPolicy, {
68a8d8f9d8SEd Tanous     {HotspareActivationPolicy::Invalid, "Invalid"},
69a8d8f9d8SEd Tanous     {HotspareActivationPolicy::OnDriveFailure, "OnDriveFailure"},
70a8d8f9d8SEd Tanous     {HotspareActivationPolicy::OnDrivePredictedFailure, "OnDrivePredictedFailure"},
71a8d8f9d8SEd Tanous     {HotspareActivationPolicy::OEM, "OEM"},
72a8d8f9d8SEd Tanous });
73a8d8f9d8SEd Tanous 
74a8d8f9d8SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(EncryptionMode, {
75a8d8f9d8SEd Tanous     {EncryptionMode::Invalid, "Invalid"},
76a8d8f9d8SEd Tanous     {EncryptionMode::Disabled, "Disabled"},
77a8d8f9d8SEd Tanous     {EncryptionMode::UseExternalKey, "UseExternalKey"},
78a8d8f9d8SEd Tanous     {EncryptionMode::UseLocalKey, "UseLocalKey"},
7928cfceb2SGunnar Mills     {EncryptionMode::PasswordOnly, "PasswordOnly"},
8028cfceb2SGunnar Mills     {EncryptionMode::PasswordWithExternalKey, "PasswordWithExternalKey"},
8128cfceb2SGunnar Mills     {EncryptionMode::PasswordWithLocalKey, "PasswordWithLocalKey"},
82a8d8f9d8SEd Tanous });
83a8d8f9d8SEd Tanous 
84f263e09cSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(AutoVolumeCreate, {
85f263e09cSEd Tanous     {AutoVolumeCreate::Invalid, "Invalid"},
86f263e09cSEd Tanous     {AutoVolumeCreate::Disabled, "Disabled"},
87f263e09cSEd Tanous     {AutoVolumeCreate::NonRAID, "NonRAID"},
88f263e09cSEd Tanous     {AutoVolumeCreate::RAID0, "RAID0"},
89f263e09cSEd Tanous     {AutoVolumeCreate::RAID1, "RAID1"},
90f263e09cSEd Tanous });
91f263e09cSEd Tanous 
92f2a8e57eSGunnar Mills NLOHMANN_JSON_SERIALIZE_ENUM(ConfigurationLock, {
93f2a8e57eSGunnar Mills     {ConfigurationLock::Invalid, "Invalid"},
94f2a8e57eSGunnar Mills     {ConfigurationLock::Enabled, "Enabled"},
95f2a8e57eSGunnar Mills     {ConfigurationLock::Disabled, "Disabled"},
96f2a8e57eSGunnar Mills     {ConfigurationLock::Partial, "Partial"},
97f2a8e57eSGunnar Mills });
98f2a8e57eSGunnar Mills 
9928cfceb2SGunnar Mills NLOHMANN_JSON_SERIALIZE_ENUM(TargetConfigurationLockLevel, {
10028cfceb2SGunnar Mills     {TargetConfigurationLockLevel::Invalid, "Invalid"},
10128cfceb2SGunnar Mills     {TargetConfigurationLockLevel::Baseline, "Baseline"},
10228cfceb2SGunnar Mills });
10328cfceb2SGunnar Mills 
10428cfceb2SGunnar Mills NLOHMANN_JSON_SERIALIZE_ENUM(ConfigLockOptions, {
10528cfceb2SGunnar Mills     {ConfigLockOptions::Invalid, "Invalid"},
10628cfceb2SGunnar Mills     {ConfigLockOptions::Unlocked, "Unlocked"},
10728cfceb2SGunnar Mills     {ConfigLockOptions::Locked, "Locked"},
10828cfceb2SGunnar Mills     {ConfigLockOptions::LockdownUnsupported, "LockdownUnsupported"},
10928cfceb2SGunnar Mills     {ConfigLockOptions::CommandUnsupported, "CommandUnsupported"},
11028cfceb2SGunnar Mills });
11128cfceb2SGunnar Mills 
1120ec8b83dSEd Tanous }
1130ec8b83dSEd Tanous // clang-format on
114