#!/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, ) )