xref: /openbmc/bmcweb/features/redfish/include/generated/enums/operating_system.hpp (revision e9cc1bc93c4ad9662c93e2a98d4c787e2dbf9f07)
1*e9cc1bc9SEd Tanous #pragma once
2*e9cc1bc9SEd Tanous #include <nlohmann/json.hpp>
3*e9cc1bc9SEd Tanous 
4*e9cc1bc9SEd Tanous namespace operating_system
5*e9cc1bc9SEd Tanous {
6*e9cc1bc9SEd Tanous // clang-format off
7*e9cc1bc9SEd Tanous 
8*e9cc1bc9SEd Tanous enum class OperatingSystemTypes{
9*e9cc1bc9SEd Tanous     Invalid,
10*e9cc1bc9SEd Tanous     Linux,
11*e9cc1bc9SEd Tanous     Windows,
12*e9cc1bc9SEd Tanous     Solaris,
13*e9cc1bc9SEd Tanous     HPUX,
14*e9cc1bc9SEd Tanous     AIX,
15*e9cc1bc9SEd Tanous     BSD,
16*e9cc1bc9SEd Tanous     macOS,
17*e9cc1bc9SEd Tanous     IBMi,
18*e9cc1bc9SEd Tanous     Hypervisor,
19*e9cc1bc9SEd Tanous };
20*e9cc1bc9SEd Tanous 
21*e9cc1bc9SEd Tanous enum class VirtualMachineEngineTypes{
22*e9cc1bc9SEd Tanous     Invalid,
23*e9cc1bc9SEd Tanous     VMwareESX,
24*e9cc1bc9SEd Tanous     HyperV,
25*e9cc1bc9SEd Tanous     Xen,
26*e9cc1bc9SEd Tanous     KVM,
27*e9cc1bc9SEd Tanous     QEMU,
28*e9cc1bc9SEd Tanous     VirtualBox,
29*e9cc1bc9SEd Tanous     PowerVM,
30*e9cc1bc9SEd Tanous };
31*e9cc1bc9SEd Tanous 
32*e9cc1bc9SEd Tanous enum class VirtualMachineImageTypes{
33*e9cc1bc9SEd Tanous     Invalid,
34*e9cc1bc9SEd Tanous     Raw,
35*e9cc1bc9SEd Tanous     OVF,
36*e9cc1bc9SEd Tanous     OVA,
37*e9cc1bc9SEd Tanous     VHD,
38*e9cc1bc9SEd Tanous     VMDK,
39*e9cc1bc9SEd Tanous     VDI,
40*e9cc1bc9SEd Tanous     QCOW,
41*e9cc1bc9SEd Tanous     QCOW2,
42*e9cc1bc9SEd Tanous };
43*e9cc1bc9SEd Tanous 
44*e9cc1bc9SEd Tanous enum class ContainerEngineTypes{
45*e9cc1bc9SEd Tanous     Invalid,
46*e9cc1bc9SEd Tanous     Docker,
47*e9cc1bc9SEd Tanous     containerd,
48*e9cc1bc9SEd Tanous     CRIO,
49*e9cc1bc9SEd Tanous };
50*e9cc1bc9SEd Tanous 
51*e9cc1bc9SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(OperatingSystemTypes, {
52*e9cc1bc9SEd Tanous     {OperatingSystemTypes::Invalid, "Invalid"},
53*e9cc1bc9SEd Tanous     {OperatingSystemTypes::Linux, "Linux"},
54*e9cc1bc9SEd Tanous     {OperatingSystemTypes::Windows, "Windows"},
55*e9cc1bc9SEd Tanous     {OperatingSystemTypes::Solaris, "Solaris"},
56*e9cc1bc9SEd Tanous     {OperatingSystemTypes::HPUX, "HPUX"},
57*e9cc1bc9SEd Tanous     {OperatingSystemTypes::AIX, "AIX"},
58*e9cc1bc9SEd Tanous     {OperatingSystemTypes::BSD, "BSD"},
59*e9cc1bc9SEd Tanous     {OperatingSystemTypes::macOS, "macOS"},
60*e9cc1bc9SEd Tanous     {OperatingSystemTypes::IBMi, "IBMi"},
61*e9cc1bc9SEd Tanous     {OperatingSystemTypes::Hypervisor, "Hypervisor"},
62*e9cc1bc9SEd Tanous });
63*e9cc1bc9SEd Tanous 
64*e9cc1bc9SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(VirtualMachineEngineTypes, {
65*e9cc1bc9SEd Tanous     {VirtualMachineEngineTypes::Invalid, "Invalid"},
66*e9cc1bc9SEd Tanous     {VirtualMachineEngineTypes::VMwareESX, "VMwareESX"},
67*e9cc1bc9SEd Tanous     {VirtualMachineEngineTypes::HyperV, "HyperV"},
68*e9cc1bc9SEd Tanous     {VirtualMachineEngineTypes::Xen, "Xen"},
69*e9cc1bc9SEd Tanous     {VirtualMachineEngineTypes::KVM, "KVM"},
70*e9cc1bc9SEd Tanous     {VirtualMachineEngineTypes::QEMU, "QEMU"},
71*e9cc1bc9SEd Tanous     {VirtualMachineEngineTypes::VirtualBox, "VirtualBox"},
72*e9cc1bc9SEd Tanous     {VirtualMachineEngineTypes::PowerVM, "PowerVM"},
73*e9cc1bc9SEd Tanous });
74*e9cc1bc9SEd Tanous 
75*e9cc1bc9SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(VirtualMachineImageTypes, {
76*e9cc1bc9SEd Tanous     {VirtualMachineImageTypes::Invalid, "Invalid"},
77*e9cc1bc9SEd Tanous     {VirtualMachineImageTypes::Raw, "Raw"},
78*e9cc1bc9SEd Tanous     {VirtualMachineImageTypes::OVF, "OVF"},
79*e9cc1bc9SEd Tanous     {VirtualMachineImageTypes::OVA, "OVA"},
80*e9cc1bc9SEd Tanous     {VirtualMachineImageTypes::VHD, "VHD"},
81*e9cc1bc9SEd Tanous     {VirtualMachineImageTypes::VMDK, "VMDK"},
82*e9cc1bc9SEd Tanous     {VirtualMachineImageTypes::VDI, "VDI"},
83*e9cc1bc9SEd Tanous     {VirtualMachineImageTypes::QCOW, "QCOW"},
84*e9cc1bc9SEd Tanous     {VirtualMachineImageTypes::QCOW2, "QCOW2"},
85*e9cc1bc9SEd Tanous });
86*e9cc1bc9SEd Tanous 
87*e9cc1bc9SEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(ContainerEngineTypes, {
88*e9cc1bc9SEd Tanous     {ContainerEngineTypes::Invalid, "Invalid"},
89*e9cc1bc9SEd Tanous     {ContainerEngineTypes::Docker, "Docker"},
90*e9cc1bc9SEd Tanous     {ContainerEngineTypes::containerd, "containerd"},
91*e9cc1bc9SEd Tanous     {ContainerEngineTypes::CRIO, "CRIO"},
92*e9cc1bc9SEd Tanous });
93*e9cc1bc9SEd Tanous 
94*e9cc1bc9SEd Tanous }
95*e9cc1bc9SEd Tanous // clang-format on
96