community.general.netcup_dns module – Manage Netcup DNS records

Note

This module is part of the community.general collection (version 9.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 community.general. You need further requirements to be able to use this module, see Requirements for details.

To use it in a playbook, specify: community.general.netcup_dns.

Synopsis

Requirements

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

  • nc-dnsapi >= 0.1.3

Parameters

Parameter

Comments

api_key

string / required

API key for authentication, must be obtained via the netcup CCP (https://ccp.netcup.net).

api_password

string / required

API password for authentication, must be obtained via the netcup CCP (https://ccp.netcup.net).

customer_id

integer / required

Netcup customer id.

domain

string / required

Domainname the records should be added / removed.

priority

integer

Record priority. Required for type=MX.

record

aliases: name

string

Record to add or delete, supports wildcard (*). Default is @ (that is, the zone name).

Default: "@"

solo

boolean

Whether the record should be the only one for that record type and record name. Only use with state=present.

This will delete all other records with the same record name and type.

Choices:

  • false ← (default)

  • true

state

string

Whether the record should exist or not.

Choices:

  • "present" ← (default)

  • "absent"

timeout

integer

added in community.general 5.7.0

HTTP(S) connection timeout in seconds.

Default: 5

type

string / required

Record type.

Support for OPENPGPKEY, SMIMEA and SSHFP was added in community.general 8.1.0.

Record types OPENPGPKEY and SMIMEA require nc-dnsapi >= 0.1.5.

Record type SSHFP requires nc-dnsapi >= 0.1.6.

Choices:

  • "A"

  • "AAAA"

  • "MX"

  • "CNAME"

  • "CAA"

  • "SRV"

  • "TXT"

  • "TLSA"

  • "NS"

  • "DS"

  • "OPENPGPKEY"

  • "SMIMEA"

  • "SSHFP"

value

string / required

Record value.

Attributes

Attribute

Support

Description

check_mode

Support: full

Can run in check_mode and return changed status prediction without modifying target.

diff_mode

Support: none

Will return details on what has changed (or possibly needs changing in check_mode), when in diff mode.

Examples

- name: Create a record of type A
  community.general.netcup_dns:
    api_key: "..."
    api_password: "..."
    customer_id: "..."
    domain: "example.com"
    name: "mail"
    type: "A"
    value: "127.0.0.1"

- name: Delete that record
  community.general.netcup_dns:
    api_key: "..."
    api_password: "..."
    customer_id: "..."
    domain: "example.com"
    name: "mail"
    type: "A"
    value: "127.0.0.1"
    state: absent

- name: Create a wildcard record
  community.general.netcup_dns:
    api_key: "..."
    api_password: "..."
    customer_id: "..."
    domain: "example.com"
    name: "*"
    type: "A"
    value: "127.0.1.1"

- name: Set the MX record for example.com
  community.general.netcup_dns:
    api_key: "..."
    api_password: "..."
    customer_id: "..."
    domain: "example.com"
    type: "MX"
    value: "mail.example.com"

- name: Set a record and ensure that this is the only one
  community.general.netcup_dns:
    api_key: "..."
    api_password: "..."
    customer_id: "..."
    name: "demo"
    domain: "example.com"
    type: "AAAA"
    value: "::1"
    solo: true

- name: Increase the connection timeout to avoid problems with an unstable connection
  community.general.netcup_dns:
    api_key: "..."
    api_password: "..."
    customer_id: "..."
    domain: "example.com"
    name: "mail"
    type: "A"
    value: "127.0.0.1"
    timeout: 30

Return Values

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

Key

Description

records

complex

list containing all records

Returned: success

id

integer

internal id of the record

Returned: success

Sample: 12345

name

string

the record name

Returned: success

Sample: "fancy-hostname"

priority

integer

the record priority (only relevant if type=MX)

Returned: success

Sample: 0

type

string

the record type

Returned: success

Sample: "A"

value

string

the record destination

Returned: success

Sample: "127.0.0.1"

Authors

  • Nicolai Buchwitz (@nbuchwitz)