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.

Reply via email to