Here's the code in Java (sorry don't have it in python)
// The tricky part in destroying a VM, is to find the disks before terminating
// the machine, and delete the disks after terminating the machine.
// find vm's virtuaL disks
List<VDI> virtualDiskImagesToDelete = new ArrayList<VDI>();
for (VBD vbd : VBD.getAll(connection)) {
if (vbd.getVM(connection).equals(vm) {
VDI vdi = vbd.getVDI(connection);
if (!vdi.getReadOnly(connection)) {
virtualDiskImagesToDelete.add(vdi);
}
}
}
// destroy vm and disks
vm.destroy(connection);
for (VDI vdi : virtualDiskImagesToDelete) {
vdi.destroy(connection);
}
Here's the code in Java (sorry don't have it in python)
// The tricky part in destroying a VM, is to find the disks before terminating esToDelete = new ArrayList<VDI>(); connection) ) { connection) .equals( vm) { connection) ; ly(connection) ) { skImagesToDelet e.add(vdi) ;
// the machine, and delete the disks after terminating the machine.
// find vm's virtuaL disks
List<VDI> virtualDiskImag
for (VBD vbd : VBD.getAll(
if (vbd.getVM(
VDI vdi = vbd.getVDI(
if (!vdi.getReadOn
virtualDi
}
}
}
// destroy vm and disks connection) ; esToDelete) { connection) ;
vm.destroy(
for (VDI vdi : virtualDiskImag
vdi.destroy(
}