vm_json=$(echo "[ $(virsh list --all|grep -Ev 'Id|----'|awk '{print "{ \"id\": \""$1"\", \"name\": \""$2"\", \"state\": \""$3 $4"\"}," }'|head -n -1) {} ]"|jq -r)
Example Output
[
{
"id": "4",
"name": "vmname-one",
"state": "running"
},
{
"id": "5",
"name": "vmname-two",
"state": "running"
},
{
"id": "6",
"name": "vmname-three",
"state": "running"
},
{
"id": "-",
"name": "vmname-four",
"state": "shutoff"
},
{}
]
vm_name="vmname-three"
block_device_json=$(echo "[ $(virsh domblklist $vm_name | grep -Ev 'Target|--------' | awk -v vm_name=$vm_name '{print "{ \"domain\": \""vm_name"\", \"target\": \""$1"\",\"path\": \""$2"\"}," }'|head -n -1) {} ]"|jq -r)
Example Output
[
{
"domain": "vmname-three",
"target": "sda",
"path": "/var/lib/libvirt/default/vmname-three.qcow2"
},
{
"domain": "vmname-three",
"target": "vda",
"path": "/var/lib/libvirt/default/vmname-three-second.qcow2"
},
{}
]