Hello,

I am using the stat module to check if a file exist, if not, copy from src 
to destination. I also want to setup a flag in order to overwrite 
destination, to achieve this, i am using a conditional like the one on the 
*when* clause:

- stat: path=/path/to/file
  register: nameoffile
- copy: src=/home/user/source.tar.gz dest=/destination/path/file owner=root 
group=root
  when: flag_to_overwrite == true or (nameoffile.stat.isreg is undefined 
and nameoffile.stat.isreg == false)


In vars/main.yml:
flag_to_overwrite: true


If the destination does exist and flag_to_overwrite is set to true,  when i 
run the playbook, ansible-playbook doesn't show any error, but the file is 
not overwritten. 

If i use only the variable flag_to_overwrite, the value it's been evaluated 
and works ok (true copies the file, false does not do anything).
  when: flag_to_overwrite == true


I have used:
when: flag_to_overwrite or (nameoffile.stat.isreg is undefined and 
nameoffile.stat.isreg == false)

when: (flag_to_overwrite == true) or (nameoffile.stat.isreg is undefined 
and nameoffile.stat.isreg == false)

but the compound conditional does not work.


Any hint?


Thanks in advance!


Ansible 1.7





-- 
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 post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/74d19de5-32a7-4b40-b31b-3617fe18af5e%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to