|
@@ -0,0 +1,50 @@
|
|
|
|
+#!/usr/bin/env python3
|
|
|
|
+
|
|
|
|
+from cmk.rulesets.v1 import Label, Help, Title
|
|
|
|
+from cmk.rulesets.v1.form_specs import (
|
|
|
|
+ DictElement,
|
|
|
|
+ Dictionary,
|
|
|
|
+ migrate_to_password,
|
|
|
|
+ Password,
|
|
|
|
+ String,
|
|
|
|
+ validators,
|
|
|
|
+)
|
|
|
|
+from cmk.rulesets.v1.rule_specs import SpecialAgent, Topic
|
|
|
|
+
|
|
|
|
+def _parameter_form() -> Dictionary:
|
|
|
|
+ return Dictionary(
|
|
|
|
+ help_text=Help(
|
|
|
|
+ "This rule selects the Agent eDirectory Monitor instead of the normal Checkmk Agent "
|
|
|
|
+ "which collects information through a LDAP call to cn=Monitor"
|
|
|
|
+ ),
|
|
|
|
+ elements={
|
|
|
|
+ "ldap_uri": DictElement(
|
|
|
|
+ required=True,
|
|
|
|
+ parameter_form=String(
|
|
|
|
+ title=Title("LDAP URL"),
|
|
|
|
+ custom_validate=(validators.LengthInRange(min_value=1),),
|
|
|
|
+ ),
|
|
|
|
+ ),
|
|
|
|
+ "user": DictElement(
|
|
|
|
+ required=True.
|
|
|
|
+ parameter_form=String(
|
|
|
|
+ title=Title("DN of Username to use for Monitoring"),
|
|
|
|
+ ),
|
|
|
|
+ ),
|
|
|
|
+ "password": DictElement(
|
|
|
|
+ required=True,
|
|
|
|
+ parameter_form=Password(
|
|
|
|
+ title=Title("Password of the User"),
|
|
|
|
+ custom_validate=(validators.LengthInRange(min_value=1),),
|
|
|
|
+ migrate=migrate_to_password,
|
|
|
|
+ ),
|
|
|
|
+ ),
|
|
|
|
+ },
|
|
|
|
+ )
|
|
|
|
+
|
|
|
|
+rule_spec_special_agent_edirectory_monitor = SpecialAgent(
|
|
|
|
+ name="edirectory_monitor",
|
|
|
|
+ title=Title("eDirectory Monitoring via LDAP"),
|
|
|
|
+ topic=Topic.APPLICATIONS,
|
|
|
|
+ parameter_form=_parameter_form,
|
|
|
|
+ )
|