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.1.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
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_records
and its filename must end withhetzner_dns.yaml
orhetzner_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_token
option 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.
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 }}