I'm writing some workflows to take care of automatic zoning using the Cisco MDS REST API. As part of that I need to be able to identify ESXi host HBAs on the SAN fabric. Today, we create device aliases based on the name of the HBA in vCenter. For example, if I have a host called tstdev-hb2-0004 and it shows HBAs vmhba0, vmhba1, vmhba2, vmhba3, my aliases would be:
tstdev-hb2-0004-vmhba0
tstdev-hb2-0004-vmhba1
tstdev-hb2-0004-vmhba2
tstdev-hb2-0004-vmhba3
When I run this code:
for each (var hba in u_host.configManager.storageSystem.storageDeviceInfo.hostBusAdapter)
{
if (hba instanceof VcHostFibreChannelHba)
{
System.log(hba.device);
}
}
I expect:
vmhba0
vmhba1
vmhba2
vmhba3
(which is what is displayed in vCenter)
But what I get back is:
vmhba1
vmhba2
vmhba3
vmhba4
How can I get the display names as displayed in vCenter?