ESXCLI documentation deep dive

This post contains all information that have been found regarding the ESXCLI documentation while working on Get-EsxCli on steroids.
It demonstrates that for many esxcli commands the ESXi build matters and the ESXi version is not enough.


Update 19/04/2015: Issue with “esxcli vmware vxlan commands” and vSphere 6
I have noticed a little late the information below in the vCLI release note for 6.0
The following ESXCLI commands are no longer included on an ESXi host by default. They become available after the host has been prepared for VXLAN.
esxcli vmware vxlan commands

I have extracted all commands available by default for ESXi 6.0, but it will be necessary to do the same when the host has been prepared for VXLAN.
Identify all differences between the two set of data extracted.
And finally update the table in this post, and add all functions in this namespace when ESXi 6.0 has been prepared for VXLAN.

Update 17/03/2015: Add vSphere 6 and two others builds
471 commands now – 64 introduced with vSphere 6
2509828 – ESXi 5.0 Patch 11
2456374 – ESXi 5.5 Express Patch 6
2494585 – ESXi 6.0 GA

Official ESXCLI documentation:
Using ESXCLI 5.5
Using ESXCLI 5.1
Using ESXCLI 5.0

vSphere Command-Line Interface reference 5.5
vSphere Command-Line Interface reference 5.1
vSphere Command-Line Interface reference 5.0

Key points:
“Using ESXCLI”
The set of ESXCLI commands available on a host depends on the host configuration. The vSphere Command-Line Interface Reference lists help information for all ESXCLI commands. Run esxcli –server –help before you run a command on a host to verify that the command is defined on the host you are targeting

“vSphere Command-Line Interface reference”
For esxcli the actual lists of commands depends on the system that you are running on. Run esxcli –help for a list of commands on your system.

In other words the complete list of ESXCLI commands and parameters per ESXi build is not provided. The only solution is to check information on a per ESXi build basis.

ESXCLI Commands Per Version

This table identify all Esxcli functions per ESXi version.
“ALL” means that all builds within this version contain this function
"SOME" means that only some build within this version contain this function
Note: This table is valid only for the ESXi build tested so far.
Full Command5.0.05.1.05.5.06.0.0
device.addALL
device.alias.getALLALL
device.alias.listALLALL
elxnet.dbgmask.getALL
elxnet.dbgmask.setALL
elxnet.regdump.getALL
elxnet.stats.getALL
elxnet.vib.getALL
esxcli.command.listALLALLALLALL
fcoe.adapter.listALLALLALLALL
fcoe.nic.disableALLALLALLALL
fcoe.nic.discoverALLALLALLALL
fcoe.nic.listALLALLALLALL
fcoe.nic.setALL
graphics.device.listALLALL
graphics.vm.listALLALL
hardware.bootdevice.listALLALLALLALL
hardware.clock.getALLALLALLALL
hardware.clock.setALLALLALLALL
hardware.cpu.cpuid.getALLALLALLALL
hardware.cpu.global.getALLALLALLALL
hardware.cpu.global.setALLALLALLALL
hardware.cpu.listALLALLALLALL
hardware.ipmi.fru.getALLALLALL
hardware.ipmi.fru.listALLALLALL
hardware.ipmi.sdr.getALLALLALL
hardware.ipmi.sdr.listALLALLALL
hardware.ipmi.sel.clearSOMESOMEALL
hardware.ipmi.sel.getALLALLALL
hardware.ipmi.sel.listALLALLALL
hardware.memory.getALLALLALLALL
hardware.pci.listALLALLALLALL
hardware.platform.getALLALLALLALL
hardware.smartcard.certificate.listALL
hardware.smartcard.info.getALL
hardware.smartcard.slot.listALL
hardware.smartcard.token.listALL
hardware.trustedboot.getALLALLALL
iscsi.adapter.auth.chap.getALLALLALLALL
iscsi.adapter.auth.chap.setALLALLALLALL
iscsi.adapter.capabilities.getALLALLALLALL
iscsi.adapter.discovery.rediscoverALLALLALLALL
iscsi.adapter.discovery.sendtarget.addALLALLALLALL
iscsi.adapter.discovery.sendtarget.auth.chap.getALLALLALLALL
iscsi.adapter.discovery.sendtarget.auth.chap.setALLALLALLALL
iscsi.adapter.discovery.sendtarget.listALLALLALLALL
iscsi.adapter.discovery.sendtarget.param.getALLALLALLALL
iscsi.adapter.discovery.sendtarget.param.setALLALLALLALL
iscsi.adapter.discovery.sendtarget.removeALLALLALLALL
iscsi.adapter.discovery.statictarget.addALLALLALLALL
iscsi.adapter.discovery.statictarget.listALLALLALLALL
iscsi.adapter.discovery.statictarget.removeALLALLALLALL
iscsi.adapter.discovery.status.getALLALLALLALL
iscsi.adapter.firmware.getALLALLALLALL
iscsi.adapter.firmware.setALLALLALLALL
iscsi.adapter.getALLALLALLALL
iscsi.adapter.listALLALLALLALL
iscsi.adapter.param.getALLALLALLALL
iscsi.adapter.param.setALLALLALLALL
iscsi.adapter.setALLALLALLALL
iscsi.adapter.target.listALLALLALLALL
iscsi.adapter.target.portal.auth.chap.getALLALLALLALL
iscsi.adapter.target.portal.auth.chap.setALLALLALLALL
iscsi.adapter.target.portal.listALLALLALLALL
iscsi.adapter.target.portal.param.getALLALLALLALL
iscsi.adapter.target.portal.param.setALLALLALLALL
iscsi.ibftboot.getALLALLALLALL
iscsi.ibftboot.importALLALLALLALL
iscsi.logicalnetworkportal.listALLALLALLALL
iscsi.networkportal.addALLALLALLALL
iscsi.networkportal.ipconfig.getALLALLALLALL
iscsi.networkportal.ipconfig.setALLALLALLALL
iscsi.networkportal.ipv6config.address.addALL
iscsi.networkportal.ipv6config.address.listALL
iscsi.networkportal.ipv6config.address.removeALL
iscsi.networkportal.ipv6config.getALL
iscsi.networkportal.ipv6config.setALL
iscsi.networkportal.listALLALLALLALL
iscsi.networkportal.removeALLALLALLALL
iscsi.physicalnetworkportal.listALLALLALLALL
iscsi.physicalnetworkportal.param.getALLALLALLALL
iscsi.physicalnetworkportal.param.setALLALLALLALL
iscsi.plugin.listALLALLALLALL
iscsi.session.addALLALLALLALL
iscsi.session.connection.listALLALLALLALL
iscsi.session.listALLALLALLALL
iscsi.session.removeALLALLALLALL
iscsi.software.getALLALLALLALL
iscsi.software.setALLALLALLALL
network.diag.pingALLALLALL
network.fence.listALLALLALL
network.fence.network.bte.listALLALLALL
network.fence.network.listALLALLALL
network.fence.network.port.listALLALLALL
network.firewall.getALLALLALLALL
network.firewall.loadALLALLALLALL
network.firewall.refreshALLALLALLALL
network.firewall.ruleset.allowedip.addALLALLALLALL
network.firewall.ruleset.allowedip.listALLALLALLALL
network.firewall.ruleset.allowedip.removeALLALLALLALL
network.firewall.ruleset.listALLALLALLALL
network.firewall.ruleset.rule.listALLALLALLALL
network.firewall.ruleset.setALLALLALLALL
network.firewall.setALLALLALLALL
network.firewall.unloadALLALLALLALL
network.ip.connection.listALLALLALLALL
network.ip.dns.search.addALLALLALLALL
network.ip.dns.search.listALLALLALLALL
network.ip.dns.search.removeALLALLALLALL
network.ip.dns.server.addALLALLALLALL
network.ip.dns.server.listALLALLALLALL
network.ip.dns.server.removeALLALLALLALL
network.ip.getALLALLALLALL
network.ip.interface.addALLALLALLALL
network.ip.interface.ipv4.getALLALLALLALL
network.ip.interface.ipv4.setALLALLALLALL
network.ip.interface.ipv6.address.addALLALLALLALL
network.ip.interface.ipv6.address.listALLALLALLALL
network.ip.interface.ipv6.address.removeALLALLALLALL
network.ip.interface.ipv6.getALLALLALLALL
network.ip.interface.ipv6.setALLALLALLALL
network.ip.interface.listALLALLALLALL
network.ip.interface.removeALLALLALLALL
network.ip.interface.setALLALLALLALL
network.ip.interface.tag.addALLALLALL
network.ip.interface.tag.getALLALLALL
network.ip.interface.tag.removeALLALLALL
network.ip.ipsec.sa.addALLALLALL
network.ip.ipsec.sa.listALLALLALL
network.ip.ipsec.sa.removeALLALLALL
network.ip.ipsec.setALLALLALL
network.ip.ipsec.sp.addALLALLALL
network.ip.ipsec.sp.listALLALLALL
network.ip.ipsec.sp.removeALLALLALL
network.ip.neighbor.listALLALLALLALL
network.ip.neighbor.removeALLALL
network.ip.netstack.addALLALL
network.ip.netstack.getALLALL
network.ip.netstack.listALLALL
network.ip.netstack.removeALLALL
network.ip.netstack.setALLALL
network.ip.route.ipv4.addALLALLALL
network.ip.route.ipv4.listALLALLALL
network.ip.route.ipv4.removeALLALLALL
network.ip.route.ipv6.addALLALLALL
network.ip.route.ipv6.listALLALLALL
network.ip.route.ipv6.removeALLALLALL
network.ip.setALLALLALLALL
network.nic.coalesce.getALLALL
network.nic.coalesce.setALLALL
network.nic.cso.getALLALL
network.nic.cso.setALLALL
network.nic.downALLALLALLALL
network.nic.eeprom.changeALLALL
network.nic.eeprom.dumpALLALL
network.nic.getALLALLALLALL
network.nic.listALLALLALLALL
network.nic.negotiate.restartALLALL
network.nic.pauseParams.listALL
network.nic.pauseParams.setALL
network.nic.register.dumpALLALL
network.nic.ring.current.getALL
network.nic.ring.current.setALL
network.nic.ring.preset.getALL
network.nic.selftest.runALLALL
network.nic.setALLALLALLALL
network.nic.sg.getALLALL
network.nic.sg.setALLALL
network.nic.software.listALL
network.nic.software.setALL
network.nic.stats.getALLALLALL
network.nic.tso.getALLALL
network.nic.tso.setALLALL
network.nic.upALLALLALLALL
network.nic.vlan.stats.getALLALLALL
network.nic.vlan.stats.setALLALLALL
network.port.filter.stats.getALLALLALL
network.port.stats.getALLALLALL
network.sriovnic.listALLALLALL
network.sriovnic.vf.listALLALLALL
network.sriovnic.vf.statsALLALL
network.vm.listALLALLALL
network.vm.port.listALLALLALL
network.vswitch.dvs.vmware.lacp.config.getALLALL
network.vswitch.dvs.vmware.lacp.get.configALL
network.vswitch.dvs.vmware.lacp.get.statsALL
network.vswitch.dvs.vmware.lacp.get.statusALL
network.vswitch.dvs.vmware.lacp.stats.getALLALL
network.vswitch.dvs.vmware.lacp.status.getALLALL
network.vswitch.dvs.vmware.lacp.timeout.setALLALL
network.vswitch.dvs.vmware.listALLALLALLALL
network.vswitch.dvs.vmware.vxlan.config.stats.getALLALL
network.vswitch.dvs.vmware.vxlan.config.stats.setALLALL
network.vswitch.dvs.vmware.vxlan.getALL
network.vswitch.dvs.vmware.vxlan.listALLALL
network.vswitch.dvs.vmware.vxlan.network.arp.listALL
network.vswitch.dvs.vmware.vxlan.network.arp.resetALL
network.vswitch.dvs.vmware.vxlan.network.listALLALL
network.vswitch.dvs.vmware.vxlan.network.mac.listALL
network.vswitch.dvs.vmware.vxlan.network.mac.resetALL
network.vswitch.dvs.vmware.vxlan.network.mapping.listALL
network.vswitch.dvs.vmware.vxlan.network.mapping.resetALL
network.vswitch.dvs.vmware.vxlan.network.mtep.listALL
network.vswitch.dvs.vmware.vxlan.network.port.listALLALL
network.vswitch.dvs.vmware.vxlan.network.port.stats.listALLALL
network.vswitch.dvs.vmware.vxlan.network.port.stats.resetALLALL
network.vswitch.dvs.vmware.vxlan.network.stats.listALLALL
network.vswitch.dvs.vmware.vxlan.network.stats.resetALLALL
network.vswitch.dvs.vmware.vxlan.stats.listALLALL
network.vswitch.dvs.vmware.vxlan.stats.resetALLALL
network.vswitch.dvs.vmware.vxlan.vmknic.listALLALL
network.vswitch.dvs.vmware.vxlan.vmknic.multicastgroup.listALLALL
network.vswitch.dvs.vmware.vxlan.vmknic.stats.listALLALL
network.vswitch.dvs.vmware.vxlan.vmknic.stats.resetALLALL
network.vswitch.standard.addALLALLALLALL
network.vswitch.standard.listALLALLALLALL
network.vswitch.standard.policy.failover.getALLALLALLALL
network.vswitch.standard.policy.failover.setALLALLALLALL
network.vswitch.standard.policy.security.getALLALLALLALL
network.vswitch.standard.policy.security.setALLALLALLALL
network.vswitch.standard.policy.shaping.getALLALLALLALL
network.vswitch.standard.policy.shaping.setALLALLALLALL
network.vswitch.standard.portgroup.addALLALLALLALL
network.vswitch.standard.portgroup.listALLALLALLALL
network.vswitch.standard.portgroup.policy.failover.getALLALLALLALL
network.vswitch.standard.portgroup.policy.failover.setALLALLALLALL
network.vswitch.standard.portgroup.policy.security.getALLALLALLALL
network.vswitch.standard.portgroup.policy.security.setALLALLALLALL
network.vswitch.standard.portgroup.policy.shaping.getALLALLALLALL
network.vswitch.standard.portgroup.policy.shaping.setALLALLALLALL
network.vswitch.standard.portgroup.removeALLALLALLALL
network.vswitch.standard.portgroup.setALLALLALLALL
network.vswitch.standard.removeALLALLALLALL
network.vswitch.standard.setALLALLALLALL
network.vswitch.standard.uplink.addALLALLALLALL
network.vswitch.standard.uplink.removeALLALLALLALL
rdma.device.listALL
rdma.device.stats.getALL
rdma.device.vmknic.listALL
sched.reliablemem.getALLALL
sched.swap.system.getALLALLALL
sched.swap.system.setALLALLALL
software.acceptance.getALLALLALLALL
software.acceptance.setALLALLALLALL
software.profile.getALLALLALLALL
software.profile.installALLALLALLALL
software.profile.updateALLALLALLALL
software.profile.validateALLALLALLALL
software.sources.profile.getALLALLALLALL
software.sources.profile.listALLALLALLALL
software.sources.vib.getALLALLALLALL
software.sources.vib.listALLALLALLALL
software.vib.getALLALLALLALL
software.vib.installALLALLALLALL
software.vib.listALLALLALLALL
software.vib.removeALLALLALLALL
software.vib.updateALLALLALLALL
storage.core.adapter.listALLALLALLALL
storage.core.adapter.rescanALLALLALLALL
storage.core.adapter.stats.getALLALLALLALL
storage.core.claiming.autoclaimALLALLALLALL
storage.core.claiming.reclaimALLALLALLALL
storage.core.claiming.unclaimALLALLALLALL
storage.core.claimrule.addALLALLALLALL
storage.core.claimrule.convertALLALLALLALL
storage.core.claimrule.listALLALLALLALL
storage.core.claimrule.loadALLALLALLALL
storage.core.claimrule.moveALLALLALLALL
storage.core.claimrule.removeALLALLALLALL
storage.core.claimrule.runALLALLALLALL
storage.core.device.detached.listALLALLALLALL
storage.core.device.detached.removeALLALLALLALL
storage.core.device.listALLALLALLALL
storage.core.device.partition.listALLALLALLALL
storage.core.device.partition.showguidALLALLALL
storage.core.device.physical.getALL
storage.core.device.raid.listALL
storage.core.device.setALLALLALLALL
storage.core.device.setconfigALLALLALLALL
storage.core.device.smart.getALLALLALL
storage.core.device.stats.getALLALLALLALL
storage.core.device.vaai.status.getALLALLALLALL
storage.core.device.world.listALLALLALLALL
storage.core.path.listALLALLALLALL
storage.core.path.setALLALLALLALL
storage.core.path.stats.getALLALLALLALL
storage.core.plugin.listALLALLALLALL
storage.core.plugin.registration.addALLALLALLALL
storage.core.plugin.registration.listALLALLALLALL
storage.core.plugin.registration.removeALLALLALLALL
storage.filesystem.automountALLALLALLALL
storage.filesystem.listALLALLALLALL
storage.filesystem.mountALLALLALLALL
storage.filesystem.rescanALLALLALLALL
storage.filesystem.unmountALLALLALLALL
storage.nfs.addALLALLALLALL
storage.nfs.listALLALLALLALL
storage.nfs.param.getSOMESOMEALLALL
storage.nfs.param.setSOMESOMEALLALL
storage.nfs.removeALLALLALLALL
storage.nfs41.addALL
storage.nfs41.listALL
storage.nfs41.param.getALL
storage.nfs41.param.setALL
storage.nfs41.removeALL
storage.nmp.device.listALLALLALLALL
storage.nmp.device.setALLALLALLALL
storage.nmp.path.listALLALLALLALL
storage.nmp.psp.fixed.deviceconfig.getALLALLALLALL
storage.nmp.psp.fixed.deviceconfig.setALLALLALLALL
storage.nmp.psp.generic.deviceconfig.getALLALLALLALL
storage.nmp.psp.generic.deviceconfig.setALLALLALLALL
storage.nmp.psp.generic.pathconfig.getALLALLALLALL
storage.nmp.psp.generic.pathconfig.setALLALLALLALL
storage.nmp.psp.listALLALLALLALL
storage.nmp.psp.roundrobin.deviceconfig.getALLALLALLALL
storage.nmp.psp.roundrobin.deviceconfig.setALLALLALLALL
storage.nmp.satp.generic.deviceconfig.getALLALLALLALL
storage.nmp.satp.generic.deviceconfig.setALLALLALLALL
storage.nmp.satp.generic.pathconfig.getALLALLALLALL
storage.nmp.satp.generic.pathconfig.setALLALLALLALL
storage.nmp.satp.listALLALLALLALL
storage.nmp.satp.rule.addALLALLALLALL
storage.nmp.satp.rule.listALLALLALLALL
storage.nmp.satp.rule.removeALLALLALLALL
storage.nmp.satp.setALLALLALLALL
storage.san.fc.events.clearALLALLALL
storage.san.fc.events.getALLALLALL
storage.san.fc.listALLALLALL
storage.san.fc.resetALLALLALL
storage.san.fc.stats.getALLALLALL
storage.san.fcoe.listALLALLALL
storage.san.fcoe.resetALLALLALL
storage.san.fcoe.stats.getALLALLALL
storage.san.iscsi.listALLALLALL
storage.san.iscsi.stats.getALLALLALL
storage.san.sas.listALLALLALL
storage.san.sas.resetALLALLALL
storage.san.sas.stats.getALLALLALL
storage.vflash.cache.getALLALL
storage.vflash.cache.listALLALL
storage.vflash.cache.stats.getALLALL
storage.vflash.cache.stats.resetALLALL
storage.vflash.device.listALLALL
storage.vflash.module.getALLALL
storage.vflash.module.listALLALL
storage.vflash.module.stats.getALLALL
storage.vmfs.extent.listALLALLALLALL
storage.vmfs.host.listALL
storage.vmfs.lockmode.listALL
storage.vmfs.lockmode.setALL
storage.vmfs.pbcache.getALL
storage.vmfs.pbcache.resetALL
storage.vmfs.snapshot.extent.listALLALLALLALL
storage.vmfs.snapshot.listALLALLALLALL
storage.vmfs.snapshot.mountALLALLALLALL
storage.vmfs.snapshot.resignatureALLALLALLALL
storage.vmfs.unmapALLALL
storage.vmfs.upgradeALLALLALLALL
storage.vvol.daemon.unbindallALL
storage.vvol.protocolendpoint.listALL
storage.vvol.storagecontainer.abandonedvvol.scanALL
storage.vvol.storagecontainer.listALL
storage.vvol.vasacontext.getALL
storage.vvol.vasaprovider.listALL
system.account.addALL
system.account.listALL
system.account.removeALL
system.account.setALL
system.boot.device.getALLALLALLALL
system.coredump.file.addALLALL
system.coredump.file.getALLALL
system.coredump.file.listALLALL
system.coredump.file.removeALLALL
system.coredump.file.setALLALL
system.coredump.network.checkALLALLALL
system.coredump.network.getALLALLALLALL
system.coredump.network.setALLALLALLALL
system.coredump.partition.getALLALLALLALL
system.coredump.partition.listALLALLALLALL
system.coredump.partition.setALLALLALLALL
system.hostname.getALLALLALLALL
system.hostname.setALLALLALLALL
system.maintenanceMode.getALLALLALL
system.maintenanceMode.setALLALLALL
system.module.getALLALLALLALL
system.module.listALLALLALLALL
system.module.loadALLALLALLALL
system.module.parameters.copyALL
system.module.parameters.listALLALLALLALL
system.module.parameters.setALLALLALLALL
system.module.setALLALLALLALL
system.permission.listALL
system.permission.setALL
system.permission.unsetALL
system.process.listALLALLALLALL
system.process.stats.load.getALLALLALLALL
system.process.stats.running.getALLALLALLALL
system.secpolicy.domain.listALLALLALLALL
system.secpolicy.domain.setALLALLALLALL
system.security.certificatestore.addSOMEALL
system.security.certificatestore.listSOMEALL
system.security.certificatestore.removeSOMEALL
system.settings.advanced.listALLALLALLALL
system.settings.advanced.setALLALLALLALL
system.settings.kernel.listALLALLALLALL
system.settings.kernel.setALLALLALLALL
system.settings.keyboard.layout.getALLALLALLALL
system.settings.keyboard.layout.listALLALLALLALL
system.settings.keyboard.layout.setALLALLALLALL
system.shutdown.poweroffALLALLALL
system.shutdown.rebootALLALLALL
system.slp.searchALL
system.slp.stats.getALL
system.snmp.getALLALLALL
system.snmp.hashALLALLALL
system.snmp.setALLALLALL
system.snmp.testALLALLALL
system.stats.uptime.getALLALLALLALL
system.syslog.config.getALLALLALLALL
system.syslog.config.logger.listALLALLALLALL
system.syslog.config.logger.setALLALLALLALL
system.syslog.config.setALLALLALLALL
system.syslog.markALLALLALLALL
system.syslog.reloadALLALLALLALL
system.time.getALLALLALLALL
system.time.setALLALLALLALL
system.uuid.getALLALLALLALL
system.version.getALLALLALLALL
system.visorfs.getALLALLALLALL
system.visorfs.ramdisk.addALLALLALLALL
system.visorfs.ramdisk.listALLALLALLALL
system.visorfs.ramdisk.removeALLALLALLALL
system.visorfs.tardisk.listALLALLALLALL
system.welcomemsg.getALLALLALLALL
system.welcomemsg.setALLALLALLALL
vm.process.killALLALLALLALL
vm.process.listALLALLALLALL
vsan.cluster.getALLALL
vsan.cluster.joinALLALL
vsan.cluster.leaveALLALL
vsan.cluster.newALL
vsan.cluster.restoreALLALL
vsan.datastore.name.getALLALL
vsan.datastore.name.setALLALL
vsan.faultdomain.getALL
vsan.faultdomain.resetALL
vsan.faultdomain.setALL
vsan.maintenancemode.cancelALLALL
vsan.network.clearALLALL
vsan.network.ipv4.addALLALL
vsan.network.ipv4.removeALLALL
vsan.network.ipv4.setALLALL
vsan.network.listALLALL
vsan.network.removeALLALL
vsan.network.restoreALLALL
vsan.policy.cleardefaultALLALL
vsan.policy.getdefaultALLALL
vsan.policy.setdefaultALLALL
vsan.storage.addALLALL
vsan.storage.automode.getALLALL
vsan.storage.automode.setALLALL
vsan.storage.checksum.getALL
vsan.storage.checksum.setALL
vsan.storage.diskgroup.mountALL
vsan.storage.diskgroup.unmountALL
vsan.storage.listALLALL
vsan.storage.removeALLALL
vsan.storage.tag.addALL
vsan.storage.tag.removeALL
vsan.trace.setALLALL

Analysis:
“Some”
hardware.ipmi.sel.clear
No information for this command in the esxcli official documentation
5.1 Since Build 1483097 / ESXi 5.1 Update 2
5.5 Since Build 1474528 / ESXi 5.5 Patch 1

storage.nfs.param.get
storage.nfs.param.set
No information for these command in the esxcli documentation for 5.0 and 5.1
5.0 Since Build 1311175 / ESXi 5.0 Update 3
5.1 Since Build 1483097 / ESXi 5.1 Update 2

system.security.certificatestore.add
system.security.certificatestore.list
system.security.certificatestore.remove
Opposite effect, information are on the esxcli documentation for 5.5
But only available for 3 builds.
1331820 / ESXi 5.5 GA
1474528 / ESXi 5.5 Patch 1
1746974 / ESXi 5.5 Express Patch 3
It will be interesting to know why these 3 commands have been added and removed, especially when some builds between 1474528 1746974 don’t have it.

“Others”
We can see that as a general rule the new version include all commands of the previous one, plus some new commands which is logical, more and more functions will be available for esxcli.
However there are few exceptions.

network.vswitch.dvs.vmware.lacp.get.config
network.vswitch.dvs.vmware.lacp.get.stats
network.vswitch.dvs.vmware.lacp.get.status
The command above in 5.1 seem to have been replaced in 5.5.0 by
network.vswitch.dvs.vmware.lacp.config.get
network.vswitch.dvs.vmware.lacp.stats.get
network.vswitch.dvs.vmware.lacp.status.get

I can understand the concept of using an action word at the end of the command.
But in that case why using .stats for “network.sriovnic.vf.stats” introduced in 5.5?
With the logic above it should have been “network.sriovnic.vf.stats.get”

network.vswitch.dvs.vmware.vxlan.network.mapping.list
network.vswitch.dvs.vmware.vxlan.network.mapping.reset
Only in 5.1. I am wondering if these commands have been splitted in 5.5 when replacing “mapping” by “MAC” or “ARP”

ESXCLI parameters inconsistent

This table identify which Esxcli functions have parameters modified from one ESXi version to another, and/or, modified between builds within the same version.
A “YES” means that the parameters are inconsistent.
Note: This table is valid only for the ESXi build tested so far.
Full commandInter VersionIntra 5.0.0Intra 5.1.0Intra 5.5.0Intra 6.0.0
device.addNONO
device.alias.getNONONO
device.alias.listNONONO
elxnet.dbgmask.getNONO
elxnet.dbgmask.setNONO
elxnet.regdump.getNONO
elxnet.stats.getNONO
elxnet.vib.getNONO
esxcli.command.listNONONONONO
fcoe.adapter.listNONONONONO
fcoe.nic.disableNONONONONO
fcoe.nic.discoverNONONONONO
fcoe.nic.listNONONONONO
fcoe.nic.setNONO
graphics.device.listNONONO
graphics.vm.listNONONO
hardware.bootdevice.listNONONONONO
hardware.clock.getNONONONONO
hardware.clock.setNONONONONO
hardware.cpu.cpuid.getNONONONONO
hardware.cpu.global.getNONONONONO
hardware.cpu.global.setNONONONONO
hardware.cpu.listNONONONONO
hardware.ipmi.fru.getYESYESYESNO
hardware.ipmi.fru.listYESYESYESNO
hardware.ipmi.sdr.getYESYESYESNO
hardware.ipmi.sdr.listYESYESYESNO
hardware.ipmi.sel.clearNONONONO
hardware.ipmi.sel.getYESYESYESNO
hardware.ipmi.sel.listYESYESYESNO
hardware.memory.getNONONONONO
hardware.pci.listYESNONONONO
hardware.platform.getNONONONONO
hardware.smartcard.certificate.listNONO
hardware.smartcard.info.getNONO
hardware.smartcard.slot.listNONO
hardware.smartcard.token.listNONO
hardware.trustedboot.getNONONONO
iscsi.adapter.auth.chap.getNONONONONO
iscsi.adapter.auth.chap.setNONONONONO
iscsi.adapter.capabilities.getNONONONONO
iscsi.adapter.discovery.rediscoverNONONONONO
iscsi.adapter.discovery.sendtarget.addNONONONONO
iscsi.adapter.discovery.sendtarget.auth.chap.getNONONONONO
iscsi.adapter.discovery.sendtarget.auth.chap.setNONONONONO
iscsi.adapter.discovery.sendtarget.listNONONONONO
iscsi.adapter.discovery.sendtarget.param.getNONONONONO
iscsi.adapter.discovery.sendtarget.param.setNONONONONO
iscsi.adapter.discovery.sendtarget.removeNONONONONO
iscsi.adapter.discovery.statictarget.addNONONONONO
iscsi.adapter.discovery.statictarget.listNONONONONO
iscsi.adapter.discovery.statictarget.removeNONONONONO
iscsi.adapter.discovery.status.getNONONONONO
iscsi.adapter.firmware.getNONONONONO
iscsi.adapter.firmware.setNONONONONO
iscsi.adapter.getNONONONONO
iscsi.adapter.listNONONONONO
iscsi.adapter.param.getNONONONONO
iscsi.adapter.param.setNONONONONO
iscsi.adapter.setNONONONONO
iscsi.adapter.target.listNONONONONO
iscsi.adapter.target.portal.auth.chap.getNONONONONO
iscsi.adapter.target.portal.auth.chap.setNONONONONO
iscsi.adapter.target.portal.listNONONONONO
iscsi.adapter.target.portal.param.getNONONONONO
iscsi.adapter.target.portal.param.setNONONONONO
iscsi.ibftboot.getNONONONONO
iscsi.ibftboot.importNONONONONO
iscsi.logicalnetworkportal.listNONONONONO
iscsi.networkportal.addNONONONONO
iscsi.networkportal.ipconfig.getNONONONONO
iscsi.networkportal.ipconfig.setYESNONONONO
iscsi.networkportal.ipv6config.address.addNONO
iscsi.networkportal.ipv6config.address.listNONO
iscsi.networkportal.ipv6config.address.removeNONO
iscsi.networkportal.ipv6config.getNONO
iscsi.networkportal.ipv6config.setNONO
iscsi.networkportal.listNONONONONO
iscsi.networkportal.removeNONONONONO
iscsi.physicalnetworkportal.listNONONONONO
iscsi.physicalnetworkportal.param.getNONONONONO
iscsi.physicalnetworkportal.param.setYESNONONONO
iscsi.plugin.listNONONONONO
iscsi.session.addNONONONONO
iscsi.session.connection.listNONONONONO
iscsi.session.listNONONONONO
iscsi.session.removeNONONONONO
iscsi.software.getNONONONONO
iscsi.software.setNONONONONO
network.diag.pingYESNONONO
network.fence.listNONONONO
network.fence.network.bte.listNONONONO
network.fence.network.listNONONONO
network.fence.network.port.listNONONONO
network.firewall.getNONONONONO
network.firewall.loadNONONONONO
network.firewall.refreshNONONONONO
network.firewall.ruleset.allowedip.addNONONONONO
network.firewall.ruleset.allowedip.listNONONONONO
network.firewall.ruleset.allowedip.removeNONONONONO
network.firewall.ruleset.listNONONONONO
network.firewall.ruleset.rule.listNONONONONO
network.firewall.ruleset.setNONONONONO
network.firewall.setNONONONONO
network.firewall.unloadNONONONONO
network.ip.connection.listYESNONONONO
network.ip.dns.search.addYESNONONONO
network.ip.dns.search.listYESNONONONO
network.ip.dns.search.removeYESNONONONO
network.ip.dns.server.addYESNONONONO
network.ip.dns.server.listYESNONONONO
network.ip.dns.server.removeYESNONONONO
network.ip.getNONONONONO
network.ip.interface.addYESNONONONO
network.ip.interface.ipv4.getYESNONONONO
network.ip.interface.ipv4.setNONONONONO
network.ip.interface.ipv6.address.addNONONONONO
network.ip.interface.ipv6.address.listYESNONONONO
network.ip.interface.ipv6.address.removeNONONONONO
network.ip.interface.ipv6.getYESNONONONO
network.ip.interface.ipv6.setNONONONONO
network.ip.interface.listYESNONONONO
network.ip.interface.removeYESNONONONO
network.ip.interface.setNONONONONO
network.ip.interface.tag.addNONONONO
network.ip.interface.tag.getNONONONO
network.ip.interface.tag.removeNONONONO
network.ip.ipsec.sa.addNONONONO
network.ip.ipsec.sa.listNONONONO
network.ip.ipsec.sa.removeNONONONO
network.ip.ipsec.setNONONONO
network.ip.ipsec.sp.addNONONONO
network.ip.ipsec.sp.listNONONONO
network.ip.ipsec.sp.removeNONONONO
network.ip.neighbor.listYESNONONONO
network.ip.neighbor.removeNONONO
network.ip.netstack.addNONONO
network.ip.netstack.getNONONO
network.ip.netstack.listNONONO
network.ip.netstack.removeNONONO
network.ip.netstack.setNONONO
network.ip.route.ipv4.addYESNONONO
network.ip.route.ipv4.listYESNONONO
network.ip.route.ipv4.removeYESNONONO
network.ip.route.ipv6.addYESNONONO
network.ip.route.ipv6.listYESNONONO
network.ip.route.ipv6.removeYESNONONO
network.ip.setNONONONONO
network.nic.coalesce.getNONONO
network.nic.coalesce.setYESNONO
network.nic.cso.getNONONO
network.nic.cso.setNONONO
network.nic.downNONONONONO
network.nic.eeprom.changeNONONO
network.nic.eeprom.dumpNONONO
network.nic.getNONONONONO
network.nic.listNONONONONO
network.nic.negotiate.restartNONONO
network.nic.pauseParams.listNONO
network.nic.pauseParams.setNONO
network.nic.register.dumpNONONO
network.nic.ring.current.getNONO
network.nic.ring.current.setNONO
network.nic.ring.preset.getNONO
network.nic.selftest.runNONONO
network.nic.setNONONONONO
network.nic.sg.getNONONO
network.nic.sg.setNONONO
network.nic.software.listNONO
network.nic.software.setNONO
network.nic.stats.getNONONONO
network.nic.tso.getNONONO
network.nic.tso.setNONONO
network.nic.upNONONONONO
network.nic.vlan.stats.getNONONONO
network.nic.vlan.stats.setNONONONO
network.port.filter.stats.getNONONONO
network.port.stats.getNONONONO
network.sriovnic.listNONONONO
network.sriovnic.vf.listNONONONO
network.sriovnic.vf.statsNONONO
network.vm.listNONONONO
network.vm.port.listNONONONO
network.vswitch.dvs.vmware.lacp.config.getNONONO
network.vswitch.dvs.vmware.lacp.get.configNONO
network.vswitch.dvs.vmware.lacp.get.statsNONO
network.vswitch.dvs.vmware.lacp.get.statusNONO
network.vswitch.dvs.vmware.lacp.stats.getNONONO
network.vswitch.dvs.vmware.lacp.status.getNONONO
network.vswitch.dvs.vmware.lacp.timeout.setNONONO
network.vswitch.dvs.vmware.listNONONONONO
network.vswitch.dvs.vmware.vxlan.config.stats.getNONONO
network.vswitch.dvs.vmware.vxlan.config.stats.setNONONO
network.vswitch.dvs.vmware.vxlan.getNONO
network.vswitch.dvs.vmware.vxlan.listNONONO
network.vswitch.dvs.vmware.vxlan.network.arp.listNONO
network.vswitch.dvs.vmware.vxlan.network.arp.resetNONO
network.vswitch.dvs.vmware.vxlan.network.listNONONO
network.vswitch.dvs.vmware.vxlan.network.mac.listNONO
network.vswitch.dvs.vmware.vxlan.network.mac.resetNONO
network.vswitch.dvs.vmware.vxlan.network.mapping.listNONO
network.vswitch.dvs.vmware.vxlan.network.mapping.resetNONO
network.vswitch.dvs.vmware.vxlan.network.mtep.listNONO
network.vswitch.dvs.vmware.vxlan.network.port.listNONONO
network.vswitch.dvs.vmware.vxlan.network.port.stats.listNONONO
network.vswitch.dvs.vmware.vxlan.network.port.stats.resetNONONO
network.vswitch.dvs.vmware.vxlan.network.stats.listNONONO
network.vswitch.dvs.vmware.vxlan.network.stats.resetNONONO
network.vswitch.dvs.vmware.vxlan.stats.listNONONO
network.vswitch.dvs.vmware.vxlan.stats.resetNONONO
network.vswitch.dvs.vmware.vxlan.vmknic.listYESNONO
network.vswitch.dvs.vmware.vxlan.vmknic.multicastgroup.listYESNONO
network.vswitch.dvs.vmware.vxlan.vmknic.stats.listYESNONO
network.vswitch.dvs.vmware.vxlan.vmknic.stats.resetYESNONO
network.vswitch.standard.addNONONONONO
network.vswitch.standard.listNONONONONO
network.vswitch.standard.policy.failover.getNONONONONO
network.vswitch.standard.policy.failover.setNONONONONO
network.vswitch.standard.policy.security.getNONONONONO
network.vswitch.standard.policy.security.setNONONONONO
network.vswitch.standard.policy.shaping.getNONONONONO
network.vswitch.standard.policy.shaping.setNONONONONO
network.vswitch.standard.portgroup.addNONONONONO
network.vswitch.standard.portgroup.listNONONONONO
network.vswitch.standard.portgroup.policy.failover.getNONONONONO
network.vswitch.standard.portgroup.policy.failover.setNONONONONO
network.vswitch.standard.portgroup.policy.security.getNONONONONO
network.vswitch.standard.portgroup.policy.security.setNONONONONO
network.vswitch.standard.portgroup.policy.shaping.getNONONONONO
network.vswitch.standard.portgroup.policy.shaping.setNONONONONO
network.vswitch.standard.portgroup.removeNONONONONO
network.vswitch.standard.portgroup.setNONONONONO
network.vswitch.standard.removeNONONONONO
network.vswitch.standard.setNONONONONO
network.vswitch.standard.uplink.addNONONONONO
network.vswitch.standard.uplink.removeNONONONONO
rdma.device.listNONO
rdma.device.stats.getNONO
rdma.device.vmknic.listNONO
sched.reliablemem.getNONONO
sched.swap.system.getNONONONO
sched.swap.system.setNONONONO
software.acceptance.getNONONONONO
software.acceptance.setNONONONONO
software.profile.getNONONONONO
software.profile.installNONONONONO
software.profile.updateNONONONONO
software.profile.validateNONONONONO
software.sources.profile.getNONONONONO
software.sources.profile.listNONONONONO
software.sources.vib.getNONONONONO
software.sources.vib.listNONONONONO
software.vib.getNONONONONO
software.vib.installNONONONONO
software.vib.listNONONONONO
software.vib.removeNONONONONO
software.vib.updateNONONONONO
storage.core.adapter.listNONONONONO
storage.core.adapter.rescanNONONONONO
storage.core.adapter.stats.getNONONONONO
storage.core.claiming.autoclaimNONONONONO
storage.core.claiming.reclaimNONONONONO
storage.core.claiming.unclaimNONONONONO
storage.core.claimrule.addYESNONONONO
storage.core.claimrule.convertNONONONONO
storage.core.claimrule.listNONONONONO
storage.core.claimrule.loadNONONONONO
storage.core.claimrule.moveNONONONONO
storage.core.claimrule.removeNONONONONO
storage.core.claimrule.runNONONONONO
storage.core.device.detached.listNONONONONO
storage.core.device.detached.removeYESYESYESNONO
storage.core.device.listYESNONONONO
storage.core.device.partition.listNONONONONO
storage.core.device.partition.showguidNONONONO
storage.core.device.physical.getNONO
storage.core.device.raid.listNONO
storage.core.device.setYESNONOYESNO
storage.core.device.setconfigYESNONONONO
storage.core.device.smart.getNONONONO
storage.core.device.stats.getNONONONONO
storage.core.device.vaai.status.getNONONONONO
storage.core.device.world.listNONONONONO
storage.core.path.listNONONONONO
storage.core.path.setNONONONONO
storage.core.path.stats.getNONONONONO
storage.core.plugin.listNONONONONO
storage.core.plugin.registration.addNONONONONO
storage.core.plugin.registration.listNONONONONO
storage.core.plugin.registration.removeNONONONONO
storage.filesystem.automountNONONONONO
storage.filesystem.listYESNONONONO
storage.filesystem.mountNONONONONO
storage.filesystem.rescanNONONONONO
storage.filesystem.unmountNONONONONO
storage.nfs.addYESNONONONO
storage.nfs.listYESNONONONO
storage.nfs.param.getNONONONONO
storage.nfs.param.setNONONONONO
storage.nfs.removeNONONONONO
storage.nfs41.addNONO
storage.nfs41.listNONO
storage.nfs41.param.getNONO
storage.nfs41.param.setNONO
storage.nfs41.removeNONO
storage.nmp.device.listNONONONONO
storage.nmp.device.setNONONONONO
storage.nmp.path.listNONONONONO
storage.nmp.psp.fixed.deviceconfig.getNONONONONO
storage.nmp.psp.fixed.deviceconfig.setYESNONONONO
storage.nmp.psp.generic.deviceconfig.getNONONONONO
storage.nmp.psp.generic.deviceconfig.setYESNONONONO
storage.nmp.psp.generic.pathconfig.getNONONONONO
storage.nmp.psp.generic.pathconfig.setYESNONONONO
storage.nmp.psp.listNONONONONO
storage.nmp.psp.roundrobin.deviceconfig.getNONONONONO
storage.nmp.psp.roundrobin.deviceconfig.setYESNONONONO
storage.nmp.satp.generic.deviceconfig.getYESNOYESYESNO
storage.nmp.satp.generic.deviceconfig.setNONONONONO
storage.nmp.satp.generic.pathconfig.getNONONONONO
storage.nmp.satp.generic.pathconfig.setNONONONONO
storage.nmp.satp.listNONONONONO
storage.nmp.satp.rule.addNONONONONO
storage.nmp.satp.rule.listNONONONONO
storage.nmp.satp.rule.removeNONONONONO
storage.nmp.satp.setNONONONONO
storage.san.fc.events.clearNONONONO
storage.san.fc.events.getNONONONO
storage.san.fc.listNONONONO
storage.san.fc.resetNONONONO
storage.san.fc.stats.getNONONONO
storage.san.fcoe.listNONONONO
storage.san.fcoe.resetNONONONO
storage.san.fcoe.stats.getNONONONO
storage.san.iscsi.listNONONONO
storage.san.iscsi.stats.getNONONONO
storage.san.sas.listNONONONO
storage.san.sas.resetNONONONO
storage.san.sas.stats.getNONONONO
storage.vflash.cache.getNONONO
storage.vflash.cache.listNONONO
storage.vflash.cache.stats.getNONONO
storage.vflash.cache.stats.resetNONONO
storage.vflash.device.listNONONO
storage.vflash.module.getNONONO
storage.vflash.module.listNONONO
storage.vflash.module.stats.getNONONO
storage.vmfs.extent.listNONONONONO
storage.vmfs.host.listNONO
storage.vmfs.lockmode.listNONO
storage.vmfs.lockmode.setNONO
storage.vmfs.pbcache.getNONO
storage.vmfs.pbcache.resetNONO
storage.vmfs.snapshot.extent.listNONONONONO
storage.vmfs.snapshot.listNONONONONO
storage.vmfs.snapshot.mountNONONONONO
storage.vmfs.snapshot.resignatureNONONONONO
storage.vmfs.unmapNONONO
storage.vmfs.upgradeNONONONONO
storage.vvol.daemon.unbindallNONO
storage.vvol.protocolendpoint.listNONO
storage.vvol.storagecontainer.abandonedvvol.scanNONO
storage.vvol.storagecontainer.listNONO
storage.vvol.vasacontext.getNONO
storage.vvol.vasaprovider.listNONO
system.account.addNONO
system.account.listNONO
system.account.removeNONO
system.account.setNONO
system.boot.device.getNONONONONO
system.coredump.file.addYESNONO
system.coredump.file.getNONONO
system.coredump.file.listNONONO
system.coredump.file.removeNONONO
system.coredump.file.setNONONO
system.coredump.network.checkNONONONO
system.coredump.network.getNONONONONO
system.coredump.network.setYESNONONONO
system.coredump.partition.getNONONONONO
system.coredump.partition.listNONONONONO
system.coredump.partition.setNONONONONO
system.hostname.getNONONONONO
system.hostname.setNONONONONO
system.maintenanceMode.getNONONONO
system.maintenanceMode.setYESNONONO
system.module.getNONONONONO
system.module.listNONONONONO
system.module.loadNONONONONO
system.module.parameters.copyNONO
system.module.parameters.listNONONONONO
system.module.parameters.setYESNONONONO
system.module.setNONONONONO
system.permission.listNONO
system.permission.setNONO
system.permission.unsetNONO
system.process.listNONONONONO
system.process.stats.load.getNONONONONO
system.process.stats.running.getNONONONONO
system.secpolicy.domain.listNONONONONO
system.secpolicy.domain.setNONONONONO
system.security.certificatestore.addNONONO
system.security.certificatestore.listNONONO
system.security.certificatestore.removeNONONO
system.settings.advanced.listYESNONONONO
system.settings.advanced.setNONONONONO
system.settings.kernel.listYESNONONONO
system.settings.kernel.setNONONONONO
system.settings.keyboard.layout.getNONONONONO
system.settings.keyboard.layout.listNONONONONO
system.settings.keyboard.layout.setNONONONONO
system.shutdown.poweroffNONONONO
system.shutdown.rebootNONONONO
system.slp.searchNONO
system.slp.stats.getNONO
system.snmp.getNONONONO
system.snmp.hashNONONONO
system.snmp.setYESYESYESNO
system.snmp.testNONONONO
system.stats.uptime.getNONONONONO
system.syslog.config.getNONONONONO
system.syslog.config.logger.listNONONONONO
system.syslog.config.logger.setNONONONONO
system.syslog.config.setYESYESYESNONO
system.syslog.markNONONONONO
system.syslog.reloadNONONONONO
system.time.getNONONONONO
system.time.setNONONONONO
system.uuid.getNONONONONO
system.version.getNONONONONO
system.visorfs.getNONONONONO
system.visorfs.ramdisk.addNONONONONO
system.visorfs.ramdisk.listNONONONONO
system.visorfs.ramdisk.removeNONONONONO
system.visorfs.tardisk.listNONONONONO
system.welcomemsg.getNONONONONO
system.welcomemsg.setNONONONONO
vm.process.killNONONONONO
vm.process.listNONONONONO
vsan.cluster.getNONONO
vsan.cluster.joinNONONO
vsan.cluster.leaveNONONO
vsan.cluster.newNONO
vsan.cluster.restoreYESNONO
vsan.datastore.name.getNONONO
vsan.datastore.name.setNONONO
vsan.faultdomain.getNONO
vsan.faultdomain.resetNONO
vsan.faultdomain.setNONO
vsan.maintenancemode.cancelNONONO
vsan.network.clearNONONO
vsan.network.ipv4.addNONONO
vsan.network.ipv4.removeNONONO
vsan.network.ipv4.setNONONO
vsan.network.listNONONO
vsan.network.removeNONONO
vsan.network.restoreNONONO
vsan.policy.cleardefaultNONONO
vsan.policy.getdefaultNONONO
vsan.policy.setdefaultNONONO
vsan.storage.addNONONO
vsan.storage.automode.getNONONO
vsan.storage.automode.setNONONO
vsan.storage.checksum.getNONO
vsan.storage.checksum.setNONO
vsan.storage.diskgroup.mountNONO
vsan.storage.diskgroup.unmountNONO
vsan.storage.listYESNONO
vsan.storage.removeYESNONO
vsan.storage.tag.addNONO
vsan.storage.tag.removeNONO
vsan.trace.setNONONO

All information above have been extracted from the OverLoadDefinition via Get-EsxCLI.
Consequently some of the parameters will be missing the “-” character.

Details for some function:
esxcli storage core device set
For all 5.0.0 (based on build tested so far)
string device, string name, boolean nopersist, string state
For all 5.1.0
string device, string name, boolean nopersist, long queuefullsamplesize, long queuefullthreshold, string state

For 5.5.0
Build
1331820
1474528
1746974
boolean defaultname, string device, string name, boolean nopersist, long queuefullsamplesize, long queuefullthreshold, long schednumreqoutstanding, string state

Build
1623387 # Surprisingly released before 1746974
1746018 # Released the same day as 1746974
1881737
1892794
2068190
2143827
2302651
2403361
boolean defaultname, string device, boolean force, string name, boolean nopersist, long queuefullsamplesize, long queuefullthreshold, long schednumreqoutstanding, string state

esxcli system snmp set
5.1 Up to Build 2191751
5.5 Up to Build 1892794
string authentication, string communities, boolean enable, string engineid, string hwsrc, string loglevel, string notraps, long port, string privacy, string remoteusers, boolean reset, string syscontact, string syslocation, string targets, string users, string v3targets
5.1 From Build 2323236
5.5 From Build 2068190
string authentication, string communities, boolean enable, string engineid, string hwsrc, boolean largestorage, string loglevel, string notraps, long port, string privacy, string remoteusers, boolean reset, string syscontact, string syslocation, string targets, string users, string v3targets

esxcli network diag ping
5.1
long count, boolean debug, boolean df, string host, string interface, long interval, boolean ipv4, boolean ipv6, string nexthop, long size, long ttl, long wait
5.5
long count, boolean debug, boolean df, string host, string interface, string interval, boolean ipv4, boolean ipv6, string netstack, string nexthop, long size, long ttl, string wait

The parameters “interval” and “wait” have changed type from “Long” to “string” from 5.1 to 5.5. Fortunately this is the only function with parameter type inconsistent.

The file below is one of the input for the Get-EsxCli on steroids.
AllBuild_FunctionOnly
It contains the OverLoadDefinition for each ESXi build and ESXCLI function.

Some issues:
Inconsistent parameters for ESXCLI function inter-version, intra-version and lack of documentation are really an issue when trying to automatize tasks around ESXCLI.

Scripts based on get-esxcli are impacted by inconsistent parameters.
A script working with one build may not necessary work, for some esxcli functions, after an ESXi update to a new build, even if the version has not changed.

A user of ESXCLI may not realize that a new function has been introduced for latest build within one version, if the official documentation doesn’t mention it for this version.
A user of ESXCLI may not realize that new parameters have been introduced.

No information provided regarding why some ESXCLI function have been removed from one version to another.

Suggestion:
There is in the VMware vSphere API Reference a What’s new section
http://pubs.vmware.com/vsphere-55/topic/com.vmware.wssdk.apiref.doc/right-pane.html
It could be good to have something similar for ESXCLI, especially when more and more commands are and will be migrated to ESXCLI from one version to another.

It will be good as well to have all details on a per build basis in a format that can be easily imported.
One possible option would be to provide a xml files, similar to the one in the “vSphere Management SDK for vSphere 5.5” and update it for each new ESXi build.
This file could for example have an architecture similar to the one below.
For each build, all esxcli function for all namespace (cascading) with the help message for each function and all parameters details (Name, Type, Help Message)

The last point which could be very convenient is to provide to all users the definition of the return type of each function on a per ESXi build basis.

Finally for third party products which implement new ESXCLI namespace, information should be provided by the third party vendor.
However, maybe VMware can push them to provide documentation in a specific format.

Next tasks:
I will discuss about this with our TAM and will post updates if any.
Update 17/03/2015:
It seems promising, VMware is taking into account customer feedback.
I hope to be able to provide more updates soon.

This post and Get-EsxCli on steroids will be updated when vSphere 6.0 will be officially released.
Update 17/03/2015: Done

ESXi build tested so far:

VersionNameBuildImage Profile
5.0.0ESXi 5.0 GA469512VMware-VMvisor-Installer-5.0.0-469512.x86_64
5.0.0ESXi 5.0 Patch 1474610ESXi-5.0.0-20110904001-standard
5.0.0ESXi 5.0 Express Patch 1504890ESXi-5.0.0-20111104001-standard
5.0.0ESXi 5.0 Patch 2515841ESXi-5.0.0-20111204001-standard
5.0.0ESXi 5.0 Update 1623860ESXi-5.0.0-20120302001-standard
5.0.0ESXi 5.0 Express Patch 3702118ESXi-5.0.0-20120504001-standard
5.0.0ESXi 5.0 Express Patch 4721882ESXi-5.0.0-20120604001-standard
5.0.0ESXi 5.0 Patch 3768111ESXi-5.0.0-20120704001-standard
5.0.0ESXi 5.0 Patch 4821926ESXi-5.0.0-20120904001-standard
5.0.0ESXi 5.0 Update 2914586ESXi-5.0.0-20121202001-standard
5.0.0ESXi 5.0 Patch 51024429ESXi-5.0.0-20130304001-standard
5.0.0ESXi 5.0 Express Patch 51117897ESXi-5.0.0-20130504001-standard
5.0.0ESXi 5.0 Patch 61254542ESXi-5.0.0-20130804001-standard
5.0.0ESXi 5.0 Update 31311175ESXi-5.0.0-20131002001-standard
5.0.0ESXi 5.0 Patch 71489271ESXi-5.0.0-20140104001-standard
5.0.0ESXi 5.0 Patch 81851670ESXi-5.0.0-20140504001-standard
5.0.0ESXi 5.0 Express Patch 61918656ESXi-5.0.0-20140704001-standard
5.0.0ESXi 5.0 Patch 92000308ESXi-5.0.0-20140804001-standard
5.0.0ESXi 5.0 Patch 102312428ESXi-5.0.0-20141204001-standard
5.0.0ESXi 5.0 Patch 112509828ESXi-5.0.0-20150204001-standard
5.1.0ESXi 5.1.0 GA799733VMware-VMvisor-Installer-5.1.0-799733.x86_64
5.1.0ESXi 5.1.0a838463ESXi-5.1.0-20121004001-standard
5.1.0ESXi 5.1 Patch 1914609ESXi-5.1.0-20121204001-standard
5.1.0ESXi 5.1 Express Patch 21021289ESXi-5.1.0-20130304001-standard
5.1.0ESXi 5.1 Update 11065491ESXi-5.1.0-20130402001-standard
5.1.0ESXi 5.1 Express Patch 31117900ESXi-5.1.0-20130504001-standard
5.1.0ESXi 5.1 Patch 21157734ESXi-5.1.0-20130704001-standard
5.1.0ESXi 5.1 Patch 31312873ESXi-5.1.0-20131004001-standard
5.1.0ESXi 5.1 Update 21483097ESXi-5.1.0-20140102001-standard
5.1.0ESXi 5.1 Express Patch 41612806ESXi-5.1.0-20140204001-standard
5.1.0ESXi 5.1 Patch 41743533ESXi-5.1.0-20140404001-standard
5.1.0ESXi 5.1 Express Patch 51900470ESXi-5.1.0-20140604001-standard
5.1.0ESXi 5.1 Patch 52000251ESXi-5.1.0-20140704001-standard
5.1.0ESXi 5.1 Patch 62191751ESXi-5.1.0-20141004001-standard
5.1.0ESXi 5.1 Update 32323236ESXi-5.1.0-20141202001-standard
5.5.0ESXi 5.5 GA1331820VMware-VMvisor-Installer-5.5.0-1331820.x86_64
5.5.0ESXi 5.5 Patch 11474528ESXi-5.5.0-20131204001-standard
5.5.0ESXi 5.5 Update 11623387ESXi-5.5.0-20140302001-standard
5.5.0ESXi 5.5 Update 1a1746018ESXi-5.5.0-20140404001-standard
5.5.0ESXi 5.5 Express Patch 31746974ESXi-5.5.0-20140401020s-standard
5.5.0ESXi 5.5 Express Patch 41881737ESXi-5.5.0-20140604001-standard
5.5.0ESXi 5.5 Patch 21892794ESXi-5.5.0-20140704001-standard
5.5.0ESXi 5.5 Update 22068190ESXi-5.5.0-20140902001-standard
5.5.0ESXi 5.5 Patch 32143827ESXi-5.5.0-20141004001-standard
5.5.0ESXi 5.5 Express Patch 52302651ESXi-5.5.0-20141204001-standard
5.5.0ESXi 5.5 Patch 42403361ESXi-5.5.0-20150104001-standard
5.5.0ESXi 5.5 Express Patch 62456374ESXi-5.5.0-20150204001-standard
6.0.0ESXi 6.0 GA2494585ESXi-6.0.0-2494585-standard

Leave a Reply

Your email address will not be published. Required fields are marked *