--- - name: gather OS specific variables include_vars: "{{ item }}" with_first_found: - "{{ ansible_distribution }}-{{ ansible_distribution_major_version }}.yaml" - "{{ ansible_distribution }}.yaml" - "{{ ansible_os_family }}.yaml" - name: systemd-networkd include: systemd-networkd.yml - name: ifupdown include: ifupdown.yml - name: netplan.io include: netplan.yml # resolv.conf - name: configure resolv.conf template: src: resolv.conf.j2 dest: /etc/resolv.conf notify: restart systemd-resolved when: _network_resolv_conf_enabled | bool # systemd-resolved - name: manage systemd-resolved service service: name: "{{ _network_systemd_resolved_service_name }}" state: "{{ _network_systemd_resolved_enabled | ternary('started', 'stopped') }}" enabled: "{{ _network_systemd_resolved_enabled }}" - name: symlink /etc/resolv.conf file: src: /run/systemd/resolve/stub-resolv.conf dest: /etc/resolv.conf state: link force: yes when: _network_systemd_resolved_enabled | bool - name: configure systemd-resolved template: src: resolved.conf.j2 dest: /etc/systemd/resolved.conf notify: restart systemd-resolved when: _network_systemd_resolved_enabled | bool - name: remove systemd-resolved configuration file: path: /etc/systemd/resolved.conf state: absent when: not _network_systemd_resolved_enabled | bool # vim:ft=yaml.ansible: