hetzner.hcloud.zone_rrset module – Create and manage Zone RRSets on the Hetzner Cloud.

Note

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

To use it in a playbook, specify: hetzner.hcloud.zone_rrset.

Synopsis

Aliases: hcloud_zone_rrset

Requirements

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

  • python-dateutil >= 2.7.5

  • requests >=2.20

Parameters

Parameter

Comments

api_endpoint

aliases: endpoint

string

The API Endpoint for the Hetzner Cloud.

You can also set this option by using the HCLOUD_ENDPOINT environment variable.

Default: "https://api.hetzner.cloud/v1"

api_token

string / required

The API Token for the Hetzner Cloud.

You can also set this option by using the HCLOUD_TOKEN environment variable.

change_protection

boolean

Protect the Zone RRSet from changes (deletion and updates).

Choices:

  • false

  • true

id

integer

ID of the Zone RRSet to manage.

Only required if no Zone RRSet name and type are given.

labels

dictionary

User-defined key-value pairs.

name

string

Name of the Zone RRSet to manage.

Only required if no Zone RRSet id is given or the Zone RRSet does not exist.

records

list / elements=dictionary

Records of the Zone RRSet.

comment

string

Comment of the record.

value

string

Value of the record.

state

string

State of the Zone RRSet.

Choices:

  • "absent"

  • "present" ← (default)

ttl

integer

TTL of the Zone RRSet.

type

string

Type of the Zone RRSet to manage.

Only required if no Zone RRSet id is given or the Zone RRSet does not exist.

zone

string / required

Name or ID of the parent Zone.

See Also

See also

Documentation for Hetzner Cloud API

Complete reference for the Hetzner Cloud API.

Examples

- name: Create a Zone RRSet
  hetzner.hcloud.zone_rrset:
    zone: example.com
    name: www
    type: A
    ttl: 300
    records:
      - value: 201.118.10.2
        comment: web server 1
      - value: 201.118.10.3
        comment: web server 2
    state: present

- name: Delete a Zone RRSet
  hetzner.hcloud.zone_rrset:
    zone: 42
    name: www
    type: A
    state: absent

Return Values

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

Key

Description

hcloud_zone_rrset

dictionary

Zone RRSet instance.

Returned: always

change_protection

boolean

Protect the Zone RRSet from changes (deletion and updates).

Returned: always

Sample: false

id

string

ID of the Zone RRSet.

Returned: always

Sample: "www/A"

labels

dictionary

User-defined labels (key-value pairs)

Returned: always

Sample: {"key": "value"}

name

string

Name of the Zone RRSet.

Returned: always

Sample: "my-zone"

records

list / elements=dictionary

Records of the Zone RRSet.

Returned: always

comment

string

Comment of the Record.

Returned: always

Sample: "webserver 1"

value

string

Value of the Record.

Returned: always

Sample: "203.0.113.1"

ttl

integer

TTL of the Zone RRSet.

Returned: always

Sample: 3600

type

string

Type of the Zone RRSet.

Returned: always

Sample: "A"

zone

integer

ID of the parent Zone.

Returned: always

Sample: 42

Authors

  • Jonas Lammler (@jooola)