Experts Hi, I have a variable file that has a set of flowers, colors, and countries.
# cat vars/DASHBOARD_vars.yaml --- myarch: - name: brown,white,black,green - name: rose,jasmine - 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>brown</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 was 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:brown" } 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 [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/98e87028-cca8-445f-91f0-6e2dcb679084%40googlegroups.com.
