aboutsummaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorHåkon Solbjørg <hakon@solbj.org>2023-04-02 13:59:33 +0200
committerHåkon Solbjørg <hakon@solbj.org>2023-04-02 13:59:33 +0200
commit3cb520a4681a76fd9c6800a6bc5ac9ae7ea9918f (patch)
treefc13c364eb508ad1873214d1af7f5ac97f5cea49 /tools
parent350605be75f4efb50884cf6339f785af0c0d8074 (diff)
feat(netbox2gondul): By default, only sync ringen + floor
Diffstat (limited to 'tools')
-rw-r--r--tools/netbox/scripts/netbox2gondul/netbox2gondul.py11
1 files changed, 9 insertions, 2 deletions
diff --git a/tools/netbox/scripts/netbox2gondul/netbox2gondul.py b/tools/netbox/scripts/netbox2gondul/netbox2gondul.py
index 3c6394a..875954f 100644
--- a/tools/netbox/scripts/netbox2gondul/netbox2gondul.py
+++ b/tools/netbox/scripts/netbox2gondul/netbox2gondul.py
@@ -1,7 +1,7 @@
import os
from django.contrib.contenttypes.models import ContentType
-from django.db.models import F
+from django.db.models import F, Q
from django.utils.text import slugify
from dcim.choices import DeviceStatusChoices, InterfaceModeChoices, InterfaceTypeChoices, SiteStatusChoices
@@ -16,6 +16,9 @@ import re
import requests
from requests.models import HTTPBasicAuth
+FLOOR = Site.objects.get(slug="floor")
+RING = Site.objects.get(slug="ring")
+
class GondulConfigError(Exception):
def __init__(self, msg):
self.message = msg
@@ -197,7 +200,11 @@ class Netbox2Gondul(Script):
input_devices: list[Type[Device]] = data['device']
if len(input_devices) == 0:
- input_devices = Device.objects.filter(status=DeviceStatusChoices.STATUS_ACTIVE)
+ input_devices = Device.objects.filter(
+ Q(site=FLOOR) | Q(site=RING)
+ ).filter(
+ status=DeviceStatusChoices.STATUS_ACTIVE,
+ )
networks = []
switches = []