What you gents are talking about it stonith. At the UPS and Host level, it's everything off or everything on. If you like individual STONITH per host, it's been a while however, this is done at the PDU and Host level. As for VM, I use Xen, and there we use libvirt and/or fence_virt.
There we have STONITH at the HOST (via PDU and Iron) and VM level (via PDU and virtual machine library)