community.dns.hosttech_dns_record_set_info – Retrieve record sets in Hosttech DNS service

Note

This plugin is part of the community.dns collection (version 2.0.3).

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.hosttech_dns_record_set_info.

New in version 0.1.0: of community.dns

Synopsis

  • Retrieves DNS record sets in Hosttech DNS service.

  • This module was renamed from community.dns.hosttech_dns_record_info to community.dns.hosttech_dns_record_set_info in community.dns 2.0.0.

Requirements

The below requirements are needed on the host that executes this module.

  • lxml

Parameters

Parameter Choices/Defaults Comments
hosttech_password
string
The password for the Hosttech API user.
If provided, hosttech_password must also be provided.
Mutually exclusive with hosttech_token.
hosttech_token
string
added in 0.2.0 of community.dns
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.

aliases: api_token
hosttech_username
string
The username for the Hosttech API user.
If provided, hosttech_password must also be provided.
Mutually exclusive with hosttech_token.
prefix
string
added in 0.2.0 of community.dns
The prefix of the DNS record.
This is the part of record before zone_name. For example, if the record to be modified is www.example.com for the zone example.com, the prefix is www. If the record in this example would be example.com, the prefix would be '' (empty string).
If what is single_record or all_types_for_record, exactly one of record and prefix is required.
record
string
The full DNS record to retrieve.
If what is single_record or all_types_for_record, exactly one of record and prefix is required.
txt_transformation
string
    Choices:
  • api
  • quoted
  • unquoted ←
Determines how TXT entry values are converted between the API and this module's input and output.
The value api means that values are returned from this module as they are returned from the API, and pushed to the API as they have been passed to this module. For idempotency checks, the input string will be compared to the strings returned by the API. The API might automatically transform some values, like splitting long values or adding quotes, which can cause problems with idempotency.
The value unquoted automatically transforms values so that you can pass in unquoted values, and the module will return unquoted values. If you pass in quoted values, they will be double-quoted.
The value quoted automatically transforms values so that you must use quoting for values that contain spaces, characters such as quotation marks and backslashes, and that are longer than 255 bytes. It also makes sure to return values from the API in a normalized encoding.
The default value, unquoted, ensures that you can work with values without having to care about how to correctly quote for DNS. Most users should use one of unquoted or quoted, but not api.
Note: the conversion code assumes UTF-8 encoding for values. If you need another encoding use txt_transformation=api and handle the encoding yourself.
type
string
    Choices:
  • A
  • AAAA
  • CAA
  • CNAME
  • MX
  • NS
  • PTR
  • SPF
  • SRV
  • TXT
The type of DNS record to retrieve.
Required if what is single_record.
what
string
    Choices:
  • single_record ←
  • all_types_for_record
  • all_records
Describes whether to fetch a single record and type combination, all types for a record, or all records. By default, a single record and type combination is fetched.
Note that the return value structure depends on this option.
zone_id
integer
added in 0.2.0 of community.dns
The ID of the DNS zone to modify.
Exactly one of zone_name and zone_id must be specified.
zone_name
string
The DNS zone to modify.
Exactly one of zone and zone_id must be specified.

aliases: zone

Notes

Note

  • Supports check_mode.

Examples

- name: Retrieve the details for the A records of new.foo.com
  community.dns.hosttech_dns_record_set_info:
    zone_name: foo.com
    record: new.foo.com
    type: A
    hosttech_token: access_token
  register: rec

- name: Print the A record set
  ansible.builtin.debug:
    msg: "{{ rec.set }}"

Return Values

Common return values are documented here, the following are the fields unique to this module:

Key Returned Description
set
dictionary
success and what is single_record
The fetched record set. Is empty if record set does not exist.

Sample:
{'record': 'sample.example.com', 'ttl': 3600, 'type': 'A', 'value': ['1.2.3.4', '1.2.3.5']}
 
prefix
string
added in 0.2.0 of community.dns
success
The record prefix.

Sample:
sample
 
record
string
success
The record name.

Sample:
sample.example.com
 
ttl
integer
success
The TTL.
If there are records in this set with different TTLs, the minimum of the TTLs will be presented here.

Sample:
3600
 
ttls
list / elements=integer
When there is more than one distinct TTL
If there are records with different TTL values in this set, this will be the list of TTLs appearing in the records.
Every distinct TTL will appear once, and the TTLs are in ascending order.

Sample:
[300, 3600]
 
type
string
success
The DNS record type.

Sample:
A
 
value
list / elements=string
success
The DNS record set's value.

Sample:
['1.2.3.4', '1.2.3.5']
sets
list / elements=dictionary
success and what is not single_record
The list of fetched record sets.

Sample:
[{'record': 'sample.example.com', 'ttl': 3600, 'type': 'A', 'value': ['1.2.3.4', '1.2.3.5']}]
 
prefix
string
added in 0.2.0 of community.dns
success
The record prefix.

Sample:
sample
 
record
string
success
The record name.

Sample:
sample.example.com
 
ttl
integer
success
The TTL.
If there are records in this set with different TTLs, the minimum of the TTLs will be presented here.

Sample:
3600
 
ttls
list / elements=integer
When there is more than one distinct TTL
If there are records with different TTL values in this set, this will be the list of TTLs appearing in the records.
Every distinct TTL will appear once, and the TTLs are in ascending order.

Sample:
[300, 3600]
 
type
string
success
The DNS record type.

Sample:
A
 
value
list / elements=string
success
The DNS record set's value.

Sample:
['1.2.3.4', '1.2.3.5']
zone_id
integer
added in 0.2.0 of community.dns
success
The ID of the zone.

Sample:
23


Authors

  • Felix Fontein (@felixfontein)