A Python library to interact with the LibreNMS API (v0)
Project description
LibreNMS handler
A Python library to interact with the LibreNMS API (v0).
The project aims to provide the user with as much information as if they were looking at the reference guide themselves.
Usage
The package is installed via Pip with pip install librenms-handler
.
The following statement will initialise the library:
from librenms_handler.devices import Devices
librenms_devices = Devices(
'https://librenms.example.com',
'e4ef9234abab59a90628dd3f616a60b4'
)
NOTE: If you are using a self-signed certificate for your server, you can bypass the errors by passing the initialisation option verify=False
.
Once done, a list of methods will be available to you such as librenms_handler.list_devices()
.
Upon operation, the method will execute and return the required request to your LibreNMS instance.
>>> librenms_devices.add_device('test_device', snmp_disable=True, force_add=True)
{'status': 'ok', 'message': 'Device test_device (13) has been added successfully'}
>>> librenms_devices.del_device('test')
{'status': 'ok', 'devices': [{'device_id': 13, 'inserted': '2021-03-13 15:56:19', 'hostname': 'test_device', 'sysName': '', 'ip': None, 'overwrite_ip': None, 'community': '', 'authlevel': None, 'authname': None, 'authpass': None, 'authalgo': None, 'cryptopass': None, 'cryptoalgo': None, 'snmpver': 'v2c', 'port': 161, 'transport': 'udp', 'timeout': None, 'retries': None, 'snmp_disable': 1, 'bgpLocalAs': None, 'sysObjectID': None, 'sysDescr': None, 'sysContact': None, 'version': None, 'hardware': '', 'features': None, 'location_id': None, 'os': 'ping', 'status': True, 'status_reason': '', 'ignore': 0, 'disabled': 0, 'uptime': None, 'agent_uptime': 0, 'last_polled': None, 'last_poll_attempted': None, 'last_polled_timetaken': None, 'last_discovered_timetaken': None, 'last_discovered': None, 'last_ping': None, 'last_ping_timetaken': None, 'purpose': None, 'type': 'server', 'serial': None, 'icon': 'images/os/ping.svg', 'poller_group': 0, 'override_sysLocation': 0, 'notes': None, 'port_association_mode': 1, 'max_depth': 0, 'disable_notify': 0, 'location': None, 'lat': None, 'lng': None, 'attribs': [], 'vrf_lite_cisco': []}], 'message': 'Removed device test_device\n', 'count': 1}
Environment variables
While initialising the handler, the following parameters are required. The handler first checks for the following environment variables, should you choose to use them.
Environment variable | Description | Type | Example |
---|---|---|---|
LIBRENMS_URL | Full URL to the target LibreNMS instance | string | https://librenms.example.com |
LIBRENMS_TOKEN | Token generated from LIBRENMS_URL/api-access |
string | e4ef9234abab59a90628dd3f616a60b4 |
Endpoints
While I will likely never have reason to fully complete all endpoints, the progress of such is shown below: See Projects to track the progress of the endpoints.
Endpoint | Started | Done |
---|---|---|
Alerts | False | |
ARP | False | |
Bills | False | |
Device Groups | False | |
Devices | True | False |
Inventory | False | |
Locations | False | |
Logs | False | |
Port Groups | False | |
Ports | False | |
Routing | False | |
Services | False | |
Switching | False | |
System | False |
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 librenms-handler-0.1.4.tar.gz
.
File metadata
- Download URL: librenms-handler-0.1.4.tar.gz
- Upload date:
- Size: 8.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 82b103386f4f4981a97cdb3281d31e78efdec190c6b3af6d8be570037ecff8aa |
|
MD5 | 8afe526adaba2b2449cd2bb4742c8b0b |
|
BLAKE2b-256 | 17cdf3d30ce87ea4c418a78c636f9074a0c9ecbd6b17033ac846dfe92c18cda1 |
File details
Details for the file librenms_handler-0.1.4-py3-none-any.whl
.
File metadata
- Download URL: librenms_handler-0.1.4-py3-none-any.whl
- Upload date:
- Size: 8.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d4d1d468e4fef4ce97d04832460535113990e824c1b34a47d0dbe3c297daaa32 |
|
MD5 | 8164c841e8b4c34a494468ab6af29152 |
|
BLAKE2b-256 | a73b85d91bb61a854e7dd1088a1530df175a39c39fe9f9b0889e850d43d2d218 |