Hola buenas,
¿por que se dan estas incongruencias al usar variables en el modulo copy en su argumento dest.?
Hola buenas,
¿por que se dan estas incongruencias al usar variables en el modulo copy en su argumento dest.?
Hola buenas,
¿por que se dan estas incongruencias al usar variables en el modulo copy en
su argumento dest.?---
- hosts: localhost
vars:
PathLs: /etc/ansible/
Folder: /ansible/tasks:
- name: Ejecuta script
script: "{{ PathLs }}ls.sh -al"
register: Log_Step1- name: volcamos la salida a consola
debug: var=Log_Step1.stdout_lines- name: volcamos la salida a fichero
copy:
content: |
{% for lines in Log_Step1.stdout_lines %}
{{ lines }}
{% endfor %}
# dest: /etc/ansible/logls.txt # usando esta linea ok
# dest: /etc/{{ Folder }}/logls.txt # usando esta linea ok.
# dest: {{ PathLs }}logls.txt # usando esto falla.
dest: "{{ PathLs }}logls.txt" # usando esta linea ok.¿por que en el caso de que comience por variable, tiene que usarse comillas,
y en los otros casos no?
AFAIK (http://docs.ansible.com/ansible/latest/playbooks_variables.html#hey-wait-a-yaml-gotcha),
you should use quotes around paths and other variables to guarantee
they are properly expanded. Out of curiosity, you could print {{
PathLs }}logls.txt with and without quotes (say, using a debug
statement) to see how different they are.
check 1: with and without quotes are the same
`
Si usas {{ inmediatamente después de : , necesitas comillas o YAML
asume que es un diccionario.
valido:
msg: "{{variable}}"
invalido:
msg: {{variable}}
No requiere comillas si { no esta tras :
valido:
msg: Hola {{persona}}
invalido:
msg: {{saludo}} Jose
Estos son requerimientos de YAML, que Ansible usa como formato.
Did you check the link I gave you in my reply?
Mauricio: Sorry, I did not check your link on Friday. Yes now.
Both: thanks for explaining this to me.
Is there any place to see these rare cases of yaml?