我很努力地找出如何覆蓋Ansible模塊選項默認值,而無需用變量手動滾動它。更好的是,如果有一種方法可以覆蓋僅適用於一部分主機的模塊選項默認值。覆蓋Ansible模塊選項默認值
在情侶主機上說,Git可以在/bin/git
處得到,如預期的那樣。在其他幾臺主機上,Git的地址是/usr/local/bin/git
。如何覆蓋git
模塊executable
選項默認的後一組主機?
目前我設置一個主機組變量,如:
git_executable=/usr/local/bin/git
,並使用它與default(omit)
過濾到處git
使用像這樣:
- git: "executable={{git_executable|default(omit)}} ..."
所以它得到正確的覆寫主機在哪裏定義,並在其他方面被忽略。
executable
可能不是最好的例子,因爲這可能是由PATH
環境變量或其他東西控制。那麼一般情況下,我想爲一些主機重寫任何類型的模塊選項,但是否則會回到模塊默認值?
既然有對夫婦更多的在這樣的環境這樣的基本差異,這是相當繁瑣灑這種默認的使用查找變量遍佈以防萬一它被使用非默認安裝在主機上運行的地方。有沒有辦法做得更好?