Ver código fonte

Add 'plugins/edirectory_monitor/rulesets/edirectory_monitor_ldap.py'

Michael Honkoop 2 meses atrás
pai
commit
ec5c864209

+ 97 - 0
plugins/edirectory_monitor/rulesets/edirectory_monitor_ldap.py

@@ -0,0 +1,97 @@
+#!/usr/bin/env python3
+
+# -*- encoding: utf-8; py-indent-offset: 4 -*-
+
+# (c) Michael Honkoop <mhonkoop@comsolve.nl>
+
+# License: GNU General Public License v2
+
+"""parameters for eDirectory monitor"""
+
+from typing import Final, Mapping
+
+from cmk.rulesets.v1 import Title, Help
+from cmk.rulesets.v1.form_specs import (
+    DictElement,
+    Dictionary,
+    InputHint,
+    Integer,
+    LevelDirection,
+    migrate_to_integer_simple_levels,
+    SimpleLevels,
+    String,
+)
+
+from cmk.rulesets.v1.rule_specs import (
+    CheckParameters,
+    Topic,
+    HostAndItemCondition,
+)
+
+def _parameter_valuespec_edirectory_monitor_ldap() -> Dictionary:
+    return Dictionary(
+        elements={
+            "bindSecurityErrors": DictElement(
+                required=False,
+                parameter_form=SimpleLevels[int](
+                    title=Title("LDAP bind Security errors"),
+                    level_direction=LevelDirection.UPPER,
+                    form_spec_template=Integer(),
+                    migrate=migrate_to_integer_simple_levels,
+                    prefill_fixed_levels=InputHint(value=(0, 5)),
+                )
+            ),
+            "strongAuthBinds": DictElement(
+                required=False,
+                parameter_form=SimpleLevels[int](
+                    title=Title("LDAP Strong Auth Bindings"),
+                    level_direction=LevelDirection.UPPER,
+                    form_spec_template=Integer(),
+                    migrate=migrate_to_integer_simple_levels,
+                    prefill_fixed_levels=InputHint(value=(0, 5)),
+                )
+            ),
+            "simpleAuthBinds": DictElement(
+                required=False,
+                parameter_form=SimpleLevels[int](
+                    title=Title("LDAP Simple Authenticated Bindings"),
+                    level_direction=LevelDirection.UPPER,
+                    form_spec_template=Integer(),
+                    migrate=migrate_to_integer_simple_levels,
+                    prefill_fixed_levels=InputHint(value=(0, 5)),
+                )
+            ),
+            "unAuthBinds": DictElement(
+                required=False,
+                parameter_form=SimpleLevels[int](
+                    title=Title("LDAP Unuthenticated Bindings"),
+                    level_direction=LevelDirection.UPPER,
+                    form_spec_template=Integer(),
+                    migrate=migrate_to_integer_simple_levels,
+                    prefill_fixed_levels=InputHint(value=(0, 5)),
+                )
+            ),
+#            "levels": DictElement(
+#                parameter_form=SimpleLevels[int](
+#                    title=Title("Generic Levels"),
+#                    level_direction=LevelDirection.UPPER,
+#                    form_spec_template=Integer(),
+#                    migrate=migrate_to_integer_simple_levels,
+#                    prefill_fixed_levels=InputHint(value=(15, 30)),
+#                )
+#            ),
+        },
+    )
+
+def _item_spec() -> String:
+    return String(help_text=Help("eDirectory Attribute Name"))
+
+rule_spec_edirectory_monitor_ldap_params = CheckParameters(
+    name="edirectory_monitor_ldap",
+    title=Title("eDirectory Monitor LDAP"),
+    topic=Topic.APPLICATIONS,
+    condition=HostAndItemCondition(
+        item_title=Title("eDirectory Attribute"), item_form=_item_spec()
+    ),
+    parameter_form=_parameter_valuespec_edirectory_monitor_ldap,
+)