FireMon-API: Python wrapper¶
The firemon-api is an attempt to make a Pythonic wrapper to the FireMon SIP APIs (Security Manager, etc…).
The intent is to hopefully speed up development of projects. There is no intent to do a 1-to-1 reference of all
the potential API calls. If that is desired you may try to use the dynamically built functions created using
the get_api(). Or read the /api-doc of your FireMon product and make use of the request() function for
the individually created application objects.
Request Example:
>>> fm.sm.request(key="device", use_domain=True).get()
[{'id': 27, 'domainId': 1, 'name': 'PA-VM 11.0.1', 'managementIp': <snip...>]
There is currently no intention to follow any version of the FireMon products and so there may be instances where a function worked in one version but no longer in another though this generally is not a problem.
Quick Example:
>>> import firemon_api as fmapi
>>> fmapi.disable_warnings()
>>> fm = fmapi.api('saffron', verify=False).auth('firemon', 'firemon')
>>> fm
<Firemon(url='https://saffron', version='9.12.0')>
>>> for dev in fm.sm.devices.all():
... print(dev.name)
...
asa-2961.lab.firemon.com
ASA5505-8-3-2
ciscoASA8dot2
CSM-2
vSRX-3
>>> fm.sm.request(key="device", use_domain=True).get()
[{'id': 27, 'domainId': 1, 'name': 'PA-VM 11.0.1', 'managementIp': <snip...>]