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
34          to store user data about sensor. In Redfish, metadata will be set to
35          endpoint corresponding to that sensor.
36    - name: Thresholds
37      type: variant[array[struct[enum[self.Type],uint64,enum[self.Direction],double]],array[struct[string,enum[self.Severity],uint64,string]]]
38      description: >
39          First type in variant is a collection of numeric thresholds that has
40          following fields - type, dwell time, direction and threshold value.
41          Second type holded by variant is a collection of discrete thresholds
42          that contains following fields - user id, severity, dwell time and
43          threshold value. Discrete value does not need to be a number. Numeric
44          threshold array is limited by Type enumeration, only 4 elements are
45          allowed. Discrete threshold array size is not limited. If discrete
46          threshold array is empty then every value change is taken into account
47          of threshold condition. Dwell time specifies for how long condition
48          has to persist to trigger an action.
49    - name: Name
50      type: string
51      description: >
52          Defines the name of trigger to be exposed over D-Bus.
53
54enumerations:
55    - name: TriggerAction
56      description: >
57          Defines a action which is taken once threshold condition is met.
58      values:
59          - name: LogToJournal
60            description: Trigger will log to journal.
61          - name: LogToRedfishEventLog
62            description: Trigger will log Redfish message.
63          - name: UpdateReport
64            description: >
65                Trigger will update reports. Reports that will be updated are
66                specified in ReportNames property.
67    - name: Type
68      description: >
69          Defines a context of a message that is logged when numeric threshold
70          condition is met.
71      values:
72          - name: LowerCritical
73          - name: LowerWarning
74          - name: UpperWarning
75          - name: UpperCritical
76    - name: Direction
77      description: >
78          Defines in which direction threshold value is crossed to fulfill
79          numeric threshold condition.
80      values:
81          - name: Either
82            description: >
83                Crossing threshold value fulfill numeric threshold condition.
84          - name: Decreasing
85            description: >
86                If threshold value is crossed and previous sensor value was
87                greater then threshold value then numeric threshold condition is
88                met.
89          - name: Increasing
90            description: >
91                If threshold value is crossed and previous sensor value was less
92                then threshold value then numeric threshold condition is met.
93    - name: Severity
94      description: >
95          Defines a context of a message that is logged when discrete threshold
96          condition is met.
97      values:
98          - name: OK
99          - name: Warning
100          - name: Critical
101