action
action插件是在同名的modules之前運(yùn)行的,且是在本地執(zhí)行。目錄提供的一些action插件在/usr/lib/python2.6/site-packages/ansible/plugins/action/目錄中
cache
cache插件用于保留“fact”數(shù)據(jù)的操作。目前提供的方式是redis,memcached,memory,jsonfile,pickle,yml。這些插件可以在/usr/lib/python2.6/site-packages/ansible/plugins/cache找的到。
callback
callback 插件可以在事件執(zhí)行的時(shí)候增加新行為,目前提供的一些callback在/usr/lib/python2.6/site-packages/ansible/plugins/callback/目錄中。
connection
ansible通過(guò)使用connection插件來(lái)連接遠(yuǎn)程系統(tǒng),可以通過(guò)配置connection來(lái)選擇用哪種方式連接遠(yuǎn)程系統(tǒng)。ansible提供的connection插件可以在/usr/lib/python2.6/site-packages/ansible/plugins/connection找的到。
filter
filter插件允許你在playbook和模版內(nèi)操作數(shù)據(jù),ansible使用filter plugin來(lái)擴(kuò)展jinja2模版的功能。插件在/usr/lib/python2.6/site-packages/ansible/plugins/filter目錄中
使用方式: "{{ statement | cloud_truth }}"
lookup
用于從外部數(shù)據(jù)中提取數(shù)據(jù)并返回到變量或參數(shù)中。比如循環(huán)with_*的用法。插件在/usr/lib/python2.6/site-packages/ansible/plugins/lookup/
使用方式:{{ lookup('file', '/etc/foo.txt') }}
shell
很像connection插件,ansible使用shell插件在shell環(huán)境中執(zhí)行,目前支持的shell有csh,fish,powershell,sh。這些插件可以在/usr/lib/python2.6/site-packages/ansible/plugins/shell找的到
strategy
控制任務(wù)執(zhí)行流程,插件在/usr/lib/python2.6/site-packages/ansible/plugins/strategy目錄
terminal
用來(lái)連接cli的硬件設(shè)備,像交換機(jī),路由器,防火墻。插件在/usr/lib/python2.6/site-packages/ansible/plugins/terminal/目錄。
test
用于驗(yàn)證數(shù)據(jù),屬于jinja2的功能
vars
用來(lái)解析主機(jī)清單中的變量,像host_vars, group_vars 都是有var插件來(lái)完成的。插件在/usr/lib/python2.6/site-packages/ansible/inventory/vars_plugins目錄
自定義的插件存放位置
- 在ansible.cfg配置的插件目錄。
- 當(dāng)您的Playbook同目錄下或角色中有以下子文件夾之一時(shí),插件會(huì)自動(dòng)加載:
'./shell_plugins'
'./module_utils'
'./test_plugins'
'./callback_plugins'
'./vars_plugins
'./terminal_plugins'
'./connection_plugins'
'./lookup_plugins'
'./strategy_plugins'
'./filter_plugins'
'./action_plugins'
'./cache_plugins'