Welchen Ansible-Filter kann ich für „Hostvars“ verwenden, um Zeichenfolgen zu extrahieren?

Welchen Ansible-Filter kann ich für „Hostvars“ verwenden, um Zeichenfolgen zu extrahieren?
"{{ hostvars['DUMMY_HOST']['iosengineID'] }}"

value gibt dies zurück

{'msg': [['80000009045B575A5032333331303055565D']], 'failed': False, 'changed': False} 

Mit welchem ​​Filter kann ich den Wert extrahieren bzw. ausdrucken bzw. erfassen?

80000009045B575A5032333331303055565D

Antwort1

Der Wert voniosengineIDist eine Liste mit einem einzelnen Element, das eine Liste ist

iosengineID: [['80000009045B575A5032333331303055565D']]

Was Sie wollen, ist das erste Element auf der ersten Liste

    - debug:
        var: iosengineID.0.0

gibt

  iosengineID.0.0: 80000009045B575A5032333331303055565D

Antwort2

Ich musste diesen verrückten Filter auf Hostvars anwenden!!!!

"{{ hostvars['DUMMY_HOST']['foundengineID'] | regex_replace('[^A-Za-z0-9]','') | replace('msg','') | replace('failedFalsechangedFalse','') }}"

und dann schreibt es diesen Wert, sodass ich ihn als Variable verwenden kann, um ihn in eine Datei zu schreiben:

80000009045B575A5032333331303055565D

verwandte Informationen