web-dev-qa-db-fra.com

Formatage standard stdout

En supposant les tâches ci-dessous:

Shell: "some_script.sh" register: "some_script_result"

debug: msg: "Output: {{ some_script_result.stdout_lines }}

Je reçois la sortie ci-dessous:

"msg": "Sortie: [u'some_value ', u'some_value2, u'some_value3]"

Comment puis-je obtenir la sortie pour imprimer en tant que?

"msg":

Sortie:

some_value

some_value2

some_value

La version Ansible est 2.4.2.

Je vous remercie!

6
Kimmel

Essayez l'option this . Tu l'adoreras.

Il y a un nouveau plugin de rappel YAML introduit avec Ansible 2.5 - ce qui signifie que toute machine exécutant Ansible 2.5.0 ou version ultérieure peut automatiquement commencer à utiliser ce format sans installer de plugins personnalisés.

Pour l'utiliser, modifiez votre fichier ansible.cfg (global, dans /etc/ansible/ansible.cfg ou local dans votre playbook/projet) et ajoutez les lignes suivantes sous la section [defaults]:

# Use the YAML callback plugin.
stdout_callback = yaml
# Use the stdout_callback when running ad-hoc commands.
bin_ansible_callbacks = True

Maintenant, je peux facilement lire votre message de sortie

10
imjoseangel