community.general.netcup_dns – manage Netcup DNS records

Note

This plugin is part of the community.general collection (version 4.2.0).

You might already have this collection installed if you are using the ansible package. 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.

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 Choices/Defaults 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
string
Default:
"@"
Record to add or delete, supports wildcard (*). Default is @ (e.g. the zone name)

aliases: name
solo
boolean
    Choices:
  • no ←
  • yes
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.
state
string
    Choices:
  • present ←
  • absent
Whether the record should exist or not
type
string / required
    Choices:
  • A
  • AAAA
  • MX
  • CNAME
  • CAA
  • SRV
  • TXT
  • TLSA
  • NS
  • DS
Record type
value
string / required
Record value

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

Return Values

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

Key Returned Description
records
complex
success
list containing all records

 
id
integer
success
internal id of the record

Sample:
12345
 
name
string
success
the record name

Sample:
fancy-hostname
 
priority
integer
success
the record priority (only relevant if type=MX)

 
type
string
succcess
the record type

Sample:
A
 
value
string
success
the record destination

Sample:
127.0.0.1


Authors

  • Nicolai Buchwitz (@nbuchwitz)