search.py 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. from netbox.search import SearchIndex, register_search
  2. from . import models
  3. @register_search
  4. class TunnelIndex(SearchIndex):
  5. model = models.Tunnel
  6. fields = (
  7. ('name', 100),
  8. ('tunnel_id', 300),
  9. ('description', 500),
  10. ('comments', 5000),
  11. )
  12. display_attrs = ('group', 'status', 'encapsulation', 'tenant', 'tunnel_id', 'description')
  13. @register_search
  14. class IKEProposalIndex(SearchIndex):
  15. model = models.IKEProposal
  16. fields = (
  17. ('name', 100),
  18. ('description', 500),
  19. ('comments', 5000),
  20. )
  21. display_attrs = ('description',)
  22. @register_search
  23. class IKEPolicyIndex(SearchIndex):
  24. model = models.IKEPolicy
  25. fields = (
  26. ('name', 100),
  27. ('description', 500),
  28. ('comments', 5000),
  29. )
  30. display_attrs = ('description',)
  31. @register_search
  32. class IPSecProposalIndex(SearchIndex):
  33. model = models.IPSecProposal
  34. fields = (
  35. ('name', 100),
  36. ('description', 500),
  37. ('comments', 5000),
  38. )
  39. display_attrs = ('description',)
  40. @register_search
  41. class IPSecPolicyIndex(SearchIndex):
  42. model = models.IPSecPolicy
  43. fields = (
  44. ('name', 100),
  45. ('description', 500),
  46. ('comments', 5000),
  47. )
  48. display_attrs = ('description',)
  49. @register_search
  50. class IPSecProfileIndex(SearchIndex):
  51. model = models.IPSecProfile
  52. fields = (
  53. ('name', 100),
  54. ('description', 500),
  55. ('comments', 5000),
  56. )
  57. display_attrs = ('description',)
  58. @register_search
  59. class L2VPNIndex(SearchIndex):
  60. model = models.L2VPN
  61. fields = (
  62. ('name', 100),
  63. ('slug', 110),
  64. ('description', 500),
  65. ('comments', 5000),
  66. )
  67. display_attrs = ('type', 'identifier', 'tenant', 'description')