community.dns.hosttech_dns_record_sets module – Bulk synchronize DNS record sets in Hosttech DNS service
Note
This module is part of the community.dns collection (version 2.4.2).
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 module,
see Requirements for details.
To use it in a playbook, specify: community.dns.hosttech_dns_record_sets
.
New in community.dns 2.0.0
Synopsis
Bulk synchronize DNS record sets in Hosttech DNS service.
It is possible to ignore certain record sets by specifying ignore: true for that record set.
The module allows to set, modify and delete multiple DNS record sets at once.
This module replaces
hosttech_dns_records
from community.dns before 2.0.0.With the purge option, it is also possible to delete existing record sets that are not mentioned in the module parameters. With this, it is possible to synchronize the expected state of a DNS zone with the expected state.
Requirements
The below requirements are needed on the host that executes this module.
lxml
Parameters
Parameter |
Comments |
---|---|
The password for the Hosttech API user. If provided, hosttech_username must also be provided. Mutually exclusive with hosttech_token. |
|
The password for the Hosttech API user. Mutually exclusive with hosttech_username and hosttech_password. Since community.dns 1.2.0, the alias api_token can be used. |
|
The username for the Hosttech API user. If provided, hosttech_password must also be provided. Mutually exclusive with hosttech_token. |
|
If set to Choices:
|
|
The records that should be present in the zone. |
|
If set to This is useful when prune=true, but you do not want certain entries to be removed without having to know their current value. Choices:
|
|
The prefix of the DNS record. This is the part of record before zone_name. For example, if the record to be modified is Exactly one of record and prefix must be specified. |
|
The full DNS record to create or delete. Exactly one of record and prefix must be specified. |
|
The TTL to give the new record, in seconds. Default: |
|
The type of DNS record to create or delete. Choices:
|
|
The new value when creating a DNS record. YAML lists or multiple comma-spaced values are allowed. When deleting a record all values for the record must be specified or it will not be deleted. Must be specified if ignore=false. |
|
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 txt_transformation=api and handle the encoding yourself. Choices:
|
|
The ID of the DNS zone to modify. Exactly one of zone_name and zone_id must be specified. |
|
The DNS zone to modify. Exactly one of zone_name and zone_id must be specified. |
Attributes
Attribute |
Support |
Description |
---|---|---|
Action group: community.dns.hosttech added in community.dns 2.4.0 |
Use |
|
Support: full |
Can run in |
|
Support: full |
Will return details on what has changed (or possibly needs changing in |
Examples
- name: Make sure some records exist and have the expected values
community.dns.hosttech_dns_record_sets:
zone_name: foo.com
records:
- prefix: new
type: A
ttl: 7200
value:
- 1.1.1.1
- 2.2.2.2
- prefix: new
type: AAAA
ttl: 7200
value:
- "::1"
- record: foo.com
type: TXT
value:
- test
hosttech_token: access_token
- name: Synchronize DNS zone with a fixed set of records
# If a record exists that is not mentioned here, it will be deleted
community.dns.hosttech_dns_record_sets:
zone_id: 23
purge: true
records:
- prefix: ''
type: A
value: 127.0.0.1
- prefix: ''
type: AAAA
value: "::1"
- prefix: ''
type: NS
value:
- ns-1.hoster.com
- ns-2.hoster.com
- ns-3.hoster.com
hosttech_token: access_token
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key |
Description |
---|---|
The ID of the zone. Returned: success Sample: |
Collection links
Issue Tracker Repository (Sources) Submit a bug report Request a feature Communication