- name: Install wg-quick@{{ peer.if.name | default(dn42_wg_default_if_prefix + peer.name) }} config template: dest: "/etc/wireguard/{{ peer.if.name | default(dn42_wg_default_if_prefix + peer.name) }}.conf" src: "wg-quick.j2" when: - peer.wg is defined - (not peer.state is defined) or peer.state != "absent" register: "configuration" - name: Enable wg-quick@{{ peer.if.name | default(dn42_wg_default_if_prefix + peer.name) }} service service: name: "wg-quick@{{ peer.if.name | default(dn42_wg_default_if_prefix + peer.name) }}" enabled: yes when: - peer.wg is defined - (not peer.state is defined) or peer.state != "absent" - name: Restart wg-quick@{{ peer.if.name | default(dn42_wg_default_if_prefix + peer.name) }} service: name: "wg-quick@{{ peer.if.name | default(dn42_wg_default_if_prefix + peer.name) }}" state: restarted when: - "configuration is changed" - (not peer.state is defined) or peer.state != "absent" - name: Stop wg-quick@{{ peer.if.name | default(dn42_wg_default_if_prefix + peer.name) }} service: name: "wg-quick@{{ peer.if.name | default(dn42_wg_default_if_prefix + peer.name) }}" state: stopped enabled: no when: peer.state is defined and peer.state == "absent" - name: Remove wg-quick@{{ peer.if.name | default(dn42_wg_default_if_prefix + peer.name) }} config file: path: "/etc/wireguard/{{ peer.if.name | default(dn42_wg_default_if_prefix + peer.name) }}.conf" state: absent when: peer.state is defined and peer.state == "absent"