constants.py 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. from django.db.models import Q
  2. from .choices import InterfaceTypeChoices
  3. #
  4. # Rack elevation rendering
  5. #
  6. RACK_ELEVATION_UNIT_WIDTH_DEFAULT = 230
  7. RACK_ELEVATION_UNIT_HEIGHT_DEFAULT = 20
  8. #
  9. # Interface type groups
  10. #
  11. VIRTUAL_IFACE_TYPES = [
  12. InterfaceTypeChoices.TYPE_VIRTUAL,
  13. InterfaceTypeChoices.TYPE_LAG,
  14. ]
  15. WIRELESS_IFACE_TYPES = [
  16. InterfaceTypeChoices.TYPE_80211A,
  17. InterfaceTypeChoices.TYPE_80211G,
  18. InterfaceTypeChoices.TYPE_80211N,
  19. InterfaceTypeChoices.TYPE_80211AC,
  20. InterfaceTypeChoices.TYPE_80211AD,
  21. ]
  22. NONCONNECTABLE_IFACE_TYPES = VIRTUAL_IFACE_TYPES + WIRELESS_IFACE_TYPES
  23. #
  24. # Cabling and connections
  25. #
  26. # TODO: Replace with CableStatusChoices?
  27. # Console/power/interface connection statuses
  28. CONNECTION_STATUS_PLANNED = False
  29. CONNECTION_STATUS_CONNECTED = True
  30. CONNECTION_STATUS_CHOICES = [
  31. [CONNECTION_STATUS_PLANNED, 'Planned'],
  32. [CONNECTION_STATUS_CONNECTED, 'Connected'],
  33. ]
  34. # Cable endpoint types
  35. CABLE_TERMINATION_MODELS = Q(
  36. Q(app_label='circuits', model__in=(
  37. 'circuittermination',
  38. )) |
  39. Q(app_label='dcim', model__in=(
  40. 'consoleport',
  41. 'consoleserverport',
  42. 'frontport',
  43. 'interface',
  44. 'powerfeed',
  45. 'poweroutlet',
  46. 'powerport',
  47. 'rearport',
  48. ))
  49. )
  50. COMPATIBLE_TERMINATION_TYPES = {
  51. 'consoleport': ['consoleserverport', 'frontport', 'rearport'],
  52. 'consoleserverport': ['consoleport', 'frontport', 'rearport'],
  53. 'powerport': ['poweroutlet', 'powerfeed'],
  54. 'poweroutlet': ['powerport'],
  55. 'interface': ['interface', 'circuittermination', 'frontport', 'rearport'],
  56. 'frontport': ['consoleport', 'consoleserverport', 'interface', 'frontport', 'rearport', 'circuittermination'],
  57. 'rearport': ['consoleport', 'consoleserverport', 'interface', 'frontport', 'rearport', 'circuittermination'],
  58. 'circuittermination': ['interface', 'frontport', 'rearport'],
  59. }