You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

55 lines
1.7 KiB
YAML

---
- name: Gain TSIG key to apply DNS record changes
tsig_interpreter:
path: "{{ global_dns_session_key_path }}"
register: tsig_key
delegate_to: "{{ dns_system_domain }}"
tags:
- dns_entries
- name: Disable debug mode entries
nsupdate:
state: absent
server: "127.0.0.1" # delegated to correct system
key_algorithm: "{{ tsig_key.key_algorithm }}"
key_name: "{{ tsig_key.key_name }}"
key_secret: "{{ tsig_key.key_secret }}"
zone: "{{ dns_zone_domain }}"
record: "{{ item.domain | default('@') | domain_relative_to(debug_domain) }}."
ttl: "{{ item.ttl | default(ttl_default) }}"
type: "{{ item.type }}"
value: "{{ item.data }}"
loop: "{{ entries | dns_entries_interpreter }}"
loop_control:
label: "{{ item.domain | default('@') | domain_relative_to(debug_domain) }} {{ item.type }}"
delegate_to: "{{ dns_system_domain }}"
when:
- delete_debug_dns_entries
tags:
- dns_entries
- name: Apply changes in DNS records
nsupdate:
server: "127.0.0.1" # delegated to correct system
key_algorithm: "{{ tsig_key.key_algorithm }}"
key_name: "{{ tsig_key.key_name }}"
key_secret: "{{ tsig_key.key_secret }}"
zone: "{{ dns_zone_domain }}"
record: "{{ item.domain | default('@') | domain_relative_to(effective_domain) }}."
ttl: "{{ item.ttl | default(ttl_default) }}"
type: "{{ item.type }}"
value: "{{ item.data }}"
loop: "{{ entries | dns_entries_interpreter }}"
loop_control:
label: "{{ item.domain | default('@') | domain_relative_to(effective_domain) }}. {{ item.type }}"
delegate_to: "{{ dns_system_domain }}"
register: dns_entries_task
tags:
- dns_entries
- name: Wait for entries to become announced
wait_for:
timeout: 8
when: dns_entries_task.changed