Add Trigger and TriggerManager interfaces
Trigger and TriggerManager interfaces design are based on Telemetry
design. Interfaces be implemented in openbmc/telemetry repository.
Ref.:
https://github.com/openbmc/docs/blob/master/designs/telemetry.md
Signed-off-by: Wludzik, Jozef <jozef.wludzik@intel.com>
Change-Id: I41c31aa2ae091d3283ddb4ec422885483f4d0429
diff --git a/xyz/openbmc_project/Telemetry/TriggerManager.interface.yaml b/xyz/openbmc_project/Telemetry/TriggerManager.interface.yaml
new file mode 100644
index 0000000..e6b1e7e
--- /dev/null
+++ b/xyz/openbmc_project/Telemetry/TriggerManager.interface.yaml
@@ -0,0 +1,59 @@
+description: >
+ Implement to provide triggers management.
+
+methods:
+ - name: AddTrigger
+ description:
+ Create new object that represent Trigger with
+ xyz.openbmc_project.Telemetry.Trigger interface stored in path
+ /xyz/openbmc_project/Telemetry/Triggers/{Domain}/{Name} where
+ Domain and Name are parameters of this method.
+ parameters:
+ - name: name
+ type: string
+ description: >
+ Defines the name of report to be exposed over D-Bus. Service allows
+ to use separator '/' in name to group reports in directory.
+ - name: discrete
+ type: boolean
+ description: >
+ Defines if thresholds parameter contains discrete thresholds.
+ Otherwise thresholds contain numeric thresholds.
+ - name: logToJournal
+ type: boolean
+ description: >
+ Defines if trigger logs to system journal when threshold conditions
+ are met.
+ - name: logToRedfish
+ type: boolean
+ description: >
+ Defines if trigger logs Redfish message when threshold conditions
+ are met.
+ - name: updateReport
+ type: boolean
+ description: >
+ Defines if trigger updates reports that are specified in reportNames
+ parameter when threshold conditions are met.
+ - name: sensors
+ type: array[struct[object_path,string]]
+ description: >
+ Array of sensors that is monitored within trigger. Object path
+ points to a sensor in DBus envrionment. String is used as user
+ metadata.
+ - name: reportNames
+ type: array[string]
+ description: >
+ Collection of report names that are updated when threshold
+ conditions are met. This parameter is ignored if updateReport
+ parameter is set to false.
+ - name: thresholds
+ 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]]]
+ 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/{name}.