在条件下忽略Ansible中的大小写敏感性?

问题描述:

我想创建一个依赖于其他角色的角色,只有当它运行的机器的主机名包含某个字符串时。例如:在条件下忽略Ansible中的大小写敏感性?

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

事实上,当机器的主机名包含短语“主机名”时,角色将运行。但是,我们建筑物中的很多机器的主机名都是大写的,例如,它可能包含“HOSTNAME”。在这种情况下,上述声明不起作用。我如何做这项工作(除了复制该行并将“hostname”全部大写)忽略字母大小写?

将字符串转换为小写,只检查。像这样:

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

如何确保输入是小写? –

+0

这就是“|更低”的意思。 –

+0

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