xref: /openbmc/bmcweb/features/redfish/include/generated/enums/storage.hpp (revision 28cfceb2980baa76d7f0599dd4a331ceaec52e1f)
10ec8b83dSEd Tanous #pragma once
20ec8b83dSEd Tanous #include <nlohmann/json.hpp>
30ec8b83dSEd Tanous 
40ec8b83dSEd Tanous namespace storage
50ec8b83dSEd Tanous {
60ec8b83dSEd Tanous // clang-format off
70ec8b83dSEd Tanous 
80ec8b83dSEd Tanous enum class ResetToDefaultsType{
90ec8b83dSEd Tanous     Invalid,
100ec8b83dSEd Tanous     ResetAll,
110ec8b83dSEd Tanous     PreserveVolumes,
120ec8b83dSEd Tanous };
130ec8b83dSEd Tanous 
14a8d8f9d8SEd Tanous enum class HotspareActivationPolicy{
15a8d8f9d8SEd Tanous     Invalid,
16a8d8f9d8SEd Tanous     OnDriveFailure,
17a8d8f9d8SEd Tanous     OnDrivePredictedFailure,
18a8d8f9d8SEd Tanous     OEM,
19a8d8f9d8SEd Tanous };
20a8d8f9d8SEd Tanous 
21a8d8f9d8SEd Tanous enum class EncryptionMode{
22a8d8f9d8SEd Tanous     Invalid,
23a8d8f9d8SEd Tanous     Disabled,
24a8d8f9d8SEd Tanous     UseExternalKey,
25a8d8f9d8SEd Tanous     UseLocalKey,
26*28cfceb2SGunnar Mills     PasswordOnly,
27*28cfceb2SGunnar Mills     PasswordWithExternalKey,
28*28cfceb2SGunnar Mills     PasswordWithLocalKey,
29a8d8f9d8SEd Tanous };
30a8d8f9d8SEd Tanous 
31f263e09cSEd Tanous enum class AutoVolumeCreate{
32f263e09cSEd Tanous     Invalid,
33f263e09cSEd Tanous     Disabled,
34f263e09cSEd Tanous     NonRAID,
35f263e09cSEd Tanous     RAID0,
36f263e09cSEd Tanous     RAID1,
37f263e09cSEd Tanous };
38f263e09cSEd Tanous 
39f2a8e57eSGunnar Mills enum class ConfigurationLock{
40f2a8e57eSGunnar Mills     Invalid,
41f2a8e57eSGunnar Mills     Enabled,
42f2a8e57eSGunnar Mills     Disabled,
43f2a8e57eSGunnar Mills     Partial,
44f2a8e57eSGunnar Mills };
45f2a8e57eSGunnar Mills 
46*28cfceb2SGunnar Mills enum class TargetConfigurationLockLevel{
47*28cfceb2SGunnar Mills     Invalid,
48*28cfceb2SGunnar Mills     Baseline,
49*28cfceb2SGunnar Mills };
50*28cfceb2SGunnar Mills 
51*28cfceb2SGunnar Mills enum class ConfigLockOptions{
52*28cfceb2SGunnar Mills     Invalid,
53*28cfceb2SGunnar Mills     Unlocked,
54*28cfceb2SGunnar Mills     Locked,
55*28cfceb2SGunnar Mills     LockdownUnsupported,
56*28cfceb2SGunnar Mills     CommandUnsupported,
57*28cfceb2SGunnar Mills };
58*28cfceb2SGunnar Mills 
590ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(ResetToDefaultsType, {
600ec8b83dSEd Tanous     {ResetToDefaultsType::Invalid, "Invalid"},
610ec8b83dSEd Tanous     {ResetToDefaultsType::ResetAll, "ResetAll"},
620ec8b83dSEd Tanous     {ResetToDefaultsType::PreserveVolumes, "PreserveVolumes"},
630ec8b83dSEd Tanous });
640ec8b83dSEd Tanous 
65a8d8f9d8SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(HotspareActivationPolicy, {
66a8d8f9d8SEd Tanous     {HotspareActivationPolicy::Invalid, "Invalid"},
67a8d8f9d8SEd Tanous     {HotspareActivationPolicy::OnDriveFailure, "OnDriveFailure"},
68a8d8f9d8SEd Tanous     {HotspareActivationPolicy::OnDrivePredictedFailure, "OnDrivePredictedFailure"},
69a8d8f9d8SEd Tanous     {HotspareActivationPolicy::OEM, "OEM"},
70a8d8f9d8SEd Tanous });
71a8d8f9d8SEd Tanous 
72a8d8f9d8SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(EncryptionMode, {
73a8d8f9d8SEd Tanous     {EncryptionMode::Invalid, "Invalid"},
74a8d8f9d8SEd Tanous     {EncryptionMode::Disabled, "Disabled"},
75a8d8f9d8SEd Tanous     {EncryptionMode::UseExternalKey, "UseExternalKey"},
76a8d8f9d8SEd Tanous     {EncryptionMode::UseLocalKey, "UseLocalKey"},
77*28cfceb2SGunnar Mills     {EncryptionMode::PasswordOnly, "PasswordOnly"},
78*28cfceb2SGunnar Mills     {EncryptionMode::PasswordWithExternalKey, "PasswordWithExternalKey"},
79*28cfceb2SGunnar Mills     {EncryptionMode::PasswordWithLocalKey, "PasswordWithLocalKey"},
80a8d8f9d8SEd Tanous });
81a8d8f9d8SEd Tanous 
82f263e09cSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(AutoVolumeCreate, {
83f263e09cSEd Tanous     {AutoVolumeCreate::Invalid, "Invalid"},
84f263e09cSEd Tanous     {AutoVolumeCreate::Disabled, "Disabled"},
85f263e09cSEd Tanous     {AutoVolumeCreate::NonRAID, "NonRAID"},
86f263e09cSEd Tanous     {AutoVolumeCreate::RAID0, "RAID0"},
87f263e09cSEd Tanous     {AutoVolumeCreate::RAID1, "RAID1"},
88f263e09cSEd Tanous });
89f263e09cSEd Tanous 
90f2a8e57eSGunnar Mills NLOHMANN_JSON_SERIALIZE_ENUM(ConfigurationLock, {
91f2a8e57eSGunnar Mills     {ConfigurationLock::Invalid, "Invalid"},
92f2a8e57eSGunnar Mills     {ConfigurationLock::Enabled, "Enabled"},
93f2a8e57eSGunnar Mills     {ConfigurationLock::Disabled, "Disabled"},
94f2a8e57eSGunnar Mills     {ConfigurationLock::Partial, "Partial"},
95f2a8e57eSGunnar Mills });
96f2a8e57eSGunnar Mills 
97*28cfceb2SGunnar Mills NLOHMANN_JSON_SERIALIZE_ENUM(TargetConfigurationLockLevel, {
98*28cfceb2SGunnar Mills     {TargetConfigurationLockLevel::Invalid, "Invalid"},
99*28cfceb2SGunnar Mills     {TargetConfigurationLockLevel::Baseline, "Baseline"},
100*28cfceb2SGunnar Mills });
101*28cfceb2SGunnar Mills 
102*28cfceb2SGunnar Mills NLOHMANN_JSON_SERIALIZE_ENUM(ConfigLockOptions, {
103*28cfceb2SGunnar Mills     {ConfigLockOptions::Invalid, "Invalid"},
104*28cfceb2SGunnar Mills     {ConfigLockOptions::Unlocked, "Unlocked"},
105*28cfceb2SGunnar Mills     {ConfigLockOptions::Locked, "Locked"},
106*28cfceb2SGunnar Mills     {ConfigLockOptions::LockdownUnsupported, "LockdownUnsupported"},
107*28cfceb2SGunnar Mills     {ConfigLockOptions::CommandUnsupported, "CommandUnsupported"},
108*28cfceb2SGunnar Mills });
109*28cfceb2SGunnar Mills 
1100ec8b83dSEd Tanous }
1110ec8b83dSEd Tanous // clang-format on
112