edirectory 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220
  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 Agent"""
  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 _vaulespec_edirectory_monitor_agent_partition() -> Dictionary:
  23. return Dictionary(
  24. title=Title("Partition Information"),
  25. elements={
  26. "PerishableData": DictElement(
  27. required=False,
  28. parameter_form=SimpleLevels[int](
  29. title=Title("Perishable Data"),
  30. level_direction=LevelDirection.UPPER,
  31. form_spec_template=Integer(),
  32. migrate=migrate_to_integer_simple_levels,
  33. prefill_fixed_levels=InputHint(value=(0, 5)),
  34. )
  35. ),
  36. "MaxRingDelta": DictElement(
  37. required=False,
  38. parameter_form=SimpleLevels[int](
  39. title=Title("Maximum Ring Delta"),
  40. level_direction=LevelDirection.UPPER,
  41. form_spec_template=Integer(),
  42. migrate=migrate_to_integer_simple_levels,
  43. prefill_fixed_levels=InputHint(value=(1800, 3601)),
  44. )
  45. ),
  46. "ChangeCacheCount": DictElement(
  47. required=False,
  48. parameter_form=SimpleLevels[int](
  49. title=Title("Current change cache count on the partition"),
  50. level_direction=LevelDirection.UPPER,
  51. form_spec_template=Integer(),
  52. migrate=migrate_to_integer_simple_levels,
  53. prefill_fixed_levels=InputHint(value=(0, 5)),
  54. )
  55. ),
  56. "OBIT_COUNT_FROM_DATABASE_INDEX": DictElement(
  57. required=False,
  58. parameter_form=SimpleLevels[int](
  59. title=Title("Total obituary count"),
  60. level_direction=LevelDirection.UPPER,
  61. form_spec_template=Integer(),
  62. migrate=migrate_to_integer_simple_levels,
  63. prefill_fixed_levels=InputHint(value=(0, 5)),
  64. )
  65. ),
  66. "OBIT_MOVED_PURGEABLE": DictElement(
  67. required=False,
  68. parameter_form=SimpleLevels[int](
  69. title=Title("Number of moved obituaries in purgeable state"),
  70. level_direction=LevelDirection.UPPER,
  71. form_spec_template=Integer(),
  72. migrate=migrate_to_integer_simple_levels,
  73. prefill_fixed_levels=InputHint(value=(0, 5)),
  74. )
  75. ),
  76. "OBIT_MOVED_OK_TO_PURGE": DictElement(
  77. required=False,
  78. parameter_form=SimpleLevels[int](
  79. title=Title("Number of moved obituaries in ok to purge state"),
  80. level_direction=LevelDirection.UPPER,
  81. form_spec_template=Integer(),
  82. migrate=migrate_to_integer_simple_levels,
  83. prefill_fixed_levels=InputHint(value=(0, 5)),
  84. )
  85. ),
  86. "OBIT_MOVED_NOTIFIED": DictElement(
  87. required=False,
  88. parameter_form=SimpleLevels[int](
  89. title=Title("Number of moved obituaries in notified state"),
  90. level_direction=LevelDirection.UPPER,
  91. form_spec_template=Integer(),
  92. migrate=migrate_to_integer_simple_levels,
  93. prefill_fixed_levels=InputHint(value=(0, 5)),
  94. )
  95. ),
  96. "OBIT_MOVED_ISSUED": DictElement(
  97. required=False,
  98. parameter_form=SimpleLevels[int](
  99. title=Title("Number of moved obituaries in issued state"),
  100. level_direction=LevelDirection.UPPER,
  101. form_spec_template=Integer(),
  102. migrate=migrate_to_integer_simple_levels,
  103. prefill_fixed_levels=InputHint(value=(0, 5)),
  104. )
  105. ),
  106. "OBIT_NEWRDN_PURGEABLE": DictElement(
  107. required=False,
  108. parameter_form=SimpleLevels[int](
  109. title=Title("Number of NEWRDN obituaries in purgeable state"),
  110. level_direction=LevelDirection.UPPER,
  111. form_spec_template=Integer(),
  112. migrate=migrate_to_integer_simple_levels,
  113. prefill_fixed_levels=InputHint(value=(0, 5)),
  114. )
  115. ),
  116. "OBIT_NEWRDN_OK_TO_PURGE": DictElement(
  117. required=False,
  118. parameter_form=SimpleLevels[int](
  119. title=Title("Number of NEWRDN obituaries in ok to purge state"),
  120. level_direction=LevelDirection.UPPER,
  121. form_spec_template=Integer(),
  122. migrate=migrate_to_integer_simple_levels,
  123. prefill_fixed_levels=InputHint(value=(0, 5)),
  124. )
  125. ),
  126. "OBIT_NEWRDN_NOTIFIED": DictElement(
  127. required=False,
  128. parameter_form=SimpleLevels[int](
  129. title=Title("Number of NEWRDN obituaries in notified state"),
  130. level_direction=LevelDirection.UPPER,
  131. form_spec_template=Integer(),
  132. migrate=migrate_to_integer_simple_levels,
  133. prefill_fixed_levels=InputHint(value=(0, 5)),
  134. )
  135. ),
  136. "OBIT_NEWRDN_ISSUED": DictElement(
  137. required=False,
  138. parameter_form=SimpleLevels[int](
  139. title=Title("Number of NEWRDN obituaries in issued state"),
  140. level_direction=LevelDirection.UPPER,
  141. form_spec_template=Integer(),
  142. migrate=migrate_to_integer_simple_levels,
  143. prefill_fixed_levels=InputHint(value=(0, 5)),
  144. )
  145. ),
  146. "OBIT_DEAD_PURGEABLE": DictElement(
  147. required=False,
  148. parameter_form=SimpleLevels[int](
  149. title=Title("Number of dead obituaries in purgeable state"),
  150. level_direction=LevelDirection.UPPER,
  151. form_spec_template=Integer(),
  152. migrate=migrate_to_integer_simple_levels,
  153. prefill_fixed_levels=InputHint(value=(0, 5)),
  154. )
  155. ),
  156. "OBIT_DEAD_OK_TO_PURGE": DictElement(
  157. required=False,
  158. parameter_form=SimpleLevels[int](
  159. title=Title("Number of dead obituaries in ok to purge state"),
  160. level_direction=LevelDirection.UPPER,
  161. form_spec_template=Integer(),
  162. migrate=migrate_to_integer_simple_levels,
  163. prefill_fixed_levels=InputHint(value=(0, 5)),
  164. )
  165. ),
  166. "OBIT_DEAD_NOTIFIED": DictElement(
  167. required=False,
  168. parameter_form=SimpleLevels[int](
  169. title=Title("Number of dead obituaries in notified state"),
  170. level_direction=LevelDirection.UPPER,
  171. form_spec_template=Integer(),
  172. migrate=migrate_to_integer_simple_levels,
  173. prefill_fixed_levels=InputHint(value=(0, 5)),
  174. )
  175. ),
  176. "OBIT_DEAD_ISSUED": DictElement(
  177. required=False,
  178. parameter_form=SimpleLevels[int](
  179. title=Title("Number of dead obituaries in issued state"),
  180. level_direction=LevelDirection.UPPER,
  181. form_spec_template=Integer(),
  182. migrate=migrate_to_integer_simple_levels,
  183. prefill_fixed_levels=InputHint(value=(0, 5)),
  184. )
  185. ),
  186. }
  187. )
  188. def _valuespec_edirectory_monitor_agent() -> Dictionary:
  189. return Dictionary(
  190. title=Title("Agent Service Parameters"),
  191. elements={
  192. "agent_partition": DictElement(
  193. parameter_form=_vaulespec_edirectory_monitor_agent_partition(),
  194. required=False),
  195. },
  196. )
  197. def _item_spec() -> String:
  198. return String(
  199. help_text=Help("ServiceName")
  200. )
  201. rule_spec_edirectory_monitor_agent_params = CheckParameters(
  202. name="edirectory_monitor_agent",
  203. title=Title("eDirectory Monitor Agent"),
  204. topic=Topic.APPLICATIONS,
  205. condition=HostAndItemCondition(
  206. item_title=Title("ServiceName"), item_form=_item_spec()
  207. ),
  208. parameter_form=_valuespec_edirectory_monitor_agent,
  209. create_enforced_service=False,
  210. )