search.py 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. from netbox.search import SearchIndex, register_search
  2. from . import models
  3. @register_search
  4. class ClusterIndex(SearchIndex):
  5. model = models.Cluster
  6. fields = (
  7. ('name', 100),
  8. ('description', 500),
  9. ('comments', 5000),
  10. )
  11. display_attrs = ('type', 'group', 'status', 'tenant', 'site', 'description')
  12. @register_search
  13. class ClusterGroupIndex(SearchIndex):
  14. model = models.ClusterGroup
  15. fields = (
  16. ('name', 100),
  17. ('slug', 110),
  18. ('description', 500),
  19. )
  20. display_attrs = ('description',)
  21. @register_search
  22. class ClusterTypeIndex(SearchIndex):
  23. model = models.ClusterType
  24. fields = (
  25. ('name', 100),
  26. ('slug', 110),
  27. ('description', 500),
  28. )
  29. display_attrs = ('description',)
  30. @register_search
  31. class VirtualMachineIndex(SearchIndex):
  32. model = models.VirtualMachine
  33. fields = (
  34. ('name', 100),
  35. ('description', 500),
  36. ('comments', 5000),
  37. )
  38. display_attrs = ('site', 'cluster', 'device', 'tenant', 'platform', 'status', 'role', 'description')
  39. @register_search
  40. class VMInterfaceIndex(SearchIndex):
  41. model = models.VMInterface
  42. fields = (
  43. ('name', 100),
  44. ('mac_address', 300),
  45. ('description', 500),
  46. ('mtu', 2000),
  47. )
  48. display_attrs = ('virtual_machine', 'description')