Prechádzať zdrojové kódy

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

Michael Honkoop 1 mesiac pred
rodič
commit
9df64acd31

+ 163 - 16
plugins/edirectory_monitor/rulesets/edirectory_monitor_ldap.py

@@ -6,9 +6,7 @@
 
 # License: GNU General Public License v2
 
-"""parameters for eDirectory monitor LDAP"""
-
-from typing import Final, Mapping
+"""parameters for eDirectory monitor"""
 
 from cmk.rulesets.v1 import Title, Help
 from cmk.rulesets.v1.form_specs import (
@@ -28,6 +26,146 @@ from cmk.rulesets.v1.rule_specs import (
     HostAndItemCondition,
 )
 
+def _vaulespec_edirectory_monitor_ldap_bindings() -> Dictionary:
+    return Dictionary(
+        title=Title("LDAP Bindings"),
+        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)),
+                )
+            ),
+            "Bindings_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)),
+                )
+            ),
+        }
+    )
+
+def _vaulespec_edirectory_monitor_ldap_errors() -> Dictionary:
+    return Dictionary(
+        title=Title("LDAP Errors"),
+        elements={
+            "securityErrors": DictElement(
+                required=False,
+                parameter_form=SimpleLevels[int](
+                    title=Title("LDAP Security errors"),
+                    level_direction=LevelDirection.UPPER,
+                    form_spec_template=Integer(),
+                    migrate=migrate_to_integer_simple_levels,
+                    prefill_fixed_levels=InputHint(value=(0, 5)),
+                )
+            ),
+            "errors": DictElement(
+                required=False,
+                parameter_form=SimpleLevels[int](
+                    title=Title("LDAP errors"),
+                    level_direction=LevelDirection.UPPER,
+                    form_spec_template=Integer(),
+                    migrate=migrate_to_integer_simple_levels,
+                    prefill_fixed_levels=InputHint(value=(0, 5)),
+                )
+            ),
+        }
+    )
+
+def _vaulespec_edirectory_monitor_ldap_incomingoperations() -> Dictionary:
+    return Dictionary(
+        title=Title("LDAP Incoming Operations"),
+        elements={
+            "extendedOps": DictElement(
+                required= False,
+                parameter_form=SimpleLevels[int](
+                    title=Title("LDAP Extended Operations"),
+                    level_direction=LevelDirection.UPPER,
+                    form_spec_template=Integer(),
+                    migrate=migrate_to_integer_simple_levels,
+                    prefill_fixed_levels=InputHint(value=(0, 5)),
+                )
+            ),
+            "abandonOps": DictElement(
+                required=False,
+                parameter_form=SimpleLevels[int](
+                    title=Title("LDAP Abandoned Operations"),
+                    level_direction=LevelDirection.UPPER,
+                    form_spec_template=Integer(),
+                    migrate=migrate_to_integer_simple_levels,
+                    prefill_fixed_levels=InputHint(value=(0, 5)),
+                )
+            ),
+            "wholeSubtreeSearchOps": DictElement(
+                required=False,
+                parameter_form=SimpleLevels[int](
+                    title=Title("LDAP Whole Subtree Search Operations"),
+                    level_direction=LevelDirection.UPPER,
+                    form_spec_template=Integer(),
+                    migrate=migrate_to_integer_simple_levels,
+                    prefill_fixed_levels=InputHint(value=(0, 5)),
+                )
+            ),
+            "oneLevelSearchOps": DictElement(
+                required=False,
+                parameter_form=SimpleLevels[int](
+                    title=Title("LDAP One level Search Operations"),
+                    level_direction=LevelDirection.UPPER,
+                    form_spec_template=Integer(),
+                    migrate=migrate_to_integer_simple_levels,
+                    prefill_fixed_levels=InputHint(value=(0, 5)),
+                )
+            ),
+            "searchOps": DictElement(
+                required=False,
+                parameter_form=SimpleLevels[int](
+                    title=Title("LDAP all Search Operations"),
+                    level_direction=LevelDirection.UPPER,
+                    form_spec_template=Integer(),
+                    migrate=migrate_to_integer_simple_levels,
+                    prefill_fixed_levels=InputHint(value=(0, 5)),
+                )
+            ),
+            "listOps": DictElement(
+                required=False,
+                parameter_form=SimpleLevels[int](
+                    title=Title("LDAP list Operations"),
+                    level_direction=LevelDirection.UPPER,
+                    form_spec_template=Integer(),
+                    migrate=migrate_to_integer_simple_levels,
+                    prefill_fixed_levels=InputHint(value=(0, 5)),
+                )
+            ),
+        }
+    )
 def _parameter_valuespec_edirectory_monitor_ldap() -> Dictionary:
     return Dictionary(
         elements={
@@ -61,7 +199,7 @@ def _parameter_valuespec_edirectory_monitor_ldap() -> Dictionary:
                     prefill_fixed_levels=InputHint(value=(0, 5)),
                 )
             ),
-            "unAuthBinds": DictElement(
+            "Bindings_unAuthBinds": DictElement(
                 required=False,
                 parameter_form=SimpleLevels[int](
                     title=Title("LDAP Unuthenticated Bindings"),
@@ -71,27 +209,36 @@ def _parameter_valuespec_edirectory_monitor_ldap() -> Dictionary:
                     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 _valuespec_edirectory_monitor_ldap() -> Dictionary:
+    return Dictionary(
+        title=Title("LDAP Service Parameters"),
+        elements={
+            "ldap_bindings": DictElement(
+                parameter_form=_vaulespec_edirectory_monitor_ldap_bindings(),
+                required=False),
+            "ldap_errors": DictElement(
+                parameter_form=_vaulespec_edirectory_monitor_ldap_errors(),
+                required=False),
+            "ldap_incomingoperations": DictElement(
+                parameter_form=_vaulespec_edirectory_monitor_ldap_incomingoperations(),
+                required=False),
         },
     )
 
 def _item_spec() -> String:
-    return String(help_text=Help("eDirectory Attribute Name"))
+    return String(
+        help_text=Help("ServiceName")
+)
 
 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()
+        item_title=Title("ServiceName"), item_form=_item_spec()
     ),
-    parameter_form=_parameter_valuespec_edirectory_monitor_ldap,
+    parameter_form=_valuespec_edirectory_monitor_ldap,
 )