xref: /openbmc/bmcweb/redfish-core/include/generated/enums/triggers.hpp (revision 40e9b92ec19acffb46f83a6e55b18974da5d708e)
1 // SPDX-License-Identifier: Apache-2.0
2 // SPDX-FileCopyrightText: Copyright OpenBMC Authors
3 #pragma once
4 #include <nlohmann/json.hpp>
5 
6 namespace triggers
7 {
8 // clang-format off
9 
10 enum class MetricTypeEnum{
11     Invalid,
12     Numeric,
13     Discrete,
14 };
15 
16 enum class TriggerActionEnum{
17     Invalid,
18     LogToLogService,
19     RedfishEvent,
20     RedfishMetricReport,
21 };
22 
23 enum class DiscreteTriggerConditionEnum{
24     Invalid,
25     Specified,
26     Changed,
27 };
28 
29 enum class ThresholdActivation{
30     Invalid,
31     Increasing,
32     Decreasing,
33     Either,
34     Disabled,
35 };
36 
37 enum class DirectionOfCrossingEnum{
38     Invalid,
39     Increasing,
40     Decreasing,
41 };
42 
43 enum class TriggerActionMessage{
44     Invalid,
45     Telemetry,
46     DriveMediaLife,
47     ConnectionSpeed,
48 };
49 
50 NLOHMANN_JSON_SERIALIZE_ENUM(MetricTypeEnum, {
51     {MetricTypeEnum::Invalid, "Invalid"},
52     {MetricTypeEnum::Numeric, "Numeric"},
53     {MetricTypeEnum::Discrete, "Discrete"},
54 });
55 
56 NLOHMANN_JSON_SERIALIZE_ENUM(TriggerActionEnum, {
57     {TriggerActionEnum::Invalid, "Invalid"},
58     {TriggerActionEnum::LogToLogService, "LogToLogService"},
59     {TriggerActionEnum::RedfishEvent, "RedfishEvent"},
60     {TriggerActionEnum::RedfishMetricReport, "RedfishMetricReport"},
61 });
62 
63 NLOHMANN_JSON_SERIALIZE_ENUM(DiscreteTriggerConditionEnum, {
64     {DiscreteTriggerConditionEnum::Invalid, "Invalid"},
65     {DiscreteTriggerConditionEnum::Specified, "Specified"},
66     {DiscreteTriggerConditionEnum::Changed, "Changed"},
67 });
68 
69 NLOHMANN_JSON_SERIALIZE_ENUM(ThresholdActivation, {
70     {ThresholdActivation::Invalid, "Invalid"},
71     {ThresholdActivation::Increasing, "Increasing"},
72     {ThresholdActivation::Decreasing, "Decreasing"},
73     {ThresholdActivation::Either, "Either"},
74     {ThresholdActivation::Disabled, "Disabled"},
75 });
76 
77 NLOHMANN_JSON_SERIALIZE_ENUM(DirectionOfCrossingEnum, {
78     {DirectionOfCrossingEnum::Invalid, "Invalid"},
79     {DirectionOfCrossingEnum::Increasing, "Increasing"},
80     {DirectionOfCrossingEnum::Decreasing, "Decreasing"},
81 });
82 
83 NLOHMANN_JSON_SERIALIZE_ENUM(TriggerActionMessage, {
84     {TriggerActionMessage::Invalid, "Invalid"},
85     {TriggerActionMessage::Telemetry, "Telemetry"},
86     {TriggerActionMessage::DriveMediaLife, "DriveMediaLife"},
87     {TriggerActionMessage::ConnectionSpeed, "ConnectionSpeed"},
88 });
89 
90 }
91 // clang-format on
92