xref: /openbmc/phosphor-dbus-interfaces/yaml/xyz/openbmc_project/Telemetry/Trigger.interface.yaml (revision 78a184942de9dbd77d7274668c50fc121f8b84e7)
1description: >
2    Implement this interface to provide trigger inspection features. An
3    implementation service should additionally implement
4    xyz.openbmc_project.Object.Delete for deletion of individual trigger.
5
6properties:
7    - name: Discrete
8      type: boolean
9      description: >
10          If true than trigger uses discrete thresholds as threshold conditions.
11          Otherwise numeric thresholds is used.
12      flags:
13          - const
14    - name: TriggerActions
15      type: array[enum[self.TriggerAction]]
16      description: >
17          Defines actions which are taken when threshold conditions are met.
18      flags:
19          - const
20    - name: Persistent
21      type: boolean
22      description: Defines if Trigger is stored in non volatile memory.
23    - name: Reports
24      type: array[object_path]
25      description: >
26          Collection of Report objects that are updated when threshold
27          conditions are met. List is ignored if TriggerActions property does
28          not contain 'UpdateReport' action.
29    - name: Sensors
30      type: array[dict[object_path,string]]
31      description: >
32          Map of sensors that is monitored within trigger. D-Bus sensor path is
33          used as map's key. Its value is a metadata that is used to store user
34          data about sensor. In Redfish, metadata will be set to endpoint
35          corresponding to that sensor.
36    - name: numericThresholds
37      type: array[struct[enum[self.Type],uint64,enum[self.Direction],double]]
38      description: >
39          A collection of numeric thresholds that has following fields - type,
40          dwell time, direction and threshold value. Array is limited by Type
41          enumeration, only 4 elements are allowed. Dwell time specifies for how
42          long condition has to persist to trigger an action.
43    - name: discreteThresholds
44      type: array[struct[string,enum[self.Severity],uint64,string]]
45      description: >
46          A collection of discrete thresholds that contains following fields -
47          user id, severity, dwell time and threshold value. Discrete value does
48          not need to be a number. Array size is not limited. If discrete
49          threshold array is empty then every value change is taken into account
50          of threshold condition. Dwell time specifies for how long condition
51          has to persist to trigger an action.
52    - name: Name
53      type: string
54      description: >
55          Defines the name of trigger to be exposed over D-Bus.
56
57enumerations:
58    - name: TriggerAction
59      description: >
60          Defines a action which is taken once threshold condition is met.
61      values:
62          - name: LogToRedfishEventLog
63            description: Trigger will log Redfish message.
64          - name: UpdateReport
65            description: >
66                Trigger will update reports. Reports that will be updated are
67                specified in ReportNames property.
68    - name: Type
69      description: >
70          Defines a context of a message that is logged when numeric threshold
71          condition is met.
72      values:
73          - name: LowerCritical
74          - name: LowerWarning
75          - name: UpperWarning
76          - name: UpperCritical
77    - name: Direction
78      description: >
79          Defines in which direction threshold value is crossed to fulfill
80          numeric threshold condition.
81      values:
82          - name: Either
83            description: >
84                Crossing threshold value fulfill numeric threshold condition.
85          - name: Decreasing
86            description: >
87                If threshold value is crossed and previous sensor value was
88                greater then threshold value then numeric threshold condition is
89                met.
90          - name: Increasing
91            description: >
92                If threshold value is crossed and previous sensor value was less
93                then threshold value then numeric threshold condition is met.
94    - name: Severity
95      description: >
96          Defines a context of a message that is logged when discrete threshold
97          condition is met.
98      values:
99          - name: OK
100          - name: Warning
101          - name: Critical
102