kaisero / fireREST

Python library for interacting with Cisco Firepower Management Center REST API
GNU General Public License v3.0
70 stars 49 forks source link

client.create_object gives TypeError: 'dict' object is not callable #23

Closed aj-cruz closed 4 years ago

aj-cruz commented 4 years ago

Python 3.7 on CentOS Linux release 7.7.1908 (Core)

(venv-fmc-obj-maker) [root@devbox firepower-obj-maker]# pip freeze
certifi==2020.4.5.1
chardet==3.0.4
decorator==4.4.2
fireREST==0.1.1
idna==2.9
packaging==20.4
py==1.8.1
pyparsing==2.4.7
requests==2.23.0
retry==0.9.2
six==1.15.0
urllib3==1.25.9

Source:

from fireREST import Client

fmc_hostname = '<ip>'
fmc_username = 'admin'
fmc_password = 'admin'

fmc_client = Client(hostname=fmc_hostname, username=fmc_username, password=fmc_password)

net_obj = {
 'name': 'NetObjViaAPI',
 'value': '198.18.1.0/24'
}

response = fmc_client.create_object('network', net_obj)

Error: Traceback (most recent call last): File "", line 1, in File "/etc/samba/devbox/firepower-obj-maker/venv-fmc-obj-maker/lib/python3.7/site-packages/fireREST/utils.py", line 137, in wrapper return f(*args, kwargs) File "/etc/samba/devbox/firepower-obj-maker/venv-fmc-obj-maker/lib/python3.7/site-packages/fireREST/utils.py", line 111, in wrapper return f(*args, *kwargs) File "/etc/samba/devbox/firepower-obj-maker/venv-fmc-obj-maker/lib/python3.7/site-packages/fireREST/init.py", line 408, in create_object return self._create(url, data) File "/etc/samba/devbox/firepower-obj-maker/venv-fmc-obj-maker/lib/python3.7/site-packages/fireREST/init.py", line 185, in _create return self._request('post', url, params, data) File "/etc/samba/devbox/firepower-obj-maker/venv-fmc-obj-maker/lib/python3.7/site-packages/fireREST/utils.py", line 151, in wrapper response = f(args, kwargs) File "/etc/samba/devbox/firepower-obj-maker/venv-fmc-obj-maker/lib/python3.7/site-packages/fireREST/init.py", line 103, in _request verify=self.verify_cert, File "/etc/samba/devbox/firepower-obj-maker/venv-fmc-obj-maker/lib/python3.7/site-packages/requests/sessions.py", line 516, in request prep = self.prepare_request(req) File "/etc/samba/devbox/firepower-obj-maker/venv-fmc-obj-maker/lib/python3.7/site-packages/requests/sessions.py", line 459, in prepare_request hooks=merge_hooks(request.hooks, self.hooks), File "/etc/samba/devbox/firepower-obj-maker/venv-fmc-obj-maker/lib/python3.7/site-packages/requests/models.py", line 318, in prepare self.prepare_auth(auth, url) File "/etc/samba/devbox/firepower-obj-maker/venv-fmc-obj-maker/lib/python3.7/site-packages/requests/models.py", line 550, in prepare_auth r = auth(self) TypeError: 'dict' object is not callable

Update: I also get the same behavior running the code in a docker python:3.7.7-buster & python:3.8.3-buster image with packaging & urllib3 downgraded to match what I see in your pipfile document.

kaisero commented 4 years ago

Fixed in new release