我正在尝试创建一个依赖于其他角色的ansible角色,只有当它运行的机器的主机名包含某个字符串时。例如:
dependencies:
- { role: example-role, when: "'hostname' in ansible_hostname" }
实际上,当计算机的主机名包含短语“hostname”时,该角色将运行。但是,我们建筑物中的许多机器都有大写的主机名,例如,它可能包含“HOSTNAME”。在这种情况下,上述声明将不起作用。我怎样才能完成这项工作(除了重复该行并将“主机名”放在所有大写字母中)以忽略字母案例?
答案 0 :(得分:5)
将字符串转换为小写并仅检查它。像这样:
dependencies:
- { role: example-role, when: "'hostname' in ansible_hostname|lower" }