我可以在“hostvars”上使用什麼 Ansible 過濾器來提取字串?

我可以在“hostvars”上使用什麼 Ansible 過濾器來提取字串?
"{{ hostvars['DUMMY_HOST']['iosengineID'] }}"

值回傳這個

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

我可以使用哪個過濾器提取或列印或註冊該值?

80000009045B575A5032333331303055565D

答案1

的價值ios引擎ID是一個包含單一項目的列表,該項目是一個列表

iosengineID: [['80000009045B575A5032333331303055565D']]

您想要的是第一個清單中的第一項

    - debug:
        var: iosengineID.0.0

給出

  iosengineID.0.0: 80000009045B575A5032333331303055565D

答案2

我必須在主機變數上使用這個瘋狂的過濾器!

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

然後它寫入這個值,以便我可以將其用作變數將其寫入文件中:

80000009045B575A5032333331303055565D

相關內容