effectivelywild.technitium_dns.technitium_dns_create_zone module – Create a DNS zone

Note

This module is part of the effectivelywild.technitium_dns collection (version 0.4.0).

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 effectivelywild.technitium_dns.

To use it in a playbook, specify: effectivelywild.technitium_dns.technitium_dns_create_zone.

New in effectivelywild.technitium_dns 0.1.0

Synopsis

  • Create a DNS zone in Technitium DNS server using its API.

Parameters

Parameter

Comments

api_port

integer

Port for the Technitium DNS API. Defaults to 5380

Default: 5380

api_token

string / required

API token for authenticating with the Technitium DNS API

api_url

string / required

Base URL for the Technitium DNS API

catalog

string

The name of the catalog zone to become its member zone.

dnssecValidation

boolean

Enable DNSSEC validation (Forwarder only)

Choices:

  • false

  • true

forwarder

string

Address of DNS server to use as forwarder (Forwarder only)

initializeForwarder

boolean

Initialize Conditional Forwarder zone with FWD record (Forwarder only)

Choices:

  • false

  • true

primaryNameServerAddresses

list / elements=string

List of primary name server IP addresses or names (Secondary, SecondaryForwarder, SecondaryCatalog, Stub)

protocol

string

DNS transport protocol for Conditional Forwarder zone.

Choices:

  • "Udp"

  • "Tcp"

  • "Tls"

  • "Https"

  • "Quic"

proxyAddress

string

Proxy server address (Forwarder only)

proxyPassword

string

Proxy server password (Forwarder only)

proxyPort

integer

Proxy server port (Forwarder only)

proxyType

string

Proxy type for conditional forwarding (Forwarder only)

Choices:

  • "NoProxy"

  • "DefaultProxy"

  • "Http"

  • "Socks5"

proxyUsername

string

Proxy server username (Forwarder only)

tsigKeyName

string

TSIG key name (Secondary, SecondaryForwarder, SecondaryCatalog)

type

string / required

The type of zone to be created.

Choices:

  • "Primary"

  • "Secondary"

  • "Stub"

  • "Forwarder"

  • "SecondaryForwarder"

  • "Catalog"

  • "SecondaryCatalog"

useSoaSerialDateScheme

boolean

Enable using date scheme for SOA serial (Primary, Forwarder, Catalog zones)

Choices:

  • false

  • true

validate_certs

boolean

Whether to validate SSL certificates when making API requests

Choices:

  • false

  • true ← (default)

validateZone

boolean

Enable ZONEMD validation (Secondary only)

Choices:

  • false

  • true

zone

string / required

The domain name for creating the new zone

zoneTransferProtocol

string

Zone transfer protocol (Secondary, SecondaryForwarder, SecondaryCatalog)

Choices:

  • "Tcp"

  • "Tls"

  • "Quic"

See Also

Examples

- name: Create a Primary zone
  technitium_dns_create_zone:
    api_url: "http://localhost"
    api_token: "myapitoken"
    zone: "example.com"
    type: "Primary"

- name: Create a Forwarder zone with forwarder address
  technitium_dns_create_zone:
    api_url: "http://localhost"
    api_token: "myapitoken"
    zone: "forward.example.com"
    type: "Forwarder"
    forwarder: "8.8.8.8"
    initializeForwarder: true
    protocol: "Udp"

Return Values

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

Key

Description

api_response

dictionary

Complete raw API response from Technitium DNS

Returned: always

response

dictionary

The core data payload from the API

Returned: always

domain

string

The domain name of the created zone

Returned: always

Sample: "demo.test.local"

status

string

API response status

Returned: always

Sample: "ok"

changed

boolean

Whether the module made changes to create a new zone

Returned: always

Sample: true

failed

boolean

Whether the module failed to complete the zone creation

Returned: always

Sample: false

msg

string

Human-readable message describing the zone creation result

Returned: always

Sample: "Zone 'demo.test.local' created."

Authors

  • Frank Muise (@effectivelywild)