Eu obtive uma saída de dicionário como abaixo de uma das tarefas Ansible "
msg": {
"vSwitch0": {
"failback": true,
"failover_active": [
"vmnic1",
"vmnic0"
],
"failover_standby": [],
"failure_detection": "link_status_only",
"lb": "loadbalance_srcid",
"mtu": 1500,
"notify": true,
"num_ports": 128,
"pnics": [
"vmnic0",
"vmnic1"
],
"security": [
false,
false,
false
],
"ts": false
}
}
}
Estou tentando usar o Json Query armazenando a saída acima em uma variável como "all_vswitch_info" e tentando extrair a lista de pnics conforme abaixo.
- debug: msg: "{{all_vswitch_info| json_query('pnics')}}"
Estou obtendo valor vazio como
ok: [localhost] => {
"msg": ""
}
Nota: tentei com outra opção como msg: "{{all_vswitch_info| json_query('[].pnics')}}" e ainda obtive o mesmo resultado
ok: [localhost] => {
"msg": ""
}
Está faltando alguma coisa? NOTA: Esta saída específica tem vSwitch0. Sob circunstâncias, isso pode ser algo como vswitch23 ou vswitch 3 ou com algum outro nome. Não consigo codificar o nome como vSwitch0 em json_query. No entanto, pnics é o nome do atributo que não será alterado por máquina de destino.