community.dns.hetzner_dns_records inventory – Create inventory from Hetzner DNS records
Note
This inventory plugin is part of the community.dns collection (version 3.3.4).
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
Synopsis
- For Ansible to be able to identify a YAML file as an inventory for this plugin, the inventory file must contain - plugin: community.dns.hetzner_dns_recordsand its filename must end with- hetzner_dns.yamlor- hetzner_dns.yml.
- Records are matched by prefix / record name and value. 
- This plugin allows to create an inventory from Hetzner DNS records. 
Parameters
| Parameter | Comments | 
|---|---|
| A list of include/exclude filters that allows to select/deselect hosts for this inventory. Filters are processed sequentially until the first filter where  | |
| A Jinja2 condition. If it matches for a host, that host is excluded. Exactly one of  | |
| A Jinja2 condition. If it matches for a host, that host is included. Exactly one of  | |
| The token for the Hetzner API. If not provided, will be read from the environment variable  Configuration: 
 | |
| The name of this plugin. Should always be set to  Choices: 
 | |
| A dictionary of filter value pairs. This option used to be called  Default:  | |
| Record types whose values to use. Choices: 
 Default:  | |
| Whether to treat numeric escape sequences ( The default changed to  Choices: 
 | |
| 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: 
 | |
Notes
Note
- The provider-specific - hetzner_tokenoption can be templated.
See Also
See also
- community.dns.hetzner_dns_record_set_info
- Retrieve record sets in Hetzner DNS service. 
- community.dns.hetzner_dns_record_info
- Retrieve records in Hetzner DNS service. 
- Supported DNS records
- More information on supported DNS record types. 
Examples
# 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 }}
