28 lines
948 B
YAML
28 lines
948 B
YAML
---
|
|
- name: 仅协调 Incus 的 AD DNS 记录
|
|
hosts: samba_dc
|
|
become: true
|
|
gather_facts: false
|
|
vars_files:
|
|
- ../../dns/records.yml
|
|
- ../../samba-ad/ansible/group_vars/all/vars.yml
|
|
tasks:
|
|
- name: 从共享清单选择 Incus RRset
|
|
ansible.builtin.set_fact:
|
|
incus_dns_records: "{{ homelab_dns.samba.records | selectattr('name', 'equalto', 'incus') | selectattr('zone', 'equalto', 'ad.ddupan.top') | list }}"
|
|
- name: 确认只有一个受管 A 记录
|
|
ansible.builtin.assert:
|
|
that:
|
|
- incus_dns_records | length == 1
|
|
- incus_dns_records[0].type == 'A'
|
|
- name: 协调 Incus A 记录
|
|
ddupan.homelab.samba_dns_record:
|
|
server: "{{ samba_ad_dc_ip }}"
|
|
zone: "{{ item.zone }}"
|
|
name: "{{ item.name }}"
|
|
type: "{{ item.type }}"
|
|
values: "{{ item['values'] }}"
|
|
state: present
|
|
exact: true
|
|
loop: "{{ incus_dns_records }}"
|