xref: /openbmc/phosphor-dbus-interfaces/yaml/xyz/openbmc_project/Telemetry/Trigger.interface.yaml (revision 2faed8a3c3d8cb05a026c3bb7516b4824471f338)
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: LogToJournal
63            description: Trigger will log to journal.
64          - name: LogToRedfishEventLog
65            description: Trigger will log Redfish message.
66          - name: UpdateReport
67            description: >
68                Trigger will update reports. Reports that will be updated are
69                specified in ReportNames property.
70    - name: Type
71      description: >
72          Defines a context of a message that is logged when numeric threshold
73          condition is met.
74      values:
75          - name: LowerCritical
76          - name: LowerWarning
77          - name: UpperWarning
78          - name: UpperCritical
79    - name: Direction
80      description: >
81          Defines in which direction threshold value is crossed to fulfill
82          numeric threshold condition.
83      values:
84          - name: Either
85            description: >
86                Crossing threshold value fulfill numeric threshold condition.
87          - name: Decreasing
88            description: >
89                If threshold value is crossed and previous sensor value was
90                greater then threshold value then numeric threshold condition is
91                met.
92          - name: Increasing
93            description: >
94                If threshold value is crossed and previous sensor value was less
95                then threshold value then numeric threshold condition is met.
96    - name: Severity
97      description: >
98          Defines a context of a message that is logged when discrete threshold
99          condition is met.
100      values:
101          - name: OK
102          - name: Warning
103          - name: Critical
104