checkmk-plugins/check_mk-sentry-pdu/checkmk_2.2/local/share/check_mk/web/plugins/wato/sentry_pdu_outlets_power.py

82 lines
2.4 KiB
Python

#!/usr/bin/env python3
#
# Copyright 2024 Spearhead Systems SRL
from cmk.gui.i18n import _
from cmk.gui.plugins.wato.utils import (
rulespec_registry,
CheckParameterRulespecWithItem,
RulespecGroupCheckParametersEnvironment,
)
from cmk.gui.valuespec import (
Dictionary,
Integer,
)
def _valuespec_agents_sentry_pdu_outlets_power_check():
return Dictionary(
title=_('Sentry PDU Outlets Power Checks'),
optional_keys=[
'crit_watts_above',
'warn_watts_above',
'warn_watts_below',
'crit_watts_below'
],
elements=[
(
'crit_watts_above',
Integer(
minvalue=0,
title=_('Crit when above power'),
unit=_('Watts'),
help=_(
'If the Wattage of an outlet goes above this number, enter a critical state.'
),
),
),
(
'warn_watts_above',
Integer(
minvalue=0,
title=_('Warn when above power'),
unit=_('Watts'),
help=_(
'If the Wattage of an outlet goes above this number, enter a warning state.'
),
),
),
(
'warn_watts_below',
Integer(
minvalue=0,
title=_('Warn when below power'),
unit=_('Watts'),
help=_(
'If the Wattage of an outlet goes below this number, enter a warning state.'
),
),
),
(
'crit_watts_below',
Integer(
minvalue=0,
title=_('Crit when below power'),
unit=_('Watts'),
help=_(
'If the Wattage of an outlet goes below this number, enter a critical state.'
),
),
),
],
)
rulespec_registry.register(
CheckParameterRulespecWithItem(
check_group_name='sentry_pdu_outlets_power',
group=RulespecGroupCheckParametersEnvironment,
match_type='dict',
parameter_valuespec=_valuespec_agents_sentry_pdu_outlets_power_check,
)
)