Solución:
Una respuesta más completa:
Si desea comprobar la existencia de un local archivo antes de realizar alguna tarea, aquí está el fragmento completo:
- name: get file stat to be able to perform a check in the following task
local_action: stat path=/path/to/file
register: file
- name: copy file if it exists
copy: src=/path/to/file dest=/destination/path
when: file.stat.exists
Si desea comprobar la existencia de un remoto archivo antes de realizar alguna tarea, este es el camino a seguir:
- name: get file stat to be able to perform check in the following task
stat: path=/path/to/file
register: file
- name: copy file if it exists
copy: src=/path/to/file dest=/destination/path
when: file.stat.exists
Cambie su primer paso por el siguiente en
- name: copy local filetocopy.zip to remote if exists
local_action: stat path="../filetocopy.zip"
register: result
Si no desea configurar dos tareas, puede usar ‘is file’ para verificar si existen archivos locales:
tasks:
- copy: src=/a/b/filetocopy.zip dest=/tmp/filetocopy.zip
when: '/a/b/filetocopy.zip' is file
La ruta es relativa al directorio del libro de jugadas, por lo que se recomienda usar la variable mágica role_path si se refiere a archivos dentro del directorio de roles.
Ref: http://docs.ansible.com/ansible/latest/playbooks_tests.html#testing-paths
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)