1from utilities.choices import ChoiceSet 2 3 4# 5# Sites 6# 7 8class SiteStatusChoices(ChoiceSet): 9 10 STATUS_PLANNED = 'planned' 11 STATUS_STAGING = 'staging' 12 STATUS_ACTIVE = 'active' 13 STATUS_DECOMMISSIONING = 'decommissioning' 14 STATUS_RETIRED = 'retired' 15 16 CHOICES = ( 17 (STATUS_PLANNED, 'Planned'), 18 (STATUS_STAGING, 'Staging'), 19 (STATUS_ACTIVE, 'Active'), 20 (STATUS_DECOMMISSIONING, 'Decommissioning'), 21 (STATUS_RETIRED, 'Retired'), 22 ) 23 24 CSS_CLASSES = { 25 STATUS_PLANNED: 'info', 26 STATUS_STAGING: 'primary', 27 STATUS_ACTIVE: 'success', 28 STATUS_DECOMMISSIONING: 'warning', 29 STATUS_RETIRED: 'danger', 30 } 31 32 33# 34# Racks 35# 36 37class RackTypeChoices(ChoiceSet): 38 39 TYPE_2POST = '2-post-frame' 40 TYPE_4POST = '4-post-frame' 41 TYPE_CABINET = '4-post-cabinet' 42 TYPE_WALLFRAME = 'wall-frame' 43 TYPE_WALLCABINET = 'wall-cabinet' 44 45 CHOICES = ( 46 (TYPE_2POST, '2-post frame'), 47 (TYPE_4POST, '4-post frame'), 48 (TYPE_CABINET, '4-post cabinet'), 49 (TYPE_WALLFRAME, 'Wall-mounted frame'), 50 (TYPE_WALLCABINET, 'Wall-mounted cabinet'), 51 ) 52 53 54class RackWidthChoices(ChoiceSet): 55 56 WIDTH_10IN = 10 57 WIDTH_19IN = 19 58 WIDTH_21IN = 21 59 WIDTH_23IN = 23 60 61 CHOICES = ( 62 (WIDTH_10IN, '10 inches'), 63 (WIDTH_19IN, '19 inches'), 64 (WIDTH_21IN, '21 inches'), 65 (WIDTH_23IN, '23 inches'), 66 ) 67 68 69class RackStatusChoices(ChoiceSet): 70 71 STATUS_RESERVED = 'reserved' 72 STATUS_AVAILABLE = 'available' 73 STATUS_PLANNED = 'planned' 74 STATUS_ACTIVE = 'active' 75 STATUS_DEPRECATED = 'deprecated' 76 77 CHOICES = ( 78 (STATUS_RESERVED, 'Reserved'), 79 (STATUS_AVAILABLE, 'Available'), 80 (STATUS_PLANNED, 'Planned'), 81 (STATUS_ACTIVE, 'Active'), 82 (STATUS_DEPRECATED, 'Deprecated'), 83 ) 84 85 CSS_CLASSES = { 86 STATUS_RESERVED: 'warning', 87 STATUS_AVAILABLE: 'success', 88 STATUS_PLANNED: 'info', 89 STATUS_ACTIVE: 'primary', 90 STATUS_DEPRECATED: 'danger', 91 } 92 93 94class RackDimensionUnitChoices(ChoiceSet): 95 96 UNIT_MILLIMETER = 'mm' 97 UNIT_INCH = 'in' 98 99 CHOICES = ( 100 (UNIT_MILLIMETER, 'Millimeters'), 101 (UNIT_INCH, 'Inches'), 102 ) 103 104 105class RackElevationDetailRenderChoices(ChoiceSet): 106 107 RENDER_JSON = 'json' 108 RENDER_SVG = 'svg' 109 110 CHOICES = ( 111 (RENDER_JSON, 'json'), 112 (RENDER_SVG, 'svg') 113 ) 114 115 116# 117# DeviceTypes 118# 119 120class SubdeviceRoleChoices(ChoiceSet): 121 122 ROLE_PARENT = 'parent' 123 ROLE_CHILD = 'child' 124 125 CHOICES = ( 126 (ROLE_PARENT, 'Parent'), 127 (ROLE_CHILD, 'Child'), 128 ) 129 130 131# 132# Devices 133# 134 135class DeviceFaceChoices(ChoiceSet): 136 137 FACE_FRONT = 'front' 138 FACE_REAR = 'rear' 139 140 CHOICES = ( 141 (FACE_FRONT, 'Front'), 142 (FACE_REAR, 'Rear'), 143 ) 144 145 146class DeviceStatusChoices(ChoiceSet): 147 148 STATUS_OFFLINE = 'offline' 149 STATUS_ACTIVE = 'active' 150 STATUS_PLANNED = 'planned' 151 STATUS_STAGED = 'staged' 152 STATUS_FAILED = 'failed' 153 STATUS_INVENTORY = 'inventory' 154 STATUS_DECOMMISSIONING = 'decommissioning' 155 156 CHOICES = ( 157 (STATUS_OFFLINE, 'Offline'), 158 (STATUS_ACTIVE, 'Active'), 159 (STATUS_PLANNED, 'Planned'), 160 (STATUS_STAGED, 'Staged'), 161 (STATUS_FAILED, 'Failed'), 162 (STATUS_INVENTORY, 'Inventory'), 163 (STATUS_DECOMMISSIONING, 'Decommissioning'), 164 ) 165 166 CSS_CLASSES = { 167 STATUS_OFFLINE: 'warning', 168 STATUS_ACTIVE: 'success', 169 STATUS_PLANNED: 'info', 170 STATUS_STAGED: 'primary', 171 STATUS_FAILED: 'danger', 172 STATUS_INVENTORY: 'secondary', 173 STATUS_DECOMMISSIONING: 'warning', 174 } 175 176 177# 178# ConsolePorts 179# 180 181class ConsolePortTypeChoices(ChoiceSet): 182 183 TYPE_DE9 = 'de-9' 184 TYPE_DB25 = 'db-25' 185 TYPE_RJ11 = 'rj-11' 186 TYPE_RJ12 = 'rj-12' 187 TYPE_RJ45 = 'rj-45' 188 TYPE_MINI_DIN_8 = 'mini-din-8' 189 TYPE_USB_A = 'usb-a' 190 TYPE_USB_B = 'usb-b' 191 TYPE_USB_C = 'usb-c' 192 TYPE_USB_MINI_A = 'usb-mini-a' 193 TYPE_USB_MINI_B = 'usb-mini-b' 194 TYPE_USB_MICRO_A = 'usb-micro-a' 195 TYPE_USB_MICRO_B = 'usb-micro-b' 196 TYPE_USB_MICRO_AB = 'usb-micro-ab' 197 TYPE_OTHER = 'other' 198 199 CHOICES = ( 200 ('Serial', ( 201 (TYPE_DE9, 'DE-9'), 202 (TYPE_DB25, 'DB-25'), 203 (TYPE_RJ11, 'RJ-11'), 204 (TYPE_RJ12, 'RJ-12'), 205 (TYPE_RJ45, 'RJ-45'), 206 (TYPE_MINI_DIN_8, 'Mini-DIN 8'), 207 )), 208 ('USB', ( 209 (TYPE_USB_A, 'USB Type A'), 210 (TYPE_USB_B, 'USB Type B'), 211 (TYPE_USB_C, 'USB Type C'), 212 (TYPE_USB_MINI_A, 'USB Mini A'), 213 (TYPE_USB_MINI_B, 'USB Mini B'), 214 (TYPE_USB_MICRO_A, 'USB Micro A'), 215 (TYPE_USB_MICRO_B, 'USB Micro B'), 216 (TYPE_USB_MICRO_AB, 'USB Micro AB'), 217 )), 218 ('Other', ( 219 (TYPE_OTHER, 'Other'), 220 )), 221 ) 222 223 224class ConsolePortSpeedChoices(ChoiceSet): 225 226 SPEED_1200 = 1200 227 SPEED_2400 = 2400 228 SPEED_4800 = 4800 229 SPEED_9600 = 9600 230 SPEED_19200 = 19200 231 SPEED_38400 = 38400 232 SPEED_57600 = 57600 233 SPEED_115200 = 115200 234 235 CHOICES = ( 236 (SPEED_1200, '1200 bps'), 237 (SPEED_2400, '2400 bps'), 238 (SPEED_4800, '4800 bps'), 239 (SPEED_9600, '9600 bps'), 240 (SPEED_19200, '19.2 kbps'), 241 (SPEED_38400, '38.4 kbps'), 242 (SPEED_57600, '57.6 kbps'), 243 (SPEED_115200, '115.2 kbps'), 244 ) 245 246 247# 248# PowerPorts 249# 250 251class PowerPortTypeChoices(ChoiceSet): 252 253 # IEC 60320 254 TYPE_IEC_C6 = 'iec-60320-c6' 255 TYPE_IEC_C8 = 'iec-60320-c8' 256 TYPE_IEC_C14 = 'iec-60320-c14' 257 TYPE_IEC_C16 = 'iec-60320-c16' 258 TYPE_IEC_C20 = 'iec-60320-c20' 259 TYPE_IEC_C22 = 'iec-60320-c22' 260 # IEC 60309 261 TYPE_IEC_PNE4H = 'iec-60309-p-n-e-4h' 262 TYPE_IEC_PNE6H = 'iec-60309-p-n-e-6h' 263 TYPE_IEC_PNE9H = 'iec-60309-p-n-e-9h' 264 TYPE_IEC_2PE4H = 'iec-60309-2p-e-4h' 265 TYPE_IEC_2PE6H = 'iec-60309-2p-e-6h' 266 TYPE_IEC_2PE9H = 'iec-60309-2p-e-9h' 267 TYPE_IEC_3PE4H = 'iec-60309-3p-e-4h' 268 TYPE_IEC_3PE6H = 'iec-60309-3p-e-6h' 269 TYPE_IEC_3PE9H = 'iec-60309-3p-e-9h' 270 TYPE_IEC_3PNE4H = 'iec-60309-3p-n-e-4h' 271 TYPE_IEC_3PNE6H = 'iec-60309-3p-n-e-6h' 272 TYPE_IEC_3PNE9H = 'iec-60309-3p-n-e-9h' 273 # NEMA non-locking 274 TYPE_NEMA_115P = 'nema-1-15p' 275 TYPE_NEMA_515P = 'nema-5-15p' 276 TYPE_NEMA_520P = 'nema-5-20p' 277 TYPE_NEMA_530P = 'nema-5-30p' 278 TYPE_NEMA_550P = 'nema-5-50p' 279 TYPE_NEMA_615P = 'nema-6-15p' 280 TYPE_NEMA_620P = 'nema-6-20p' 281 TYPE_NEMA_630P = 'nema-6-30p' 282 TYPE_NEMA_650P = 'nema-6-50p' 283 TYPE_NEMA_1030P = 'nema-10-30p' 284 TYPE_NEMA_1050P = 'nema-10-50p' 285 TYPE_NEMA_1420P = 'nema-14-20p' 286 TYPE_NEMA_1430P = 'nema-14-30p' 287 TYPE_NEMA_1450P = 'nema-14-50p' 288 TYPE_NEMA_1460P = 'nema-14-60p' 289 TYPE_NEMA_1515P = 'nema-15-15p' 290 TYPE_NEMA_1520P = 'nema-15-20p' 291 TYPE_NEMA_1530P = 'nema-15-30p' 292 TYPE_NEMA_1550P = 'nema-15-50p' 293 TYPE_NEMA_1560P = 'nema-15-60p' 294 # NEMA locking 295 TYPE_NEMA_L115P = 'nema-l1-15p' 296 TYPE_NEMA_L515P = 'nema-l5-15p' 297 TYPE_NEMA_L520P = 'nema-l5-20p' 298 TYPE_NEMA_L530P = 'nema-l5-30p' 299 TYPE_NEMA_L550P = 'nema-l5-50p' 300 TYPE_NEMA_L615P = 'nema-l6-15p' 301 TYPE_NEMA_L620P = 'nema-l6-20p' 302 TYPE_NEMA_L630P = 'nema-l6-30p' 303 TYPE_NEMA_L650P = 'nema-l6-50p' 304 TYPE_NEMA_L1030P = 'nema-l10-30p' 305 TYPE_NEMA_L1420P = 'nema-l14-20p' 306 TYPE_NEMA_L1430P = 'nema-l14-30p' 307 TYPE_NEMA_L1450P = 'nema-l14-50p' 308 TYPE_NEMA_L1460P = 'nema-l14-60p' 309 TYPE_NEMA_L1520P = 'nema-l15-20p' 310 TYPE_NEMA_L1530P = 'nema-l15-30p' 311 TYPE_NEMA_L1550P = 'nema-l15-50p' 312 TYPE_NEMA_L1560P = 'nema-l15-60p' 313 TYPE_NEMA_L2120P = 'nema-l21-20p' 314 TYPE_NEMA_L2130P = 'nema-l21-30p' 315 TYPE_NEMA_L2230P = 'nema-l22-30p' 316 # California style 317 TYPE_CS6361C = 'cs6361c' 318 TYPE_CS6365C = 'cs6365c' 319 TYPE_CS8165C = 'cs8165c' 320 TYPE_CS8265C = 'cs8265c' 321 TYPE_CS8365C = 'cs8365c' 322 TYPE_CS8465C = 'cs8465c' 323 # ITA/international 324 TYPE_ITA_C = 'ita-c' 325 TYPE_ITA_E = 'ita-e' 326 TYPE_ITA_F = 'ita-f' 327 TYPE_ITA_EF = 'ita-ef' 328 TYPE_ITA_G = 'ita-g' 329 TYPE_ITA_H = 'ita-h' 330 TYPE_ITA_I = 'ita-i' 331 TYPE_ITA_J = 'ita-j' 332 TYPE_ITA_K = 'ita-k' 333 TYPE_ITA_L = 'ita-l' 334 TYPE_ITA_M = 'ita-m' 335 TYPE_ITA_N = 'ita-n' 336 TYPE_ITA_O = 'ita-o' 337 # USB 338 TYPE_USB_A = 'usb-a' 339 TYPE_USB_B = 'usb-b' 340 TYPE_USB_C = 'usb-c' 341 TYPE_USB_MINI_A = 'usb-mini-a' 342 TYPE_USB_MINI_B = 'usb-mini-b' 343 TYPE_USB_MICRO_A = 'usb-micro-a' 344 TYPE_USB_MICRO_B = 'usb-micro-b' 345 TYPE_USB_MICRO_AB = 'usb-micro-ab' 346 TYPE_USB_3_B = 'usb-3-b' 347 TYPE_USB_3_MICROB = 'usb-3-micro-b' 348 # Direct current (DC) 349 TYPE_DC = 'dc-terminal' 350 # Proprietary 351 TYPE_SAF_D_GRID = 'saf-d-grid' 352 # Other 353 TYPE_HARDWIRED = 'hardwired' 354 355 CHOICES = ( 356 ('IEC 60320', ( 357 (TYPE_IEC_C6, 'C6'), 358 (TYPE_IEC_C8, 'C8'), 359 (TYPE_IEC_C14, 'C14'), 360 (TYPE_IEC_C16, 'C16'), 361 (TYPE_IEC_C20, 'C20'), 362 (TYPE_IEC_C22, 'C22'), 363 )), 364 ('IEC 60309', ( 365 (TYPE_IEC_PNE4H, 'P+N+E 4H'), 366 (TYPE_IEC_PNE6H, 'P+N+E 6H'), 367 (TYPE_IEC_PNE9H, 'P+N+E 9H'), 368 (TYPE_IEC_2PE4H, '2P+E 4H'), 369 (TYPE_IEC_2PE6H, '2P+E 6H'), 370 (TYPE_IEC_2PE9H, '2P+E 9H'), 371 (TYPE_IEC_3PE4H, '3P+E 4H'), 372 (TYPE_IEC_3PE6H, '3P+E 6H'), 373 (TYPE_IEC_3PE9H, '3P+E 9H'), 374 (TYPE_IEC_3PNE4H, '3P+N+E 4H'), 375 (TYPE_IEC_3PNE6H, '3P+N+E 6H'), 376 (TYPE_IEC_3PNE9H, '3P+N+E 9H'), 377 )), 378 ('NEMA (Non-locking)', ( 379 (TYPE_NEMA_115P, 'NEMA 1-15P'), 380 (TYPE_NEMA_515P, 'NEMA 5-15P'), 381 (TYPE_NEMA_520P, 'NEMA 5-20P'), 382 (TYPE_NEMA_530P, 'NEMA 5-30P'), 383 (TYPE_NEMA_550P, 'NEMA 5-50P'), 384 (TYPE_NEMA_615P, 'NEMA 6-15P'), 385 (TYPE_NEMA_620P, 'NEMA 6-20P'), 386 (TYPE_NEMA_630P, 'NEMA 6-30P'), 387 (TYPE_NEMA_650P, 'NEMA 6-50P'), 388 (TYPE_NEMA_1030P, 'NEMA 10-30P'), 389 (TYPE_NEMA_1050P, 'NEMA 10-50P'), 390 (TYPE_NEMA_1420P, 'NEMA 14-20P'), 391 (TYPE_NEMA_1430P, 'NEMA 14-30P'), 392 (TYPE_NEMA_1450P, 'NEMA 14-50P'), 393 (TYPE_NEMA_1460P, 'NEMA 14-60P'), 394 (TYPE_NEMA_1515P, 'NEMA 15-15P'), 395 (TYPE_NEMA_1520P, 'NEMA 15-20P'), 396 (TYPE_NEMA_1530P, 'NEMA 15-30P'), 397 (TYPE_NEMA_1550P, 'NEMA 15-50P'), 398 (TYPE_NEMA_1560P, 'NEMA 15-60P'), 399 )), 400 ('NEMA (Locking)', ( 401 (TYPE_NEMA_L115P, 'NEMA L1-15P'), 402 (TYPE_NEMA_L515P, 'NEMA L5-15P'), 403 (TYPE_NEMA_L520P, 'NEMA L5-20P'), 404 (TYPE_NEMA_L530P, 'NEMA L5-30P'), 405 (TYPE_NEMA_L550P, 'NEMA L5-50P'), 406 (TYPE_NEMA_L615P, 'NEMA L6-15P'), 407 (TYPE_NEMA_L620P, 'NEMA L6-20P'), 408 (TYPE_NEMA_L630P, 'NEMA L6-30P'), 409 (TYPE_NEMA_L650P, 'NEMA L6-50P'), 410 (TYPE_NEMA_L1030P, 'NEMA L10-30P'), 411 (TYPE_NEMA_L1420P, 'NEMA L14-20P'), 412 (TYPE_NEMA_L1430P, 'NEMA L14-30P'), 413 (TYPE_NEMA_L1450P, 'NEMA L14-50P'), 414 (TYPE_NEMA_L1460P, 'NEMA L14-60P'), 415 (TYPE_NEMA_L1520P, 'NEMA L15-20P'), 416 (TYPE_NEMA_L1530P, 'NEMA L15-30P'), 417 (TYPE_NEMA_L1550P, 'NEMA L15-50P'), 418 (TYPE_NEMA_L1560P, 'NEMA L15-60P'), 419 (TYPE_NEMA_L2120P, 'NEMA L21-20P'), 420 (TYPE_NEMA_L2130P, 'NEMA L21-30P'), 421 (TYPE_NEMA_L2230P, 'NEMA L22-30P'), 422 )), 423 ('California Style', ( 424 (TYPE_CS6361C, 'CS6361C'), 425 (TYPE_CS6365C, 'CS6365C'), 426 (TYPE_CS8165C, 'CS8165C'), 427 (TYPE_CS8265C, 'CS8265C'), 428 (TYPE_CS8365C, 'CS8365C'), 429 (TYPE_CS8465C, 'CS8465C'), 430 )), 431 ('International/ITA', ( 432 (TYPE_ITA_C, 'ITA Type C (CEE 7/16)'), 433 (TYPE_ITA_E, 'ITA Type E (CEE 7/6)'), 434 (TYPE_ITA_F, 'ITA Type F (CEE 7/4)'), 435 (TYPE_ITA_EF, 'ITA Type E/F (CEE 7/7)'), 436 (TYPE_ITA_G, 'ITA Type G (BS 1363)'), 437 (TYPE_ITA_H, 'ITA Type H'), 438 (TYPE_ITA_I, 'ITA Type I'), 439 (TYPE_ITA_J, 'ITA Type J'), 440 (TYPE_ITA_K, 'ITA Type K'), 441 (TYPE_ITA_L, 'ITA Type L (CEI 23-50)'), 442 (TYPE_ITA_M, 'ITA Type M (BS 546)'), 443 (TYPE_ITA_N, 'ITA Type N'), 444 (TYPE_ITA_O, 'ITA Type O'), 445 )), 446 ('USB', ( 447 (TYPE_USB_A, 'USB Type A'), 448 (TYPE_USB_B, 'USB Type B'), 449 (TYPE_USB_C, 'USB Type C'), 450 (TYPE_USB_MINI_A, 'USB Mini A'), 451 (TYPE_USB_MINI_B, 'USB Mini B'), 452 (TYPE_USB_MICRO_A, 'USB Micro A'), 453 (TYPE_USB_MICRO_B, 'USB Micro B'), 454 (TYPE_USB_MICRO_AB, 'USB Micro AB'), 455 (TYPE_USB_3_B, 'USB 3.0 Type B'), 456 (TYPE_USB_3_MICROB, 'USB 3.0 Micro B'), 457 )), 458 ('DC', ( 459 (TYPE_DC, 'DC Terminal'), 460 )), 461 ('Proprietary', ( 462 (TYPE_SAF_D_GRID, 'Saf-D-Grid'), 463 )), 464 ('Other', ( 465 (TYPE_HARDWIRED, 'Hardwired'), 466 )), 467 ) 468 469 470# 471# PowerOutlets 472# 473 474class PowerOutletTypeChoices(ChoiceSet): 475 476 # IEC 60320 477 TYPE_IEC_C5 = 'iec-60320-c5' 478 TYPE_IEC_C7 = 'iec-60320-c7' 479 TYPE_IEC_C13 = 'iec-60320-c13' 480 TYPE_IEC_C15 = 'iec-60320-c15' 481 TYPE_IEC_C19 = 'iec-60320-c19' 482 TYPE_IEC_C21 = 'iec-60320-c21' 483 # IEC 60309 484 TYPE_IEC_PNE4H = 'iec-60309-p-n-e-4h' 485 TYPE_IEC_PNE6H = 'iec-60309-p-n-e-6h' 486 TYPE_IEC_PNE9H = 'iec-60309-p-n-e-9h' 487 TYPE_IEC_2PE4H = 'iec-60309-2p-e-4h' 488 TYPE_IEC_2PE6H = 'iec-60309-2p-e-6h' 489 TYPE_IEC_2PE9H = 'iec-60309-2p-e-9h' 490 TYPE_IEC_3PE4H = 'iec-60309-3p-e-4h' 491 TYPE_IEC_3PE6H = 'iec-60309-3p-e-6h' 492 TYPE_IEC_3PE9H = 'iec-60309-3p-e-9h' 493 TYPE_IEC_3PNE4H = 'iec-60309-3p-n-e-4h' 494 TYPE_IEC_3PNE6H = 'iec-60309-3p-n-e-6h' 495 TYPE_IEC_3PNE9H = 'iec-60309-3p-n-e-9h' 496 # NEMA non-locking 497 TYPE_NEMA_115R = 'nema-1-15r' 498 TYPE_NEMA_515R = 'nema-5-15r' 499 TYPE_NEMA_520R = 'nema-5-20r' 500 TYPE_NEMA_530R = 'nema-5-30r' 501 TYPE_NEMA_550R = 'nema-5-50r' 502 TYPE_NEMA_615R = 'nema-6-15r' 503 TYPE_NEMA_620R = 'nema-6-20r' 504 TYPE_NEMA_630R = 'nema-6-30r' 505 TYPE_NEMA_650R = 'nema-6-50r' 506 TYPE_NEMA_1030R = 'nema-10-30r' 507 TYPE_NEMA_1050R = 'nema-10-50r' 508 TYPE_NEMA_1420R = 'nema-14-20r' 509 TYPE_NEMA_1430R = 'nema-14-30r' 510 TYPE_NEMA_1450R = 'nema-14-50r' 511 TYPE_NEMA_1460R = 'nema-14-60r' 512 TYPE_NEMA_1515R = 'nema-15-15r' 513 TYPE_NEMA_1520R = 'nema-15-20r' 514 TYPE_NEMA_1530R = 'nema-15-30r' 515 TYPE_NEMA_1550R = 'nema-15-50r' 516 TYPE_NEMA_1560R = 'nema-15-60r' 517 # NEMA locking 518 TYPE_NEMA_L115R = 'nema-l1-15r' 519 TYPE_NEMA_L515R = 'nema-l5-15r' 520 TYPE_NEMA_L520R = 'nema-l5-20r' 521 TYPE_NEMA_L530R = 'nema-l5-30r' 522 TYPE_NEMA_L550R = 'nema-l5-50r' 523 TYPE_NEMA_L615R = 'nema-l6-15r' 524 TYPE_NEMA_L620R = 'nema-l6-20r' 525 TYPE_NEMA_L630R = 'nema-l6-30r' 526 TYPE_NEMA_L650R = 'nema-l6-50r' 527 TYPE_NEMA_L1030R = 'nema-l10-30r' 528 TYPE_NEMA_L1420R = 'nema-l14-20r' 529 TYPE_NEMA_L1430R = 'nema-l14-30r' 530 TYPE_NEMA_L1450R = 'nema-l14-50r' 531 TYPE_NEMA_L1460R = 'nema-l14-60r' 532 TYPE_NEMA_L1520R = 'nema-l15-20r' 533 TYPE_NEMA_L1530R = 'nema-l15-30r' 534 TYPE_NEMA_L1550R = 'nema-l15-50r' 535 TYPE_NEMA_L1560R = 'nema-l15-60r' 536 TYPE_NEMA_L2120R = 'nema-l21-20r' 537 TYPE_NEMA_L2130R = 'nema-l21-30r' 538 TYPE_NEMA_L2230R = 'nema-l22-30r' 539 # California style 540 TYPE_CS6360C = 'CS6360C' 541 TYPE_CS6364C = 'CS6364C' 542 TYPE_CS8164C = 'CS8164C' 543 TYPE_CS8264C = 'CS8264C' 544 TYPE_CS8364C = 'CS8364C' 545 TYPE_CS8464C = 'CS8464C' 546 # ITA/international 547 TYPE_ITA_E = 'ita-e' 548 TYPE_ITA_F = 'ita-f' 549 TYPE_ITA_G = 'ita-g' 550 TYPE_ITA_H = 'ita-h' 551 TYPE_ITA_I = 'ita-i' 552 TYPE_ITA_J = 'ita-j' 553 TYPE_ITA_K = 'ita-k' 554 TYPE_ITA_L = 'ita-l' 555 TYPE_ITA_M = 'ita-m' 556 TYPE_ITA_N = 'ita-n' 557 TYPE_ITA_O = 'ita-o' 558 TYPE_ITA_MULTISTANDARD = 'ita-multistandard' 559 # USB 560 TYPE_USB_A = 'usb-a' 561 TYPE_USB_MICROB = 'usb-micro-b' 562 TYPE_USB_C = 'usb-c' 563 # Direct current (DC) 564 TYPE_DC = 'dc-terminal' 565 # Proprietary 566 TYPE_HDOT_CX = 'hdot-cx' 567 TYPE_SAF_D_GRID = 'saf-d-grid' 568 # Other 569 TYPE_HARDWIRED = 'hardwired' 570 571 CHOICES = ( 572 ('IEC 60320', ( 573 (TYPE_IEC_C5, 'C5'), 574 (TYPE_IEC_C7, 'C7'), 575 (TYPE_IEC_C13, 'C13'), 576 (TYPE_IEC_C15, 'C15'), 577 (TYPE_IEC_C19, 'C19'), 578 (TYPE_IEC_C21, 'C21'), 579 )), 580 ('IEC 60309', ( 581 (TYPE_IEC_PNE4H, 'P+N+E 4H'), 582 (TYPE_IEC_PNE6H, 'P+N+E 6H'), 583 (TYPE_IEC_PNE9H, 'P+N+E 9H'), 584 (TYPE_IEC_2PE4H, '2P+E 4H'), 585 (TYPE_IEC_2PE6H, '2P+E 6H'), 586 (TYPE_IEC_2PE9H, '2P+E 9H'), 587 (TYPE_IEC_3PE4H, '3P+E 4H'), 588 (TYPE_IEC_3PE6H, '3P+E 6H'), 589 (TYPE_IEC_3PE9H, '3P+E 9H'), 590 (TYPE_IEC_3PNE4H, '3P+N+E 4H'), 591 (TYPE_IEC_3PNE6H, '3P+N+E 6H'), 592 (TYPE_IEC_3PNE9H, '3P+N+E 9H'), 593 )), 594 ('NEMA (Non-locking)', ( 595 (TYPE_NEMA_115R, 'NEMA 1-15R'), 596 (TYPE_NEMA_515R, 'NEMA 5-15R'), 597 (TYPE_NEMA_520R, 'NEMA 5-20R'), 598 (TYPE_NEMA_530R, 'NEMA 5-30R'), 599 (TYPE_NEMA_550R, 'NEMA 5-50R'), 600 (TYPE_NEMA_615R, 'NEMA 6-15R'), 601 (TYPE_NEMA_620R, 'NEMA 6-20R'), 602 (TYPE_NEMA_630R, 'NEMA 6-30R'), 603 (TYPE_NEMA_650R, 'NEMA 6-50R'), 604 (TYPE_NEMA_1030R, 'NEMA 10-30R'), 605 (TYPE_NEMA_1050R, 'NEMA 10-50R'), 606 (TYPE_NEMA_1420R, 'NEMA 14-20R'), 607 (TYPE_NEMA_1430R, 'NEMA 14-30R'), 608 (TYPE_NEMA_1450R, 'NEMA 14-50R'), 609 (TYPE_NEMA_1460R, 'NEMA 14-60R'), 610 (TYPE_NEMA_1515R, 'NEMA 15-15R'), 611 (TYPE_NEMA_1520R, 'NEMA 15-20R'), 612 (TYPE_NEMA_1530R, 'NEMA 15-30R'), 613 (TYPE_NEMA_1550R, 'NEMA 15-50R'), 614 (TYPE_NEMA_1560R, 'NEMA 15-60R'), 615 )), 616 ('NEMA (Locking)', ( 617 (TYPE_NEMA_L115R, 'NEMA L1-15R'), 618 (TYPE_NEMA_L515R, 'NEMA L5-15R'), 619 (TYPE_NEMA_L520R, 'NEMA L5-20R'), 620 (TYPE_NEMA_L530R, 'NEMA L5-30R'), 621 (TYPE_NEMA_L550R, 'NEMA L5-50R'), 622 (TYPE_NEMA_L615R, 'NEMA L6-15R'), 623 (TYPE_NEMA_L620R, 'NEMA L6-20R'), 624 (TYPE_NEMA_L630R, 'NEMA L6-30R'), 625 (TYPE_NEMA_L650R, 'NEMA L6-50R'), 626 (TYPE_NEMA_L1030R, 'NEMA L10-30R'), 627 (TYPE_NEMA_L1420R, 'NEMA L14-20R'), 628 (TYPE_NEMA_L1430R, 'NEMA L14-30R'), 629 (TYPE_NEMA_L1450R, 'NEMA L14-50R'), 630 (TYPE_NEMA_L1460R, 'NEMA L14-60R'), 631 (TYPE_NEMA_L1520R, 'NEMA L15-20R'), 632 (TYPE_NEMA_L1530R, 'NEMA L15-30R'), 633 (TYPE_NEMA_L1550R, 'NEMA L15-50R'), 634 (TYPE_NEMA_L1560R, 'NEMA L15-60R'), 635 (TYPE_NEMA_L2120R, 'NEMA L21-20R'), 636 (TYPE_NEMA_L2130R, 'NEMA L21-30R'), 637 (TYPE_NEMA_L2230R, 'NEMA L22-30R'), 638 )), 639 ('California Style', ( 640 (TYPE_CS6360C, 'CS6360C'), 641 (TYPE_CS6364C, 'CS6364C'), 642 (TYPE_CS8164C, 'CS8164C'), 643 (TYPE_CS8264C, 'CS8264C'), 644 (TYPE_CS8364C, 'CS8364C'), 645 (TYPE_CS8464C, 'CS8464C'), 646 )), 647 ('ITA/International', ( 648 (TYPE_ITA_E, 'ITA Type E (CEE 7/5)'), 649 (TYPE_ITA_F, 'ITA Type F (CEE 7/3)'), 650 (TYPE_ITA_G, 'ITA Type G (BS 1363)'), 651 (TYPE_ITA_H, 'ITA Type H'), 652 (TYPE_ITA_I, 'ITA Type I'), 653 (TYPE_ITA_J, 'ITA Type J'), 654 (TYPE_ITA_K, 'ITA Type K'), 655 (TYPE_ITA_L, 'ITA Type L (CEI 23-50)'), 656 (TYPE_ITA_M, 'ITA Type M (BS 546)'), 657 (TYPE_ITA_N, 'ITA Type N'), 658 (TYPE_ITA_O, 'ITA Type O'), 659 (TYPE_ITA_MULTISTANDARD, 'ITA Multistandard'), 660 )), 661 ('USB', ( 662 (TYPE_USB_A, 'USB Type A'), 663 (TYPE_USB_MICROB, 'USB Micro B'), 664 (TYPE_USB_C, 'USB Type C'), 665 )), 666 ('DC', ( 667 (TYPE_DC, 'DC Terminal'), 668 )), 669 ('Proprietary', ( 670 (TYPE_HDOT_CX, 'HDOT Cx'), 671 (TYPE_SAF_D_GRID, 'Saf-D-Grid'), 672 )), 673 ('Other', ( 674 (TYPE_HARDWIRED, 'Hardwired'), 675 )), 676 ) 677 678 679class PowerOutletFeedLegChoices(ChoiceSet): 680 681 FEED_LEG_A = 'A' 682 FEED_LEG_B = 'B' 683 FEED_LEG_C = 'C' 684 685 CHOICES = ( 686 (FEED_LEG_A, 'A'), 687 (FEED_LEG_B, 'B'), 688 (FEED_LEG_C, 'C'), 689 ) 690 691 692# 693# Interfaces 694# 695 696class InterfaceKindChoices(ChoiceSet): 697 KIND_PHYSICAL = 'physical' 698 KIND_VIRTUAL = 'virtual' 699 KIND_WIRELESS = 'wireless' 700 701 CHOICES = ( 702 (KIND_PHYSICAL, 'Physical'), 703 (KIND_VIRTUAL, 'Virtual'), 704 (KIND_WIRELESS, 'Wireless'), 705 ) 706 707 708class InterfaceTypeChoices(ChoiceSet): 709 710 # Virtual 711 TYPE_VIRTUAL = 'virtual' 712 TYPE_LAG = 'lag' 713 714 # Ethernet 715 TYPE_100ME_FIXED = '100base-tx' 716 TYPE_1GE_FIXED = '1000base-t' 717 TYPE_1GE_GBIC = '1000base-x-gbic' 718 TYPE_1GE_SFP = '1000base-x-sfp' 719 TYPE_2GE_FIXED = '2.5gbase-t' 720 TYPE_5GE_FIXED = '5gbase-t' 721 TYPE_10GE_FIXED = '10gbase-t' 722 TYPE_10GE_CX4 = '10gbase-cx4' 723 TYPE_10GE_SFP_PLUS = '10gbase-x-sfpp' 724 TYPE_10GE_XFP = '10gbase-x-xfp' 725 TYPE_10GE_XENPAK = '10gbase-x-xenpak' 726 TYPE_10GE_X2 = '10gbase-x-x2' 727 TYPE_25GE_SFP28 = '25gbase-x-sfp28' 728 TYPE_50GE_SFP56 = '50gbase-x-sfp56' 729 TYPE_40GE_QSFP_PLUS = '40gbase-x-qsfpp' 730 TYPE_50GE_QSFP28 = '50gbase-x-sfp28' 731 TYPE_100GE_CFP = '100gbase-x-cfp' 732 TYPE_100GE_CFP2 = '100gbase-x-cfp2' 733 TYPE_100GE_CFP4 = '100gbase-x-cfp4' 734 TYPE_100GE_CPAK = '100gbase-x-cpak' 735 TYPE_100GE_QSFP28 = '100gbase-x-qsfp28' 736 TYPE_200GE_CFP2 = '200gbase-x-cfp2' 737 TYPE_200GE_QSFP56 = '200gbase-x-qsfp56' 738 TYPE_400GE_QSFP_DD = '400gbase-x-qsfpdd' 739 TYPE_400GE_OSFP = '400gbase-x-osfp' 740 741 # Wireless 742 TYPE_80211A = 'ieee802.11a' 743 TYPE_80211G = 'ieee802.11g' 744 TYPE_80211N = 'ieee802.11n' 745 TYPE_80211AC = 'ieee802.11ac' 746 TYPE_80211AD = 'ieee802.11ad' 747 TYPE_80211AX = 'ieee802.11ax' 748 TYPE_802151 = 'ieee802.15.1' 749 750 # Cellular 751 TYPE_GSM = 'gsm' 752 TYPE_CDMA = 'cdma' 753 TYPE_LTE = 'lte' 754 755 # SONET 756 TYPE_SONET_OC3 = 'sonet-oc3' 757 TYPE_SONET_OC12 = 'sonet-oc12' 758 TYPE_SONET_OC48 = 'sonet-oc48' 759 TYPE_SONET_OC192 = 'sonet-oc192' 760 TYPE_SONET_OC768 = 'sonet-oc768' 761 TYPE_SONET_OC1920 = 'sonet-oc1920' 762 TYPE_SONET_OC3840 = 'sonet-oc3840' 763 764 # Fibrechannel 765 TYPE_1GFC_SFP = '1gfc-sfp' 766 TYPE_2GFC_SFP = '2gfc-sfp' 767 TYPE_4GFC_SFP = '4gfc-sfp' 768 TYPE_8GFC_SFP_PLUS = '8gfc-sfpp' 769 TYPE_16GFC_SFP_PLUS = '16gfc-sfpp' 770 TYPE_32GFC_SFP28 = '32gfc-sfp28' 771 TYPE_64GFC_QSFP_PLUS = '64gfc-qsfpp' 772 TYPE_128GFC_QSFP28 = '128gfc-sfp28' 773 774 # InfiniBand 775 TYPE_INFINIBAND_SDR = 'infiniband-sdr' 776 TYPE_INFINIBAND_DDR = 'infiniband-ddr' 777 TYPE_INFINIBAND_QDR = 'infiniband-qdr' 778 TYPE_INFINIBAND_FDR10 = 'infiniband-fdr10' 779 TYPE_INFINIBAND_FDR = 'infiniband-fdr' 780 TYPE_INFINIBAND_EDR = 'infiniband-edr' 781 TYPE_INFINIBAND_HDR = 'infiniband-hdr' 782 TYPE_INFINIBAND_NDR = 'infiniband-ndr' 783 TYPE_INFINIBAND_XDR = 'infiniband-xdr' 784 785 # Serial 786 TYPE_T1 = 't1' 787 TYPE_E1 = 'e1' 788 TYPE_T3 = 't3' 789 TYPE_E3 = 'e3' 790 791 # ATM/DSL 792 TYPE_XDSL = 'xdsl' 793 794 # Stacking 795 TYPE_STACKWISE = 'cisco-stackwise' 796 TYPE_STACKWISE_PLUS = 'cisco-stackwise-plus' 797 TYPE_FLEXSTACK = 'cisco-flexstack' 798 TYPE_FLEXSTACK_PLUS = 'cisco-flexstack-plus' 799 TYPE_JUNIPER_VCP = 'juniper-vcp' 800 TYPE_SUMMITSTACK = 'extreme-summitstack' 801 TYPE_SUMMITSTACK128 = 'extreme-summitstack-128' 802 TYPE_SUMMITSTACK256 = 'extreme-summitstack-256' 803 TYPE_SUMMITSTACK512 = 'extreme-summitstack-512' 804 805 # Other 806 TYPE_OTHER = 'other' 807 808 CHOICES = ( 809 ( 810 'Virtual interfaces', 811 ( 812 (TYPE_VIRTUAL, 'Virtual'), 813 (TYPE_LAG, 'Link Aggregation Group (LAG)'), 814 ), 815 ), 816 ( 817 'Ethernet (fixed)', 818 ( 819 (TYPE_100ME_FIXED, '100BASE-TX (10/100ME)'), 820 (TYPE_1GE_FIXED, '1000BASE-T (1GE)'), 821 (TYPE_2GE_FIXED, '2.5GBASE-T (2.5GE)'), 822 (TYPE_5GE_FIXED, '5GBASE-T (5GE)'), 823 (TYPE_10GE_FIXED, '10GBASE-T (10GE)'), 824 (TYPE_10GE_CX4, '10GBASE-CX4 (10GE)'), 825 ) 826 ), 827 ( 828 'Ethernet (modular)', 829 ( 830 (TYPE_1GE_GBIC, 'GBIC (1GE)'), 831 (TYPE_1GE_SFP, 'SFP (1GE)'), 832 (TYPE_10GE_SFP_PLUS, 'SFP+ (10GE)'), 833 (TYPE_10GE_XFP, 'XFP (10GE)'), 834 (TYPE_10GE_XENPAK, 'XENPAK (10GE)'), 835 (TYPE_10GE_X2, 'X2 (10GE)'), 836 (TYPE_25GE_SFP28, 'SFP28 (25GE)'), 837 (TYPE_50GE_SFP56, 'SFP56 (50GE)'), 838 (TYPE_40GE_QSFP_PLUS, 'QSFP+ (40GE)'), 839 (TYPE_50GE_QSFP28, 'QSFP28 (50GE)'), 840 (TYPE_100GE_CFP, 'CFP (100GE)'), 841 (TYPE_100GE_CFP2, 'CFP2 (100GE)'), 842 (TYPE_200GE_CFP2, 'CFP2 (200GE)'), 843 (TYPE_100GE_CFP4, 'CFP4 (100GE)'), 844 (TYPE_100GE_CPAK, 'Cisco CPAK (100GE)'), 845 (TYPE_100GE_QSFP28, 'QSFP28 (100GE)'), 846 (TYPE_200GE_QSFP56, 'QSFP56 (200GE)'), 847 (TYPE_400GE_QSFP_DD, 'QSFP-DD (400GE)'), 848 (TYPE_400GE_OSFP, 'OSFP (400GE)'), 849 ) 850 ), 851 ( 852 'Wireless', 853 ( 854 (TYPE_80211A, 'IEEE 802.11a'), 855 (TYPE_80211G, 'IEEE 802.11b/g'), 856 (TYPE_80211N, 'IEEE 802.11n'), 857 (TYPE_80211AC, 'IEEE 802.11ac'), 858 (TYPE_80211AD, 'IEEE 802.11ad'), 859 (TYPE_80211AX, 'IEEE 802.11ax'), 860 (TYPE_802151, 'IEEE 802.15.1 (Bluetooth)'), 861 ) 862 ), 863 ( 864 'Cellular', 865 ( 866 (TYPE_GSM, 'GSM'), 867 (TYPE_CDMA, 'CDMA'), 868 (TYPE_LTE, 'LTE'), 869 ) 870 ), 871 ( 872 'SONET', 873 ( 874 (TYPE_SONET_OC3, 'OC-3/STM-1'), 875 (TYPE_SONET_OC12, 'OC-12/STM-4'), 876 (TYPE_SONET_OC48, 'OC-48/STM-16'), 877 (TYPE_SONET_OC192, 'OC-192/STM-64'), 878 (TYPE_SONET_OC768, 'OC-768/STM-256'), 879 (TYPE_SONET_OC1920, 'OC-1920/STM-640'), 880 (TYPE_SONET_OC3840, 'OC-3840/STM-1234'), 881 ) 882 ), 883 ( 884 'FibreChannel', 885 ( 886 (TYPE_1GFC_SFP, 'SFP (1GFC)'), 887 (TYPE_2GFC_SFP, 'SFP (2GFC)'), 888 (TYPE_4GFC_SFP, 'SFP (4GFC)'), 889 (TYPE_8GFC_SFP_PLUS, 'SFP+ (8GFC)'), 890 (TYPE_16GFC_SFP_PLUS, 'SFP+ (16GFC)'), 891 (TYPE_32GFC_SFP28, 'SFP28 (32GFC)'), 892 (TYPE_64GFC_QSFP_PLUS, 'QSFP+ (64GFC)'), 893 (TYPE_128GFC_QSFP28, 'QSFP28 (128GFC)'), 894 ) 895 ), 896 ( 897 'InfiniBand', 898 ( 899 (TYPE_INFINIBAND_SDR, 'SDR (2 Gbps)'), 900 (TYPE_INFINIBAND_DDR, 'DDR (4 Gbps)'), 901 (TYPE_INFINIBAND_QDR, 'QDR (8 Gbps)'), 902 (TYPE_INFINIBAND_FDR10, 'FDR10 (10 Gbps)'), 903 (TYPE_INFINIBAND_FDR, 'FDR (13.5 Gbps)'), 904 (TYPE_INFINIBAND_EDR, 'EDR (25 Gbps)'), 905 (TYPE_INFINIBAND_HDR, 'HDR (50 Gbps)'), 906 (TYPE_INFINIBAND_NDR, 'NDR (100 Gbps)'), 907 (TYPE_INFINIBAND_XDR, 'XDR (250 Gbps)'), 908 ) 909 ), 910 ( 911 'Serial', 912 ( 913 (TYPE_T1, 'T1 (1.544 Mbps)'), 914 (TYPE_E1, 'E1 (2.048 Mbps)'), 915 (TYPE_T3, 'T3 (45 Mbps)'), 916 (TYPE_E3, 'E3 (34 Mbps)'), 917 ) 918 ), 919 ( 920 'ATM', 921 ( 922 (TYPE_XDSL, 'xDSL'), 923 ) 924 ), 925 ( 926 'Stacking', 927 ( 928 (TYPE_STACKWISE, 'Cisco StackWise'), 929 (TYPE_STACKWISE_PLUS, 'Cisco StackWise Plus'), 930 (TYPE_FLEXSTACK, 'Cisco FlexStack'), 931 (TYPE_FLEXSTACK_PLUS, 'Cisco FlexStack Plus'), 932 (TYPE_JUNIPER_VCP, 'Juniper VCP'), 933 (TYPE_SUMMITSTACK, 'Extreme SummitStack'), 934 (TYPE_SUMMITSTACK128, 'Extreme SummitStack-128'), 935 (TYPE_SUMMITSTACK256, 'Extreme SummitStack-256'), 936 (TYPE_SUMMITSTACK512, 'Extreme SummitStack-512'), 937 ) 938 ), 939 ( 940 'Other', 941 ( 942 (TYPE_OTHER, 'Other'), 943 ) 944 ), 945 ) 946 947 948class InterfaceModeChoices(ChoiceSet): 949 950 MODE_ACCESS = 'access' 951 MODE_TAGGED = 'tagged' 952 MODE_TAGGED_ALL = 'tagged-all' 953 954 CHOICES = ( 955 (MODE_ACCESS, 'Access'), 956 (MODE_TAGGED, 'Tagged'), 957 (MODE_TAGGED_ALL, 'Tagged (All)'), 958 ) 959 960 961# 962# FrontPorts/RearPorts 963# 964 965class PortTypeChoices(ChoiceSet): 966 967 TYPE_8P8C = '8p8c' 968 TYPE_8P6C = '8p6c' 969 TYPE_8P4C = '8p4c' 970 TYPE_8P2C = '8p2c' 971 TYPE_6P6C = '6p6c' 972 TYPE_6P4C = '6p4c' 973 TYPE_6P2C = '6p2c' 974 TYPE_4P4C = '4p4c' 975 TYPE_4P2C = '4p2c' 976 TYPE_GG45 = 'gg45' 977 TYPE_TERA4P = 'tera-4p' 978 TYPE_TERA2P = 'tera-2p' 979 TYPE_TERA1P = 'tera-1p' 980 TYPE_110_PUNCH = '110-punch' 981 TYPE_BNC = 'bnc' 982 TYPE_F = 'f' 983 TYPE_N = 'n' 984 TYPE_MRJ21 = 'mrj21' 985 TYPE_ST = 'st' 986 TYPE_SC = 'sc' 987 TYPE_SC_APC = 'sc-apc' 988 TYPE_FC = 'fc' 989 TYPE_LC = 'lc' 990 TYPE_LC_APC = 'lc-apc' 991 TYPE_MTRJ = 'mtrj' 992 TYPE_MPO = 'mpo' 993 TYPE_LSH = 'lsh' 994 TYPE_LSH_APC = 'lsh-apc' 995 TYPE_SPLICE = 'splice' 996 TYPE_CS = 'cs' 997 TYPE_SN = 'sn' 998 TYPE_SMA_905 = 'sma-905' 999 TYPE_SMA_906 = 'sma-906' 1000 TYPE_URM_P2 = 'urm-p2' 1001 TYPE_URM_P4 = 'urm-p4' 1002 TYPE_URM_P8 = 'urm-p8' 1003 1004 CHOICES = ( 1005 ( 1006 'Copper', 1007 ( 1008 (TYPE_8P8C, '8P8C'), 1009 (TYPE_8P6C, '8P6C'), 1010 (TYPE_8P4C, '8P4C'), 1011 (TYPE_8P2C, '8P2C'), 1012 (TYPE_6P6C, '6P6C'), 1013 (TYPE_6P4C, '6P4C'), 1014 (TYPE_6P2C, '6P2C'), 1015 (TYPE_4P4C, '4P4C'), 1016 (TYPE_4P2C, '4P2C'), 1017 (TYPE_GG45, 'GG45'), 1018 (TYPE_TERA4P, 'TERA 4P'), 1019 (TYPE_TERA2P, 'TERA 2P'), 1020 (TYPE_TERA1P, 'TERA 1P'), 1021 (TYPE_110_PUNCH, '110 Punch'), 1022 (TYPE_BNC, 'BNC'), 1023 (TYPE_F, 'F Connector'), 1024 (TYPE_N, 'N Connector'), 1025 (TYPE_MRJ21, 'MRJ21'), 1026 ), 1027 ), 1028 ( 1029 'Fiber Optic', 1030 ( 1031 (TYPE_FC, 'FC'), 1032 (TYPE_LC, 'LC'), 1033 (TYPE_LC_APC, 'LC/APC'), 1034 (TYPE_LSH, 'LSH'), 1035 (TYPE_LSH_APC, 'LSH/APC'), 1036 (TYPE_MPO, 'MPO'), 1037 (TYPE_MTRJ, 'MTRJ'), 1038 (TYPE_SC, 'SC'), 1039 (TYPE_SC_APC, 'SC/APC'), 1040 (TYPE_ST, 'ST'), 1041 (TYPE_CS, 'CS'), 1042 (TYPE_SN, 'SN'), 1043 (TYPE_SMA_905, 'SMA 905'), 1044 (TYPE_SMA_906, 'SMA 906'), 1045 (TYPE_URM_P2, 'URM-P2'), 1046 (TYPE_URM_P4, 'URM-P4'), 1047 (TYPE_URM_P8, 'URM-P8'), 1048 (TYPE_SPLICE, 'Splice'), 1049 ) 1050 ) 1051 ) 1052 1053 1054# 1055# Cables 1056# 1057 1058class CableTypeChoices(ChoiceSet): 1059 1060 TYPE_CAT3 = 'cat3' 1061 TYPE_CAT5 = 'cat5' 1062 TYPE_CAT5E = 'cat5e' 1063 TYPE_CAT6 = 'cat6' 1064 TYPE_CAT6A = 'cat6a' 1065 TYPE_CAT7 = 'cat7' 1066 TYPE_CAT7A = 'cat7a' 1067 TYPE_CAT8 = 'cat8' 1068 TYPE_DAC_ACTIVE = 'dac-active' 1069 TYPE_DAC_PASSIVE = 'dac-passive' 1070 TYPE_MRJ21_TRUNK = 'mrj21-trunk' 1071 TYPE_COAXIAL = 'coaxial' 1072 TYPE_MMF = 'mmf' 1073 TYPE_MMF_OM1 = 'mmf-om1' 1074 TYPE_MMF_OM2 = 'mmf-om2' 1075 TYPE_MMF_OM3 = 'mmf-om3' 1076 TYPE_MMF_OM4 = 'mmf-om4' 1077 TYPE_MMF_OM5 = 'mmf-om5' 1078 TYPE_SMF = 'smf' 1079 TYPE_SMF_OS1 = 'smf-os1' 1080 TYPE_SMF_OS2 = 'smf-os2' 1081 TYPE_AOC = 'aoc' 1082 TYPE_POWER = 'power' 1083 1084 CHOICES = ( 1085 ( 1086 'Copper', ( 1087 (TYPE_CAT3, 'CAT3'), 1088 (TYPE_CAT5, 'CAT5'), 1089 (TYPE_CAT5E, 'CAT5e'), 1090 (TYPE_CAT6, 'CAT6'), 1091 (TYPE_CAT6A, 'CAT6a'), 1092 (TYPE_CAT7, 'CAT7'), 1093 (TYPE_CAT7A, 'CAT7a'), 1094 (TYPE_CAT8, 'CAT8'), 1095 (TYPE_DAC_ACTIVE, 'Direct Attach Copper (Active)'), 1096 (TYPE_DAC_PASSIVE, 'Direct Attach Copper (Passive)'), 1097 (TYPE_MRJ21_TRUNK, 'MRJ21 Trunk'), 1098 (TYPE_COAXIAL, 'Coaxial'), 1099 ), 1100 ), 1101 ( 1102 'Fiber', ( 1103 (TYPE_MMF, 'Multimode Fiber'), 1104 (TYPE_MMF_OM1, 'Multimode Fiber (OM1)'), 1105 (TYPE_MMF_OM2, 'Multimode Fiber (OM2)'), 1106 (TYPE_MMF_OM3, 'Multimode Fiber (OM3)'), 1107 (TYPE_MMF_OM4, 'Multimode Fiber (OM4)'), 1108 (TYPE_MMF_OM5, 'Multimode Fiber (OM5)'), 1109 (TYPE_SMF, 'Singlemode Fiber'), 1110 (TYPE_SMF_OS1, 'Singlemode Fiber (OS1)'), 1111 (TYPE_SMF_OS2, 'Singlemode Fiber (OS2)'), 1112 (TYPE_AOC, 'Active Optical Cabling (AOC)'), 1113 ), 1114 ), 1115 (TYPE_POWER, 'Power'), 1116 ) 1117 1118 1119class CableStatusChoices(ChoiceSet): 1120 1121 STATUS_CONNECTED = 'connected' 1122 STATUS_PLANNED = 'planned' 1123 STATUS_DECOMMISSIONING = 'decommissioning' 1124 1125 CHOICES = ( 1126 (STATUS_CONNECTED, 'Connected'), 1127 (STATUS_PLANNED, 'Planned'), 1128 (STATUS_DECOMMISSIONING, 'Decommissioning'), 1129 ) 1130 1131 CSS_CLASSES = { 1132 STATUS_CONNECTED: 'success', 1133 STATUS_PLANNED: 'info', 1134 STATUS_DECOMMISSIONING: 'warning', 1135 } 1136 1137 1138class CableLengthUnitChoices(ChoiceSet): 1139 1140 # Metric 1141 UNIT_KILOMETER = 'km' 1142 UNIT_METER = 'm' 1143 UNIT_CENTIMETER = 'cm' 1144 1145 # Imperial 1146 UNIT_MILE = 'mi' 1147 UNIT_FOOT = 'ft' 1148 UNIT_INCH = 'in' 1149 1150 CHOICES = ( 1151 (UNIT_KILOMETER, 'Kilometers'), 1152 (UNIT_METER, 'Meters'), 1153 (UNIT_CENTIMETER, 'Centimeters'), 1154 (UNIT_MILE, 'Miles'), 1155 (UNIT_FOOT, 'Feet'), 1156 (UNIT_INCH, 'Inches'), 1157 ) 1158 1159 1160# 1161# PowerFeeds 1162# 1163 1164class PowerFeedStatusChoices(ChoiceSet): 1165 1166 STATUS_OFFLINE = 'offline' 1167 STATUS_ACTIVE = 'active' 1168 STATUS_PLANNED = 'planned' 1169 STATUS_FAILED = 'failed' 1170 1171 CHOICES = ( 1172 (STATUS_OFFLINE, 'Offline'), 1173 (STATUS_ACTIVE, 'Active'), 1174 (STATUS_PLANNED, 'Planned'), 1175 (STATUS_FAILED, 'Failed'), 1176 ) 1177 1178 CSS_CLASSES = { 1179 STATUS_OFFLINE: 'warning', 1180 STATUS_ACTIVE: 'success', 1181 STATUS_PLANNED: 'info', 1182 STATUS_FAILED: 'danger', 1183 } 1184 1185 1186class PowerFeedTypeChoices(ChoiceSet): 1187 1188 TYPE_PRIMARY = 'primary' 1189 TYPE_REDUNDANT = 'redundant' 1190 1191 CHOICES = ( 1192 (TYPE_PRIMARY, 'Primary'), 1193 (TYPE_REDUNDANT, 'Redundant'), 1194 ) 1195 1196 CSS_CLASSES = { 1197 TYPE_PRIMARY: 'success', 1198 TYPE_REDUNDANT: 'info', 1199 } 1200 1201 1202class PowerFeedSupplyChoices(ChoiceSet): 1203 1204 SUPPLY_AC = 'ac' 1205 SUPPLY_DC = 'dc' 1206 1207 CHOICES = ( 1208 (SUPPLY_AC, 'AC'), 1209 (SUPPLY_DC, 'DC'), 1210 ) 1211 1212 1213class PowerFeedPhaseChoices(ChoiceSet): 1214 1215 PHASE_SINGLE = 'single-phase' 1216 PHASE_3PHASE = 'three-phase' 1217 1218 CHOICES = ( 1219 (PHASE_SINGLE, 'Single phase'), 1220 (PHASE_3PHASE, 'Three-phase'), 1221 ) 1222