65 lines
1.9 KiB
Python
65 lines
1.9 KiB
Python
from cmk.gui.i18n import _
|
|
from cmk.gui.plugins.wato import (
|
|
CheckParameterRulespecWithItem,
|
|
rulespec_registry,
|
|
RulespecGroupCheckParametersApplications
|
|
)
|
|
from cmk.gui.valuespec import (
|
|
Dictionary,
|
|
ListChoice,
|
|
TextAscii,
|
|
Percentage,
|
|
Tuple,
|
|
Float,
|
|
Integer
|
|
)
|
|
|
|
def _item_spec_mailcow_mailboxes():
|
|
return TextAscii(
|
|
title=_("Mailbox name")
|
|
)
|
|
|
|
def _parameter_spec_mailcow_mailboxes():
|
|
return Dictionary(
|
|
elements=[
|
|
("levels_mailcow_mailboxes_quota_used", Tuple(
|
|
title=_("Mailcow mailbox quota usage for storage"),
|
|
elements=[
|
|
Percentage(
|
|
title=_("Warning at"),
|
|
default_value=65.0,
|
|
),
|
|
Percentage(
|
|
title=_("Critical at"),
|
|
default_value=85.0,
|
|
)
|
|
],
|
|
)),
|
|
("levels_mailcow_mailboxes_num_messages", Tuple(
|
|
title=_("Number of messages in mailbox"),
|
|
elements=[
|
|
Integer(
|
|
title=_("Warning at"),
|
|
size=32,
|
|
default_value=1000,
|
|
),
|
|
Integer(
|
|
title=_("Critical at"),
|
|
size=32,
|
|
default_value=2500,
|
|
)
|
|
],
|
|
)),
|
|
],
|
|
)
|
|
|
|
rulespec_registry.register(
|
|
CheckParameterRulespecWithItem(
|
|
check_group_name="mailcow_mailboxes",
|
|
group=RulespecGroupCheckParametersApplications,
|
|
match_type="dict",
|
|
item_spec=_item_spec_mailcow_mailboxes,
|
|
parameter_valuespec=_parameter_spec_mailcow_mailboxes,
|
|
title=lambda: _("Levels for Mailcow mailboxes"),
|
|
)
|
|
) |