constants.py 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. from django.db.models import Q
  2. from .choices import InterfaceTypeChoices
  3. # Exclude SVG images (unsupported by PIL)
  4. DEVICETYPE_IMAGE_FORMATS = 'image/bmp,image/gif,image/jpeg,image/png,image/tiff,image/webp'
  5. #
  6. # Racks
  7. #
  8. RACK_U_HEIGHT_DEFAULT = 42
  9. RACK_ELEVATION_BORDER_WIDTH = 2
  10. RACK_ELEVATION_LEGEND_WIDTH_DEFAULT = 30
  11. #
  12. # RearPorts
  13. #
  14. REARPORT_POSITIONS_MIN = 1
  15. REARPORT_POSITIONS_MAX = 1024
  16. #
  17. # Interfaces
  18. #
  19. INTERFACE_MTU_MIN = 1
  20. INTERFACE_MTU_MAX = 65536
  21. VIRTUAL_IFACE_TYPES = [
  22. InterfaceTypeChoices.TYPE_VIRTUAL,
  23. InterfaceTypeChoices.TYPE_LAG,
  24. ]
  25. WIRELESS_IFACE_TYPES = [
  26. InterfaceTypeChoices.TYPE_80211A,
  27. InterfaceTypeChoices.TYPE_80211G,
  28. InterfaceTypeChoices.TYPE_80211N,
  29. InterfaceTypeChoices.TYPE_80211AC,
  30. InterfaceTypeChoices.TYPE_80211AD,
  31. ]
  32. NONCONNECTABLE_IFACE_TYPES = VIRTUAL_IFACE_TYPES + WIRELESS_IFACE_TYPES
  33. #
  34. # PowerFeeds
  35. #
  36. POWERFEED_VOLTAGE_DEFAULT = 120
  37. POWERFEED_AMPERAGE_DEFAULT = 20
  38. POWERFEED_MAX_UTILIZATION_DEFAULT = 80 # Percentage
  39. #
  40. # Cabling and connections
  41. #
  42. # Cable endpoint types
  43. CABLE_TERMINATION_MODELS = Q(
  44. Q(app_label='circuits', model__in=(
  45. 'circuittermination',
  46. )) |
  47. Q(app_label='dcim', model__in=(
  48. 'consoleport',
  49. 'consoleserverport',
  50. 'frontport',
  51. 'interface',
  52. 'powerfeed',
  53. 'poweroutlet',
  54. 'powerport',
  55. 'rearport',
  56. ))
  57. )
  58. COMPATIBLE_TERMINATION_TYPES = {
  59. 'circuittermination': ['interface', 'frontport', 'rearport', 'circuittermination'],
  60. 'consoleport': ['consoleserverport', 'frontport', 'rearport'],
  61. 'consoleserverport': ['consoleport', 'frontport', 'rearport'],
  62. 'interface': ['interface', 'circuittermination', 'frontport', 'rearport'],
  63. 'frontport': ['consoleport', 'consoleserverport', 'interface', 'frontport', 'rearport', 'circuittermination'],
  64. 'powerfeed': ['powerport'],
  65. 'poweroutlet': ['powerport'],
  66. 'powerport': ['poweroutlet', 'powerfeed'],
  67. 'rearport': ['consoleport', 'consoleserverport', 'interface', 'frontport', 'rearport', 'circuittermination'],
  68. }