gpt4 book ai didi

ansible - 如何删除或排除Ansible模板列表中的项目?

转载 作者:行者123 更新时间:2023-12-04 03:00:32 25 4
gpt4 key购买 nike

我正在编写一个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。

最佳答案

difference filter

- debug: var=item
with_items: "{{ groups['my_group'] | difference([inventory_hostname]) }}"


这将为您提供 my_group中所有项目的宿主,而没有当前宿主。

关于ansible - 如何删除或排除Ansible模板列表中的项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40696130/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com