mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
Allow (local_)action: to be a dict
Use the key module: to set which module to invoke.
This commit is contained in:
parent
c04d5ba739
commit
297259725a
1 changed files with 8 additions and 0 deletions
|
@ -115,6 +115,14 @@ class Task(object):
|
||||||
self.delegate_to = ds.get('delegate_to', None)
|
self.delegate_to = ds.get('delegate_to', None)
|
||||||
self.transport = ds.get('connection', ds.get('transport', play.transport))
|
self.transport = ds.get('connection', ds.get('transport', play.transport))
|
||||||
|
|
||||||
|
if isinstance(self.action, dict):
|
||||||
|
if 'module' not in self.action:
|
||||||
|
raise errors.AnsibleError("'module' attribute missing from action in task \"%s\"" % ds.get('name', '%s' % self.action))
|
||||||
|
if self.args:
|
||||||
|
raise errors.AnsibleError("'args' cannot be combined with dict 'action' in task \"%s\"" % ds.get('name', '%s' % self.action))
|
||||||
|
self.args = self.action
|
||||||
|
self.action = self.args.pop('module')
|
||||||
|
|
||||||
# delegate_to can use variables
|
# delegate_to can use variables
|
||||||
if not (self.delegate_to is None):
|
if not (self.delegate_to is None):
|
||||||
# delegate_to: localhost should use local transport
|
# delegate_to: localhost should use local transport
|
||||||
|
|
Loading…
Reference in a new issue