NetBox Python API Client
Project description
NetBox Python
Python API client library for NetBox.
Note: This is a preliminary release and still under development.
-
Github repository: https://github.com/netbox-community/netbox-python/
-
Documentation https://netbox-community.github.io/netbox-python/
Table of Contents
About
This is a thin python wrapper over the NetBox API.
Getting Started
To install run pip install netbox-python
.
Alternatively, you can clone the repo and run python setup.py install
.
Usage
The full documentation is at https://netbox-community.github.io/netbox-python/, but the following should be enough to get started using it.
To begin, import the NetBox client and instantiate it:
from netbox_python import NetBoxClient, Result
nb = NetBoxClient(
base_url="http://127.0.0.1:8000/", token="1dc6fa5bfcef8390dd83a261c36ed8f1551b2d6b"
)
The first argument NetBoxClient takes is the NetBox URL. The 'token' argument is from NetBox.
Now using the client you can make calls to the api, for example:
# 1. List (paginated)
ret = nb.dcim.sites.list(limit=3)
# 2. Filtered List
ret = nb.dcim.sites.list(region_id="43")
# 3. All
ret = nb.dcim.sites.all()
# 4. Get
ret = nb.dcim.sites.get(24)
# 5. Create
ret = nb.dcim.sites.create(name="foo3", slug="foo3")
# 6. Bulk Create
data = [
{"name": "foo4", "slug": "foo4"},
{"name": "foo5", "slug": "foo5"},
{"name": "foo6", "slug": "foo6"},
]
ret = nb.dcim.sites.create(data)
# 7. Update
ret = nb.dcim.sites.update(26, name="foo2-new", slug="foo2-new-slug")
# 8. Bulk Update
data = [
{"id": 28, "name": "foo4-new", "slug": "foo4-new"},
{"id": 29, "name": "foo5-new", "slug": "foo5-new"},
]
ret = nb.dcim.sites.update(data)
# 9. Delete
ret = nb.dcim.sites.delete(37)
# 10. Bulk Delete
data = [{"id": 25}, {"id": 27}]
ret = nb.dcim.sites.delete(data)
The methods on the api's correspond to the NetBox REST API, so ('circuits', 'core', 'dcim', 'extras', 'ipam', 'plugins', 'tenancy', 'users', 'virtualization', 'wireless')
circuits would have 'circuit_terminations', 'circuit_types', etc... off of it. Each of the endpoints has 'list', 'get', 'create', 'update' and 'delete' functions.
Roadmap
See the open issues for a list of proposed features (and known issues).
- Top Feature Requests (Add your votes using the 👍 reaction)
- Top Bugs (Add your votes using the 👍 reaction)
- Newest Bugs
Support
Reach out to the maintainer at one of the following places:
Contributing
First off, thanks for taking the time to contribute! Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make will benefit everybody else and are greatly appreciated.
Please read our contribution guidelines, and thank you for being involved!
Authors & contributors
The original setup of this repository is by Arthur Hanson.
For a full list of all authors and contributors, see the contributors page.
License
This project is licensed under the Apache Software License 2.0.
See LICENSE for more information.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file netbox_python-0.1.6.tar.gz
.
File metadata
- Download URL: netbox_python-0.1.6.tar.gz
- Upload date:
- Size: 21.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | fa5a8151187c1d87d12522fdcd30f26484dfa8d4bd10f00b20907ef2f8a735ea |
|
MD5 | e877033cbc8f41f7a2ef980f7ad2f1fe |
|
BLAKE2b-256 | 616bdfa9e18fb3da1f80416279d427473933d05f9574b2717301d666df689a9d |
File details
Details for the file netbox_python-0.1.6-py2.py3-none-any.whl
.
File metadata
- Download URL: netbox_python-0.1.6-py2.py3-none-any.whl
- Upload date:
- Size: 20.5 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 69a2245f55b4c9ddc7e921d9039c96d175adb87ef318b4be9d1f5f396b3b3aa7 |
|
MD5 | 14c825fe1fe0920c173d5545cfb5e454 |
|
BLAKE2b-256 | 0fabd6574348f9e4fcb498e8a6f89d70516e073b65e40228456256f005dba775 |