Is there any way to collect firmware version from all the bare metal servers using slcli
command line or using any other API method ?
I have already gone through the following links
https://softlayer.github.io/reference/softlayerapi/
https://softlayer.github.io/reference/datatypes/SoftLayer_Hardware_Component_Firmware/
But it wasn't of much help to me, as I'm new to API scripting.
The SLCLI allows only to update the firmware, but you should be able to use rest, soap, xmlrpc, python, ruby, java, go, etc., or any other supported language to retrieve this data through object-masks.
Try with the following REST call, it should retrieve the firmware information for a bare metal server:
Change [unserName], [apiKey], and [baremetalID] with your own information.
For all hardware devices into the account:
https://softlayer.github.io/reference/services/SoftLayer_Hardware_Server/getObject https://softlayer.github.io/reference/services/SoftLayer_Hardware_Server/getComponents https://softlayer.github.io/reference/services/SoftLayer_Account/getHardware https://softlayer.github.io/reference/datatypes/SoftLayer_Hardware/#components https://softlayer.github.io/reference/datatypes/SoftLayer_Hardware_Server/#components https://softlayer.github.io/reference/datatypes/SoftLayer_Hardware_Component/