gpt4 book ai didi

ansible:某种列表理解?

转载 作者:行者123 更新时间:2023-12-04 04:21:33 27 4
gpt4 key购买 nike

鉴于此库存:

[webservers]
10.0.0.51 private_ip='X.X.X.X'
10.0.0.52 private_ip='Y.Y.Y.Y'
10.0.0.53 private_ip='Z.Z.Z.Z'

如何获取网络服务器的私有(private) ip 列表?
webservers_private_ips: "{{  }}"  # ['X.X.X.X', 'Y.Y.Y.Y', 'Z.Z.Z.Z']

我知道 groups['webservers']会给我这份 list ['10.0.0.51', '10.0.0.52', '10.0.0.53']我可以通过以下方式获得其中一个的 private_ip:
{{ hostvars[item]['private_ip'] }}
with_items: groups['webservers']

但是我想直接在我的 var 文件中声明一个变量,并且没有注册它的任务。如果可以执行以下操作,那就太好了:
webservers_private_ips: "{{ hostvars[item]['private_ip'] }}  for item in groups['webservers']" 

最佳答案

您可以利用 extract filter获取复合数据对象的组件:

  webservers_private_ips: "{{ groups['webservers']|map('extract', hostvars, 'private_ip')|list }}"

提取过滤器用于从索引列表映射到容器(散列或数组)中的值列表。

关于ansible:某种列表理解?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26491295/

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