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
|
// SPDX-License-Identifier: Apache-2.0
// SPDX-FileCopyrightText: Copyright OpenBMC Authors
#pragma once
#include <nlohmann/json.hpp>
namespace policy
{
// clang-format off
enum class ConditionType{
Invalid,
And,
Or,
Compare,
Read,
Sum,
Average,
Event,
};
enum class ResponseAction{
Invalid,
Recheck,
Event,
Reset,
HTTP,
OEM,
};
enum class Operator{
Invalid,
Equal,
NotEqual,
GreaterThan,
LessThan,
GreaterThanOrEqual,
LessThanOrEqual,
};
enum class HTTPVerb{
Invalid,
GET,
PATCH,
POST,
DELETE,
};
NLOHMANN_JSON_SERIALIZE_ENUM(ConditionType, {
{ConditionType::Invalid, "Invalid"},
{ConditionType::And, "And"},
{ConditionType::Or, "Or"},
{ConditionType::Compare, "Compare"},
{ConditionType::Read, "Read"},
{ConditionType::Sum, "Sum"},
{ConditionType::Average, "Average"},
{ConditionType::Event, "Event"},
});
NLOHMANN_JSON_SERIALIZE_ENUM(ResponseAction, {
{ResponseAction::Invalid, "Invalid"},
{ResponseAction::Recheck, "Recheck"},
{ResponseAction::Event, "Event"},
{ResponseAction::Reset, "Reset"},
{ResponseAction::HTTP, "HTTP"},
{ResponseAction::OEM, "OEM"},
});
NLOHMANN_JSON_SERIALIZE_ENUM(Operator, {
{Operator::Invalid, "Invalid"},
{Operator::Equal, "Equal"},
{Operator::NotEqual, "NotEqual"},
{Operator::GreaterThan, "GreaterThan"},
{Operator::LessThan, "LessThan"},
{Operator::GreaterThanOrEqual, "GreaterThanOrEqual"},
{Operator::LessThanOrEqual, "LessThanOrEqual"},
});
NLOHMANN_JSON_SERIALIZE_ENUM(HTTPVerb, {
{HTTPVerb::Invalid, "Invalid"},
{HTTPVerb::GET, "GET"},
{HTTPVerb::PATCH, "PATCH"},
{HTTPVerb::POST, "POST"},
{HTTPVerb::DELETE, "DELETE"},
});
// clang-format on
} // namespace policy
|