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
|
// SPDX-License-Identifier: Apache-2.0
// SPDX-FileCopyrightText: Copyright OpenBMC Authors
#pragma once
#include <nlohmann/json.hpp>
namespace cooling_unit
{
// clang-format off
enum class CoolingEquipmentType{
Invalid,
CDU,
HeatExchanger,
ImmersionUnit,
RPU,
};
enum class CoolingUnitMode{
Invalid,
Enabled,
Disabled,
};
enum class ExportType{
Invalid,
Clone,
Replacement,
};
enum class Component{
Invalid,
All,
Manager,
ManagerAccounts,
CoolingUnit,
};
enum class ExportSecurity{
Invalid,
IncludeSensitiveData,
HashedDataOnly,
ExcludeSensitiveData,
};
NLOHMANN_JSON_SERIALIZE_ENUM(CoolingEquipmentType, {
{CoolingEquipmentType::Invalid, "Invalid"},
{CoolingEquipmentType::CDU, "CDU"},
{CoolingEquipmentType::HeatExchanger, "HeatExchanger"},
{CoolingEquipmentType::ImmersionUnit, "ImmersionUnit"},
{CoolingEquipmentType::RPU, "RPU"},
});
NLOHMANN_JSON_SERIALIZE_ENUM(CoolingUnitMode, {
{CoolingUnitMode::Invalid, "Invalid"},
{CoolingUnitMode::Enabled, "Enabled"},
{CoolingUnitMode::Disabled, "Disabled"},
});
NLOHMANN_JSON_SERIALIZE_ENUM(ExportType, {
{ExportType::Invalid, "Invalid"},
{ExportType::Clone, "Clone"},
{ExportType::Replacement, "Replacement"},
});
NLOHMANN_JSON_SERIALIZE_ENUM(Component, {
{Component::Invalid, "Invalid"},
{Component::All, "All"},
{Component::Manager, "Manager"},
{Component::ManagerAccounts, "ManagerAccounts"},
{Component::CoolingUnit, "CoolingUnit"},
});
NLOHMANN_JSON_SERIALIZE_ENUM(ExportSecurity, {
{ExportSecurity::Invalid, "Invalid"},
{ExportSecurity::IncludeSensitiveData, "IncludeSensitiveData"},
{ExportSecurity::HashedDataOnly, "HashedDataOnly"},
{ExportSecurity::ExcludeSensitiveData, "ExcludeSensitiveData"},
});
// clang-format on
} // namespace cooling_unit
|