如何在Ansible Jinja2模板for循环中排除指定主机?
问题解答
可以直接实现排除指定主机的逻辑,无需额外将主机分类到不同组。只需在Jinja2模板的for循环中添加条件判断即可过滤掉目标主机。
修改后的模板代码
{% for host in ansible_play_hosts_all if host != 'bar' %} {{ host }}, {% endfor %}
补充说明
- 上述代码通过
if host != 'bar'的条件判断,遍历ansible_play_hosts_all时自动跳过名为bar的主机 - 如果需要排除多个主机,可扩展条件为
if host not in ['bar', 'baz', 'xxx'],替换为你需要排除的主机名列表
内容的提问来源于stack exchange,提问作者Sinux
相关产品推荐
相关产品推荐

