Support for module param defaults (#22648)

This commit is contained in:
Andrew Gaffney 2018-04-05 10:44:51 -05:00 committed by Brian Coca
parent f9bd29fe4d
commit 8673e1e661
4 changed files with 104 additions and 0 deletions

View file

@ -521,6 +521,18 @@ class TaskExecutor:
# get handler
self._handler = self._get_action_handler(connection=self._connection, templar=templar)
# Apply default params for action/module, if present
# These are collected as a list of dicts, so we need to merge them
module_defaults = {}
for default in self._task.module_defaults:
module_defaults.update(default)
if module_defaults:
module_defaults = templar.template(module_defaults)
if self._task.action in module_defaults:
tmp_args = module_defaults[self._task.action].copy()
tmp_args.update(self._task.args)
self._task.args = tmp_args
# And filter out any fields which were set to default(omit), and got the omit token value
omit_token = variables.get('omit')
if omit_token is not None: