Hello VMware Staff / Product Management,
We are developing a production-grade provisioning integration (WHMCS + custom backend) against vSphere 8.0 U3 and we need to store a VM identifier that survives the following scenarios with 100 % reliability:
- Cross vCenter vMotion (xVC-vMotion)
- HCX migrations (Bulk, vMotion, RAV)
- Unregister / re-register of the same VM
- SRM failover / failback
- vCenter upgrade (7 → 8) and vCenter migration (with Migration Assistant)
- Multi-vCenter / Enhanced Linked Mode environments
We store a vSphere VM identifier in our database so that, even if the MoRef (vm-XXXX) changes (unregister/re-register, xVC-vMotion, HCX migration, etc.), we can still reliably find the same logical VM again and never accidentally send PowerOn/Reconfig/Delete or any other operation to the wrong VM.
we have this in the api documents
VcenterVmIdentityInfo {
bios_uuid: (string, required)
128-bit SMBIOS UUID of a virtual machine represented as a hexadecimal string in "12345678-abcd-1234-cdef-123456789abc" format.
instance_uuid: (string, required)
VirtualCenter-specific 128-bit UUID of a virtual machine, represented as a hexademical string. This identifier is used by VirtualCenter to uniquely identify all virtual machine instances, including those that may share the same SMBIOS UUID.
name: (string, required)
Virtual machine name.
}