description: >
    Implement this interface to provide trigger inspection features. An
    implementation service should additionally implement
    xyz.openbmc_project.Object.Delete for deletion of individual trigger.

properties:
    - name: Discrete
      type: boolean
      description: >
          If true than trigger uses discrete thresholds as threshold conditions.
          Otherwise numeric thresholds is used.
      flags:
          - const
    - name: TriggerActions
      type: array[enum[self.TriggerAction]]
      description: >
          Defines actions which are taken when threshold conditions are met.
      flags:
          - const
    - name: Persistent
      type: boolean
      description: Defines if Trigger is stored in non volatile memory.
    - name: ReportNames
      type: array[string]
      description: >
          Collection of report names that are updated when threshold conditions
          are met. List is ignored if TriggerActions property does not contain
          'UpdateReport' action.
    - name: Sensors
      type: array[struct[object_path, string]]
      description: >
          Array of sensors that is monitored within trigger. First parameter of a
          structure is a sensor path. Second parameter is a metadata that is used
          to store user data about sensor.
    - name: Thresholds
      type: variant[array[struct[enum[self.Type],uint64,enum[self.Direction],double]],array[struct[string,enum[self.Severity],uint64,string]]]
      description: >
          First type in variant is a collection of numeric thresholds that has
          following fields - type, dwell time, direction and threshold value.
          Second type holds by variant is a collection of discrete thresholds that
          contains following fields - user id, severity, dwell time and threshold
          value. Discrete value does not need to be a number. Numeric threshold
          array is limited by Type enumeration, only 4 elements are allowed.
          Discrete threshold array size is not limited. If discrete threshold
          array is empty than every value change is taken into account of
          threshold condition. Dwell time specify for how long condition has to
          persist to trigger an action.

enumerations:
    - name: TriggerAction
      description: >
          Defines a action which is taken once threshold condition is met.
      values:
          - name: LogToLogService
            description: Trigger will log to journal.
          - name: RedfishEvent
            description: Trigger will log Redfish message.
          - name: UpdateReport
            description: >
                Trigger will update reports. Reports that will be updated are
                specified in ReportNames property.
    - name: Type
      description: >
          Defines a context of a message that is logged when numeric threshold
          condition is met.
      values:
          - name: LowerCritical
          - name: LowerWarning
          - name: UpperWarning
          - name: UpperCritical
    - name: Direction
      description: >
          Defines in which direction threshold value is crossed to fulfill numeric
          threshold condition.
      values:
          - name: Either
            description: >
                Crossing threshold value fulfill numeric threshold condition.
          - name: Decreasing
            description: >
                If threshold value is crossed and previous sensor value was greater
                then threshold value then numeric threshold condition is met.
          - name: Increasing
            description: >
                If threshold value is crossed and previous sensor value was less
                then threshold value then numeric threshold condition is met.
    - name: Severity
      description: >
          Defines a context of a message that is logged when discrete threshold
          condition is met.
      values:
          - name: OK
          - name: Warning
          - name: Critical
