Hallo Checkmk Kollegen,
bin aktuell dabei unsere Check-Plugins auf die neue API umzubauen.
Wir haben dabei viele Versions Prüfungen die per WATO Regel konfiguriert werden.
In den meisten Regeln wird nur eine Value angegeben, aber in einigen wenigen auch mehrere.
Die Regeln funktionieren ohne Probleme und können über das WATO fehlerfrei aufgerufen werden.
Hier zwei Beispiele:
Eine Value
Mehrere Values
Wenn man jedoch über das Action Menu am Service geht und sich “Parameters for this service” anzeigen lässt, werden die Parameters nur korrekt angezeigt, wenn ich nur eine Value in der Regel habe.
Habe ich mehrere Values in der Regel bekomme ich folgenden Fehler:
“Failed to process rule #0 of ruleset “Allowed netman version” in folder “Main directory”. The value of a rule is incompatible to the current rule specification. You can try fix this by opening the rule for editing and save the rule again without modification.”
Hier wieder die Screenshots der zwei Beispiele:
Eine Value
Mehrere Values
Die Regel habe ich wie in der Fehlermeldung beschrieben natürlich schon neu gespeichert. Jedoch ohne Veränderung.
Hier noch der Code für die WATO Erweiterung. Evtl. habe ich hier einen Fehler.
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from cmk.gui.i18n import _
from cmk.gui.valuespec import (
Dictionary,
TextAscii,
)
from cmk.gui.plugins.wato import (
CheckParameterRulespecWithoutItem,
rulespec_registry,
)
from custom_rulespec import RulespecGroupCheckParametersEdekaCustom
def _parameter_valuespec_netman_version():
return ListOf(
Dictionary(
elements=[("netman_version", TextAscii(title=_("Netman version"))),],
)
)
rulespec_registry.register(
CheckParameterRulespecWithoutItem(
check_group_name="netman_version",
group=RulespecGroupCheckParametersEdekaCustom,
match_type="dict",
parameter_valuespec=_parameter_valuespec_netman_version,
title=lambda: _("Allowed netman version"),
)
)
Vielen Dank vorab für die Hilfe.
Gruß
Gino