Note
This inventory plugin is part of the community.dns collection (version 3.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.dns.
To use it in a playbook, specify: community.dns.hetzner_dns_records.
New in community.dns 2.0.0
plugin: community.dns.hetzner_dns_records and its filename must end with hetzner_dns.yaml or hetzner_dns.yml.Parameter | Comments |
|---|---|
filters list / elements=dictionary added in community.dns 3.0.0 | A list of include/exclude filters that allows to select/deselect hosts for this inventory. Filters are processed sequentially until the first filter where |
|
exclude string |
A Jinja2 condition. If it matches for a host, that host is excluded. Exactly one of |
|
include string |
A Jinja2 condition. If it matches for a host, that host is included. Exactly one of |
hetzner_token aliases: api_token string / required | The token for the Hetzner API. If not provided, will be read from the environment variable Configuration:
|
plugin string / required | The name of this plugin. Should always be set to Choices:
|
simple_filters dictionary | A dictionary of filter value pairs. This option used to be called Default: |
|
type list / elements=string |
Record types whose values to use. Choices:
Default: |
txt_character_encoding string added in community.dns 2.5.0 | Whether to treat numeric escape sequences ( The default changed to Choices:
|
txt_transformation string | Determines how TXT entry values are converted between the API and this module’s input and output. The value The value The value The default value, Note: the conversion code assumes UTF-8 encoding for values. If you need another encoding use Choices:
|
zone_id string | |
zone_name aliases: zone string |
Note
hetzner_token option can be templated.zone_name and zone_id options can be templated.See also
Retrieve record sets in Hetzner DNS service.
Retrieve records in Hetzner DNS service.
More information on supported DNS record types.
# filename must end with hetzner_dns.yaml or hetzner_dns.yml
plugin: community.dns.hetzner_dns_records
zone_name: domain.de
simple_filters:
type:
- TXT
filters:
- include: >-
not ansible_host.startswith('v=')
- exclude: true
txt_transformation: unquoted
# You can also configure the token by putting secret value into this file,
# but this is discouraged. Use a lookup like below, or leave it away and
# set it with the HETZNER_DNS_TOKEN environment variable.
hetzner_token: >-
{{ (lookup('community.sops.sops', 'keys/hetzner.sops.yml') | from_yaml).hetzner_dns_token }}
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/dns/hetzner_dns_records_inventory.html