effectivelywild.technitium_dns.technitium_dns_download_and_install_app module – Download and install an app

Note

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

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

New in effectivelywild.technitium_dns 0.9.0

Synopsis

  • Download an app zip file from a given URL and install it on the DNS server.

  • The URL must start with https://.

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

name

string / required

The name of the app to install

url

string / required

The URL of the app zip file

URL must start with https://

validate_certs

boolean

Whether to validate SSL certificates when making API requests.

Choices:

  • false

  • true ← (default)

See Also

Examples

- name: Download and install Wild IP app
  technitium_dns_download_and_install_app:
    api_url: "http://localhost"
    api_token: "myapitoken"
    name: "Wild IP"
    url: "https://download.technitium.com/dns/apps/WildIpApp.zip"
  register: result

- debug:
    var: result.installed_app

- name: Install app from DNS App Store
  technitium_dns_download_and_install_app:
    api_url: "http://localhost"
    api_token: "myapitoken"
    name: "Geo Continent"
    url: "https://download.technitium.com/dns/apps/GeoContinentApp.zip"

Return Values

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

Key

Description

changed

boolean

Whether the module made changes

Returned: always

Sample: true

failed

boolean

Whether the module failed

Returned: always

Sample: false

installed_app

dictionary

Information about the installed app

Returned: success

dnsApps

list / elements=dictionary

List of DNS application components

Returned: always

classPath

string

Class path of the DNS app component

Returned: always

Sample: "WildIp.App"

description

string

Description of the DNS app component

Returned: always

Sample: "Returns the IP address that was embedded in the subdomain name"

isAppRecordRequestHandler

boolean

Whether this is an APP record request handler

Returned: always

Sample: true

isAuthoritativeRequestHandler

boolean

Whether this is an authoritative request handler

Returned: always

Sample: false

isPostProcessor

boolean

Whether this is a post processor

Returned: always

Sample: false

isQueryLogger

boolean

Whether this is a query logger

Returned: always

Sample: false

isRequestBlockingHandler

boolean

Whether this is a request blocking handler

Returned: always

Sample: false

isRequestController

boolean

Whether this is a request controller

Returned: always

Sample: false

name

string

Name of the installed app

Returned: always

Sample: "Wild IP"

version

string

Version of the installed app

Returned: always

Sample: "1.0"

msg

string

Human-readable message about the operation

Returned: always

Sample: "App 'Wild IP' installed successfully"

Authors

  • Frank Muise (@effectivelywild)