summaryrefslogtreecommitdiff
path: root/redfish-core/include/generated/enums/triggers.hpp
blob: af55dd37b2fcd5f6b8999ca08becc87a5c170aac (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
// SPDX-License-Identifier: Apache-2.0
// SPDX-FileCopyrightText: Copyright OpenBMC Authors
#pragma once
#include <nlohmann/json.hpp>

namespace triggers
{
// clang-format off

enum class MetricTypeEnum{
    Invalid,
    Numeric,
    Discrete,
};

enum class TriggerActionEnum{
    Invalid,
    LogToLogService,
    RedfishEvent,
    RedfishMetricReport,
};

enum class DiscreteTriggerConditionEnum{
    Invalid,
    Specified,
    Changed,
};

enum class ThresholdActivation{
    Invalid,
    Increasing,
    Decreasing,
    Either,
    Disabled,
};

enum class DirectionOfCrossingEnum{
    Invalid,
    Increasing,
    Decreasing,
};

enum class TriggerActionMessage{
    Invalid,
    Telemetry,
    DriveMediaLife,
    ConnectionSpeed,
};

NLOHMANN_JSON_SERIALIZE_ENUM(MetricTypeEnum, {
    {MetricTypeEnum::Invalid, "Invalid"},
    {MetricTypeEnum::Numeric, "Numeric"},
    {MetricTypeEnum::Discrete, "Discrete"},
});

NLOHMANN_JSON_SERIALIZE_ENUM(TriggerActionEnum, {
    {TriggerActionEnum::Invalid, "Invalid"},
    {TriggerActionEnum::LogToLogService, "LogToLogService"},
    {TriggerActionEnum::RedfishEvent, "RedfishEvent"},
    {TriggerActionEnum::RedfishMetricReport, "RedfishMetricReport"},
});

NLOHMANN_JSON_SERIALIZE_ENUM(DiscreteTriggerConditionEnum, {
    {DiscreteTriggerConditionEnum::Invalid, "Invalid"},
    {DiscreteTriggerConditionEnum::Specified, "Specified"},
    {DiscreteTriggerConditionEnum::Changed, "Changed"},
});

NLOHMANN_JSON_SERIALIZE_ENUM(ThresholdActivation, {
    {ThresholdActivation::Invalid, "Invalid"},
    {ThresholdActivation::Increasing, "Increasing"},
    {ThresholdActivation::Decreasing, "Decreasing"},
    {ThresholdActivation::Either, "Either"},
    {ThresholdActivation::Disabled, "Disabled"},
});

NLOHMANN_JSON_SERIALIZE_ENUM(DirectionOfCrossingEnum, {
    {DirectionOfCrossingEnum::Invalid, "Invalid"},
    {DirectionOfCrossingEnum::Increasing, "Increasing"},
    {DirectionOfCrossingEnum::Decreasing, "Decreasing"},
});

NLOHMANN_JSON_SERIALIZE_ENUM(TriggerActionMessage, {
    {TriggerActionMessage::Invalid, "Invalid"},
    {TriggerActionMessage::Telemetry, "Telemetry"},
    {TriggerActionMessage::DriveMediaLife, "DriveMediaLife"},
    {TriggerActionMessage::ConnectionSpeed, "ConnectionSpeed"},
});

// clang-format on
} // namespace triggers