netbox/netbox/vpn/search.py
Martin Hauser 6135fb8cd7 feat(vpn): Add search index for TunnelGroup
Introduces `TunnelGroupIndex` for enabling search functionality on
Tunnel Groups. Includes searchable fields for `name` and `description`
with respective weights and display attributes.

Closes #20237
2025-09-04 16:33:39 -04:00

94 lines
2.0 KiB
Python

from netbox.search import SearchIndex, register_search
from . import models
@register_search
class TunnelIndex(SearchIndex):
model = models.Tunnel
fields = (
('name', 100),
('tunnel_id', 300),
('description', 500),
('comments', 5000),
)
display_attrs = ('group', 'status', 'encapsulation', 'tenant', 'tunnel_id', 'description')
@register_search
class TunnelGroupIndex(SearchIndex):
model = models.TunnelGroup
fields = (
('name', 100),
('slug', 110),
('description', 500),
)
display_attrs = ('description',)
@register_search
class IKEProposalIndex(SearchIndex):
model = models.IKEProposal
fields = (
('name', 100),
('description', 500),
('comments', 5000),
)
display_attrs = ('description',)
@register_search
class IKEPolicyIndex(SearchIndex):
model = models.IKEPolicy
fields = (
('name', 100),
('description', 500),
('comments', 5000),
)
display_attrs = ('description',)
@register_search
class IPSecProposalIndex(SearchIndex):
model = models.IPSecProposal
fields = (
('name', 100),
('description', 500),
('comments', 5000),
)
display_attrs = ('description',)
@register_search
class IPSecPolicyIndex(SearchIndex):
model = models.IPSecPolicy
fields = (
('name', 100),
('description', 500),
('comments', 5000),
)
display_attrs = ('description',)
@register_search
class IPSecProfileIndex(SearchIndex):
model = models.IPSecProfile
fields = (
('name', 100),
('description', 500),
('comments', 5000),
)
display_attrs = ('description',)
@register_search
class L2VPNIndex(SearchIndex):
model = models.L2VPN
fields = (
('name', 100),
('slug', 110),
('identifier', 200),
('description', 500),
('comments', 5000),
)
display_attrs = ('type', 'status', 'identifier', 'tenant', 'description')