aciClient
A python wrapper to the Cisco ACI REST-API.
Python Version
We support Python 3.6 and up. Python 2 is not supported and there is no plan to add support for it.
Installation
pip install aciClient
Installation for Developing
git clone https://github.com/netcloud/aciclient.git
pip install -r requirements.txt
python setup.py develop
Usage
Initialisation
Username/password
import aciClient
import logging
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)
aciclient = aciClient.ACI(apic_hostname, apic_username, apic_password, refresh=False)
try:
aciclient.login()
aciclient.getJson(uri)
aciclient.postJson(config)
aciclient.deleteMo(dn)
aciclient.logout()
except Exception as e:
logger.exception("Stack Trace")
For automatic authentication token refresh you can set refresh to True
aciclient = aciClient.ACI(apic_hostname, apic_username, apic_password, refresh=True)
Certificate/signature
import aciClient
import logging
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)
aciclient = aciClient.ACICert(apic_hostname, path_to_privatekey_file, certificate_dn)
try:
aciclient.getJson(uri)
aciclient.postJson(config)
aciclient.deleteMo(dn)
except Exception as e:
logger.exception("Stack Trace")
Examples
get config
tenants = aciclient.getJson('class/fvTenant.json?order-by=fvTenant.dn|asc')
for mo in tenants:
print(f'tenant DN: {mo["fvTenant"]["attributes"]["dn"]}')
post config
config = {
"fvTenant": {
"attributes": {
"dn": "uni/tn-XYZ"
}
}
}
aciclient.postJson(config)
delete MOs
aciclient.deleteMo('uni/tn-XYZ')
create snapshot
aci.snapshot('test')
Testing
pip install -r requirements.txt
python -m pytest
Contributing
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to this project.
Authors
- Marcel Zehnder - Initial work
- Andreas Graber - Migration to open source
- Richard Strnad - Paginagtion for large requests, various small stuff
- Dario Kaelin - Added snapshot creation
License
This project is licensed under MIT - see the LICENSE.md file for details.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
aciClient-1.3.tar.gz
(7.2 kB
view details)
File details
Details for the file aciClient-1.3.tar.gz.
File metadata
- Download URL: aciClient-1.3.tar.gz
- Upload date:
- Size: 7.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/52.0.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3b95e4b344f6d2fc13c5cbfe54eb3ef1e53666d92f6cdc30ac8f0a3ea4d91900
|
|
| MD5 |
f9a91481da9a47ef0338f8538b073ff2
|
|
| BLAKE2b-256 |
b81d80b3e10a32f94950f8c0195603bb7773f74908b022777fa8bf6d2561d9e8
|