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.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.
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_recordsand its filename must end with- hosttech_dns.yamlor- hosttech_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, and- hosttech_tokenoptions 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. 
- Supported DNS records
- More information on supported DNS record types. 
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 }}
