MikrotikApi
MikrotikApi is a project intended for managing RouterOS.
:warning: WARNING: This project is currently in a beta stage. It's still under active development and might undergo changes. Use it at your own risk.
Installation
MikrotikApi was developed using the Python programming language. You can install the project's dependencies with pip:
pip install mikrotikapi
Or using poetry:
poetry add mikrotikapi
Usage
import os
from mikrotikapi import ROSApi
from mikrotikapi.schemes import NatScheme
from mikrotikapi.schemes.fields.action import ActionController
from mikrotikapi.schemes.fields.chain import ChainController
your_login = os.getenv("your_login")
your_password = os.getenv("your_password")
mikrotik_address = os.getenv("mikrotik_address") # look setting www-ssl port
mikrotik_port = os.getenv("mikrotik_port")
api = ROSApi(
url=mikrotik_address,
username=your_login,
password=your_password,
)
nat = NatScheme(
src_address="172.22.8.0/30",
chain="srcnat",
action="masquerade",
)
# NatScheme(to_addresses=None, chain=<ChainController.srcnat: 'srcnat'>,
# dst_addresses=None, dst_address=None, src_address_list=None, src_address=IPv4Network
# ('172.22.8.0/30'), action=<ActionController.masquerade: 'masquerade'>,
# to_ports=None, protocol=None, id=None, bytes=0, comment='', disabled=False,
# dst_port=None, dynamic=None, invalid=None, log=False, log_prefix='', packets=None,
# routing_mark=None, in_interface='', out_interface='')
# or...
nat = NatScheme(
src_address="172.22.8.0/30",
chain=ChainController.srcnat,
action=ActionController.masquerade,
)
# or...
nat = NatScheme()
nat.src_address = "172.22.8.0/30"
nat.chain = ChainController.srcnat
nat.action = ActionController.masquerade
# create
api.create(nat)
# or update
nat.comment = "first comment"
api.update(nat) # old api.objects(NatScheme).update(nat)
# or...
all_nats = api.objects(NatScheme).all()
Release files for mikrotikapi 0.4.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| mikrotikapi-0.4.2.tar.gz | 15.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mikrotikapi-0.4.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 45.3 kB
Release files / mikrotikapi-0.4.2.tar.gz
| Download URL | mikrotikapi-0.4.2.tar.gz |
|---|---|
| Size | 15.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8858b1ebf510cb31226b0e40f1a39c9b11e8a9247f13133499bf27fc329386e5
|
|
BLAKE2b-256 checksum How to use checksums |
b60aaa384118697fd5249eab5877744c7c2e44ad8f1481dc4f1d52f30524f6f0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.8.2 CPython/3.10.13 Linux/6.5.0-1015-azure
|
Release files / mikrotikapi-0.4.2-py3-none-any.whl
| Download URL | mikrotikapi-0.4.2-py3-none-any.whl |
|---|---|
| Size | 29.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
338d253d95cbe9e67e1b1820ac4e44d07225b60e110cb6ed56187fc1e27530ff
|
|
BLAKE2b-256 checksum How to use checksums |
8cb8b4f9aa4b6bc9e1b8803ce22f9aa1c0a871bb2bfc9fa37b75bc612a93c27c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.8.2 CPython/3.10.13 Linux/6.5.0-1015-azure
|