I have an APC1000 UPS, when there is loss of power I would like it to shutdown all vm's and then shutdown the physical ESXi box.
Is this possible? or what options are there?
See If this helps https://communities.vmware.com/docs/DOC-11482
Do consider awarding points by choosing correct answer
The other possibility is to install NUT (network ups tool) as "client" on ESXi-server (and all but one VMs), and NUT "server" on one master-VM (can be VMa). This one VM will "listen" to UPS (using usb pass-through), and when there is power interruption, issues shutdown-commands to all NUT-clients (including the one running on ESXi). NUT-client on ESXi can be configured with "timeout" value, so it waits till NUT-clients on other VMs (and NUT-server on "master-VM") shut down all VMs, and then finally shutdown of ESXi-server is started.
The advantage of this approach is you do not need to keep ssh-pasword (or keyfile) on VMa, so that it could shutdown ESXi per ssh-script...
You can find NUT-client for ESXi (and some info) here. Use google-translate, if you do not speak french...