所謂 ad-hoc,意思比較偏向 “即時的” 的意思
就是直接在command line調用 ansible 的模組並執行
完整的介紹可以看官方網站
此篇主要是利用 ad-hoc command 搭配 debug 模組
列出某個 inventory 的可用參數
這樣就可以知道
在playbook裡可以調用哪些內建或是另外設定的變數
完整命列如下:
ansible all -m debug -a "var=hostvars" -i inventories/hosts
-m 就是要調用的模組
-a 就是該模組會用到的參數
-i 就是要列出哪個inventory的hosts檔案
這樣就可以知道有哪些參數可以用了
像是有時候需要知道某個檔案的實際路徑
就可以用 {{ inventory_dir }}
再加上相對於 hosts 檔案的路徑
就可以準確地找到要找的檔案
解決路徑的相依問題
也可以先用ad-hoc指令了解target的系統資訊
這時可以用 setup module
ansible -m setup -a "filter=ansible_*" -i inventory/hosts
或是不加 -a 參數就可以把所有系統參數都列出
這對於在寫playbook時非常有幫助
可以了解能運用的內建參數有哪些