move record state to vars, support removal

This commit is contained in:
Josh Lay 2022-04-20 23:25:27 -05:00
parent 0e6228b751
commit 2d4dc4ac48
Signed by: jlay
GPG key ID: B265E45CACAD108A
4 changed files with 14 additions and 13 deletions

View file

@ -1 +1 @@
roles/create-records/vars
roles/manage-records/vars

View file

@ -1,16 +1,15 @@
---
- name: "create records ({{domain}})"
- name: "manage records for ({{ domain }})"
cloudflare_dns:
zone: "{{ domain }}"
record: "{{ record.name }}"
value: "{{ record.value }}"
type: "{{ record.type }}"
solo: yes
state: present
solo: "{{ 'yes' if record.state in ['present'] | default(false) else omit }}"
state: "{{ record.state }}" # don't assume / set a default, require explicit instruction
account_email: "{{ cf_email }}"
account_api_token: "{{ cf_token }}"
loop: "{{ records }}"
loop_control:
loop_var: record
when: (item.state is undefined) or (not item.state == 'absent')

View file

@ -1,8 +0,0 @@
domain: sampledomain.local
records:
- name: 'subdomain'
value: '127.0.0.1'
type: A
- name: 'subdomain'
value: '::1'
type: AAAA

View file

@ -0,0 +1,10 @@
domain: sampledomain.local
records:
- name: 'subdomain' # create a silly localhost subdomain.sampledomain.io A record (IPv4)
value: '127.0.0.1'
type: A
state: present
- name: 'subdomain' # remove equally silly subdomain.sampledomain.io AAAA record (IPv6 local)
value: '::1'
type: AAAA
state: absent