diff --git a/netbox_routing/search/__init__.py b/netbox_routing/search/__init__.py new file mode 100644 index 0000000..e603ef1 --- /dev/null +++ b/netbox_routing/search/__init__.py @@ -0,0 +1,12 @@ +from .static import StaticRouteIndex +from .ospf import OSPFInstanceIndex, OSPFAreaIndex +from .eigrp import EIGRPRouterIndex, EIGRPAddressFamilyIndex + + +__all__ = ( + 'StaticRouteIndex', + 'OSPFInstanceIndex', + 'OSPFAreaIndex', + 'EIGRPRouterIndex', + 'EIGRPAddressFamilyIndex', +) diff --git a/netbox_routing/search/eigrp.py b/netbox_routing/search/eigrp.py new file mode 100644 index 0000000..7e94a4f --- /dev/null +++ b/netbox_routing/search/eigrp.py @@ -0,0 +1,29 @@ +from netbox.search import SearchIndex, register_search +from netbox_routing.models.eigrp import EIGRPRouter, EIGRPAddressFamily + + +__all__ = ( + 'EIGRPRouterIndex', + 'EIGRPAddressFamilyIndex', +) + + +@register_search +class EIGRPRouterIndex(SearchIndex): + model = EIGRPRouter + fields = ( + ('rid', 100), + ('pid', 200), + ('name', 210), + ('comments', 5000), + ) + display_attrs = ('device', 'mode') + + +@register_search +class EIGRPAddressFamilyIndex(SearchIndex): + model = EIGRPAddressFamily + fields = ( + ('rid', 100), + ('comments', 5000), + ) diff --git a/netbox_routing/search/ospf.py b/netbox_routing/search/ospf.py new file mode 100644 index 0000000..ac2e5e3 --- /dev/null +++ b/netbox_routing/search/ospf.py @@ -0,0 +1,29 @@ +from netbox.search import SearchIndex, register_search +from netbox_routing.models.ospf import OSPFInstance, OSPFArea + + +__all__ = ( + 'OSPFInstanceIndex', + 'OSPFAreaIndex', +) + + +@register_search +class OSPFInstanceIndex(SearchIndex): + model = OSPFInstance + fields = ( + ('name', 100), + ('router_id', 200), + ('process_id', 300), + ('comments', 5000), + ) + display_attrs = ('process_id', 'device', 'vrf') + + +@register_search +class OSPFAreaIndex(SearchIndex): + model = OSPFArea + fields = ( + ('area_id', 100), + ('comments', 5000), + ) diff --git a/netbox_routing/search/static.py b/netbox_routing/search/static.py new file mode 100644 index 0000000..0f74b4b --- /dev/null +++ b/netbox_routing/search/static.py @@ -0,0 +1,19 @@ +from netbox.search import SearchIndex, register_search +from netbox_routing.models.static import StaticRoute + + +__all__ = ( + 'StaticRouteIndex', +) + + +@register_search +class StaticRouteIndex(SearchIndex): + model = StaticRoute + fields = ( + ('name', 100), + ('prefix', 200), + ('next_hop', 300), + ('comments', 5000), + ) + display_attrs = ('prefix', 'next_hop', 'vrf')