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

Note

This plugin is part of the community.general collection (version 4.2.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.

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)

Parameters

Parameter Choices/Defaults Configuration Comments
_terms
list / elements=string / required
domain or list of domains to query TXT records from

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 Values

Common return values are documented here, the following are the fields unique to this lookup:

Key Returned Description
_list
list / elements=string
success
values returned by the DNS TXT record.



Authors

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