1description: >
2    Implement to provide triggers management.
3
4methods:
5  - name: AddTrigger
6    description:
7        Create new object that represent Trigger with
8        xyz.openbmc_project.Telemetry.Trigger interface stored in path
9        /xyz/openbmc_project/Telemetry/Triggers/{Domain}/{Name} where
10        Domain and Name are parameters of this method.
11    parameters:
12      - name: name
13        type: string
14        description: >
15            Defines the name of report to be exposed over D-Bus. Service allows
16            to use separator '/' in name to group reports in directory.
17      - name: discrete
18        type: boolean
19        description: >
20            Defines if thresholds parameter contains discrete thresholds.
21            Otherwise thresholds contain numeric thresholds.
22      - name: logToJournal
23        type: boolean
24        description: >
25            Defines if trigger logs to system journal when threshold conditions
26            are met.
27      - name: logToRedfish
28        type: boolean
29        description: >
30            Defines if trigger logs Redfish message when threshold conditions
31            are met.
32      - name: updateReport
33        type: boolean
34        description: >
35            Defines if trigger updates reports that are specified in reportNames
36            parameter when threshold conditions are met.
37      - name: sensors
38        type: array[struct[object_path,string]]
39        description: >
40            Array of sensors that is monitored within trigger. Object path
41            points to a sensor in DBus envrionment. String is used as user
42            metadata.
43      - name: reportNames
44        type: array[string]
45        description: >
46            Collection of report names that are updated when threshold
47            conditions are met. This parameter is ignored if updateReport
48            parameter is set to false.
49      - name: thresholds
50        type: variant[array[struct[enum[xyz.openbmc_project.Telemetry.Trigger.Type],enum[xyz.openbmc_project.Telemetry.Trigger.Direction],uint64,double]],array[struct[string,enum[xyz.openbmc_project.Telemetry.Trigger.Severity],uint64,double]]]
51        description: >
52            Contains array of numeric or discrete thresholds that are described
53            in xyz.openbmc_project.Telemetry.Trigger interface.
54    returns:
55      - name: triggerPath
56        type: object_path
57        description: >
58            Path to new trigger ->
59            /xyz/openbmc_project/Telemetry/Triggers/{name}.
60