nagios: make services param a list

This commit is contained in:
Alexei Znamensky 2025-07-28 11:50:49 +12:00
commit ea459fbc5e

View file

@ -90,7 +90,8 @@ options:
services running on it.) To schedule downtime for all O(services) on particular host use keyword V(all), for example
O(services=all).
aliases: ["service"]
type: str
type: list
elements: str
servicegroup:
description:
- The Servicegroup we want to set downtimes/alerts for.
@ -324,7 +325,7 @@ def main():
start=dict(type='str'),
minutes=dict(type='int', default=30),
cmdfile=dict(type='str', default=which_cmdfile()),
services=dict(type='str', aliases=['service']),
services=dict(type='list', elements='str', aliases=['service']),
command=dict(type='str'),
),
required_if=[
@ -382,10 +383,12 @@ class Nagios(object):
self.cmdfile = kwargs['cmdfile']
self.command = kwargs['command']
if (kwargs['services'] is None) or (kwargs['services'] == 'host') or (kwargs['services'] == 'all'):
if kwargs['services'] is None :
self.services = kwargs['services']
elif len(kwargs['services']) == 1 and kwargs['services'][0] in ['host', 'all']:
self.services = kwargs['services'][0]
else:
self.services = kwargs['services'].split(',')
self.services = kwargs['services']
self.command_results = []
@ -1243,14 +1246,9 @@ class Nagios(object):
elif self.action == 'unsilence_nagios':
self.unsilence_nagios()
elif self.action == 'command':
else: # self.action == 'command'
self.nagios_cmd(self.command)
# wtf?
else:
self.module.fail_json(msg="unknown action specified: '%s'" %
self.action)
self.module.exit_json(nagios_commands=self.command_results,
changed=True)