--- - name: gather os specific variables ansible.builtin.include_vars: "{{ lookup('first_found', params) }}" vars: params: files: - "{{ ansible_distribution }}-{{ ansible_distribution_version }}.yaml" - "{{ ansible_distribution }}.yaml" - "{{ ansible_os_family }}.yaml" - "default.yaml" paths: - vars - name: include os specific tasks ansible.builtin.include_tasks: "{{ lookup('first_found', params) }}" vars: params: files: - "{{ ansible_distribution }}-{{ ansible_distribution_version }}.yaml" - "{{ ansible_distribution }}.yaml" - "{{ ansible_os_family }}.yaml" - "default.yaml" paths: - tasks - ansible.builtin.include_tasks: install.yaml #- ansible.builtin.include_tasks: configure.yaml - ansible.builtin.include_tasks: configure-interface.yaml loop: "{{ wireguard_interfaces.keys() | list }}" loop_control: loop_var: _wireguard_interface when: - wireguard_interfaces is mapping - wireguard_interfaces.keys() | length