Re: [ansible-project] How to incorporate if else statement in Jinja template.

2020-03-06 Thread Stefan Hornburg (Racke)
On 3/6/20 1:35 PM, Shifa Shaikh wrote: > I know how to lookup a file using fileglob in Ansible but not sure how to > inside a Jinja template. > Very simple: {% if lookup('fileglob', '/home/racke/tmp/*.txt') %} Regards Racke > On Fri, 6 Mar, 2020, 5:55 pm Stefan Hornburg (Racke),

Re: [ansible-project] How to incorporate if else statement in Jinja template.

2020-03-06 Thread Shifa Shaikh
I know how to lookup a file using fileglob in Ansible but not sure how to inside a Jinja template. On Fri, 6 Mar, 2020, 5:55 pm Stefan Hornburg (Racke), wrote: > On 3/6/20 1:12 PM, Shifa Shaikh wrote: > > @Stefan I wish to check if the file bad*.txt exists on the path. Based > on the if

Re: [ansible-project] How to incorporate if else statement in Jinja template.

2020-03-06 Thread Stefan Hornburg (Racke)
On 3/6/20 1:12 PM, Shifa Shaikh wrote: > @Stefan I wish to check if the file bad*.txt exists on the path. Based on the > if condition I wish to template different > output. I assume that you are checking for file names matching bad*.txt. In that case you can use the fileglob lookup:

Re: [ansible-project] How to incorporate if else statement in Jinja template.

2020-03-06 Thread Shifa Shaikh
@Stefan I wish to check if the file bad*.txt exists on the path. Based on the if condition I wish to template different output. On Fri, 6 Mar, 2020, 5:34 pm Stefan Hornburg (Racke), wrote: > On 3/6/20 12:52 PM, Shifa Shaikh wrote: > > @Stefan I tried you suggestion of not using the curly

Re: [ansible-project] How to incorporate if else statement in Jinja template.

2020-03-06 Thread Stefan Hornburg (Racke)
On 3/6/20 12:52 PM, Shifa Shaikh wrote: > @Stefan I tried you suggestion of not using the curly braces and it helped > resolve the error. But now i get a new error. > > | > {%ifplaybook_dir +'/'+item +'/'+'bad*.txt'|exists %} > | There is no filter named 'exists'. Please explain what you want

Re: [ansible-project] How to incorporate if else statement in Jinja template.

2020-03-06 Thread Shifa Shaikh
@Stefan I tried you suggestion of not using the curly braces and it helped resolve the error. But now i get a new error. {% if playbook_dir + '/' + item + '/' + 'bad*.txt' | exists %} TASK [Create the Jinja2 based template]

Re: [ansible-project] How to incorporate if else statement in Jinja template.

2020-03-06 Thread Shifa Shaikh
@Stefan sorry but I could not understand your statement. Are you asking me to move the if statement out of the jinja template ? Below is the complete jinja template with the if statement that errors. I'm able to populate all the values correctly and the playbook works fine when the if

Re: [ansible-project] How to incorporate if else statement in Jinja template.

2020-03-06 Thread Stefan Hornburg (Racke)
On 3/6/20 11:52 AM, Shifa Shaikh wrote: > Vladimir Hi,  > > I tried  > > | > {%if{{playbook_dir }}/{{item }}/bad*.txt |exists %} > Don't use the curly braces inside the {%if ... } condition: {% if playbook_dir + '/' + item + '/' + 'bad*.txt' | exists %} Regards Racke > > {{item

Re: [ansible-project] How to incorporate if else statement in Jinja template.

2020-03-06 Thread Stefan Hornburg (Racke)
On 3/6/20 12:02 PM, Jean-Yves LENHOF wrote: > Hi, > > Your error is about a for loop, but your template included in your email > doesn't have this loop. The loop could be applied to the task, in that case you can use {{ item }} in the template on its own. Regards Racke > > Looks

Re: [ansible-project] How to incorporate if else statement in Jinja template.

2020-03-06 Thread Shifa Shaikh
Jean hi, I incorporated the if statement from my previous post in my original Jinja template after the second 'for loop' in my original post. Once the if condition is removed the error does not show anymore. On Fri, 6 Mar, 2020, 4:33 pm Jean-Yves LENHOF, wrote: > Hi, > > Your error is about a

Re: [ansible-project] How to incorporate if else statement in Jinja template.

2020-03-06 Thread Shifa Shaikh
If I remove the of statement the error goes away. I can confirm i'm using the same Jinja template as the output error shared. On Fri, 6 Mar, 2020, 4:33 pm Jean-Yves LENHOF, wrote: > Hi, > > Your error is about a for loop, but your template included in your email > doesn't have this loop. > >

Re: [ansible-project] How to incorporate if else statement in Jinja template.

2020-03-06 Thread Jean-Yves LENHOF
Hi, Your error is about a for loop, but your template included in your email doesn't have this loop. Looks like you didn't give us the good one Regards, JYL Le 06/03/2020 à 11:52, Shifa Shaikh a écrit : Vladimir Hi, I tried | {%if{{playbook_dir }}/{{item }}/bad*.txt |exists %} {{item

Re: [ansible-project] How to incorporate if else statement in Jinja template.

2020-03-06 Thread Shifa Shaikh
Vladimir Hi, I tried {% if {{ playbook_dir }}/{{ item }}/bad*.txt | exists %} {{ item }} {% else %} {{ item }} {% endif %} But I get this error: TASK [Create the Jinja2 based template]

Re: [ansible-project] How to incorporate if else statement in Jinja template.

2020-03-06 Thread Vladimir Botka
On Fri, 6 Mar 2020 01:59:00 -0800 (PST) Shifa Shaikh wrote: > How do i put the if /else condition in the jinja template ? See "if" https://jinja.palletsprojects.com/en/2.11.x/templates/#if -- You received this message because you are subscribed to the Google Groups "Ansible Project" group.

[ansible-project] How to incorporate if else statement in Jinja template.

2020-03-06 Thread Shifa Shaikh
Here is my variable file layers: - name: APP things: - cactus - lotus - jasmine - rose - name: WAS things: - mango - apple Below is my jinja template file: {% for layer in layers %} {% for item in layer.things %} {{