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