edirectory_monitor.py 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. #!/usr/bin/env python3
  2. # -*- encoding: utf-8; py-indent-offset: 4 -*-
  3. # (c) Michael Honkoop <mhonkoop@comsolve.nl>
  4. # License: GNU General Public License v2
  5. """parameters for eDirectory monitor"""
  6. from cmk.rulesets.v1 import Title, Help
  7. from cmk.rulesets.v1.form_specs import (
  8. DictElement,
  9. Dictionary,
  10. InputHint,
  11. Integer,
  12. LevelDirection,
  13. migrate_to_integer_simple_levels,
  14. SimpleLevels,
  15. String,
  16. )
  17. from cmk.rulesets.v1.rule_specs import (
  18. CheckParameters,
  19. Topic,
  20. HostAndItemCondition,
  21. )
  22. def _parameter_valuespec_edirectory_monitor() -> Dictionary:
  23. return Dictionary(
  24. elements={
  25. "levels": DictElement(
  26. parameter_form=SimpleLevels[int](
  27. title=Title("Generic Levels"),
  28. level_direction=LevelDirection.UPPER,
  29. form_spec_template=Integer(),
  30. migrate=migrate_to_integer_simple_levels,
  31. prefill_fixed_levels=InputHint(value=(15, 30)),
  32. )
  33. ),
  34. },
  35. )
  36. def _item_spec() -> String:
  37. return String(help_text=Help("eDirectory Attribute Name"))
  38. rule_spec_edirectory_monitor_params = CheckParameters(
  39. name="edirectory_monitor",
  40. title=Title("eDirectory Monitor"),
  41. topic=Topic.APPLICATIONS,
  42. condition=HostAndItemCondition(
  43. item_title=Title("eDirectory Attribute"), item_form=_item_spec()
  44. ),
  45. parameter_form=_parameter_valuespec_edirectory_monitor,
  46. )