是否可以在ansible playbooks的条件下使用Jinja2过滤器的结果?
我正在尝试让这个工作,但没有成功:
{% if (item | ipv4) %}{{ item }}{% else %}{{ lookup('dig', item) }}{% endif %}}
我当前测试中的 item 设置为 localhost (可以是任何其他私有域或公共域)。
应该这样做:如果 item 是IPv4地址,则应返回地址,否则应将其“转换”(使用 dig 进行DNS查找)到IPv4地址 - 但它总是返回主机名。
有什么想法吗?
提前致谢 的Matthias
答案 0 :(得分:7)
尝试
{{ item if (item | ipv4) else lookup('dig',item) }}