1description: >
2    Implement this interface to provide trigger inspection features. An
3    implementation service should additionaly 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: LogToJournal
15    type: boolean
16    description: >
17        Defines if trigger logs to system journal when threshold conditions are
18        met. LogToJournal is a trigger action.
19    flags:
20    - const
21  - name: LogToRedfish
22    type: boolean
23    description: >
24        Defines if trigger logs Redfish message when threshold conditions are
25        met. LogToRedfish is a trigger action.
26    flags:
27    - const
28  - name: UpdateReport
29    type: boolean
30    description: >
31        Defines if trigger updates report when threshold conditions are
32        met. Reports that will be updated are specified in ReportNames property.
33        UpdateReport is a trigger action.
34    flags:
35    - const
36  - name: Persistent
37    type: boolean
38    description: Defines if Trigger is stored in non volatile memory.
39  - name: ReportNames
40    type: array[string]
41    description: >
42        Collection of report names that are updated when threshold conditions
43        are met. List is ignored if UpdateReport property is false.
44  - name: Sensors
45    type: array[struct[object_path, string]]
46    description: >
47        Array of sensors that is monitored within trigger. First parameter of a
48        structure is a sensor path. Second parameter is a metadata that is used
49        to store user data about sensor.
50  - name: Thresholds
51    type: variant[array[struct[enum[self.Type],enum[self.Direction],uint64,double]],array[struct[string,enum[self.Severity],uint64,double]]]
52    description: >
53        First type in variant is a collection of numeric thresholds that has
54        following fields - type, direction, dwell time and threshold value.
55        Second type holds by variant is a collection of discrete thresholds that
56        contains following fields - user id, severity, dwell time and threshold
57        value. Numeric threshold array is limited by Type enumeration, only 4
58        elements are allowed. Discrete threshold array size is not limited. If
59        Discrete threshold array is empty than every value change is taken into
60        account of threshold condition. Dwell time specify for how long
61        condition has to persist to trigger an action.
62
63enumerations:
64  - name: Type
65    description: >
66        Defines a context of a message that is logged when numeric threshold
67        condition is met.
68    values:
69      - name: LowerCritical
70      - name: LowerWarning
71      - name: UpperWarning
72      - name: UpperCritical
73  - name: Direction
74    description: >
75        Defines in which direction threshold value is crossed to fulfill numeric
76        threshold condition.
77    values:
78      - name: Either
79        description: >
80            Crossing threshold value fulfill numeric threshold condition.
81      - name: Decreasing
82        description: >
83            If threshold value is crossed and previous sensor value was greater
84            then threshold value then numeric threshold condition is met.
85      - name: Increasing
86        description: >
87            If threshold value is crossed and previous sensor value was less
88            then threshold value then numeric threshold condition is met.
89  - name: Severity
90    description: >
91        Defines a context of a message that is logged when discrete threshold
92        condition is met.
93    values:
94      - name: OK
95      - name: Warning
96      - name: Critical
97