2014-04-10 42 views
5

Ho bisogno di fare codifica in base 64 di qualcosa del tipo: "https://myurl.com". Perché c'è un colon in quella stringa, ho bisogno di racchiudere tutto tra virgolette. Così ho qualcosa di simile:come usare ansible b64encode

- name: do the encode 
    shell: 'echo "https://myurl.com" | /usr/bin/base64' 
    register: bvalue 

Ma ho un vuoto quando uso:

{{ bvalue.stdout }} 

quindi voglio usare il costrutto Ansible, ma io non so come e la documentazione non è chiaro. E 'qualcosa di simile:

- name: do the encode 
    shell: '{{ "https://myurl.com" | b64encode }}' 

Ma io so che è sbagliato. E non riesco a trovare alcun esempio Aiuto!

risposta

5

Penso che questo sia il modo per farlo. Definire una variabile in un playbook:

MYVAR: "https://myurl.com" 

Poi nel ruolo, fare:

- name: do the encode 
    shell: echo {{ MYVAR | b64encode }} > /tmp/output