diff options
author | Håkon Solbjørg <hakon@solbj.org> | 2023-04-02 13:59:33 +0200 |
---|---|---|
committer | Håkon Solbjørg <hakon@solbj.org> | 2023-04-02 13:59:33 +0200 |
commit | 3cb520a4681a76fd9c6800a6bc5ac9ae7ea9918f (patch) | |
tree | fc13c364eb508ad1873214d1af7f5ac97f5cea49 /tools | |
parent | 350605be75f4efb50884cf6339f785af0c0d8074 (diff) |
feat(netbox2gondul): By default, only sync ringen + floor
Diffstat (limited to 'tools')
-rw-r--r-- | tools/netbox/scripts/netbox2gondul/netbox2gondul.py | 11 |
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 = [] |