--- - name: ensure the software is there become: true yum: name: "{{ packages }}" state: present - name: process any templates and publish them template: src: "{{ item.src }}" dest: "{{ item.dest }}" owner: "{{ item.owner | default(omit) }}" group: "{{ item.group | default(omit) }}" mode: "{{ item.mode | default(omit) }}" notify: - test configuration validity - restart the service loop: "{{ configs }}" - name: deploy the static files as well copy: src: "{{ item.src }}" dest: "{{ item.dest }}" owner: "{{ item.owner | default(omit) }}" group: "{{ item.group | default(omit) }}" mode: "{{ item.mode | default(omit) }}" notify: them handlerz loop: "{{ staticfiles }}" - name: execute handlers if necessary meta: flush_handlers - name: ensure the service is started and enabled to start automatically service: name: "{{ service }}" state: started enabled: true when: service != None - name: ensure firewall is open for the service firewalld: service: "{{ fwsvc }}" state: enabled immediate: true permanent: true when: fwsvc != None ...