xref: /openbmc/bmcweb/features/redfish/include/generated/enums/volume.hpp (revision 853c0dc5486bbab77b2d1f158152de93847c20d9)
1*853c0dc5SEd Tanous #pragma once
2*853c0dc5SEd Tanous #include <nlohmann/json.hpp>
3*853c0dc5SEd Tanous 
4*853c0dc5SEd Tanous namespace volume
5*853c0dc5SEd Tanous {
6*853c0dc5SEd Tanous // clang-format off
7*853c0dc5SEd Tanous 
8*853c0dc5SEd Tanous enum class InitializeType{
9*853c0dc5SEd Tanous     Invalid,
10*853c0dc5SEd Tanous     Fast,
11*853c0dc5SEd Tanous     Slow,
12*853c0dc5SEd Tanous };
13*853c0dc5SEd Tanous 
14*853c0dc5SEd Tanous enum class InitializeMethod{
15*853c0dc5SEd Tanous     Invalid,
16*853c0dc5SEd Tanous     Skip,
17*853c0dc5SEd Tanous     Background,
18*853c0dc5SEd Tanous     Foreground,
19*853c0dc5SEd Tanous };
20*853c0dc5SEd Tanous 
21*853c0dc5SEd Tanous enum class RAIDType{
22*853c0dc5SEd Tanous     Invalid,
23*853c0dc5SEd Tanous     RAID0,
24*853c0dc5SEd Tanous     RAID1,
25*853c0dc5SEd Tanous     RAID3,
26*853c0dc5SEd Tanous     RAID4,
27*853c0dc5SEd Tanous     RAID5,
28*853c0dc5SEd Tanous     RAID6,
29*853c0dc5SEd Tanous     RAID10,
30*853c0dc5SEd Tanous     RAID01,
31*853c0dc5SEd Tanous     RAID6TP,
32*853c0dc5SEd Tanous     RAID1E,
33*853c0dc5SEd Tanous     RAID50,
34*853c0dc5SEd Tanous     RAID60,
35*853c0dc5SEd Tanous     RAID00,
36*853c0dc5SEd Tanous     RAID10E,
37*853c0dc5SEd Tanous     RAID1Triple,
38*853c0dc5SEd Tanous     RAID10Triple,
39*853c0dc5SEd Tanous     None,
40*853c0dc5SEd Tanous };
41*853c0dc5SEd Tanous 
42*853c0dc5SEd Tanous enum class VolumeType{
43*853c0dc5SEd Tanous     Invalid,
44*853c0dc5SEd Tanous     RawDevice,
45*853c0dc5SEd Tanous     NonRedundant,
46*853c0dc5SEd Tanous     Mirrored,
47*853c0dc5SEd Tanous     StripedWithParity,
48*853c0dc5SEd Tanous     SpannedMirrors,
49*853c0dc5SEd Tanous     SpannedStripesWithParity,
50*853c0dc5SEd Tanous };
51*853c0dc5SEd Tanous 
52*853c0dc5SEd Tanous enum class EncryptionTypes{
53*853c0dc5SEd Tanous     Invalid,
54*853c0dc5SEd Tanous     NativeDriveEncryption,
55*853c0dc5SEd Tanous     ControllerAssisted,
56*853c0dc5SEd Tanous     SoftwareAssisted,
57*853c0dc5SEd Tanous };
58*853c0dc5SEd Tanous 
59*853c0dc5SEd Tanous enum class WriteHoleProtectionPolicyType{
60*853c0dc5SEd Tanous     Invalid,
61*853c0dc5SEd Tanous     Off,
62*853c0dc5SEd Tanous     Journaling,
63*853c0dc5SEd Tanous     DistributedLog,
64*853c0dc5SEd Tanous     Oem,
65*853c0dc5SEd Tanous };
66*853c0dc5SEd Tanous 
67*853c0dc5SEd Tanous enum class VolumeUsageType{
68*853c0dc5SEd Tanous     Invalid,
69*853c0dc5SEd Tanous     Data,
70*853c0dc5SEd Tanous     SystemData,
71*853c0dc5SEd Tanous     CacheOnly,
72*853c0dc5SEd Tanous     SystemReserve,
73*853c0dc5SEd Tanous     ReplicationReserve,
74*853c0dc5SEd Tanous };
75*853c0dc5SEd Tanous 
76*853c0dc5SEd Tanous enum class ReadCachePolicyType{
77*853c0dc5SEd Tanous     Invalid,
78*853c0dc5SEd Tanous     ReadAhead,
79*853c0dc5SEd Tanous     AdaptiveReadAhead,
80*853c0dc5SEd Tanous     Off,
81*853c0dc5SEd Tanous };
82*853c0dc5SEd Tanous 
83*853c0dc5SEd Tanous enum class WriteCachePolicyType{
84*853c0dc5SEd Tanous     Invalid,
85*853c0dc5SEd Tanous     WriteThrough,
86*853c0dc5SEd Tanous     ProtectedWriteBack,
87*853c0dc5SEd Tanous     UnprotectedWriteBack,
88*853c0dc5SEd Tanous     Off,
89*853c0dc5SEd Tanous };
90*853c0dc5SEd Tanous 
91*853c0dc5SEd Tanous enum class WriteCacheStateType{
92*853c0dc5SEd Tanous     Invalid,
93*853c0dc5SEd Tanous     Unprotected,
94*853c0dc5SEd Tanous     Protected,
95*853c0dc5SEd Tanous     Degraded,
96*853c0dc5SEd Tanous };
97*853c0dc5SEd Tanous 
98*853c0dc5SEd Tanous enum class LBAFormatType{
99*853c0dc5SEd Tanous     Invalid,
100*853c0dc5SEd Tanous     LBAFormat0,
101*853c0dc5SEd Tanous     LBAFormat1,
102*853c0dc5SEd Tanous     LBAFormat2,
103*853c0dc5SEd Tanous     LBAFormat3,
104*853c0dc5SEd Tanous     LBAFormat4,
105*853c0dc5SEd Tanous     LBAFormat5,
106*853c0dc5SEd Tanous     LBAFormat6,
107*853c0dc5SEd Tanous     LBAFormat7,
108*853c0dc5SEd Tanous     LBAFormat8,
109*853c0dc5SEd Tanous     LBAFormat9,
110*853c0dc5SEd Tanous     LBAFormat10,
111*853c0dc5SEd Tanous     LBAFormat11,
112*853c0dc5SEd Tanous     LBAFormat12,
113*853c0dc5SEd Tanous     LBAFormat13,
114*853c0dc5SEd Tanous     LBAFormat14,
115*853c0dc5SEd Tanous     LBAFormat15,
116*853c0dc5SEd Tanous };
117*853c0dc5SEd Tanous 
118*853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(InitializeType, {
119*853c0dc5SEd Tanous     {InitializeType::Invalid, "Invalid"},
120*853c0dc5SEd Tanous     {InitializeType::Fast, "Fast"},
121*853c0dc5SEd Tanous     {InitializeType::Slow, "Slow"},
122*853c0dc5SEd Tanous });
123*853c0dc5SEd Tanous 
124*853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(InitializeMethod, {
125*853c0dc5SEd Tanous     {InitializeMethod::Invalid, "Invalid"},
126*853c0dc5SEd Tanous     {InitializeMethod::Skip, "Skip"},
127*853c0dc5SEd Tanous     {InitializeMethod::Background, "Background"},
128*853c0dc5SEd Tanous     {InitializeMethod::Foreground, "Foreground"},
129*853c0dc5SEd Tanous });
130*853c0dc5SEd Tanous 
131*853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(RAIDType, {
132*853c0dc5SEd Tanous     {RAIDType::Invalid, "Invalid"},
133*853c0dc5SEd Tanous     {RAIDType::RAID0, "RAID0"},
134*853c0dc5SEd Tanous     {RAIDType::RAID1, "RAID1"},
135*853c0dc5SEd Tanous     {RAIDType::RAID3, "RAID3"},
136*853c0dc5SEd Tanous     {RAIDType::RAID4, "RAID4"},
137*853c0dc5SEd Tanous     {RAIDType::RAID5, "RAID5"},
138*853c0dc5SEd Tanous     {RAIDType::RAID6, "RAID6"},
139*853c0dc5SEd Tanous     {RAIDType::RAID10, "RAID10"},
140*853c0dc5SEd Tanous     {RAIDType::RAID01, "RAID01"},
141*853c0dc5SEd Tanous     {RAIDType::RAID6TP, "RAID6TP"},
142*853c0dc5SEd Tanous     {RAIDType::RAID1E, "RAID1E"},
143*853c0dc5SEd Tanous     {RAIDType::RAID50, "RAID50"},
144*853c0dc5SEd Tanous     {RAIDType::RAID60, "RAID60"},
145*853c0dc5SEd Tanous     {RAIDType::RAID00, "RAID00"},
146*853c0dc5SEd Tanous     {RAIDType::RAID10E, "RAID10E"},
147*853c0dc5SEd Tanous     {RAIDType::RAID1Triple, "RAID1Triple"},
148*853c0dc5SEd Tanous     {RAIDType::RAID10Triple, "RAID10Triple"},
149*853c0dc5SEd Tanous     {RAIDType::None, "None"},
150*853c0dc5SEd Tanous });
151*853c0dc5SEd Tanous 
152*853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(VolumeType, {
153*853c0dc5SEd Tanous     {VolumeType::Invalid, "Invalid"},
154*853c0dc5SEd Tanous     {VolumeType::RawDevice, "RawDevice"},
155*853c0dc5SEd Tanous     {VolumeType::NonRedundant, "NonRedundant"},
156*853c0dc5SEd Tanous     {VolumeType::Mirrored, "Mirrored"},
157*853c0dc5SEd Tanous     {VolumeType::StripedWithParity, "StripedWithParity"},
158*853c0dc5SEd Tanous     {VolumeType::SpannedMirrors, "SpannedMirrors"},
159*853c0dc5SEd Tanous     {VolumeType::SpannedStripesWithParity, "SpannedStripesWithParity"},
160*853c0dc5SEd Tanous });
161*853c0dc5SEd Tanous 
162*853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(EncryptionTypes, {
163*853c0dc5SEd Tanous     {EncryptionTypes::Invalid, "Invalid"},
164*853c0dc5SEd Tanous     {EncryptionTypes::NativeDriveEncryption, "NativeDriveEncryption"},
165*853c0dc5SEd Tanous     {EncryptionTypes::ControllerAssisted, "ControllerAssisted"},
166*853c0dc5SEd Tanous     {EncryptionTypes::SoftwareAssisted, "SoftwareAssisted"},
167*853c0dc5SEd Tanous });
168*853c0dc5SEd Tanous 
169*853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(WriteHoleProtectionPolicyType, {
170*853c0dc5SEd Tanous     {WriteHoleProtectionPolicyType::Invalid, "Invalid"},
171*853c0dc5SEd Tanous     {WriteHoleProtectionPolicyType::Off, "Off"},
172*853c0dc5SEd Tanous     {WriteHoleProtectionPolicyType::Journaling, "Journaling"},
173*853c0dc5SEd Tanous     {WriteHoleProtectionPolicyType::DistributedLog, "DistributedLog"},
174*853c0dc5SEd Tanous     {WriteHoleProtectionPolicyType::Oem, "Oem"},
175*853c0dc5SEd Tanous });
176*853c0dc5SEd Tanous 
177*853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(VolumeUsageType, {
178*853c0dc5SEd Tanous     {VolumeUsageType::Invalid, "Invalid"},
179*853c0dc5SEd Tanous     {VolumeUsageType::Data, "Data"},
180*853c0dc5SEd Tanous     {VolumeUsageType::SystemData, "SystemData"},
181*853c0dc5SEd Tanous     {VolumeUsageType::CacheOnly, "CacheOnly"},
182*853c0dc5SEd Tanous     {VolumeUsageType::SystemReserve, "SystemReserve"},
183*853c0dc5SEd Tanous     {VolumeUsageType::ReplicationReserve, "ReplicationReserve"},
184*853c0dc5SEd Tanous });
185*853c0dc5SEd Tanous 
186*853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(ReadCachePolicyType, {
187*853c0dc5SEd Tanous     {ReadCachePolicyType::Invalid, "Invalid"},
188*853c0dc5SEd Tanous     {ReadCachePolicyType::ReadAhead, "ReadAhead"},
189*853c0dc5SEd Tanous     {ReadCachePolicyType::AdaptiveReadAhead, "AdaptiveReadAhead"},
190*853c0dc5SEd Tanous     {ReadCachePolicyType::Off, "Off"},
191*853c0dc5SEd Tanous });
192*853c0dc5SEd Tanous 
193*853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(WriteCachePolicyType, {
194*853c0dc5SEd Tanous     {WriteCachePolicyType::Invalid, "Invalid"},
195*853c0dc5SEd Tanous     {WriteCachePolicyType::WriteThrough, "WriteThrough"},
196*853c0dc5SEd Tanous     {WriteCachePolicyType::ProtectedWriteBack, "ProtectedWriteBack"},
197*853c0dc5SEd Tanous     {WriteCachePolicyType::UnprotectedWriteBack, "UnprotectedWriteBack"},
198*853c0dc5SEd Tanous     {WriteCachePolicyType::Off, "Off"},
199*853c0dc5SEd Tanous });
200*853c0dc5SEd Tanous 
201*853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(WriteCacheStateType, {
202*853c0dc5SEd Tanous     {WriteCacheStateType::Invalid, "Invalid"},
203*853c0dc5SEd Tanous     {WriteCacheStateType::Unprotected, "Unprotected"},
204*853c0dc5SEd Tanous     {WriteCacheStateType::Protected, "Protected"},
205*853c0dc5SEd Tanous     {WriteCacheStateType::Degraded, "Degraded"},
206*853c0dc5SEd Tanous });
207*853c0dc5SEd Tanous 
208*853c0dc5SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(LBAFormatType, {
209*853c0dc5SEd Tanous     {LBAFormatType::Invalid, "Invalid"},
210*853c0dc5SEd Tanous     {LBAFormatType::LBAFormat0, "LBAFormat0"},
211*853c0dc5SEd Tanous     {LBAFormatType::LBAFormat1, "LBAFormat1"},
212*853c0dc5SEd Tanous     {LBAFormatType::LBAFormat2, "LBAFormat2"},
213*853c0dc5SEd Tanous     {LBAFormatType::LBAFormat3, "LBAFormat3"},
214*853c0dc5SEd Tanous     {LBAFormatType::LBAFormat4, "LBAFormat4"},
215*853c0dc5SEd Tanous     {LBAFormatType::LBAFormat5, "LBAFormat5"},
216*853c0dc5SEd Tanous     {LBAFormatType::LBAFormat6, "LBAFormat6"},
217*853c0dc5SEd Tanous     {LBAFormatType::LBAFormat7, "LBAFormat7"},
218*853c0dc5SEd Tanous     {LBAFormatType::LBAFormat8, "LBAFormat8"},
219*853c0dc5SEd Tanous     {LBAFormatType::LBAFormat9, "LBAFormat9"},
220*853c0dc5SEd Tanous     {LBAFormatType::LBAFormat10, "LBAFormat10"},
221*853c0dc5SEd Tanous     {LBAFormatType::LBAFormat11, "LBAFormat11"},
222*853c0dc5SEd Tanous     {LBAFormatType::LBAFormat12, "LBAFormat12"},
223*853c0dc5SEd Tanous     {LBAFormatType::LBAFormat13, "LBAFormat13"},
224*853c0dc5SEd Tanous     {LBAFormatType::LBAFormat14, "LBAFormat14"},
225*853c0dc5SEd Tanous     {LBAFormatType::LBAFormat15, "LBAFormat15"},
226*853c0dc5SEd Tanous });
227*853c0dc5SEd Tanous 
228*853c0dc5SEd Tanous }
229*853c0dc5SEd Tanous // clang-format on
230