ansible api

##一个简单的python脚本,通过ansible的api调用get_url模块实现远程下载功能

 1 #!/usr/bin/env python
 2 import json
 3 import ansible.runner
 4 
 5 
 6 
 7 runner = ansible.runner.Runner(
 8    module_name='get_url',   #模块
 9    module_args='url="http://192.168.1.100/Operation/zhao/script/falcon-agent.sh" dest=/tmp mode=0440 force=yes',  #参数
10    pattern='192.168.1.101',  #被操作主机
11    forks=10    
12 )
13 dataresult = runner.run()  #获取执行结果
14 data = json.dumps(dataresult, indent=4)   #转化为json格式
15 print data

##一个简单的python脚本,通过ansible的api调用script模块实现在被管理端执行shell脚本,并传参

 1  1 #!/usr/bin/env python
 2  2 import json
 3  3 import ansible.runner
 4  4 
 5  5 runner = ansible.runner.Runner(
 6  6     module_name="script",   #script模块
 7  7     module_args="/etc/ansible/falcon-agent.sh xymxd-and-dbs 192.168.1.100 creates=/home/work/install.log",  #如果/home/work/install.log文件不存在,那么在被管理端执行/etc/ansible/falcon-agent.sh脚本,并传入两个参数,如果文件install.log文件存在,脚本则不执行
 8  8     pattern="192.168.1.100",  #被管理端机器
 9  9     forks=10
10 10 ) 
11 11 result = runner.run() 
12 12 data = json.dumps(result, indent=4) 
13 13 print data
原文地址:https://www.cnblogs.com/aslongas/p/5732197.html