27 lines
548 B
Python
27 lines
548 B
Python
|
import json
|
||
|
import os
|
||
|
import sys
|
||
|
import ansible_runner
|
||
|
|
||
|
# the first positional arg should be where the artifacts live
|
||
|
output_dir = sys.argv[1]
|
||
|
|
||
|
# this calls a single module directly, aka "adhoc" mode
|
||
|
r = ansible_runner.run(
|
||
|
private_data_dir=output_dir,
|
||
|
host_pattern='localhost',
|
||
|
module='shell',
|
||
|
module_args='whoami'
|
||
|
)
|
||
|
|
||
|
data = {
|
||
|
'rc': r.rc,
|
||
|
'status': r.status,
|
||
|
'events': [x['event'] for x in r.events],
|
||
|
'stats': r.stats
|
||
|
}
|
||
|
|
||
|
# insert this header for the flask controller
|
||
|
print('#STARTJSON')
|
||
|
json.dump(data, sys.stdout)
|