在条件下忽略Ansible中的区分大小写?

时间:2016-07-15 14:48:38

标签: ansible ansible-playbook ansible-role

我正在尝试创建一个依赖于其他角色的ansible角色,只有当它运行的机器的主机名包含某个字符串时。例如:

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

实际上,当计算机的主机名包含短语“hostname”时,该角色将运行。但是,我们建筑物中的许多机器都有大写的主机名,例如,它可能包含“HOSTNAME”。在这种情况下,上述声明将不起作用。我怎样才能完成这项工作(除了重复该行并将“主机名”放在所有大写字母中)以忽略字母案例?

1 个答案:

答案 0 :(得分:5)

将字符串转换为小写并仅检查它。像这样:

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