community.general.dnstxt lookup – query a domain(s)’s DNS txt fields

Note

This lookup plugin is part of the community.general collection (version 6.3.0).

You might already have this collection installed if you are using the ansible package. 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.general. You need further requirements to be able to use this lookup plugin, see Requirements for details.

To use it in a playbook, specify: community.general.dnstxt.

Synopsis

  • Uses a python library to return the DNS TXT record for a domain.

Requirements

The below requirements are needed on the local controller node that executes this lookup.

  • dns/dns.resolver (python library)

Terms

Parameter

Comments

Terms

list / elements=string / required

domain or list of domains to query TXT records from

Parameters

Parameter

Comments

real_empty

boolean

added in community.general 6.0.0

Return empty result without empty strings, and return empty list instead of NXDOMAIN.

The default for this option will likely change to true in the future.

Choices:

  • false ← (default)

  • true

Examples

- name: show txt entry
  ansible.builtin.debug:
    msg: "{{lookup('community.general.dnstxt', ['test.example.com'])}}"

- name: iterate over txt entries
  ansible.builtin.debug:
    msg: "{{item}}"
  with_community.general.dnstxt:
    - 'test.example.com'
    - 'other.example.com'
    - 'last.example.com'

- name: iterate of a comma delimited DNS TXT entry
  ansible.builtin.debug:
    msg: "{{item}}"
  with_community.general.dnstxt: "{{lookup('community.general.dnstxt', ['test.example.com']).split(',')}}"

Return Value

Key

Description

Return value

list / elements=string

values returned by the DNS TXT record.

Returned: success

Authors

  • Jan-Piet Mens (@jpmens) <jpmens(at)gmail.com>

Hint

Configuration entries for each entry type have a low to high priority order. For example, a variable that is lower in the list will override a variable that is higher up.