MKP 0.1.0 with section mailcow_info completed

This commit is contained in:
2023-08-20 18:01:52 +02:00
parent 790d5b8e48
commit 0d241f6521
6 changed files with 193 additions and 0 deletions

View File

@@ -0,0 +1,70 @@
from cmk.gui.i18n import _
from cmk.gui.plugins.wato import (
CheckParameterRulespecWithoutItem,
rulespec_registry,
RulespecGroupCheckParametersApplications
)
from cmk.gui.valuespec import (
Dictionary,
ListChoice,
Tuple,
Percentage,
Integer,
Float,
)
def _parameter_spec_mailcow_info():
return Dictionary(
elements=[
("levels_num_domains", Tuple(
title=_("Number of email domains"),
elements=[
Integer(
title=_("Warning at"),
default_value=100,
),
Integer(
title=_("Critical at"),
default_value=200,
)
],
)),
("levels_num_mailboxes", Tuple(
title=_("Number of mailboxes"),
elements=[
Integer(
title=_("Warning at"),
default_value=500,
),
Integer(
title=_("Critical at"),
default_value=1000,
)
],
)),
("levels_num_global_messages", Tuple(
title=_("Number of messages"),
elements=[
Integer(
title=_("Warning at"),
default_value=100000,
),
Integer(
title=_("Critical at"),
default_value=250000,
)
],
)),
],
)
rulespec_registry.register(
CheckParameterRulespecWithoutItem(
check_group_name="mailcow_info",
group=RulespecGroupCheckParametersApplications,
match_type="dict",
parameter_valuespec=_parameter_spec_mailcow_info,
title=lambda: _("Mailcow Info"),
)
)

View File

@@ -0,0 +1,50 @@
from cmk.gui.i18n import _
from cmk.gui.plugins.wato import (
CheckParameterRulespecWithItem,
rulespec_registry,
RulespecGroupCheckParametersOperatingSystem,
)
from cmk.gui.valuespec import (
Dictionary,
ListChoice,
Checkbox,
TextAscii,
Password,
)
from cmk.gui.plugins.wato import (
HostRulespec,
)
from cmk.gui.plugins.wato.datasource_programs import RulespecGroupDatasourceProgramsCustom
def _valuespec_special_agent_mailcow():
return Dictionary(
title=_("Mailcow Server Information"),
help = _("Checking Mailcow instances via API"),
elements=[
("hostname", TextAscii(title=_("Hostname"),
allow_empty=False,
help=_("Hostname of Mailcow server (bare FQDN or IP), mandatory"))),
("apikey", TextAscii(title=_("API Key"),
allow_empty=False,
help=_("API Key, mandatory"))),
("port", TextAscii(title=_("Port"),
allow_empty=True,
help=_("Specify port if not listening to HTTPS/HTTP, optional"))),
("no_https", Checkbox(title=_("Disable HTTPS"),
help=_("Activate to disable TLS encryption (not recommended), optional"))),
("no_cert_check", Checkbox(title=_("Disable certificate validation"),
help=_("Activate to disable certificate validation (not recommended), optional"))),
],
optional_keys=[],
)
rulespec_registry.register(
HostRulespec(
group=RulespecGroupDatasourceProgramsCustom,
name="special_agents:mailcow",
valuespec=_valuespec_special_agent_mailcow,
)
)