2017-03-02 107 views
1

是否可以在安全剧本中使用Jinja2过滤条件的结果?Ansible/jinja2:在条件下使用过滤条件

我试图得到这个工作,但都没有成功:

{% if (item | ipv4) %}{{ item }}{% else %}{{ lookup('dig', item) }}{% endif %}} 

凡在我目前的测试项目设置为本地主机(和可以是任何其他私人或公共领域)。

应该这样做:如果项目是IPv4地址ADRESS应返回,否则就应该是“转化”(与DNS查找挖)到IPv4地址 - 但它始终是返回的主机名。

有什么想法?

在此先感谢 马蒂亚斯

回答

3

尝试

{{ item if (item | ipv4) else lookup('dig',item) }} 
+0

谢谢!在Ubuntu 16.04中,你还需要包'python-netaddr'和'python-dnspython' –