From 9faf74f3cb44cd34173197a2bc514f9ea3bc674b Mon Sep 17 00:00:00 2001 From: Eric Krichbaum Date: Fri, 16 Aug 2024 21:19:49 -0500 Subject: [PATCH] Update serializers.py more info for circuits attached to interface --- netbox_prometheus_sd/api/serializers.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/netbox_prometheus_sd/api/serializers.py b/netbox_prometheus_sd/api/serializers.py index 9572ed9..ef22950 100644 --- a/netbox_prometheus_sd/api/serializers.py +++ b/netbox_prometheus_sd/api/serializers.py @@ -220,16 +220,31 @@ class Meta: def get_labels(self, obj): firstip = "" firstipmask = "" + cid = "" + circuit_desc = "" + provider = "" if obj.count_ipaddresses > 0: ipsplit = str(obj.ip_addresses.first()).split("/", 1) firstip = ipsplit[0] firstipmask = ipsplit[1] + # should always have link_peers but... + if hasattr(obj, "link_peers") and obj.link_peers is not None: + # may be device not circuit. + if len(obj.link_peers) > 0: + if hasattr(obj.link_peers[0], "circuit"): + cid = obj.link_peers[0].circuit.cid + circuit_desc = obj.link_peers[0].circuit.description + provider=Provider.objects.filter(id=obj.link_peers[0].circuit.provider_id).first().name + labels = LabelDict( { "id": str(obj.id), "devicename": str(obj.device.name), "deviceid": str(obj.device.id), + "circuit_desc": circuit_desc, + "circuit_cid": cid, + "circuit_provider": provider, "ip_address": firstip, "ip_mask": firstipmask }