What is recommended way to discover heterogenous devices with different protocols and agent or agentless mechanism?

The suggested way to discover devices are as follows -

Device Type Agentless Agent
Windows WMI WMI and HTTP/HTTPS
Linux SSH/SNMP HTTP/HTTPS using local commands
MAC OS SSH HTTP/HTTPS using local commands
Solaris SSH/WBEM NA
IBM AIX SNMP NA
HPUX SNMP NA
Dell Wyse WDM API NA
Network Devices SNMP NA
Storage Devices SMI-S/SNMP/CLI NA
ESXi VIJAVA API NA
Hyper-V WMI NA
XEN Server XEN SDK NA
Device Availability ICMP HTTPS Check-in time