I have to provide a monthly report that is used by various departments in my organization. Unfortunately, I have yet to figure out how to easily get a report showing the following:
'Name / Model / Serial Number / MAC / Current Firmware Version / Date Firmware Applied'
Canned reports have some of the info for some strange reason doesn't show the current firmware version.
We have been able to pull it from API but have to manipulate it in Excel to remove duplicate entries showing past upgrades.
Along the way I have also noticed that in the GUI, on the appliance status page, the Current Version listed is different than what I can pull from the API. We are using Python in Visual Studio for this. Has anyone been able to get this to accurately work or is anyone able to point me in the right direction? It seems like an extremely large miss to not have that as an optional column on the Inventory page to export as a CSV. Especially considering it is obviously available since it is on the Appliance Status page.
I'm am very new to Python and API but this is what we have.
firmwareupgrades = dashboard.organizations.getOrganizationFirmwareUpgrades(org_id, total_pages='all')
for upgrade in firmwareupgrades:
devices = dashboard.networks.getNetworkDevices(upgrade['network']['id'])
for device in devices:
try:
if 'Completed' in upgrade['status']:
print(device['name'] + "," + device['model'] + "," + device['serial'] + "," + device['mac'] + "," + upgrade['toVersion']['shortName'] + "," + upgrade['time'])
else:
print(device['name'] + "," + device['model'] + "," + device['serial'] + "," + device['mac'] + "," + upgrade['fromVersion']['shortName'] + "," + upgrade['time'])
except Exception as e:
print(e)
continue
Any help would be greatly appreciated.