--- - name: deploy ccd files ansible.builtin.copy: src: "{{ role_path }}/files/{{ inventory_hostname }}/ccd/" dest: /etc/openvpn/ccd/ owner: root group: root mode: '0644' - name: render openvpn config ansible.builtin.template: src: "{{ item }}" dest: "/etc/openvpn/{{ item | basename | regex_replace('\\.j2$', '') }}" owner: root group: root mode: '0600' loop: "{{ query('ansible.builtin.fileglob', role_path + '/templates/' + inventory_hostname + '/*.conf.j2') }}" register: openvpn_configs - name: restart openvpn ansible.builtin.systemd_service: name: "openvpn@{{ item.item | basename | regex_replace('\\.conf\\.j2$', '') }}" state: restarted enabled: true daemon_reload: true loop: "{{ openvpn_configs.results }}" when: item.changed