search.py 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  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. ('identifier', 200),
  65. ('description', 500),
  66. ('comments', 5000),
  67. )
  68. display_attrs = ('type', 'identifier', 'tenant', 'description')