summaryrefslogtreecommitdiff
path: root/redfish-core/include/generated/enums/operating_system.hpp
blob: 689e81543fc7d3ee68833d947658acbe5e464770 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
// SPDX-License-Identifier: Apache-2.0
// SPDX-FileCopyrightText: Copyright OpenBMC Authors
#pragma once
#include <nlohmann/json.hpp>

namespace operating_system
{
// clang-format off

enum class OperatingSystemTypes{
    Invalid,
    Linux,
    Windows,
    Solaris,
    HPUX,
    AIX,
    BSD,
    macOS,
    IBMi,
    Hypervisor,
};

enum class VirtualMachineEngineTypes{
    Invalid,
    VMwareESX,
    HyperV,
    Xen,
    KVM,
    QEMU,
    VirtualBox,
    PowerVM,
};

enum class VirtualMachineImageTypes{
    Invalid,
    Raw,
    OVF,
    OVA,
    VHD,
    VMDK,
    VDI,
    QCOW,
    QCOW2,
};

enum class ContainerEngineTypes{
    Invalid,
    Docker,
    containerd,
    CRIO,
};

NLOHMANN_JSON_SERIALIZE_ENUM(OperatingSystemTypes, {
    {OperatingSystemTypes::Invalid, "Invalid"},
    {OperatingSystemTypes::Linux, "Linux"},
    {OperatingSystemTypes::Windows, "Windows"},
    {OperatingSystemTypes::Solaris, "Solaris"},
    {OperatingSystemTypes::HPUX, "HPUX"},
    {OperatingSystemTypes::AIX, "AIX"},
    {OperatingSystemTypes::BSD, "BSD"},
    {OperatingSystemTypes::macOS, "macOS"},
    {OperatingSystemTypes::IBMi, "IBMi"},
    {OperatingSystemTypes::Hypervisor, "Hypervisor"},
});

NLOHMANN_JSON_SERIALIZE_ENUM(VirtualMachineEngineTypes, {
    {VirtualMachineEngineTypes::Invalid, "Invalid"},
    {VirtualMachineEngineTypes::VMwareESX, "VMwareESX"},
    {VirtualMachineEngineTypes::HyperV, "HyperV"},
    {VirtualMachineEngineTypes::Xen, "Xen"},
    {VirtualMachineEngineTypes::KVM, "KVM"},
    {VirtualMachineEngineTypes::QEMU, "QEMU"},
    {VirtualMachineEngineTypes::VirtualBox, "VirtualBox"},
    {VirtualMachineEngineTypes::PowerVM, "PowerVM"},
});

NLOHMANN_JSON_SERIALIZE_ENUM(VirtualMachineImageTypes, {
    {VirtualMachineImageTypes::Invalid, "Invalid"},
    {VirtualMachineImageTypes::Raw, "Raw"},
    {VirtualMachineImageTypes::OVF, "OVF"},
    {VirtualMachineImageTypes::OVA, "OVA"},
    {VirtualMachineImageTypes::VHD, "VHD"},
    {VirtualMachineImageTypes::VMDK, "VMDK"},
    {VirtualMachineImageTypes::VDI, "VDI"},
    {VirtualMachineImageTypes::QCOW, "QCOW"},
    {VirtualMachineImageTypes::QCOW2, "QCOW2"},
});

NLOHMANN_JSON_SERIALIZE_ENUM(ContainerEngineTypes, {
    {ContainerEngineTypes::Invalid, "Invalid"},
    {ContainerEngineTypes::Docker, "Docker"},
    {ContainerEngineTypes::containerd, "containerd"},
    {ContainerEngineTypes::CRIO, "CRIO"},
});

// clang-format on
} // namespace operating_system