Prechádzať zdrojové kódy

Initial release of p1-meter/rulesets/p1.py

Michael Honkoop 1 deň pred
rodič
commit
c0497eeb34
1 zmenil súbory, kde vykonal 52 pridanie a 0 odobranie
  1. 52 0
      plugins/p1-meter/rulesets/p1.py

+ 52 - 0
plugins/p1-meter/rulesets/p1.py

@@ -0,0 +1,52 @@
+#!/usr/bin/env python3
+
+from cmk.rulesets.v1 import Help, Title
+from cmk.rulesets.v1.form_specs import (
+    DefaultValue,
+    DictElement,
+    Dictionary,
+    Float,
+    LevelDirection,
+    SimpleLevels,
+)
+from cmk.rulesets.v1.rule_specs import (
+    CheckParameters,
+    HostAndItemCondition,
+    Topic,
+)
+
+
+def _parameter_form():
+    return Dictionary(
+        title=Title("P1 voltage thresholds"),
+        help_text=Help(
+            "Upper voltage thresholds. "
+            "The first value is WARNING and the second is CRITICAL."
+        ),
+        elements={
+            "levels": DictElement(
+                required=True,
+                parameter_form=SimpleLevels(
+                    title=Title("Voltage thresholds"),
+                    form_spec_template=Float(
+                        unit_symbol="V",
+                    ),
+                    level_direction=LevelDirection.UPPER,
+                    prefill_fixed_levels=DefaultValue(
+                        value=(252.0, 253.0)
+                    ),
+                ),
+            ),
+        },
+    )
+
+
+rule_spec_p1_voltage = CheckParameters(
+    name="p1_voltage",
+    title=Title("P1 voltage"),
+    topic=Topic.POWER,
+    parameter_form=_parameter_form,
+    condition=HostAndItemCondition(
+        item_title=Title("Phase"),
+    ),
+)