effectivelywild.technitium_dns.technitium_dns_set_zone_options module – Set DNS zone options
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_set_zone_options
.
New in effectivelywild.technitium_dns 0.1.0
Synopsis
Set zone-specific options on a Technitium DNS server.
Parameters
Parameter |
Comments |
---|---|
Port for the Technitium DNS API. Defaults to 5380. Default: |
|
API token for authenticating with the Technitium DNS API |
|
Base URL for the Technitium DNS API |
|
Catalog zone name to register as its member zone (Primary, Stub, Forwarder only) |
|
Sets if the zone is enabled or disabled Choices:
|
|
Notify policy Choices:
|
|
List of IPs to notify (Primary, Secondary, Forwarder, Catalog only) |
|
List of IPs to notify for catalog updates (Catalog only) |
|
Override Notify option in the Catalog zone (Primary, Forwarder only) Choices:
|
|
Override Query Access option in the Catalog zone (Primary, Stub, Forwarder only) Choices:
|
|
Override Zone Transfer option in the Catalog zone (Primary, Forwarder only) Choices:
|
|
List of IPs or names of the primary name server (Secondary, SecondaryForwarder, SecondaryCatalog, Stub only) |
|
Zone transfer protocol (Secondary, SecondaryForwarder, SecondaryCatalog only) Choices:
|
|
TSIG key name for zone transfer (Secondary, SecondaryForwarder, SecondaryCatalog only) |
|
Query access policy Choices:
|
|
List of network ACL entries for query access (not SecondaryCatalog, only with certain queryAccess set) |
|
Allow dynamic updates Choices:
|
|
List of network ACL entries for update (Primary, Secondary, Forwarder, with certain update set) |
|
List of security policies for zone updates (Primary, Forwarder only) |
|
List of allowed DNS record types |
|
Domain pattern for the policy |
|
TSIG key name for the policy |
|
Whether to validate SSL certificates when making API requests. Choices:
|
|
Enable ZONEMD validation (Secondary only). Choices:
|
|
The domain name of the zone to set options for. |
|
Zone transfer policy (Primary, Secondary only) Choices:
|
|
List of network ACL entries for zone transfer (Primary, Secondary, Forwarder, Catalog only, with certain zoneTransfer set) |
|
List of TSIG key names for zone transfer (Primary, Secondary, Forwarder, Catalog only) |
See Also
See also
- effectivelywild.technitium_dns.technitium_dns_create_zone
Creates DNS Zones
- effectivelywild.technitium_dns.technitium_dns_delete_zone
Deletes DNS Zones
- effectivelywild.technitium_dns.technitium_dns_sign_zone
Sign a zone with DNSSEC
- effectivelywild.technitium_dns.technitium_dns_get_zone_options
Get zone options
- effectivelywild.technitium_dns.technitium_dns_enable_zone
Enable a zone
- effectivelywild.technitium_dns.technitium_dns_disable_zone
Disable a zone
Examples
- name: Set basic options for primary zone
technitium_dns_set_zone_options:
api_url: "http://localhost"
api_token: "myapitoken"
zone: "example.com"
disabled: false
zoneTransfer: Allow
notify: ZoneNameServers
- name: Configure primary zone with restricted access and TSIG keys
technitium_dns_set_zone_options:
api_url: "http://localhost"
api_token: "myapitoken"
zone: "secure.example.com"
queryAccess: UseSpecifiedNetworkACL
queryAccessNetworkACL:
- "192.168.1.0/24"
- "10.0.0.0/8"
zoneTransfer: AllowOnlyZoneNameServers
zoneTransferTsigKeyNames:
- "key1.example.com"
- "key2.example.com"
update: UseSpecifiedNetworkACL
updateNetworkACL:
- "192.168.1.100/32"
- name: Set up secondary zone with custom primary servers
technitium_dns_set_zone_options:
api_url: "http://localhost"
api_token: "myapitoken"
zone: "secondary.example.com"
primaryNameServerAddresses:
- "192.168.1.10"
- "192.168.1.11"
primaryZoneTransferProtocol: Tls
primaryZoneTransferTsigKeyName: "transfer.key"
validateZone: true
notify: SpecifiedNameServers
notifyNameServers:
- "192.168.1.20"
- "192.168.1.21"
- name: Configure catalog zone with notification settings
technitium_dns_set_zone_options:
api_url: "http://localhost"
api_token: "myapitoken"
zone: "catalog.example.com"
zoneTransfer: UseSpecifiedNetworkACL
zoneTransferNetworkACL:
- "192.168.2.0/24"
notify: SeparateNameServersForCatalogAndMemberZones
notifySecondaryCatalogsNameServers:
- "192.168.2.10"
- "192.168.2.11"
- name: Set update security policies for primary zone
technitium_dns_set_zone_options:
api_url: "http://localhost"
api_token: "myapitoken"
zone: "dynamic.example.com"
update: UseSpecifiedNetworkACL
updateNetworkACL:
- "192.168.3.0/24"
updateSecurityPolicies:
- tsigKeyName: "update.key"
domain: "dynamic.example.com"
allowedTypes:
- "A"
- "AAAA"
- tsigKeyName: "update.key"
domain: "*.dynamic.example.com"
allowedTypes:
- "ANY"
- name: Configure zone as catalog member with overrides
technitium_dns_set_zone_options:
api_url: "http://localhost"
api_token: "myapitoken"
zone: "member.example.com"
catalog: "catalog.example.com"
overrideCatalogQueryAccess: true
overrideCatalogZoneTransfer: true
queryAccess: AllowOnlyPrivateNetworks
zoneTransfer: Deny
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key |
Description |
---|---|
Complete raw API response from Technitium DNS Returned: always |
|
The API response payload (empty dict for successful set operations) Returned: always Sample: |
|
API response status Returned: always Sample: |
|
Whether the module made changes Returned: always Sample: |
|
Dictionary showing what changed, with current and desired values Returned: when changes are made Sample: |
|
Whether the module failed Returned: always Sample: |
|
Human readable message describing the result Returned: always Sample: |