community.dns.hosttech_dns_records inventory – Create inventory from Hosttech 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
.
You need further requirements to be able to use this inventory plugin,
see Requirements for details.
To use it in a playbook, specify: community.dns.hosttech_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.hosttech_dns_records
and its filename must end withhosttech_dns.yaml
orhosttech_dns.yml
Records are matched by prefix / record name and value.
This plugin allows to create an inventory from Hosttech DNS records.
Requirements
The below requirements are needed on the local controller node that executes this inventory.
lxml
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 password for the Hosttech API user. If provided, Mutually exclusive with Configuration:
|
|
The password for the Hosttech API user. Mutually exclusive with Since community.dns 1.2.0, the alias Configuration:
|
|
The username for the Hosttech API user. If provided, Mutually exclusive with 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
hosttech_username
,hosttech_password
, andhosttech_token
options can be templated.
See Also
See also
- community.dns.hosttech_dns_record_set_info
Retrieve record sets in Hosttech DNS service.
- community.dns.hosttech_dns_record_info
Retrieve records in Hosttech DNS service.
Examples
# filename must end with hosttech_dns.yaml or hosttech_dns.yml
plugin: community.dns.hosttech_dns_records
zone_name: domain.ch
simple_filters:
type:
- AAAA
filters:
- include: >-
'*.' not in inventory_hostname
- exclude: true
# 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 ANSIBLE_HOSTTECH_DNS_TOKEN environment variable.
hosttech_token: >-
{{ (lookup('community.sops.sops', 'keys/hosttech.sops.yml') | from_yaml).hosttech_dns_token }}