mirror of
https://github.com/netbox-community/netbox.git
synced 2024-05-10 07:54:54 +00:00
595 lines
20 KiB
Python
595 lines
20 KiB
Python
from .constants import *
|
|
|
|
|
|
#
|
|
# Console port type values
|
|
#
|
|
|
|
class ConsolePortTypes:
|
|
"""
|
|
ConsolePort/ConsoleServerPort.type slugs
|
|
"""
|
|
TYPE_DE9 = 'de-9'
|
|
TYPE_DB25 = 'db-25'
|
|
TYPE_RJ45 = 'rj-45'
|
|
TYPE_USB_A = 'usb-a'
|
|
TYPE_USB_B = 'usb-b'
|
|
TYPE_USB_C = 'usb-c'
|
|
TYPE_USB_MINI_A = 'usb-mini-a'
|
|
TYPE_USB_MINI_B = 'usb-mini-b'
|
|
TYPE_USB_MICRO_A = 'usb-micro-a'
|
|
TYPE_USB_MICRO_B = 'usb-micro-b'
|
|
TYPE_OTHER = 'other'
|
|
|
|
CHOICES = (
|
|
('Serial', (
|
|
(TYPE_DE9, 'DE-9'),
|
|
(TYPE_DB25, 'DB-25'),
|
|
(TYPE_RJ45, 'RJ-45'),
|
|
)),
|
|
('USB', (
|
|
(TYPE_USB_A, 'USB Type A'),
|
|
(TYPE_USB_B, 'USB Type B'),
|
|
(TYPE_USB_C, 'USB Type C'),
|
|
(TYPE_USB_MINI_A, 'USB Mini A'),
|
|
(TYPE_USB_MINI_B, 'USB Mini B'),
|
|
(TYPE_USB_MICRO_A, 'USB Micro A'),
|
|
(TYPE_USB_MICRO_B, 'USB Micro B'),
|
|
)),
|
|
('Other', (
|
|
(TYPE_OTHER, 'Other'),
|
|
)),
|
|
)
|
|
|
|
|
|
#
|
|
# Power port types
|
|
#
|
|
|
|
class PowerPortTypes:
|
|
# TODO: Add more power port types
|
|
# IEC 60320
|
|
TYPE_IEC_C6 = 'iec-60320-c6'
|
|
TYPE_IEC_C8 = 'iec-60320-c8'
|
|
TYPE_IEC_C14 = 'iec-60320-c14'
|
|
TYPE_IEC_C16 = 'iec-60320-c16'
|
|
TYPE_IEC_C20 = 'iec-60320-c20'
|
|
# IEC 60309
|
|
TYPE_IEC_PNE4H = 'iec-60309-p-n-e-4h'
|
|
TYPE_IEC_PNE6H = 'iec-60309-p-n-e-6h'
|
|
TYPE_IEC_PNE9H = 'iec-60309-p-n-e-9h'
|
|
TYPE_IEC_2PE4H = 'iec-60309-2p-e-4h'
|
|
TYPE_IEC_2PE6H = 'iec-60309-2p-e-6h'
|
|
TYPE_IEC_2PE9H = 'iec-60309-2p-e-9h'
|
|
TYPE_IEC_3PE4H = 'iec-60309-3p-e-4h'
|
|
TYPE_IEC_3PE6H = 'iec-60309-3p-e-6h'
|
|
TYPE_IEC_3PE9H = 'iec-60309-3p-e-9h'
|
|
TYPE_IEC_3PNE4H = 'iec-60309-3p-n-e-4h'
|
|
TYPE_IEC_3PNE6H = 'iec-60309-3p-n-e-6h'
|
|
TYPE_IEC_3PNE9H = 'iec-60309-3p-n-e-9h'
|
|
# NEMA non-locking
|
|
TYPE_NEMA_515P = 'nema-5-15p'
|
|
TYPE_NEMA_520P = 'nema-5-20p'
|
|
TYPE_NEMA_530P = 'nema-5-30p'
|
|
TYPE_NEMA_550P = 'nema-5-50p'
|
|
TYPE_NEMA_615P = 'nema-6-15p'
|
|
TYPE_NEMA_620P = 'nema-6-20p'
|
|
TYPE_NEMA_630P = 'nema-6-30p'
|
|
TYPE_NEMA_650P = 'nema-6-50p'
|
|
# NEMA locking
|
|
TYPE_NEMA_L515P = 'nema-l5-15p'
|
|
TYPE_NEMA_L520P = 'nema-l5-20p'
|
|
TYPE_NEMA_L530P = 'nema-l5-30p'
|
|
TYPE_NEMA_L615P = 'nema-l5-50p'
|
|
TYPE_NEMA_L620P = 'nema-l6-20p'
|
|
TYPE_NEMA_L630P = 'nema-l6-30p'
|
|
TYPE_NEMA_L650P = 'nema-l6-50p'
|
|
|
|
CHOICES = (
|
|
('IEC 60320', (
|
|
(TYPE_IEC_C6, 'C6'),
|
|
(TYPE_IEC_C8, 'C8'),
|
|
(TYPE_IEC_C14, 'C14'),
|
|
(TYPE_IEC_C16, 'C16'),
|
|
(TYPE_IEC_C20, 'C20'),
|
|
)),
|
|
('IEC 60309', (
|
|
(TYPE_IEC_PNE4H, 'P+N+E 4H'),
|
|
(TYPE_IEC_PNE6H, 'P+N+E 6H'),
|
|
(TYPE_IEC_PNE9H, 'P+N+E 9H'),
|
|
(TYPE_IEC_2PE4H, '2P+E 4H'),
|
|
(TYPE_IEC_2PE6H, '2P+E 6H'),
|
|
(TYPE_IEC_2PE9H, '2P+E 9H'),
|
|
(TYPE_IEC_3PE4H, '3P+E 4H'),
|
|
(TYPE_IEC_3PE6H, '3P+E 6H'),
|
|
(TYPE_IEC_3PE9H, '3P+E 9H'),
|
|
(TYPE_IEC_3PNE4H, '3P+N+E 4H'),
|
|
(TYPE_IEC_3PNE6H, '3P+N+E 6H'),
|
|
(TYPE_IEC_3PNE9H, '3P+N+E 9H'),
|
|
)),
|
|
('NEMA (Non-locking)', (
|
|
(TYPE_NEMA_515P, 'NEMA 5-15P'),
|
|
(TYPE_NEMA_520P, 'NEMA 5-20P'),
|
|
(TYPE_NEMA_530P, 'NEMA 5-30P'),
|
|
(TYPE_NEMA_550P, 'NEMA 5-50P'),
|
|
(TYPE_NEMA_615P, 'NEMA 6-15P'),
|
|
(TYPE_NEMA_620P, 'NEMA 6-20P'),
|
|
(TYPE_NEMA_630P, 'NEMA 6-30P'),
|
|
(TYPE_NEMA_650P, 'NEMA 6-50P'),
|
|
)),
|
|
('NEMA (Locking)', (
|
|
(TYPE_NEMA_L515P, 'NEMA L5-15P'),
|
|
(TYPE_NEMA_L520P, 'NEMA L5-20P'),
|
|
(TYPE_NEMA_L530P, 'NEMA L5-30P'),
|
|
(TYPE_NEMA_L615P, 'NEMA L6-15P'),
|
|
(TYPE_NEMA_L620P, 'NEMA L6-20P'),
|
|
(TYPE_NEMA_L630P, 'NEMA L6-30P'),
|
|
(TYPE_NEMA_L650P, 'NEMA L6-50P'),
|
|
)),
|
|
)
|
|
|
|
|
|
#
|
|
# Power outlet types
|
|
#
|
|
|
|
class PowerOutletTypes:
|
|
# TODO: Add more power outlet types
|
|
# IEC 60320
|
|
TYPE_IEC_C5 = 'iec-60320-c5'
|
|
TYPE_IEC_C7 = 'iec-60320-c7'
|
|
TYPE_IEC_C13 = 'iec-60320-c13'
|
|
TYPE_IEC_C15 = 'iec-60320-c15'
|
|
TYPE_IEC_C19 = 'iec-60320-c19'
|
|
# IEC 60309
|
|
TYPE_IEC_PNE4H = 'iec-60309-p-n-e-4h'
|
|
TYPE_IEC_PNE6H = 'iec-60309-p-n-e-6h'
|
|
TYPE_IEC_PNE9H = 'iec-60309-p-n-e-9h'
|
|
TYPE_IEC_2PE4H = 'iec-60309-2p-e-4h'
|
|
TYPE_IEC_2PE6H = 'iec-60309-2p-e-6h'
|
|
TYPE_IEC_2PE9H = 'iec-60309-2p-e-9h'
|
|
TYPE_IEC_3PE4H = 'iec-60309-3p-e-4h'
|
|
TYPE_IEC_3PE6H = 'iec-60309-3p-e-6h'
|
|
TYPE_IEC_3PE9H = 'iec-60309-3p-e-9h'
|
|
TYPE_IEC_3PNE4H = 'iec-60309-3p-n-e-4h'
|
|
TYPE_IEC_3PNE6H = 'iec-60309-3p-n-e-6h'
|
|
TYPE_IEC_3PNE9H = 'iec-60309-3p-n-e-9h'
|
|
# NEMA non-locking
|
|
TYPE_NEMA_515R = 'nema-5-15r'
|
|
TYPE_NEMA_520R = 'nema-5-20r'
|
|
TYPE_NEMA_530R = 'nema-5-30r'
|
|
TYPE_NEMA_550R = 'nema-5-50r'
|
|
TYPE_NEMA_615R = 'nema-6-15r'
|
|
TYPE_NEMA_620R = 'nema-6-20r'
|
|
TYPE_NEMA_630R = 'nema-6-30r'
|
|
TYPE_NEMA_650R = 'nema-6-50r'
|
|
# NEMA locking
|
|
TYPE_NEMA_L515R = 'nema-l5-15r'
|
|
TYPE_NEMA_L520R = 'nema-l5-20r'
|
|
TYPE_NEMA_L530R = 'nema-l5-30r'
|
|
TYPE_NEMA_L615R = 'nema-l5-50r'
|
|
TYPE_NEMA_L620R = 'nema-l6-20r'
|
|
TYPE_NEMA_L630R = 'nema-l6-30r'
|
|
TYPE_NEMA_L650R = 'nema-l6-50r'
|
|
|
|
CHOICES = (
|
|
('IEC 60320', (
|
|
(TYPE_IEC_C5, 'C5'),
|
|
(TYPE_IEC_C7, 'C7'),
|
|
(TYPE_IEC_C13, 'C13'),
|
|
(TYPE_IEC_C15, 'C15'),
|
|
(TYPE_IEC_C19, 'C19'),
|
|
)),
|
|
('IEC 60309', (
|
|
(TYPE_IEC_PNE4H, 'P+N+E 4H'),
|
|
(TYPE_IEC_PNE6H, 'P+N+E 6H'),
|
|
(TYPE_IEC_PNE9H, 'P+N+E 9H'),
|
|
(TYPE_IEC_2PE4H, '2P+E 4H'),
|
|
(TYPE_IEC_2PE6H, '2P+E 6H'),
|
|
(TYPE_IEC_2PE9H, '2P+E 9H'),
|
|
(TYPE_IEC_3PE4H, '3P+E 4H'),
|
|
(TYPE_IEC_3PE6H, '3P+E 6H'),
|
|
(TYPE_IEC_3PE9H, '3P+E 9H'),
|
|
(TYPE_IEC_3PNE4H, '3P+N+E 4H'),
|
|
(TYPE_IEC_3PNE6H, '3P+N+E 6H'),
|
|
(TYPE_IEC_3PNE9H, '3P+N+E 9H'),
|
|
)),
|
|
('NEMA (Non-locking)', (
|
|
(TYPE_NEMA_515R, 'NEMA 5-15R'),
|
|
(TYPE_NEMA_520R, 'NEMA 5-20R'),
|
|
(TYPE_NEMA_530R, 'NEMA 5-30R'),
|
|
(TYPE_NEMA_550R, 'NEMA 5-50R'),
|
|
(TYPE_NEMA_615R, 'NEMA 6-15R'),
|
|
(TYPE_NEMA_620R, 'NEMA 6-20R'),
|
|
(TYPE_NEMA_630R, 'NEMA 6-30R'),
|
|
(TYPE_NEMA_650R, 'NEMA 6-50R'),
|
|
)),
|
|
('NEMA (Locking)', (
|
|
(TYPE_NEMA_L515R, 'NEMA L5-15R'),
|
|
(TYPE_NEMA_L520R, 'NEMA L5-20R'),
|
|
(TYPE_NEMA_L530R, 'NEMA L5-30R'),
|
|
(TYPE_NEMA_L615R, 'NEMA L6-15R'),
|
|
(TYPE_NEMA_L620R, 'NEMA L6-20R'),
|
|
(TYPE_NEMA_L630R, 'NEMA L6-30R'),
|
|
(TYPE_NEMA_L650R, 'NEMA L6-50R'),
|
|
)),
|
|
)
|
|
|
|
|
|
#
|
|
# Interface type values
|
|
#
|
|
|
|
class InterfaceTypes:
|
|
"""
|
|
Interface.type slugs
|
|
"""
|
|
# Virtual
|
|
TYPE_VIRTUAL = 'virtual'
|
|
TYPE_LAG = 'lag'
|
|
|
|
# Ethernet
|
|
TYPE_100ME_FIXED = '100base-tx'
|
|
TYPE_1GE_FIXED = '1000base-t'
|
|
TYPE_1GE_GBIC = '1000base-x-gbic'
|
|
TYPE_1GE_SFP = '1000base-x-sfp'
|
|
TYPE_2GE_FIXED = '2.5gbase-t'
|
|
TYPE_5GE_FIXED = '5gbase-t'
|
|
TYPE_10GE_FIXED = '10gbase-t'
|
|
TYPE_10GE_CX4 = '10gbase-cx4'
|
|
TYPE_10GE_SFP_PLUS = '10gbase-x-sfpp'
|
|
TYPE_10GE_XFP = '10gbase-x-xfp'
|
|
TYPE_10GE_XENPAK = '10gbase-x-xenpak'
|
|
TYPE_10GE_X2 = '10gbase-x-x2'
|
|
TYPE_25GE_SFP28 = '25gbase-x-sfp28'
|
|
TYPE_40GE_QSFP_PLUS = '40gbase-x-qsfpp'
|
|
TYPE_50GE_QSFP28 = '50gbase-x-sfp28'
|
|
TYPE_100GE_CFP = '100gbase-x-cfp'
|
|
TYPE_100GE_CFP2 = '100gbase-x-cfp2'
|
|
TYPE_100GE_CFP4 = '100gbase-x-cfp4'
|
|
TYPE_100GE_CPAK = '100gbase-x-cpak'
|
|
TYPE_100GE_QSFP28 = '100gbase-x-qsfp28'
|
|
TYPE_200GE_CFP2 = '200gbase-x-cfp2'
|
|
TYPE_200GE_QSFP56 = '200gbase-x-qsfp56'
|
|
TYPE_400GE_QSFP_DD = '400gbase-x-qsfpdd'
|
|
TYPE_400GE_OSFP = '400gbase-x-osfp'
|
|
|
|
# Wireless
|
|
TYPE_80211A = 'ieee802.11a'
|
|
TYPE_80211G = 'ieee802.11g'
|
|
TYPE_80211N = 'ieee802.11n'
|
|
TYPE_80211AC = 'ieee802.11ac'
|
|
TYPE_80211AD = 'ieee802.11ad'
|
|
|
|
# Cellular
|
|
TYPE_GSM = 'gsm'
|
|
TYPE_CDMA = 'cdma'
|
|
TYPE_LTE = 'lte'
|
|
|
|
# SONET
|
|
TYPE_SONET_OC3 = 'sonet-oc3'
|
|
TYPE_SONET_OC12 = 'sonet-oc12'
|
|
TYPE_SONET_OC48 = 'sonet-oc48'
|
|
TYPE_SONET_OC192 = 'sonet-oc192'
|
|
TYPE_SONET_OC768 = 'sonet-oc768'
|
|
TYPE_SONET_OC1920 = 'sonet-oc1920'
|
|
TYPE_SONET_OC3840 = 'sonet-oc3840'
|
|
|
|
# Fibrechannel
|
|
TYPE_1GFC_SFP = '1gfc-sfp'
|
|
TYPE_2GFC_SFP = '2gfc-sfp'
|
|
TYPE_4GFC_SFP = '4gfc-sfp'
|
|
TYPE_8GFC_SFP_PLUS = '8gfc-sfpp'
|
|
TYPE_16GFC_SFP_PLUS = '16gfc-sfpp'
|
|
TYPE_32GFC_SFP28 = '32gfc-sfp28'
|
|
TYPE_128GFC_QSFP28 = '128gfc-sfp28'
|
|
|
|
# InfiniBand
|
|
TYPE_INFINIBAND_SDR = 'inifiband-sdr'
|
|
TYPE_INFINIBAND_DDR = 'inifiband-ddr'
|
|
TYPE_INFINIBAND_QDR = 'inifiband-qdr'
|
|
TYPE_INFINIBAND_FDR10 = 'inifiband-fdr10'
|
|
TYPE_INFINIBAND_FDR = 'inifiband-fdr'
|
|
TYPE_INFINIBAND_EDR = 'inifiband-edr'
|
|
TYPE_INFINIBAND_HDR = 'inifiband-hdr'
|
|
TYPE_INFINIBAND_NDR = 'inifiband-ndr'
|
|
TYPE_INFINIBAND_XDR = 'inifiband-xdr'
|
|
|
|
# Serial
|
|
TYPE_T1 = 't1'
|
|
TYPE_E1 = 'e1'
|
|
TYPE_T3 = 't3'
|
|
TYPE_E3 = 'e3'
|
|
|
|
# Stacking
|
|
TYPE_STACKWISE = 'cisco-stackwise'
|
|
TYPE_STACKWISE_PLUS = 'cisco-stackwise-plus'
|
|
TYPE_FLEXSTACK = 'cisco-flexstack'
|
|
TYPE_FLEXSTACK_PLUS = 'cisco-flexstack-plus'
|
|
TYPE_JUNIPER_VCP = 'juniper-vcp'
|
|
TYPE_SUMMITSTACK = 'extreme-summitstack'
|
|
TYPE_SUMMITSTACK128 = 'extreme-summitstack-128'
|
|
TYPE_SUMMITSTACK256 = 'extreme-summitstack-256'
|
|
TYPE_SUMMITSTACK512 = 'extreme-summitstack-512'
|
|
|
|
# Other
|
|
TYPE_OTHER = 'other'
|
|
|
|
TYPE_CHOICES = (
|
|
(
|
|
'Virtual interfaces',
|
|
(
|
|
(TYPE_VIRTUAL, 'Virtual'),
|
|
(TYPE_LAG, 'Link Aggregation Group (LAG)'),
|
|
),
|
|
),
|
|
(
|
|
'Ethernet (fixed)',
|
|
(
|
|
(TYPE_100ME_FIXED, '100BASE-TX (10/100ME)'),
|
|
(TYPE_1GE_FIXED, '1000BASE-T (1GE)'),
|
|
(TYPE_2GE_FIXED, '2.5GBASE-T (2.5GE)'),
|
|
(TYPE_5GE_FIXED, '5GBASE-T (5GE)'),
|
|
(TYPE_10GE_FIXED, '10GBASE-T (10GE)'),
|
|
(TYPE_10GE_CX4, '10GBASE-CX4 (10GE)'),
|
|
)
|
|
),
|
|
(
|
|
'Ethernet (modular)',
|
|
(
|
|
(TYPE_1GE_GBIC, 'GBIC (1GE)'),
|
|
(TYPE_1GE_SFP, 'SFP (1GE)'),
|
|
(TYPE_10GE_SFP_PLUS, 'SFP+ (10GE)'),
|
|
(TYPE_10GE_XFP, 'XFP (10GE)'),
|
|
(TYPE_10GE_XENPAK, 'XENPAK (10GE)'),
|
|
(TYPE_10GE_X2, 'X2 (10GE)'),
|
|
(TYPE_25GE_SFP28, 'SFP28 (25GE)'),
|
|
(TYPE_40GE_QSFP_PLUS, 'QSFP+ (40GE)'),
|
|
(TYPE_50GE_QSFP28, 'QSFP28 (50GE)'),
|
|
(TYPE_100GE_CFP, 'CFP (100GE)'),
|
|
(TYPE_100GE_CFP2, 'CFP2 (100GE)'),
|
|
(TYPE_200GE_CFP2, 'CFP2 (200GE)'),
|
|
(TYPE_100GE_CFP4, 'CFP4 (100GE)'),
|
|
(TYPE_100GE_CPAK, 'Cisco CPAK (100GE)'),
|
|
(TYPE_100GE_QSFP28, 'QSFP28 (100GE)'),
|
|
(TYPE_200GE_QSFP56, 'QSFP56 (200GE)'),
|
|
(TYPE_400GE_QSFP_DD, 'QSFP-DD (400GE)'),
|
|
(TYPE_400GE_OSFP, 'OSFP (400GE)'),
|
|
)
|
|
),
|
|
(
|
|
'Wireless',
|
|
(
|
|
(TYPE_80211A, 'IEEE 802.11a'),
|
|
(TYPE_80211G, 'IEEE 802.11b/g'),
|
|
(TYPE_80211N, 'IEEE 802.11n'),
|
|
(TYPE_80211AC, 'IEEE 802.11ac'),
|
|
(TYPE_80211AD, 'IEEE 802.11ad'),
|
|
)
|
|
),
|
|
(
|
|
'Cellular',
|
|
(
|
|
(TYPE_GSM, 'GSM'),
|
|
(TYPE_CDMA, 'CDMA'),
|
|
(TYPE_LTE, 'LTE'),
|
|
)
|
|
),
|
|
(
|
|
'SONET',
|
|
(
|
|
(TYPE_SONET_OC3, 'OC-3/STM-1'),
|
|
(TYPE_SONET_OC12, 'OC-12/STM-4'),
|
|
(TYPE_SONET_OC48, 'OC-48/STM-16'),
|
|
(TYPE_SONET_OC192, 'OC-192/STM-64'),
|
|
(TYPE_SONET_OC768, 'OC-768/STM-256'),
|
|
(TYPE_SONET_OC1920, 'OC-1920/STM-640'),
|
|
(TYPE_SONET_OC3840, 'OC-3840/STM-1234'),
|
|
)
|
|
),
|
|
(
|
|
'FibreChannel',
|
|
(
|
|
(TYPE_1GFC_SFP, 'SFP (1GFC)'),
|
|
(TYPE_2GFC_SFP, 'SFP (2GFC)'),
|
|
(TYPE_4GFC_SFP, 'SFP (4GFC)'),
|
|
(TYPE_8GFC_SFP_PLUS, 'SFP+ (8GFC)'),
|
|
(TYPE_16GFC_SFP_PLUS, 'SFP+ (16GFC)'),
|
|
(TYPE_32GFC_SFP28, 'SFP28 (32GFC)'),
|
|
(TYPE_128GFC_QSFP28, 'QSFP28 (128GFC)'),
|
|
)
|
|
),
|
|
(
|
|
'InfiniBand',
|
|
(
|
|
(TYPE_INFINIBAND_SDR, 'SDR (2 Gbps)'),
|
|
(TYPE_INFINIBAND_DDR, 'DDR (4 Gbps)'),
|
|
(TYPE_INFINIBAND_QDR, 'QDR (8 Gbps)'),
|
|
(TYPE_INFINIBAND_FDR10, 'FDR10 (10 Gbps)'),
|
|
(TYPE_INFINIBAND_FDR, 'FDR (13.5 Gbps)'),
|
|
(TYPE_INFINIBAND_EDR, 'EDR (25 Gbps)'),
|
|
(TYPE_INFINIBAND_HDR, 'HDR (50 Gbps)'),
|
|
(TYPE_INFINIBAND_NDR, 'NDR (100 Gbps)'),
|
|
(TYPE_INFINIBAND_XDR, 'XDR (250 Gbps)'),
|
|
)
|
|
),
|
|
(
|
|
'Serial',
|
|
(
|
|
(TYPE_T1, 'T1 (1.544 Mbps)'),
|
|
(TYPE_E1, 'E1 (2.048 Mbps)'),
|
|
(TYPE_T3, 'T3 (45 Mbps)'),
|
|
(TYPE_E3, 'E3 (34 Mbps)'),
|
|
)
|
|
),
|
|
(
|
|
'Stacking',
|
|
(
|
|
(TYPE_STACKWISE, 'Cisco StackWise'),
|
|
(TYPE_STACKWISE_PLUS, 'Cisco StackWise Plus'),
|
|
(TYPE_FLEXSTACK, 'Cisco FlexStack'),
|
|
(TYPE_FLEXSTACK_PLUS, 'Cisco FlexStack Plus'),
|
|
(TYPE_JUNIPER_VCP, 'Juniper VCP'),
|
|
(TYPE_SUMMITSTACK, 'Extreme SummitStack'),
|
|
(TYPE_SUMMITSTACK128, 'Extreme SummitStack-128'),
|
|
(TYPE_SUMMITSTACK256, 'Extreme SummitStack-256'),
|
|
(TYPE_SUMMITSTACK512, 'Extreme SummitStack-512'),
|
|
)
|
|
),
|
|
(
|
|
'Other',
|
|
(
|
|
(TYPE_OTHER, 'Other'),
|
|
)
|
|
),
|
|
)
|
|
|
|
@classmethod
|
|
def slug_to_integer(cls, slug):
|
|
"""
|
|
Provide backward-compatible mapping of the type slug to integer.
|
|
"""
|
|
return {
|
|
# Slug: integer
|
|
cls.TYPE_VIRTUAL: IFACE_TYPE_VIRTUAL,
|
|
cls.TYPE_LAG: IFACE_TYPE_LAG,
|
|
cls.TYPE_100ME_FIXED: IFACE_TYPE_100ME_FIXED,
|
|
cls.TYPE_1GE_FIXED: IFACE_TYPE_1GE_FIXED,
|
|
cls.TYPE_1GE_GBIC: IFACE_TYPE_1GE_GBIC,
|
|
cls.TYPE_1GE_SFP: IFACE_TYPE_1GE_SFP,
|
|
cls.TYPE_2GE_FIXED: IFACE_TYPE_2GE_FIXED,
|
|
cls.TYPE_5GE_FIXED: IFACE_TYPE_5GE_FIXED,
|
|
cls.TYPE_10GE_FIXED: IFACE_TYPE_10GE_FIXED,
|
|
cls.TYPE_10GE_CX4: IFACE_TYPE_10GE_CX4,
|
|
cls.TYPE_10GE_SFP_PLUS: IFACE_TYPE_10GE_SFP_PLUS,
|
|
cls.TYPE_10GE_XFP: IFACE_TYPE_10GE_XFP,
|
|
cls.TYPE_10GE_XENPAK: IFACE_TYPE_10GE_XENPAK,
|
|
cls.TYPE_10GE_X2: IFACE_TYPE_10GE_X2,
|
|
cls.TYPE_25GE_SFP28: IFACE_TYPE_25GE_SFP28,
|
|
cls.TYPE_40GE_QSFP_PLUS: IFACE_TYPE_40GE_QSFP_PLUS,
|
|
cls.TYPE_50GE_QSFP28: IFACE_TYPE_50GE_QSFP28,
|
|
cls.TYPE_100GE_CFP: IFACE_TYPE_100GE_CFP,
|
|
cls.TYPE_100GE_CFP2: IFACE_TYPE_100GE_CFP2,
|
|
cls.TYPE_100GE_CFP4: IFACE_TYPE_100GE_CFP4,
|
|
cls.TYPE_100GE_CPAK: IFACE_TYPE_100GE_CPAK,
|
|
cls.TYPE_100GE_QSFP28: IFACE_TYPE_100GE_QSFP28,
|
|
cls.TYPE_200GE_CFP2: IFACE_TYPE_200GE_CFP2,
|
|
cls.TYPE_200GE_QSFP56: IFACE_TYPE_200GE_QSFP56,
|
|
cls.TYPE_400GE_QSFP_DD: IFACE_TYPE_400GE_QSFP_DD,
|
|
cls.TYPE_80211A: IFACE_TYPE_80211A,
|
|
cls.TYPE_80211G: IFACE_TYPE_80211G,
|
|
cls.TYPE_80211N: IFACE_TYPE_80211N,
|
|
cls.TYPE_80211AC: IFACE_TYPE_80211AC,
|
|
cls.TYPE_80211AD: IFACE_TYPE_80211AD,
|
|
cls.TYPE_GSM: IFACE_TYPE_GSM,
|
|
cls.TYPE_CDMA: IFACE_TYPE_CDMA,
|
|
cls.TYPE_LTE: IFACE_TYPE_LTE,
|
|
cls.TYPE_SONET_OC3: IFACE_TYPE_SONET_OC3,
|
|
cls.TYPE_SONET_OC12: IFACE_TYPE_SONET_OC12,
|
|
cls.TYPE_SONET_OC48: IFACE_TYPE_SONET_OC48,
|
|
cls.TYPE_SONET_OC192: IFACE_TYPE_SONET_OC192,
|
|
cls.TYPE_SONET_OC768: IFACE_TYPE_SONET_OC768,
|
|
cls.TYPE_SONET_OC1920: IFACE_TYPE_SONET_OC1920,
|
|
cls.TYPE_SONET_OC3840: IFACE_TYPE_SONET_OC3840,
|
|
cls.TYPE_1GFC_SFP: IFACE_TYPE_1GFC_SFP,
|
|
cls.TYPE_2GFC_SFP: IFACE_TYPE_2GFC_SFP,
|
|
cls.TYPE_4GFC_SFP: IFACE_TYPE_4GFC_SFP,
|
|
cls.TYPE_8GFC_SFP_PLUS: IFACE_TYPE_8GFC_SFP_PLUS,
|
|
cls.TYPE_16GFC_SFP_PLUS: IFACE_TYPE_16GFC_SFP_PLUS,
|
|
cls.TYPE_32GFC_SFP28: IFACE_TYPE_32GFC_SFP28,
|
|
cls.TYPE_128GFC_QSFP28: IFACE_TYPE_128GFC_QSFP28,
|
|
cls.TYPE_INFINIBAND_SDR: IFACE_TYPE_INFINIBAND_SDR,
|
|
cls.TYPE_INFINIBAND_DDR: IFACE_TYPE_INFINIBAND_DDR,
|
|
cls.TYPE_INFINIBAND_QDR: IFACE_TYPE_INFINIBAND_QDR,
|
|
cls.TYPE_INFINIBAND_FDR10: IFACE_TYPE_INFINIBAND_FDR10,
|
|
cls.TYPE_INFINIBAND_FDR: IFACE_TYPE_INFINIBAND_FDR,
|
|
cls.TYPE_INFINIBAND_EDR: IFACE_TYPE_INFINIBAND_EDR,
|
|
cls.TYPE_INFINIBAND_HDR: IFACE_TYPE_INFINIBAND_HDR,
|
|
cls.TYPE_INFINIBAND_NDR: IFACE_TYPE_INFINIBAND_NDR,
|
|
cls.TYPE_INFINIBAND_XDR: IFACE_TYPE_INFINIBAND_XDR,
|
|
cls.TYPE_T1: IFACE_TYPE_T1,
|
|
cls.TYPE_E1: IFACE_TYPE_E1,
|
|
cls.TYPE_T3: IFACE_TYPE_T3,
|
|
cls.TYPE_E3: IFACE_TYPE_E3,
|
|
cls.TYPE_STACKWISE: IFACE_TYPE_STACKWISE,
|
|
cls.TYPE_STACKWISE_PLUS: IFACE_TYPE_STACKWISE_PLUS,
|
|
cls.TYPE_FLEXSTACK: IFACE_TYPE_FLEXSTACK,
|
|
cls.TYPE_FLEXSTACK_PLUS: IFACE_TYPE_FLEXSTACK_PLUS,
|
|
cls.TYPE_JUNIPER_VCP: IFACE_TYPE_JUNIPER_VCP,
|
|
cls.TYPE_SUMMITSTACK: IFACE_TYPE_SUMMITSTACK,
|
|
cls.TYPE_SUMMITSTACK128: IFACE_TYPE_SUMMITSTACK128,
|
|
cls.TYPE_SUMMITSTACK256: IFACE_TYPE_SUMMITSTACK256,
|
|
cls.TYPE_SUMMITSTACK512: IFACE_TYPE_SUMMITSTACK512,
|
|
}.get(slug)
|
|
|
|
|
|
#
|
|
# Port type values
|
|
#
|
|
|
|
class PortTypes:
|
|
"""
|
|
FrontPort/RearPort.type slugs
|
|
"""
|
|
TYPE_8P8C = '8p8c'
|
|
TYPE_110_PUNCH = '110-punch'
|
|
TYPE_BNC = 'bnc'
|
|
TYPE_ST = 'st'
|
|
TYPE_SC = 'sc'
|
|
TYPE_SC_APC = 'sc-apc'
|
|
TYPE_FC = 'fc'
|
|
TYPE_LC = 'lc'
|
|
TYPE_LC_APC = 'lc-apc'
|
|
TYPE_MTRJ = 'mtrj'
|
|
TYPE_MPO = 'mpo'
|
|
TYPE_LSH = 'lsh'
|
|
TYPE_LSH_APC = 'lsh-apc'
|
|
|
|
TYPE_CHOICES = (
|
|
(
|
|
'Copper',
|
|
(
|
|
(TYPE_8P8C, '8P8C'),
|
|
(TYPE_110_PUNCH, '110 Punch'),
|
|
(TYPE_BNC, 'BNC'),
|
|
),
|
|
),
|
|
(
|
|
'Fiber Optic',
|
|
(
|
|
(TYPE_FC, 'FC'),
|
|
(TYPE_LC, 'LC'),
|
|
(TYPE_LC_APC, 'LC/APC'),
|
|
(TYPE_LSH, 'LSH'),
|
|
(TYPE_LSH_APC, 'LSH/APC'),
|
|
(TYPE_MPO, 'MPO'),
|
|
(TYPE_MTRJ, 'MTRJ'),
|
|
(TYPE_SC, 'SC'),
|
|
(TYPE_SC_APC, 'SC/APC'),
|
|
(TYPE_ST, 'ST'),
|
|
)
|
|
)
|
|
)
|
|
|
|
@classmethod
|
|
def slug_to_integer(cls, slug):
|
|
"""
|
|
Provide backward-compatible mapping of the type slug to integer.
|
|
"""
|
|
return {
|
|
# Slug: integer
|
|
cls.TYPE_8P8C: PORT_TYPE_8P8C,
|
|
cls.TYPE_110_PUNCH: PORT_TYPE_8P8C,
|
|
cls.TYPE_BNC: PORT_TYPE_BNC,
|
|
cls.TYPE_ST: PORT_TYPE_ST,
|
|
cls.TYPE_SC: PORT_TYPE_SC,
|
|
cls.TYPE_SC_APC: PORT_TYPE_SC_APC,
|
|
cls.TYPE_FC: PORT_TYPE_FC,
|
|
cls.TYPE_LC: PORT_TYPE_LC,
|
|
cls.TYPE_LC_APC: PORT_TYPE_LC_APC,
|
|
cls.TYPE_MTRJ: PORT_TYPE_MTRJ,
|
|
cls.TYPE_MPO: PORT_TYPE_MPO,
|
|
cls.TYPE_LSH: PORT_TYPE_LSH,
|
|
cls.TYPE_LSH_APC: PORT_TYPE_LSH_APC,
|
|
}.get(slug)
|