我正在编写一个 Ansible 模板,该模板需要在主机组中生成一个 IP 列表,不包括当前主机 IP。我在网上和文档中进行了搜索,但找不到任何允许您删除列表中项目的过滤器。我在下面创建了(hacky)for循环来执行此操作,但想知道是否有人知道这样的“最佳实践”过滤方式。
{% set filtered_list = [] %}
{% for host in groups['my_group'] if host != ansible_host %}
{{ filtered_list.append(host)}}
{% endfor %}
假设 groups['my_group'] 有 3 个 ip(192.168.1.1、192.168.1.2 和 192.168.1.3)。当为 192.168.1.1 生成模板时,它应该只打印 ip 的 192.168.1.2 和 192.168.1.3。