Okay, that could work, with a few improvements. I think the solution should go as follows:
1. Install an SNMP network card in the UPS
2. Create a small VM (Linux) to monitor the UPS with PowerChute
3. Have the small VM issue a shutdown request to the ESXi host.
4. Configure the ESXi host to gracefully shut down the guest operating systems when the host is shut down, ensuring that the small VM goes down last and comes up first.
Alternatively:
1. Install an SNMP network card in the UPS
2. Configure each guest operating system to run PowerChute and shut itself down when the power fails.
Thanks for helping.