diff --git a/plugins/modules/nagios.py b/plugins/modules/nagios.py index 830a805f87..17b079c48c 100644 --- a/plugins/modules/nagios.py +++ b/plugins/modules/nagios.py @@ -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)