initial commit

This commit is contained in:
Christian Manivong
2026-05-29 09:22:10 +02:00
commit ae27cd5469
10 changed files with 3038 additions and 0 deletions
+66
View File
@@ -0,0 +1,66 @@
from napalm_opnsense.opnsense import OPNsenseDriver
def main():
driver = OPNsenseDriver(
hostname="test.local",
username="api_key",
password="api_secret",
optional_args={
"base_url": "https://test.local",
"verify": False,
},
)
# Mock API responses to avoid real network calls
def fake_get(path: str):
if path == "/api/core/system/status":
return {
"hostname": "opnsense01",
"version": "24.7",
"model": "OPNsense",
"serial": "ABC123",
"uptime": 12345,
}
if path == "/api/interfaces/overview/export":
return {
"interfaces": [
{
"name": "em0",
"up": True,
"enabled": True,
"descr": "LAN",
"mac": "AA:BB:CC:DD:EE:FF",
"speed_mbps": 1000,
"mtu": 1500,
}
]
}
if path == "/api/interfaces/addresses/export":
return {
"items": [
{"interface": "em0", "address": "192.0.2.10", "prefix": 24},
{"interface": "em0", "address": "2001:db8::1", "prefix": 64},
]
}
return {}
# Monkeypatch before open()
driver._get = fake_get # type: ignore
driver.open()
print("Facts:")
print(driver.get_facts())
print("\nInterfaces:")
print(driver.get_interfaces())
print("\nInterfaces IP:")
print(driver.get_interfaces_ip())
driver.close()
if __name__ == "__main__":
main()