J'ai le résultat d'une requête de ansible et j'ai essayé d'utiliser le résultat comme variable
Mon playbook est comme ça
- name: Query
Oracle_sql:
username: "{{ user }}"
password: "{{ password }}"
service_name: "{{ service_name }}"
sql: "select smth from table where smth like 'OK_%'"
register: smth
Le résultat est formaté comme suit:
"msg": [
[
"SMTH"
]
]
no stdout, no stderr
Après cela, je veux utiliser ma variable:
- name: echo
Shell: echo {{ smth.msg[0] }} > /tmp/test
et la sortie est comme ça:
[uSMTH]
Comment supprimer les crochets et le "u"? Je sais que c'est une liste, mais je ne peux pas m'en débarrasser.
J'ai essayé de convertir du format yaml ou json sans chance, ce dernier a ajouté du chariot de retour avec
| to_yaml
| to_json
| to_Nice_yaml
| to_Nice_json
Aucun conseil?
Le résultat que vous avez obtenu est une liste de listes. Donc, une liste de lignes, avec une liste des cellules de cette ligne.
Essayez quelque chose comme ça.
- name: echo
Shell: echo {{ smth.msg[0][0] }} > /tmp/test