description: >
    Implement to provide triggers management.

methods:
    - name: AddTrigger
      description: >
          Create new object that represents Trigger with
          xyz.openbmc_project.Telemetry.Trigger interface stored in path
          /xyz/openbmc_project/Telemetry/Triggers/{id} where id is parameter of
          this method.
      parameters:
          - name: id
            type: string
            description: >
                Defines unique identifier of created Trigger object to be
                exposed over D-Bus. Acceptable formats are: "{Id}",
                "{Prefix}/{SubId}", "{Prefix}/". If the last variant is used,
                service will generate unique SubId value by itself.
          - name: name
            type: string
            description: >
                Defines user friendly name of created Trigger object.
          - name: triggerActions
            type: array[enum[xyz.openbmc_project.Telemetry.Trigger.TriggerAction]]
            description: >
                Defines which actions are taken when threshold conditions are
                met.
          - name: sensors
            type: array[dict[object_path,string]]
            description: >
                Map of sensors that is monitored within trigger. D-Bus sensor
                path is used as map's key. Its value is a metadata that is used
                to store user data about sensor. In Redfish, metadata will be
                set to endpoint corresponding to that sensor.
          - name: reports
            type: array[object_path]
            description: >
                Collection of report names that are updated when threshold
                conditions are met. This parameter is ignored if triggerActions
                parameter does not contain 'UpdateReport' action.
          - name: thresholds
            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]]]
            description: >
                Contains array of numeric or discrete thresholds that are
                described in xyz.openbmc_project.Telemetry.Trigger interface.
      returns:
          - name: triggerPath
            type: object_path
            description: >
                Path to new trigger ->
                /xyz/openbmc_project/Telemetry/Triggers/{id}.
