Experts Hi, I have a variable file that has a set of flowers, colors, and countries.
# cat vars/DASHBOARD_vars.yaml --- myarch: - COLOR: name: blue,white,black,green - FLOWER: name: rose,jasmine - COUNTRY: name: Japan,Germany,France I wish to create one HTML file each, thus 1 HTML for all colors, 1 HTML file for all flowers and 1 HTML for all countries. Below is what i expect how my colors HTML file should look like. <table bgcolor="sky blue"> <tr> <th></th> <th>blue</th> <th>white</th> <th>black</th> <th >green</th> </tr> <tr> <td>DR</td> <td><img src="/tmp/Desktop.png"></td> <td><img src="/tmp/Desktop.png"></td> <td><img src="/tmp/Desktop.png"></td> <td><img src="/tmp/Desktop.png"></td> </tr> <tr> <td></td> <td><a href="http://localhost/sample"> <img src="/tmp/Arrow_red.png"></td> <td><a href="http://localhost/sample"> <img src="/tmp/Arrow_red.png"></td> <td><img src="/tmp/Arrow_blue.png"></td> <td><a href="http://localhost/sample"> <img src="/tmp/Arrow_red.png"></td> </tr> <tr> <td>PROD</td> <td> <img src="/tmp/Desktop.png"> </td> <td> <img src="/tmp/Desktop.png"> </td> <td> <img src="/tmp/Desktop.png"> </td> <td> <img src="/tmp/Desktop.png"> </td> </tr> </table> Likewaise flowers HTML would look like below: <table bgcolor="yellow"> <tr> <th></th> <th>rose</th> <th>jasmine</th> </tr> <tr> <td>DR</td> <td><img src="/tmp/Desktop.png"></td> <td><img src="/tmp/Desktop.png"></td> </tr> <tr> <td></td> <td><a href="http://localhost/sample"> <img src="/tmp/Arrow.png"></td> <td><a href="http://localhost/sample"> <img src="/tmp/Arrow.png"></td> </tr> <tr> <td>PROD</td> <td> <img src="/tmp/Desktop.png"> </td> <td> <img src="/tmp/Desktop.png"> </td> </tr> </table> and similarly one HTML for countries. I guess I need to use ansible's template feature to construct these HTML files. Below is my playbook where I FLOWER able to read the variable files in order. # cat dashboard.yml - name: Play 1 hosts: localhost tasks: - name: Load a variable file" include_vars: file: "vars/DASHBOARD_vars.yaml" - name: Declare array for IPs include_tasks: "{{ playbook_dir }}/dashboard_inner.yml" loop: "{{ myarch }}" loop_control: loop_var: myresult # cat dashboard_inner.yml --- - name: Declare here include_tasks: "{{ playbook_dir }}/dashboard_inner_inner.yml" loop: "{{ myresult.name.split(',') }}" # cat dashboard_inner_inner.yml --- - block: - template: src: "templates/dashboard_body.html.j2" dest: "dashboard/dashboard_body_{{ item }}.html" - debug: msg: "HERE IS:{{ item }}" When I run it creates HTML files for each component however, I'm not sure how my "templates/dashboard_body.html.j2" should be constructed to get me the desired output? A couple of pointers to consider while construction the HTML is 1. bgcolor: <table bgcolor="sky blue"> bgcolor changes for each table i.e for flowers, colors and countries each will have three different colors. 2. if "white" folder has bad.txt files say /tmp/white/bad.txt returns true then below <td> should be populated <td><a href="http://localhost/sample"> <img src="/tmp/Arrow_red.png"></td> else the below one should be <td><img src="/tmp/Arrow_blue.png"></td> Output of my run: # ansible-playbook -i "all" dashboard.yml PLAY [Play 1] ***************************************************************************************************************************************************************** TASK [Gathering Facts] ******************************************************************************************************************************************************** ok: [localhost] TASK [Load a variable file"] ************************************************************************************************************************************************** ok: [localhost] TASK [Declare array for IPs] ************************************************************************************************************************************************** included: /root/test/dashboard_inner.yml for localhost included: /root/test/dashboard_inner.yml for localhost TASK [Declare here] *********************************************************************************************************************************************************** included: /root/test/dashboard_inner_inner.yml for localhost included: /root/test/dashboard_inner_inner.yml for localhost included: /root/test/dashboard_inner_inner.yml for localhost included: /root/test/dashboard_inner_inner.yml for localhost TASK [template] *************************************************************************************************************************************************************** changed: [localhost] TASK [debug] ****************************************************************************************************************************************************************** ok: [localhost] => { "msg": "HERE IS:blue" } TASK [template] *************************************************************************************************************************************************************** changed: [localhost] TASK [debug] ****************************************************************************************************************************************************************** ok: [localhost] => { "msg": "HERE IS:white" } TASK [template] *************************************************************************************************************************************************************** changed: [localhost] TASK [debug] ****************************************************************************************************************************************************************** ok: [localhost] => { "msg": "HERE IS:black" } TASK [template] *************************************************************************************************************************************************************** changed: [localhost] TASK [debug] ****************************************************************************************************************************************************************** ok: [localhost] => { "msg": "HERE IS:green" } TASK [Declare here] *********************************************************************************************************************************************************** included: /root/test/dashboard_inner_inner.yml for localhost included: /root/test/dashboard_inner_inner.yml for localhost TASK [template] *************************************************************************************************************************************************************** changed: [localhost] TASK [debug] ****************************************************************************************************************************************************************** ok: [localhost] => { "msg": "HERE IS:rose" } TASK [template] *************************************************************************************************************************************************************** changed: [localhost] TASK [debug] ****************************************************************************************************************************************************************** ok: [localhost] => { "msg": "HERE IS:jasmine" } PLAY RECAP ******************************************************************************************************************************************************************** localhost : ok=22 changed=6 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 [root@digiklug test]# ls -ltr dashboard/* -rw-r--r--. 1 root root 0 Mar 5 17:49 dashboard/dashboard_body_brown.html -rw-r--r--. 1 root root 0 Mar 5 17:49 dashboard/dashboard_body_white.html -rw-r--r--. 1 root root 0 Mar 5 17:49 dashboard/dashboard_body_black.html -rw-r--r--. 1 root root 0 Mar 5 17:49 dashboard/dashboard_body_green.html -rw-r--r--. 1 root root 0 Mar 5 17:49 dashboard/dashboard_body_rose.html -rw-r--r--. 1 root root 0 Mar 5 17:49 dashboard/dashboard_body_jasmine.html -- You received this message because you are subscribed to the Google Groups "Ansible Project" group. To unsubscribe from this group and stop receiving emails from it, send an email to ansible-project+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/9eab27e6-68f8-4dd5-9b55-0a2459fa2772%40googlegroups.com.