我正在构建一些角色,我需要将配置指定组中所有主机的IP地址作为逗号分隔字符串。
是否有一个jinja2组合的过滤器(如map,match,select,join等)产生与此相同的内容:
{% set comma = joiner(",") %}
{% for hostname in groups['mongodb'] %}
{{ comma() }}{{ hostvars[hostname].ansible_default_ipv4.address }}
{%- endfor %}
答案 0 :(得分:6)
documentation ...
中有几乎完全答案稍作修改,现在就去了:
- debug:
msg: "{{ groups['mongodb'] | map('extract', hostvars, ['ansible_default_ipv4', 'address']) | join(',') }}"