2016-07-15 149 views
2

我想創建一個依賴於其他角色的角色,只有當它運行的機器的主機名包含某個字符串時。例如:在條件下忽略Ansible中的大小寫敏感性?

dependencies: 
- { role: example-role, when: "'hostname' in ansible_hostname" } 

事實上,當機器的主機名包含短語「主機名」時,角色將運行。但是,我們建築物中的很多機器的主機名都是大寫的,例如,它可能包含「HOSTNAME」。在這種情況下,上述聲明不起作用。我如何做這項工作(除了複製該行並將「hostname」全部大寫)忽略字母大小寫?

回答

4

將字符串轉換爲小寫,只檢查。像這樣:

dependencies: 
- { role: example-role, when: "'hostname'|lower in ansible_hostname|lower" } 
+0

如何確保輸入是小寫? –

+0

這就是「|更低」的意思。 –

+0

好了......我只需要在'hostname'旁邊應用'| lower',就像'when:'hostname'| lower insible_hostname | lower'' –