community.dns.lookup lookup – Look up DNS records
Note
This lookup plugin is part of the community.dns collection (version 3.0.3).
It is not included in ansible-core
.
To check whether it is installed, run ansible-galaxy collection list
.
To install it, use: ansible-galaxy collection install community.dns
.
You need further requirements to be able to use this lookup plugin,
see Requirements for details.
To use it in a playbook, specify: community.dns.lookup
.
New in community.dns 2.6.0
Synopsis
Look up DNS records.
Requirements
The below requirements are needed on the local controller node that executes this lookup.
dnspython >= 1.15.0 (maybe older versions also work)
ipaddress (on Python 2.7 when using
server
)
Terms
Parameter |
Comments |
---|---|
Domain name(s) to query. |
Keyword parameters
This describes keyword parameters of the lookup. These are the values key1=value1
, key2=value2
and so on in the following
examples: lookup('community.dns.lookup', key1=value1, key2=value2, ...)
and query('community.dns.lookup', key1=value1, key2=value2, ...)
Parameter |
Comments |
---|---|
How to handle NXDOMAIN errors. These appear if an unknown domain name is queried.
Choices:
|
|
Number of retries for DNS query timeouts. Default: |
|
Timeout per DNS query in seconds. Default: |
|
If If Note that this behavior changed in community.dns 3.0.0. In community.dns 2.x.y, Choices:
|
|
The DNS server(s) to use to look up the result. Must be a list of one or more IP addresses. By default, the system’s standard resolver is used. |
|
How often to retry on SERVFAIL errors. Default: |
|
The record type to retrieve. Choices:
|
Notes
Note
When keyword and positional parameters are used together, positional parameters must be listed before keyword parameters:
lookup('community.dns.lookup', term1, term2, key1=value1, key2=value2)
andquery('community.dns.lookup', term1, term2, key1=value1, key2=value2)
Note that when using this lookup plugin with
lookup()
, and the result is a one-element list, Ansible simply returns the one element not as a list. Since this behavior is surprising and can cause problems, it is better to usequery()
instead oflookup()
. See the examples and also Forcing lookups to return lists in the Ansible documentation.
Examples
- name: Look up A (IPv4) records for example.org
ansible.builtin.debug:
msg: "{{ query('community.dns.lookup', 'example.org.') }}"
- name: Look up AAAA (IPv6) records for example.org
ansible.builtin.debug:
msg: "{{ query('community.dns.lookup', 'example.org.', type='AAAA' ) }}"
Return Value
Key |
Description |
---|---|