effectivelywild.technitium_dns.technitium_dns_get_permission_details module – Get permission details for a specific section

Note

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

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

New in effectivelywild.technitium_dns 0.5.0

Synopsis

  • Retrieve detailed permission information for a specific section.

  • Returns user permissions, group permissions, and optionally lists of users and groups.

  • The includeUsersAndGroups option controls whether to include user and group lists.

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

includeUsersAndGroups

boolean

Whether to include lists of users and groups in the response

Choices:

  • false

  • true ← (default)

node

string

The node domain name for which this API call is intended

When unspecified, the current node is used

This parameter can be used only when Clustering is initialized

section

string / required

The name of the section to get permission details for

Should match a section name from the list permissions API call

validate_certs

boolean

Whether to validate SSL certificates when making API requests

Choices:

  • false

  • true ← (default)

See Also

Examples

- name: Get Dashboard permission details
  technitium_dns_get_permission_details:
    api_url: "http://localhost"
    api_token: "myapitoken"
    section: "Dashboard"
  register: result

- debug:
    var: result.permission_details

- name: Get Zones permission details without user/group lists
  technitium_dns_get_permission_details:
    api_url: "http://localhost"
    api_token: "myapitoken"
    section: "Zones"
    includeUsersAndGroups: false
  register: result

- debug:
    var: result.permission_details

- name: Get Dashboard permission details on a specific cluster node
  technitium_dns_get_permission_details:
    api_url: "http://localhost"
    api_token: "myapitoken"
    section: "Dashboard"
    node: "node1.cluster.example.com"
  register: result

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 (always false for get operations)

Returned: always

Sample: false

failed

boolean

Whether the module failed

Returned: always

Sample: false

permission_details

dictionary

Complete permission details for the specified section

Returned: always

groupPermissions

list / elements=dictionary

List of group permissions for this section

Returned: always

canDelete

boolean

Whether the group can delete from this section

Returned: always

Sample: true

canModify

boolean

Whether the group can modify this section

Returned: always

Sample: true

canView

boolean

Whether the group can view this section

Returned: always

Sample: true

name

string

Name of the group

Returned: always

Sample: "Administrators"

groups

list / elements=string

List of all available groups (when includeUsersAndGroups is true)

Returned: when includeUsersAndGroups is true

Sample: ["Administrators", "DHCP Administrators", "DNS Administrators", "Everyone"]

section

string

The name of the permission section

Returned: always

Sample: "Dashboard"

userPermissions

list / elements=dictionary

List of user permissions for this section

Returned: always

canDelete

boolean

Whether the user can delete from this section

Returned: always

Sample: false

canModify

boolean

Whether the user can modify this section

Returned: always

Sample: false

canView

boolean

Whether the user can view this section

Returned: always

Sample: true

username

string

Username of the user

Returned: always

Sample: "shreyas"

users

list / elements=string

List of all available users (when includeUsersAndGroups is true)

Returned: when includeUsersAndGroups is true

Sample: ["admin", "shreyas"]

Authors

  • Frank Muise (@effectivelywild)