mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-04-27 21:01:27 -07:00
Merge pull request #11271 from sivel/build-play-method
Allow AdHocCLI to be more flexible for overriding
This commit is contained in:
commit
6c884c9e39
1 changed files with 13 additions and 12 deletions
|
@ -65,6 +65,13 @@ class AdHocCLI(CLI):
|
||||||
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
def _play_ds(self, pattern):
|
||||||
|
return dict(
|
||||||
|
name = "Ansible Ad-Hoc",
|
||||||
|
hosts = pattern,
|
||||||
|
gather_facts = 'no',
|
||||||
|
tasks = [ dict(action=dict(module=self.options.module_name, args=parse_kv(self.options.module_args))), ]
|
||||||
|
)
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
''' use Runner lib to do SSH things '''
|
''' use Runner lib to do SSH things '''
|
||||||
|
@ -117,19 +124,13 @@ class AdHocCLI(CLI):
|
||||||
# results = runner.run()
|
# results = runner.run()
|
||||||
|
|
||||||
# create a pseudo-play to execute the specified module via a single task
|
# create a pseudo-play to execute the specified module via a single task
|
||||||
play_ds = dict(
|
play_ds = self._play_ds(pattern)
|
||||||
name = "Ansible Ad-Hoc",
|
|
||||||
hosts = pattern,
|
|
||||||
gather_facts = 'no',
|
|
||||||
tasks = [ dict(action=dict(module=self.options.module_name, args=parse_kv(self.options.module_args))), ]
|
|
||||||
)
|
|
||||||
|
|
||||||
play = Play().load(play_ds, variable_manager=variable_manager, loader=loader)
|
play = Play().load(play_ds, variable_manager=variable_manager, loader=loader)
|
||||||
|
|
||||||
# now create a task queue manager to execute the play
|
# now create a task queue manager to execute the play
|
||||||
tqm = None
|
self._tqm = None
|
||||||
try:
|
try:
|
||||||
tqm = TaskQueueManager(
|
self._tqm = TaskQueueManager(
|
||||||
inventory=inventory,
|
inventory=inventory,
|
||||||
variable_manager=variable_manager,
|
variable_manager=variable_manager,
|
||||||
loader=loader,
|
loader=loader,
|
||||||
|
@ -138,10 +139,10 @@ class AdHocCLI(CLI):
|
||||||
passwords=passwords,
|
passwords=passwords,
|
||||||
stdout_callback='minimal',
|
stdout_callback='minimal',
|
||||||
)
|
)
|
||||||
result = tqm.run(play)
|
result = self._tqm.run(play)
|
||||||
finally:
|
finally:
|
||||||
if tqm:
|
if self._tqm:
|
||||||
tqm.cleanup()
|
self._tqm.cleanup()
|
||||||
|
|
||||||
return result
|
return result
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue