Skip to content

Instantly share code, notes, and snippets.

@dgarros
Created February 23, 2022 23:10
Show Gist options
  • Save dgarros/f7de9a041f8ee759f2ac28d906593579 to your computer and use it in GitHub Desktop.
Save dgarros/f7de9a041f8ee759f2ac28d906593579 to your computer and use it in GitHub Desktop.
Nautobot Jinja Filter - ntc_description
"""Computed fields."""
from django_jinja import library
from nautobot.circuits.models import CircuitTermination
from nautobot.dcim.models import Interface
@library.filter
def ntc_description(obj):
"""Create an interface description dynamically."""
if obj.connected_endpoint and isinstance(obj.connected_endpoint, CircuitTermination):
circuit = obj.connected_endpoint.circuit
return f"provider={circuit.cid} | type={circuit.type.slug} | circuit={circuit.cid}"
elif obj.connected_endpoint and isinstance(obj.connected_endpoint, Interface):
interface = obj.connected_endpoint
return (
f"peer={interface.device.name} | peer_intf={interface.name} | peer_role={interface.device.device_role.slug}"
)
return ""
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment