25 lines
669 B
YAML
25 lines
669 B
YAML
---
|
|
- name: Ensure DNS zone exists
|
|
hetzner.hcloud.zone:
|
|
name: "{{ item.zone }}"
|
|
mode: primary
|
|
api_token: "{{ hcloud_token }}"
|
|
state: present
|
|
loop: "{{ dns_zones }}"
|
|
loop_control:
|
|
label: "{{ item.zone }}"
|
|
tags: dns
|
|
|
|
- name: Manage DNS records
|
|
hetzner.hcloud.zone_rrset:
|
|
zone: "{{ item.0.zone }}"
|
|
name: "{{ item.1.name }}"
|
|
type: "{{ item.1.type }}"
|
|
ttl: "{{ item.1.ttl | default(300) }}"
|
|
records: "{{ item.1.records }}"
|
|
api_token: "{{ hcloud_token }}"
|
|
state: present
|
|
loop: "{{ dns_zones | subelements('records') }}"
|
|
loop_control:
|
|
label: "{{ item.0.zone }} {{ item.1.name }} {{ item.1.type }}"
|
|
tags: dns
|