1description: >
2    Implement to provide triggers management.
3
4methods:
5    - name: AddTrigger
6      description: >
7          Create new object that represents Trigger with
8          xyz.openbmc_project.Telemetry.Trigger interface stored in path
9          /xyz/openbmc_project/Telemetry/Triggers/{id} where id is parameter of
10          this method.
11      parameters:
12          - name: id
13            type: string
14            description: >
15                Defines unique identifier of created Trigger object to be
16                exposed over D-Bus. Acceptable formats are: "{Id}",
17                "{Prefix}/{SubId}", "{Prefix}/". If the last variant is used,
18                service will generate unique SubId value by itself.
19          - name: name
20            type: string
21            description: >
22                Defines user friendly name of created Trigger object.
23          - name: triggerActions
24            type: array[enum[xyz.openbmc_project.Telemetry.Trigger.TriggerAction]]
25            description: >
26                Defines which actions are taken when threshold conditions are
27                met.
28          - name: sensors
29            type: array[dict[object_path,string]]
30            description: >
31                Map of sensors that is monitored within trigger. D-Bus sensor
32                path is used as map's key. Its value is a metadata that is used
33                to store user data about sensor. In Redfish, metadata will be
34                set to endpoint corresponding to that sensor.
35          - name: reports
36            type: array[object_path]
37            description: >
38                Collection of report names that are updated when threshold
39                conditions are met. This parameter is ignored if triggerActions
40                parameter does not contain 'UpdateReport' action.
41          - name: thresholds
42            type: variant[array[struct[enum[xyz.openbmc_project.Telemetry.Trigger.Type],uint64,enum[xyz.openbmc_project.Telemetry.Trigger.Direction],double]],array[struct[string,enum[xyz.openbmc_project.Telemetry.Trigger.Severity],uint64,string]]]
43            description: >
44                Contains array of numeric or discrete thresholds that are
45                described in xyz.openbmc_project.Telemetry.Trigger interface.
46      returns:
47          - name: triggerPath
48            type: object_path
49            description: >
50                Path to new trigger ->
51                /xyz/openbmc_project/Telemetry/Triggers/{id}.
52