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.0.3).
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 }}