summaryrefslogtreecommitdiff
path: root/redfish-core/include/generated/enums/policy.hpp
blob: 063791e8f38e61fbfd18240db0905bf75e0952fe (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
// 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