constants.py 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519
  1. # BGP ASN bounds
  2. BGP_ASN_MIN = 1
  3. BGP_ASN_MAX = 2**32 - 1
  4. # Rack types
  5. RACK_TYPE_2POST = 100
  6. RACK_TYPE_4POST = 200
  7. RACK_TYPE_CABINET = 300
  8. RACK_TYPE_WALLFRAME = 1000
  9. RACK_TYPE_WALLCABINET = 1100
  10. RACK_TYPE_CHOICES = (
  11. (RACK_TYPE_2POST, '2-post frame'),
  12. (RACK_TYPE_4POST, '4-post frame'),
  13. (RACK_TYPE_CABINET, '4-post cabinet'),
  14. (RACK_TYPE_WALLFRAME, 'Wall-mounted frame'),
  15. (RACK_TYPE_WALLCABINET, 'Wall-mounted cabinet'),
  16. )
  17. # Rack widths
  18. RACK_WIDTH_19IN = 19
  19. RACK_WIDTH_23IN = 23
  20. RACK_WIDTH_CHOICES = (
  21. (RACK_WIDTH_19IN, '19 inches'),
  22. (RACK_WIDTH_23IN, '23 inches'),
  23. )
  24. # Rack faces
  25. RACK_FACE_FRONT = 0
  26. RACK_FACE_REAR = 1
  27. RACK_FACE_CHOICES = [
  28. [RACK_FACE_FRONT, 'Front'],
  29. [RACK_FACE_REAR, 'Rear'],
  30. ]
  31. # Rack statuses
  32. RACK_STATUS_RESERVED = 0
  33. RACK_STATUS_AVAILABLE = 1
  34. RACK_STATUS_PLANNED = 2
  35. RACK_STATUS_ACTIVE = 3
  36. RACK_STATUS_DEPRECATED = 4
  37. RACK_STATUS_CHOICES = [
  38. [RACK_STATUS_ACTIVE, 'Active'],
  39. [RACK_STATUS_PLANNED, 'Planned'],
  40. [RACK_STATUS_RESERVED, 'Reserved'],
  41. [RACK_STATUS_AVAILABLE, 'Available'],
  42. [RACK_STATUS_DEPRECATED, 'Deprecated'],
  43. ]
  44. # Device rack position
  45. DEVICE_POSITION_CHOICES = [
  46. # Rack.u_height is limited to 100
  47. (i, 'Unit {}'.format(i)) for i in range(1, 101)
  48. ]
  49. # Parent/child device roles
  50. SUBDEVICE_ROLE_PARENT = True
  51. SUBDEVICE_ROLE_CHILD = False
  52. SUBDEVICE_ROLE_CHOICES = (
  53. (None, 'None'),
  54. (SUBDEVICE_ROLE_PARENT, 'Parent'),
  55. (SUBDEVICE_ROLE_CHILD, 'Child'),
  56. )
  57. # Interface types
  58. # Virtual
  59. IFACE_TYPE_VIRTUAL = 0
  60. IFACE_TYPE_LAG = 200
  61. # Ethernet
  62. IFACE_TYPE_100ME_FIXED = 800
  63. IFACE_TYPE_1GE_FIXED = 1000
  64. IFACE_TYPE_1GE_GBIC = 1050
  65. IFACE_TYPE_1GE_SFP = 1100
  66. IFACE_TYPE_2GE_FIXED = 1120
  67. IFACE_TYPE_5GE_FIXED = 1130
  68. IFACE_TYPE_10GE_FIXED = 1150
  69. IFACE_TYPE_10GE_CX4 = 1170
  70. IFACE_TYPE_10GE_SFP_PLUS = 1200
  71. IFACE_TYPE_10GE_XFP = 1300
  72. IFACE_TYPE_10GE_XENPAK = 1310
  73. IFACE_TYPE_10GE_X2 = 1320
  74. IFACE_TYPE_25GE_SFP28 = 1350
  75. IFACE_TYPE_40GE_QSFP_PLUS = 1400
  76. IFACE_TYPE_50GE_QSFP28 = 1420
  77. IFACE_TYPE_100GE_CFP = 1500
  78. IFACE_TYPE_100GE_CFP2 = 1510
  79. IFACE_TYPE_100GE_CFP4 = 1520
  80. IFACE_TYPE_100GE_CPAK = 1550
  81. IFACE_TYPE_100GE_QSFP28 = 1600
  82. IFACE_TYPE_200GE_CFP2 = 1650
  83. IFACE_TYPE_200GE_QSFP56 = 1700
  84. IFACE_TYPE_400GE_QSFP_DD = 1750
  85. IFACE_TYPE_400GE_OSFP = 1800
  86. # Wireless
  87. IFACE_TYPE_80211A = 2600
  88. IFACE_TYPE_80211G = 2610
  89. IFACE_TYPE_80211N = 2620
  90. IFACE_TYPE_80211AC = 2630
  91. IFACE_TYPE_80211AD = 2640
  92. # Cellular
  93. IFACE_TYPE_GSM = 2810
  94. IFACE_TYPE_CDMA = 2820
  95. IFACE_TYPE_LTE = 2830
  96. # SONET
  97. IFACE_TYPE_SONET_OC3 = 6100
  98. IFACE_TYPE_SONET_OC12 = 6200
  99. IFACE_TYPE_SONET_OC48 = 6300
  100. IFACE_TYPE_SONET_OC192 = 6400
  101. IFACE_TYPE_SONET_OC768 = 6500
  102. IFACE_TYPE_SONET_OC1920 = 6600
  103. IFACE_TYPE_SONET_OC3840 = 6700
  104. # Fibrechannel
  105. IFACE_TYPE_1GFC_SFP = 3010
  106. IFACE_TYPE_2GFC_SFP = 3020
  107. IFACE_TYPE_4GFC_SFP = 3040
  108. IFACE_TYPE_8GFC_SFP_PLUS = 3080
  109. IFACE_TYPE_16GFC_SFP_PLUS = 3160
  110. IFACE_TYPE_32GFC_SFP28 = 3320
  111. IFACE_TYPE_128GFC_QSFP28 = 3400
  112. # InfiniBand
  113. IFACE_FF_INFINIBAND_SDR = 7010
  114. IFACE_FF_INFINIBAND_DDR = 7020
  115. IFACE_FF_INFINIBAND_QDR = 7030
  116. IFACE_FF_INFINIBAND_FDR10 = 7040
  117. IFACE_FF_INFINIBAND_FDR = 7050
  118. IFACE_FF_INFINIBAND_EDR = 7060
  119. IFACE_FF_INFINIBAND_HDR = 7070
  120. IFACE_FF_INFINIBAND_NDR = 7080
  121. IFACE_FF_INFINIBAND_XDR = 7090
  122. # Serial
  123. IFACE_TYPE_T1 = 4000
  124. IFACE_TYPE_E1 = 4010
  125. IFACE_TYPE_T3 = 4040
  126. IFACE_TYPE_E3 = 4050
  127. # Stacking
  128. IFACE_TYPE_STACKWISE = 5000
  129. IFACE_TYPE_STACKWISE_PLUS = 5050
  130. IFACE_TYPE_FLEXSTACK = 5100
  131. IFACE_TYPE_FLEXSTACK_PLUS = 5150
  132. IFACE_TYPE_JUNIPER_VCP = 5200
  133. IFACE_TYPE_SUMMITSTACK = 5300
  134. IFACE_TYPE_SUMMITSTACK128 = 5310
  135. IFACE_TYPE_SUMMITSTACK256 = 5320
  136. IFACE_TYPE_SUMMITSTACK512 = 5330
  137. # Other
  138. IFACE_TYPE_OTHER = 32767
  139. IFACE_TYPE_CHOICES = [
  140. [
  141. 'Virtual interfaces',
  142. [
  143. [IFACE_TYPE_VIRTUAL, 'Virtual'],
  144. [IFACE_TYPE_LAG, 'Link Aggregation Group (LAG)'],
  145. ],
  146. ],
  147. [
  148. 'Ethernet (fixed)',
  149. [
  150. [IFACE_TYPE_100ME_FIXED, '100BASE-TX (10/100ME)'],
  151. [IFACE_TYPE_1GE_FIXED, '1000BASE-T (1GE)'],
  152. [IFACE_TYPE_2GE_FIXED, '2.5GBASE-T (2.5GE)'],
  153. [IFACE_TYPE_5GE_FIXED, '5GBASE-T (5GE)'],
  154. [IFACE_TYPE_10GE_FIXED, '10GBASE-T (10GE)'],
  155. [IFACE_TYPE_10GE_CX4, '10GBASE-CX4 (10GE)'],
  156. ]
  157. ],
  158. [
  159. 'Ethernet (modular)',
  160. [
  161. [IFACE_TYPE_1GE_GBIC, 'GBIC (1GE)'],
  162. [IFACE_TYPE_1GE_SFP, 'SFP (1GE)'],
  163. [IFACE_TYPE_10GE_SFP_PLUS, 'SFP+ (10GE)'],
  164. [IFACE_TYPE_10GE_XFP, 'XFP (10GE)'],
  165. [IFACE_TYPE_10GE_XENPAK, 'XENPAK (10GE)'],
  166. [IFACE_TYPE_10GE_X2, 'X2 (10GE)'],
  167. [IFACE_TYPE_25GE_SFP28, 'SFP28 (25GE)'],
  168. [IFACE_TYPE_40GE_QSFP_PLUS, 'QSFP+ (40GE)'],
  169. [IFACE_TYPE_50GE_QSFP28, 'QSFP28 (50GE)'],
  170. [IFACE_TYPE_100GE_CFP, 'CFP (100GE)'],
  171. [IFACE_TYPE_100GE_CFP2, 'CFP2 (100GE)'],
  172. [IFACE_TYPE_200GE_CFP2, 'CFP2 (200GE)'],
  173. [IFACE_TYPE_100GE_CFP4, 'CFP4 (100GE)'],
  174. [IFACE_TYPE_100GE_CPAK, 'Cisco CPAK (100GE)'],
  175. [IFACE_TYPE_100GE_QSFP28, 'QSFP28 (100GE)'],
  176. [IFACE_TYPE_200GE_QSFP56, 'QSFP56 (200GE)'],
  177. [IFACE_TYPE_400GE_QSFP_DD, 'QSFP-DD (400GE)'],
  178. [IFACE_TYPE_400GE_OSFP, 'OSFP (400GE)'],
  179. ]
  180. ],
  181. [
  182. 'Wireless',
  183. [
  184. [IFACE_TYPE_80211A, 'IEEE 802.11a'],
  185. [IFACE_TYPE_80211G, 'IEEE 802.11b/g'],
  186. [IFACE_TYPE_80211N, 'IEEE 802.11n'],
  187. [IFACE_TYPE_80211AC, 'IEEE 802.11ac'],
  188. [IFACE_TYPE_80211AD, 'IEEE 802.11ad'],
  189. ]
  190. ],
  191. [
  192. 'Cellular',
  193. [
  194. [IFACE_TYPE_GSM, 'GSM'],
  195. [IFACE_TYPE_CDMA, 'CDMA'],
  196. [IFACE_TYPE_LTE, 'LTE'],
  197. ]
  198. ],
  199. [
  200. 'SONET',
  201. [
  202. [IFACE_TYPE_SONET_OC3, 'OC-3/STM-1'],
  203. [IFACE_TYPE_SONET_OC12, 'OC-12/STM-4'],
  204. [IFACE_TYPE_SONET_OC48, 'OC-48/STM-16'],
  205. [IFACE_TYPE_SONET_OC192, 'OC-192/STM-64'],
  206. [IFACE_TYPE_SONET_OC768, 'OC-768/STM-256'],
  207. [IFACE_TYPE_SONET_OC1920, 'OC-1920/STM-640'],
  208. [IFACE_TYPE_SONET_OC3840, 'OC-3840/STM-1234'],
  209. ]
  210. ],
  211. [
  212. 'FibreChannel',
  213. [
  214. [IFACE_TYPE_1GFC_SFP, 'SFP (1GFC)'],
  215. [IFACE_TYPE_2GFC_SFP, 'SFP (2GFC)'],
  216. [IFACE_TYPE_4GFC_SFP, 'SFP (4GFC)'],
  217. [IFACE_TYPE_8GFC_SFP_PLUS, 'SFP+ (8GFC)'],
  218. [IFACE_TYPE_16GFC_SFP_PLUS, 'SFP+ (16GFC)'],
  219. [IFACE_TYPE_32GFC_SFP28, 'SFP28 (32GFC)'],
  220. [IFACE_TYPE_128GFC_QSFP28, 'QSFP28 (128GFC)'],
  221. ]
  222. ],
  223. [
  224. 'InfiniBand',
  225. [
  226. [IFACE_FF_INFINIBAND_SDR, 'SDR (2 Gbps)'],
  227. [IFACE_FF_INFINIBAND_DDR, 'DDR (4 Gbps)'],
  228. [IFACE_FF_INFINIBAND_QDR, 'QDR (8 Gbps)'],
  229. [IFACE_FF_INFINIBAND_FDR10, 'FDR10 (10 Gbps)'],
  230. [IFACE_FF_INFINIBAND_FDR, 'FDR (13.5 Gbps)'],
  231. [IFACE_FF_INFINIBAND_EDR, 'EDR (25 Gbps)'],
  232. [IFACE_FF_INFINIBAND_HDR, 'HDR (50 Gbps)'],
  233. [IFACE_FF_INFINIBAND_NDR, 'NDR (100 Gbps)'],
  234. [IFACE_FF_INFINIBAND_XDR, 'XDR (250 Gbps)'],
  235. ]
  236. ],
  237. [
  238. 'Serial',
  239. [
  240. [IFACE_TYPE_T1, 'T1 (1.544 Mbps)'],
  241. [IFACE_TYPE_E1, 'E1 (2.048 Mbps)'],
  242. [IFACE_TYPE_T3, 'T3 (45 Mbps)'],
  243. [IFACE_TYPE_E3, 'E3 (34 Mbps)'],
  244. ]
  245. ],
  246. [
  247. 'Stacking',
  248. [
  249. [IFACE_TYPE_STACKWISE, 'Cisco StackWise'],
  250. [IFACE_TYPE_STACKWISE_PLUS, 'Cisco StackWise Plus'],
  251. [IFACE_TYPE_FLEXSTACK, 'Cisco FlexStack'],
  252. [IFACE_TYPE_FLEXSTACK_PLUS, 'Cisco FlexStack Plus'],
  253. [IFACE_TYPE_JUNIPER_VCP, 'Juniper VCP'],
  254. [IFACE_TYPE_SUMMITSTACK, 'Extreme SummitStack'],
  255. [IFACE_TYPE_SUMMITSTACK128, 'Extreme SummitStack-128'],
  256. [IFACE_TYPE_SUMMITSTACK256, 'Extreme SummitStack-256'],
  257. [IFACE_TYPE_SUMMITSTACK512, 'Extreme SummitStack-512'],
  258. ]
  259. ],
  260. [
  261. 'Other',
  262. [
  263. [IFACE_TYPE_OTHER, 'Other'],
  264. ]
  265. ],
  266. ]
  267. VIRTUAL_IFACE_TYPES = [
  268. IFACE_TYPE_VIRTUAL,
  269. IFACE_TYPE_LAG,
  270. ]
  271. WIRELESS_IFACE_TYPES = [
  272. IFACE_TYPE_80211A,
  273. IFACE_TYPE_80211G,
  274. IFACE_TYPE_80211N,
  275. IFACE_TYPE_80211AC,
  276. IFACE_TYPE_80211AD,
  277. ]
  278. NONCONNECTABLE_IFACE_TYPES = VIRTUAL_IFACE_TYPES + WIRELESS_IFACE_TYPES
  279. IFACE_MODE_ACCESS = 100
  280. IFACE_MODE_TAGGED = 200
  281. IFACE_MODE_TAGGED_ALL = 300
  282. IFACE_MODE_CHOICES = [
  283. [IFACE_MODE_ACCESS, 'Access'],
  284. [IFACE_MODE_TAGGED, 'Tagged'],
  285. [IFACE_MODE_TAGGED_ALL, 'Tagged All'],
  286. ]
  287. # Pass-through port types
  288. PORT_TYPE_8P8C = 1000
  289. PORT_TYPE_110_PUNCH = 1100
  290. PORT_TYPE_BNC = 1200
  291. PORT_TYPE_ST = 2000
  292. PORT_TYPE_SC = 2100
  293. PORT_TYPE_SC_APC = 2110
  294. PORT_TYPE_FC = 2200
  295. PORT_TYPE_LC = 2300
  296. PORT_TYPE_LC_APC = 2310
  297. PORT_TYPE_MTRJ = 2400
  298. PORT_TYPE_MPO = 2500
  299. PORT_TYPE_LSH = 2600
  300. PORT_TYPE_LSH_APC = 2610
  301. PORT_TYPE_CHOICES = [
  302. [
  303. 'Copper',
  304. [
  305. [PORT_TYPE_8P8C, '8P8C'],
  306. [PORT_TYPE_110_PUNCH, '110 Punch'],
  307. [PORT_TYPE_BNC, 'BNC'],
  308. ],
  309. ],
  310. [
  311. 'Fiber Optic',
  312. [
  313. [PORT_TYPE_FC, 'FC'],
  314. [PORT_TYPE_LC, 'LC'],
  315. [PORT_TYPE_LC_APC, 'LC/APC'],
  316. [PORT_TYPE_LSH, 'LSH'],
  317. [PORT_TYPE_LSH_APC, 'LSH/APC'],
  318. [PORT_TYPE_MPO, 'MPO'],
  319. [PORT_TYPE_MTRJ, 'MTRJ'],
  320. [PORT_TYPE_SC, 'SC'],
  321. [PORT_TYPE_SC_APC, 'SC/APC'],
  322. [PORT_TYPE_ST, 'ST'],
  323. ]
  324. ]
  325. ]
  326. # Device statuses
  327. DEVICE_STATUS_OFFLINE = 0
  328. DEVICE_STATUS_ACTIVE = 1
  329. DEVICE_STATUS_PLANNED = 2
  330. DEVICE_STATUS_STAGED = 3
  331. DEVICE_STATUS_FAILED = 4
  332. DEVICE_STATUS_INVENTORY = 5
  333. DEVICE_STATUS_DECOMMISSIONING = 6
  334. DEVICE_STATUS_CHOICES = [
  335. [DEVICE_STATUS_ACTIVE, 'Active'],
  336. [DEVICE_STATUS_OFFLINE, 'Offline'],
  337. [DEVICE_STATUS_PLANNED, 'Planned'],
  338. [DEVICE_STATUS_STAGED, 'Staged'],
  339. [DEVICE_STATUS_FAILED, 'Failed'],
  340. [DEVICE_STATUS_INVENTORY, 'Inventory'],
  341. [DEVICE_STATUS_DECOMMISSIONING, 'Decommissioning'],
  342. ]
  343. # Site statuses
  344. SITE_STATUS_ACTIVE = 1
  345. SITE_STATUS_PLANNED = 2
  346. SITE_STATUS_RETIRED = 4
  347. SITE_STATUS_CHOICES = [
  348. [SITE_STATUS_ACTIVE, 'Active'],
  349. [SITE_STATUS_PLANNED, 'Planned'],
  350. [SITE_STATUS_RETIRED, 'Retired'],
  351. ]
  352. # Bootstrap CSS classes for device/rack statuses
  353. STATUS_CLASSES = {
  354. 0: 'warning',
  355. 1: 'success',
  356. 2: 'info',
  357. 3: 'primary',
  358. 4: 'danger',
  359. 5: 'default',
  360. 6: 'warning',
  361. }
  362. # Console/power/interface connection statuses
  363. CONNECTION_STATUS_PLANNED = False
  364. CONNECTION_STATUS_CONNECTED = True
  365. CONNECTION_STATUS_CHOICES = [
  366. [CONNECTION_STATUS_PLANNED, 'Planned'],
  367. [CONNECTION_STATUS_CONNECTED, 'Connected'],
  368. ]
  369. # Cable endpoint types
  370. CABLE_TERMINATION_TYPES = [
  371. 'consoleport', 'consoleserverport', 'interface', 'poweroutlet', 'powerport', 'frontport', 'rearport',
  372. 'circuittermination', 'powerfeed',
  373. ]
  374. # Cable types
  375. CABLE_TYPE_CAT3 = 1300
  376. CABLE_TYPE_CAT5 = 1500
  377. CABLE_TYPE_CAT5E = 1510
  378. CABLE_TYPE_CAT6 = 1600
  379. CABLE_TYPE_CAT6A = 1610
  380. CABLE_TYPE_CAT7 = 1700
  381. CABLE_TYPE_DAC_ACTIVE = 1800
  382. CABLE_TYPE_DAC_PASSIVE = 1810
  383. CABLE_TYPE_COAXIAL = 1900
  384. CABLE_TYPE_MMF = 3000
  385. CABLE_TYPE_MMF_OM1 = 3010
  386. CABLE_TYPE_MMF_OM2 = 3020
  387. CABLE_TYPE_MMF_OM3 = 3030
  388. CABLE_TYPE_MMF_OM4 = 3040
  389. CABLE_TYPE_SMF = 3500
  390. CABLE_TYPE_SMF_OS1 = 3510
  391. CABLE_TYPE_SMF_OS2 = 3520
  392. CABLE_TYPE_AOC = 3800
  393. CABLE_TYPE_POWER = 5000
  394. CABLE_TYPE_CHOICES = (
  395. (
  396. 'Copper', (
  397. (CABLE_TYPE_CAT3, 'CAT3'),
  398. (CABLE_TYPE_CAT5, 'CAT5'),
  399. (CABLE_TYPE_CAT5E, 'CAT5e'),
  400. (CABLE_TYPE_CAT6, 'CAT6'),
  401. (CABLE_TYPE_CAT6A, 'CAT6a'),
  402. (CABLE_TYPE_CAT7, 'CAT7'),
  403. (CABLE_TYPE_DAC_ACTIVE, 'Direct Attach Copper (Active)'),
  404. (CABLE_TYPE_DAC_PASSIVE, 'Direct Attach Copper (Passive)'),
  405. (CABLE_TYPE_COAXIAL, 'Coaxial'),
  406. ),
  407. ),
  408. (
  409. 'Fiber', (
  410. (CABLE_TYPE_MMF, 'Multimode Fiber'),
  411. (CABLE_TYPE_MMF_OM1, 'Multimode Fiber (OM1)'),
  412. (CABLE_TYPE_MMF_OM2, 'Multimode Fiber (OM2)'),
  413. (CABLE_TYPE_MMF_OM3, 'Multimode Fiber (OM3)'),
  414. (CABLE_TYPE_MMF_OM4, 'Multimode Fiber (OM4)'),
  415. (CABLE_TYPE_SMF, 'Singlemode Fiber'),
  416. (CABLE_TYPE_SMF_OS1, 'Singlemode Fiber (OS1)'),
  417. (CABLE_TYPE_SMF_OS2, 'Singlemode Fiber (OS2)'),
  418. (CABLE_TYPE_AOC, 'Active Optical Cabling (AOC)'),
  419. ),
  420. ),
  421. (CABLE_TYPE_POWER, 'Power'),
  422. )
  423. CABLE_TERMINATION_TYPE_CHOICES = {
  424. # (API endpoint, human-friendly name)
  425. 'consoleport': ('console-ports', 'Console port'),
  426. 'consoleserverport': ('console-server-ports', 'Console server port'),
  427. 'powerport': ('power-ports', 'Power port'),
  428. 'poweroutlet': ('power-outlets', 'Power outlet'),
  429. 'interface': ('interfaces', 'Interface'),
  430. 'frontport': ('front-ports', 'Front panel port'),
  431. 'rearport': ('rear-ports', 'Rear panel port'),
  432. }
  433. COMPATIBLE_TERMINATION_TYPES = {
  434. 'consoleport': ['consoleserverport', 'frontport', 'rearport'],
  435. 'consoleserverport': ['consoleport', 'frontport', 'rearport'],
  436. 'powerport': ['poweroutlet', 'powerfeed'],
  437. 'poweroutlet': ['powerport'],
  438. 'interface': ['interface', 'circuittermination', 'frontport', 'rearport'],
  439. 'frontport': ['consoleport', 'consoleserverport', 'interface', 'frontport', 'rearport', 'circuittermination'],
  440. 'rearport': ['consoleport', 'consoleserverport', 'interface', 'frontport', 'rearport', 'circuittermination'],
  441. 'circuittermination': ['interface', 'frontport', 'rearport'],
  442. }
  443. LENGTH_UNIT_METER = 1200
  444. LENGTH_UNIT_CENTIMETER = 1100
  445. LENGTH_UNIT_MILLIMETER = 1000
  446. LENGTH_UNIT_FOOT = 2100
  447. LENGTH_UNIT_INCH = 2000
  448. CABLE_LENGTH_UNIT_CHOICES = (
  449. (LENGTH_UNIT_METER, 'Meters'),
  450. (LENGTH_UNIT_CENTIMETER, 'Centimeters'),
  451. (LENGTH_UNIT_FOOT, 'Feet'),
  452. (LENGTH_UNIT_INCH, 'Inches'),
  453. )
  454. RACK_DIMENSION_UNIT_CHOICES = (
  455. (LENGTH_UNIT_MILLIMETER, 'Millimeters'),
  456. (LENGTH_UNIT_INCH, 'Inches'),
  457. )
  458. # Power feeds
  459. POWERFEED_TYPE_PRIMARY = 1
  460. POWERFEED_TYPE_REDUNDANT = 2
  461. POWERFEED_TYPE_CHOICES = (
  462. (POWERFEED_TYPE_PRIMARY, 'Primary'),
  463. (POWERFEED_TYPE_REDUNDANT, 'Redundant'),
  464. )
  465. POWERFEED_SUPPLY_AC = 1
  466. POWERFEED_SUPPLY_DC = 2
  467. POWERFEED_SUPPLY_CHOICES = (
  468. (POWERFEED_SUPPLY_AC, 'AC'),
  469. (POWERFEED_SUPPLY_DC, 'DC'),
  470. )
  471. POWERFEED_PHASE_SINGLE = 1
  472. POWERFEED_PHASE_3PHASE = 3
  473. POWERFEED_PHASE_CHOICES = (
  474. (POWERFEED_PHASE_SINGLE, 'Single phase'),
  475. (POWERFEED_PHASE_3PHASE, 'Three-phase'),
  476. )
  477. POWERFEED_STATUS_OFFLINE = 0
  478. POWERFEED_STATUS_ACTIVE = 1
  479. POWERFEED_STATUS_PLANNED = 2
  480. POWERFEED_STATUS_FAILED = 4
  481. POWERFEED_STATUS_CHOICES = (
  482. (POWERFEED_STATUS_ACTIVE, 'Active'),
  483. (POWERFEED_STATUS_OFFLINE, 'Offline'),
  484. (POWERFEED_STATUS_PLANNED, 'Planned'),
  485. (POWERFEED_STATUS_FAILED, 'Failed'),
  486. )
  487. POWERFEED_LEG_A = 1
  488. POWERFEED_LEG_B = 2
  489. POWERFEED_LEG_C = 3
  490. POWERFEED_LEG_CHOICES = (
  491. (POWERFEED_LEG_A, 'A'),
  492. (POWERFEED_LEG_B, 'B'),
  493. (POWERFEED_LEG_C, 'C'),
  494. )