xref: /openbmc/bmcweb/features/redfish/include/generated/enums/storage.hpp (revision f263e09c81b798bcf123df8fb144499389e9cbd1)
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,
26a8d8f9d8SEd Tanous };
27a8d8f9d8SEd Tanous 
28*f263e09cSEd Tanous enum class AutoVolumeCreate{
29*f263e09cSEd Tanous     Invalid,
30*f263e09cSEd Tanous     Disabled,
31*f263e09cSEd Tanous     NonRAID,
32*f263e09cSEd Tanous     RAID0,
33*f263e09cSEd Tanous     RAID1,
34*f263e09cSEd Tanous };
35*f263e09cSEd Tanous 
360ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(ResetToDefaultsType, {
370ec8b83dSEd Tanous     {ResetToDefaultsType::Invalid, "Invalid"},
380ec8b83dSEd Tanous     {ResetToDefaultsType::ResetAll, "ResetAll"},
390ec8b83dSEd Tanous     {ResetToDefaultsType::PreserveVolumes, "PreserveVolumes"},
400ec8b83dSEd Tanous });
410ec8b83dSEd Tanous 
42a8d8f9d8SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(HotspareActivationPolicy, {
43a8d8f9d8SEd Tanous     {HotspareActivationPolicy::Invalid, "Invalid"},
44a8d8f9d8SEd Tanous     {HotspareActivationPolicy::OnDriveFailure, "OnDriveFailure"},
45a8d8f9d8SEd Tanous     {HotspareActivationPolicy::OnDrivePredictedFailure, "OnDrivePredictedFailure"},
46a8d8f9d8SEd Tanous     {HotspareActivationPolicy::OEM, "OEM"},
47a8d8f9d8SEd Tanous });
48a8d8f9d8SEd Tanous 
49a8d8f9d8SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(EncryptionMode, {
50a8d8f9d8SEd Tanous     {EncryptionMode::Invalid, "Invalid"},
51a8d8f9d8SEd Tanous     {EncryptionMode::Disabled, "Disabled"},
52a8d8f9d8SEd Tanous     {EncryptionMode::UseExternalKey, "UseExternalKey"},
53a8d8f9d8SEd Tanous     {EncryptionMode::UseLocalKey, "UseLocalKey"},
54a8d8f9d8SEd Tanous });
55a8d8f9d8SEd Tanous 
56*f263e09cSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(AutoVolumeCreate, {
57*f263e09cSEd Tanous     {AutoVolumeCreate::Invalid, "Invalid"},
58*f263e09cSEd Tanous     {AutoVolumeCreate::Disabled, "Disabled"},
59*f263e09cSEd Tanous     {AutoVolumeCreate::NonRAID, "NonRAID"},
60*f263e09cSEd Tanous     {AutoVolumeCreate::RAID0, "RAID0"},
61*f263e09cSEd Tanous     {AutoVolumeCreate::RAID1, "RAID1"},
62*f263e09cSEd Tanous });
63*f263e09cSEd Tanous 
640ec8b83dSEd Tanous }
650ec8b83dSEd Tanous // clang-format on
66