--- - block: - name: SET_FACT | temp set_fact: tmp_fpm_pool: | [ {% for p in ansible_local.hanxhx_php.fpm_pool %} { "upstream_name": "{{ p.name }}", "sockets": [{ {% if p.listen.startswith('/') %} "unix": "{{ p.listen }}" {% else %} {% set host = p.listen.split(":")[0] %} {% set port = p.listen.split(":")[1] %} "host": "{{ host }}", "port": "{{ port }}" {% endif %} }] }{% if not loop.last %},{% endif %} {% endfor %} ] - name: SET_FACT | new php set_fact: nginx_php: "{{ nginx_php + tmp_fpm_pool }}" when: ansible_local.hanxhx_php.fpm_pool is defined - name: TEMPLATE | Deploy PHP upstream to Nginx template: src: "etc/nginx/conf.d/php.conf.j2" dest: "{{ nginx_etc_dir }}/conf.d/php.conf" notify: reload nginx - name: TEMPLATE | Deploy other upstreams template: src: "etc/nginx/conf.d/_upstream.conf.j2" dest: "{{ nginx_etc_dir }}/conf.d/upstream-{{ item.name }}.conf" loop: "{{ nginx_upstreams }}" when: item.state is not defined or item.state == 'present' notify: reload nginx - name: FILE | Delete other upstreams file: path: "{{ nginx_etc_dir }}/conf.d/upstream-{{ item.name }}.conf" state: absent loop: "{{ nginx_upstreams }}" when: item.state is defined and item.state == 'absent' notify: reload nginx