66 lines
2.0 KiB
Python
66 lines
2.0 KiB
Python
#!/usr/bin/env python3
|
|
"""
|
|
defines the form for typing in all needed levels
|
|
regarding number of domains, mailboxes and global message count
|
|
"""
|
|
|
|
from cmk.rulesets.v1 import Help, Title
|
|
from cmk.rulesets.v1.form_specs import (
|
|
DictElement,
|
|
Dictionary,
|
|
SimpleLevels,
|
|
LevelDirection,
|
|
DefaultValue,
|
|
Integer,
|
|
)
|
|
from cmk.rulesets.v1.rule_specs import (
|
|
CheckParameters,
|
|
Topic,
|
|
HostCondition,
|
|
)
|
|
|
|
|
|
def _parameter_form() -> Dictionary:
|
|
return Dictionary(
|
|
title=Title("Levels for global Mailcow information"),
|
|
help_text=Help("Checking Mailcow systems via API"),
|
|
elements={
|
|
"levels_num_domains": DictElement(
|
|
parameter_form=SimpleLevels(
|
|
title=Title("Levels for number of email domains"),
|
|
form_spec_template=Integer(),
|
|
level_direction=LevelDirection.UPPER,
|
|
prefill_fixed_levels=DefaultValue(value=(100, 200)),
|
|
),
|
|
required=True,
|
|
),
|
|
"levels_num_mailboxes": DictElement(
|
|
parameter_form=SimpleLevels(
|
|
title=Title("Levels for number of mailboxes"),
|
|
form_spec_template=Integer(),
|
|
level_direction=LevelDirection.UPPER,
|
|
prefill_fixed_levels=DefaultValue(value=(500, 1000)),
|
|
),
|
|
required=True,
|
|
),
|
|
"levels_num_global_messages": DictElement(
|
|
parameter_form=SimpleLevels(
|
|
title=Title("Levels for number of messages"),
|
|
form_spec_template=Integer(),
|
|
level_direction=LevelDirection.UPPER,
|
|
prefill_fixed_levels=DefaultValue(value=(100_000, 250_000)),
|
|
),
|
|
required=True,
|
|
),
|
|
},
|
|
)
|
|
|
|
|
|
rule_spec_mailcow_info = CheckParameters(
|
|
name="mailcow_info",
|
|
title=Title("Mailcow global levels"),
|
|
topic=Topic.APPLICATIONS,
|
|
parameter_form=_parameter_form,
|
|
condition=HostCondition(),
|
|
)
|