ipaddrフィルタを使用したAnsibleホスト名解決はFalseを返しますか?

ipaddrフィルタを使用したAnsibleホスト名解決はFalseを返しますか?

私はこの問題を解決しようとしています。 Ansible IP Addrフィルタはどのように機能しますか?常にFalseを返すようです。

$ ansible -m debug -a 'msg={{"www.google.com"|ipv4}}' 10.1.38.15
10.1.38.15 | SUCCESS => {
    "msg": false
}

ベストアンサー1

ipv4 フィルタは名前解決フィルタではありません。渡された文字列が有効なIPv4アドレスかどうかをテストします。

DNSアドレスを確認するには、ルックアッププラグイン「dig」を使用する必要があります。

https://docs.ansible.com/ansible/latest/plugins/lookup/dig.html

はい

$ ansible localhost -m debug \
  -a 'msg={{lookup("dig","www.google.com/a",wantlist=true)|first}}'

localhost | SUCCESS => {
    "msg": "172.217.14.196"
}

おすすめ記事