By: Salvador Ferrer, Director, Solutions Architecture
It is a typical application to add additional information to your end systems using the provided custom fields in NetSight.
NetSight provides 4 custom fields that can be used per end system for any application. Software like our MDM, VMWare and Paloalto integrators use these fields to add additional data to each end system.
This data can be searched in NetSight and OneView's interfaces. So if the MDM integrations adds Phone= to the custom field of a WiFi connected tablet we can later search that phone number to find that particular end system.
These capabilities are available to the WebServices interfaces through the saveEndSystemInfo methods.
There are five different saveEndSystemInfo methods depending the EndSystem Id we have available.
If we don't know what E/S identifier we are going to use, it is probable better to use the generic saveEndSystemInfo or saveEndSystemInfoEx in our code. These two methods take the E/S id, either the MAC or IP or Hostname as part of the variables, while the other methods, saveEndSystemInfoByMac, saveEndSystemInfoByIp or saveEndSystemInfoByHostname, already assume that the id is known.
Most of our practical implementations just use saveEndSystemInfoByMac. Tis method just takes the mac of the device we are modifying and the list of all custom fields and the values we want to set in them.
It is importan to note that an empty custom field in this method, will delete the existing value in that field e.g.:
will delete all four custom fields. This was different in NetSight 4.4 where you could use empty strings to keep the existing value. This behavior was a flaw in the definition of the webservices in NetSight 4.4. A null (not an empty string) was being used to keep the existing value but since some programming languages had problems differentiating empty strings from nulls we changed it in 5.0.
The final behavior is custom1=null or custom1=Null (it is case insensitive) will keep the existing value in custom1, while custom1="" will delete it.
So, for example, if you have an inventory system with all your devices listed with their inventory tag and you would like to add that info to your Management database, just have your inventory system send the following URL to NetSight:
That will put your inventory tag in custom1 so next time you want to find a device in your network by id_tag, just search for id_tag in Oneview to find the required device.