xref: /openbmc/bmcweb/features/redfish/include/generated/enums/triggers.hpp (revision 0ec8b83db7e8629c721c0e632de702bf1018f58f)
1*0ec8b83dSEd Tanous #pragma once
2*0ec8b83dSEd Tanous #include <nlohmann/json.hpp>
3*0ec8b83dSEd Tanous 
4*0ec8b83dSEd Tanous namespace triggers
5*0ec8b83dSEd Tanous {
6*0ec8b83dSEd Tanous // clang-format off
7*0ec8b83dSEd Tanous 
8*0ec8b83dSEd Tanous enum class MetricTypeEnum{
9*0ec8b83dSEd Tanous     Invalid,
10*0ec8b83dSEd Tanous     Numeric,
11*0ec8b83dSEd Tanous     Discrete,
12*0ec8b83dSEd Tanous };
13*0ec8b83dSEd Tanous 
14*0ec8b83dSEd Tanous enum class TriggerActionEnum{
15*0ec8b83dSEd Tanous     Invalid,
16*0ec8b83dSEd Tanous     LogToLogService,
17*0ec8b83dSEd Tanous     RedfishEvent,
18*0ec8b83dSEd Tanous     RedfishMetricReport,
19*0ec8b83dSEd Tanous };
20*0ec8b83dSEd Tanous 
21*0ec8b83dSEd Tanous enum class DiscreteTriggerConditionEnum{
22*0ec8b83dSEd Tanous     Invalid,
23*0ec8b83dSEd Tanous     Specified,
24*0ec8b83dSEd Tanous     Changed,
25*0ec8b83dSEd Tanous };
26*0ec8b83dSEd Tanous 
27*0ec8b83dSEd Tanous enum class ThresholdActivation{
28*0ec8b83dSEd Tanous     Invalid,
29*0ec8b83dSEd Tanous     Increasing,
30*0ec8b83dSEd Tanous     Decreasing,
31*0ec8b83dSEd Tanous     Either,
32*0ec8b83dSEd Tanous };
33*0ec8b83dSEd Tanous 
34*0ec8b83dSEd Tanous enum class DirectionOfCrossingEnum{
35*0ec8b83dSEd Tanous     Invalid,
36*0ec8b83dSEd Tanous     Increasing,
37*0ec8b83dSEd Tanous     Decreasing,
38*0ec8b83dSEd Tanous };
39*0ec8b83dSEd Tanous 
40*0ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(MetricTypeEnum, {
41*0ec8b83dSEd Tanous     {MetricTypeEnum::Invalid, "Invalid"},
42*0ec8b83dSEd Tanous     {MetricTypeEnum::Numeric, "Numeric"},
43*0ec8b83dSEd Tanous     {MetricTypeEnum::Discrete, "Discrete"},
44*0ec8b83dSEd Tanous });
45*0ec8b83dSEd Tanous 
46*0ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(TriggerActionEnum, {
47*0ec8b83dSEd Tanous     {TriggerActionEnum::Invalid, "Invalid"},
48*0ec8b83dSEd Tanous     {TriggerActionEnum::LogToLogService, "LogToLogService"},
49*0ec8b83dSEd Tanous     {TriggerActionEnum::RedfishEvent, "RedfishEvent"},
50*0ec8b83dSEd Tanous     {TriggerActionEnum::RedfishMetricReport, "RedfishMetricReport"},
51*0ec8b83dSEd Tanous });
52*0ec8b83dSEd Tanous 
53*0ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(DiscreteTriggerConditionEnum, {
54*0ec8b83dSEd Tanous     {DiscreteTriggerConditionEnum::Invalid, "Invalid"},
55*0ec8b83dSEd Tanous     {DiscreteTriggerConditionEnum::Specified, "Specified"},
56*0ec8b83dSEd Tanous     {DiscreteTriggerConditionEnum::Changed, "Changed"},
57*0ec8b83dSEd Tanous });
58*0ec8b83dSEd Tanous 
59*0ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(ThresholdActivation, {
60*0ec8b83dSEd Tanous     {ThresholdActivation::Invalid, "Invalid"},
61*0ec8b83dSEd Tanous     {ThresholdActivation::Increasing, "Increasing"},
62*0ec8b83dSEd Tanous     {ThresholdActivation::Decreasing, "Decreasing"},
63*0ec8b83dSEd Tanous     {ThresholdActivation::Either, "Either"},
64*0ec8b83dSEd Tanous });
65*0ec8b83dSEd Tanous 
66*0ec8b83dSEd Tanous NLOHMANN_JSON_SERIALIZE_ENUM(DirectionOfCrossingEnum, {
67*0ec8b83dSEd Tanous     {DirectionOfCrossingEnum::Invalid, "Invalid"},
68*0ec8b83dSEd Tanous     {DirectionOfCrossingEnum::Increasing, "Increasing"},
69*0ec8b83dSEd Tanous     {DirectionOfCrossingEnum::Decreasing, "Decreasing"},
70*0ec8b83dSEd Tanous });
71*0ec8b83dSEd Tanous 
72*0ec8b83dSEd Tanous }
73*0ec8b83dSEd Tanous // clang-format on
74