search.py 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. from netbox.search import SearchIndex, register_search
  2. from . import models
  3. @register_search
  4. class CircuitIndex(SearchIndex):
  5. model = models.Circuit
  6. fields = (
  7. ('cid', 100),
  8. ('description', 500),
  9. ('comments', 5000),
  10. )
  11. display_attrs = ('provider', 'provider_account', 'type', 'status', 'tenant', 'description')
  12. @register_search
  13. class CircuitGroupIndex(SearchIndex):
  14. model = models.CircuitGroup
  15. fields = (
  16. ('name', 100),
  17. ('slug', 110),
  18. ('description', 500),
  19. )
  20. display_attrs = ('description',)
  21. @register_search
  22. class CircuitTerminationIndex(SearchIndex):
  23. model = models.CircuitTermination
  24. fields = (
  25. ('xconnect_id', 300),
  26. ('pp_info', 300),
  27. ('description', 500),
  28. ('port_speed', 2000),
  29. ('upstream_speed', 2000),
  30. )
  31. display_attrs = ('circuit', 'site', 'provider_network', 'description')
  32. @register_search
  33. class CircuitTypeIndex(SearchIndex):
  34. model = models.CircuitType
  35. fields = (
  36. ('name', 100),
  37. ('slug', 110),
  38. ('description', 500),
  39. )
  40. display_attrs = ('description',)
  41. @register_search
  42. class ProviderIndex(SearchIndex):
  43. model = models.Provider
  44. fields = (
  45. ('name', 100),
  46. ('description', 500),
  47. ('comments', 5000),
  48. )
  49. display_attrs = ('description',)
  50. @register_search
  51. class ProviderAccountIndex(SearchIndex):
  52. model = models.ProviderAccount
  53. fields = (
  54. ('name', 100),
  55. ('account', 200),
  56. ('comments', 5000),
  57. )
  58. display_attrs = ('provider', 'account', 'description')
  59. @register_search
  60. class ProviderNetworkIndex(SearchIndex):
  61. model = models.ProviderNetwork
  62. fields = (
  63. ('name', 100),
  64. ('service_id', 200),
  65. ('description', 500),
  66. ('comments', 5000),
  67. )
  68. display_attrs = ('provider', 'service_id', 'description')