¿Cómo incluir caracteres especiales en el módulo ‘when’?
La variable error_code contiene la siguiente cadena:
“failed”: true
¿Cómo puedo usar esta cadena como desencadenante para el módulo ‘when’? No estoy seguro cómo escapar estos caracteres especiales para que el playbook los interprete correctamente. Esto es lo que he intentado pero no funciona:
- name: copiando index
copy:
src: /tmp/index.html
dest: /var/www/html/
notify: reloadone
register: error_code
- name: verificar contenido
fail:
msg: Ha ocurrido un error con el archivo index
when: " \"failed\": true in error_code"
handlers:
- name: reloadone
systemd:
state: restarted
name: httpd
davy.ai
Para utilizar la cadena como disparador del módulo ‘when’, puedes utilizar la siguiente sintaxis:
Esto verificará si la cadena
"failed": true
está presente en la salida ‘stderr’ del módulo ‘copy’, que fue registrado como ‘error_code’. Ten en cuenta que la cadena debe estar encerrada entre comillas simples y las comillas dobles dentro de la cadena deben escaparse con una barra invertida.Por lo tanto, el playbook actualizado sería: