Skip to content

Instantly share code, notes, and snippets.

@emr-arvig
Created August 20, 2020 17:20
Show Gist options
  • Select an option

  • Save emr-arvig/ed72efbe9fe73438b8dcb629518a1dc7 to your computer and use it in GitHub Desktop.

Select an option

Save emr-arvig/ed72efbe9fe73438b8dcb629518a1dc7 to your computer and use it in GitHub Desktop.
Netbox Importer Choices Route Depreciation Hack
{
"cable:length_unit": [
{
"value": "m",
"label": "Meters"
},
{
"value": "cm",
"label": "Centimeters"
},
{
"value": "ft",
"label": "Feet"
},
{
"value": "in",
"label": "Inches"
}
],
"cable:status": [
{
"value": "connected",
"label": "Connected"
},
{
"value": "planned",
"label": "Planned"
},
{
"value": "decommissioning",
"label": "Decommissioning"
}
],
"cable:termination_a_type": [
{
"value": "dcim.consoleport",
"label": "console port"
},
{
"value": "dcim.consoleserverport",
"label": "console server port"
},
{
"value": "dcim.powerport",
"label": "power port"
},
{
"value": "dcim.poweroutlet",
"label": "power outlet"
},
{
"value": "dcim.interface",
"label": "interface"
},
{
"value": "circuits.circuittermination",
"label": "circuit termination"
},
{
"value": "dcim.frontport",
"label": "front port"
},
{
"value": "dcim.rearport",
"label": "rear port"
},
{
"value": "dcim.powerfeed",
"label": "power feed"
}
],
"cable:termination_b_type": [
{
"value": "dcim.consoleport",
"label": "console port"
},
{
"value": "dcim.consoleserverport",
"label": "console server port"
},
{
"value": "dcim.powerport",
"label": "power port"
},
{
"value": "dcim.poweroutlet",
"label": "power outlet"
},
{
"value": "dcim.interface",
"label": "interface"
},
{
"value": "circuits.circuittermination",
"label": "circuit termination"
},
{
"value": "dcim.frontport",
"label": "front port"
},
{
"value": "dcim.rearport",
"label": "rear port"
},
{
"value": "dcim.powerfeed",
"label": "power feed"
}
],
"cable:type": [
{
"value": "cat3",
"label": "CAT3"
},
{
"value": "cat5",
"label": "CAT5"
},
{
"value": "cat5e",
"label": "CAT5e"
},
{
"value": "cat6",
"label": "CAT6"
},
{
"value": "cat6a",
"label": "CAT6a"
},
{
"value": "cat7",
"label": "CAT7"
},
{
"value": "dac-active",
"label": "Direct Attach Copper (Active)"
},
{
"value": "dac-passive",
"label": "Direct Attach Copper (Passive)"
},
{
"value": "mrj21-trunk",
"label": "MRJ21 Trunk"
},
{
"value": "coaxial",
"label": "Coaxial"
},
{
"value": "mmf",
"label": "Multimode Fiber"
},
{
"value": "mmf-om1",
"label": "Multimode Fiber (OM1)"
},
{
"value": "mmf-om2",
"label": "Multimode Fiber (OM2)"
},
{
"value": "mmf-om3",
"label": "Multimode Fiber (OM3)"
},
{
"value": "mmf-om4",
"label": "Multimode Fiber (OM4)"
},
{
"value": "smf",
"label": "Singlemode Fiber"
},
{
"value": "smf-os1",
"label": "Singlemode Fiber (OS1)"
},
{
"value": "smf-os2",
"label": "Singlemode Fiber (OS2)"
},
{
"value": "aoc",
"label": "Active Optical Cabling (AOC)"
},
{
"value": "power",
"label": "Power"
}
],
"console-port:type": [
{
"value": "de-9",
"label": "DE-9"
},
{
"value": "db-25",
"label": "DB-25"
},
{
"value": "rj-11",
"label": "RJ-11"
},
{
"value": "rj-12",
"label": "RJ-12"
},
{
"value": "rj-45",
"label": "RJ-45"
},
{
"value": "usb-a",
"label": "USB Type A"
},
{
"value": "usb-b",
"label": "USB Type B"
},
{
"value": "usb-c",
"label": "USB Type C"
},
{
"value": "usb-mini-a",
"label": "USB Mini A"
},
{
"value": "usb-mini-b",
"label": "USB Mini B"
},
{
"value": "usb-micro-a",
"label": "USB Micro A"
},
{
"value": "usb-micro-b",
"label": "USB Micro B"
},
{
"value": "other",
"label": "Other"
}
],
"console-port:connection_status": [
{
"value": false,
"label": "Not Connected"
},
{
"value": true,
"label": "Connected"
}
],
"console-port-template:type": [
{
"value": "de-9",
"label": "DE-9"
},
{
"value": "db-25",
"label": "DB-25"
},
{
"value": "rj-11",
"label": "RJ-11"
},
{
"value": "rj-12",
"label": "RJ-12"
},
{
"value": "rj-45",
"label": "RJ-45"
},
{
"value": "usb-a",
"label": "USB Type A"
},
{
"value": "usb-b",
"label": "USB Type B"
},
{
"value": "usb-c",
"label": "USB Type C"
},
{
"value": "usb-mini-a",
"label": "USB Mini A"
},
{
"value": "usb-mini-b",
"label": "USB Mini B"
},
{
"value": "usb-micro-a",
"label": "USB Micro A"
},
{
"value": "usb-micro-b",
"label": "USB Micro B"
},
{
"value": "other",
"label": "Other"
}
],
"console-server-port:type": [
{
"value": "de-9",
"label": "DE-9"
},
{
"value": "db-25",
"label": "DB-25"
},
{
"value": "rj-11",
"label": "RJ-11"
},
{
"value": "rj-12",
"label": "RJ-12"
},
{
"value": "rj-45",
"label": "RJ-45"
},
{
"value": "usb-a",
"label": "USB Type A"
},
{
"value": "usb-b",
"label": "USB Type B"
},
{
"value": "usb-c",
"label": "USB Type C"
},
{
"value": "usb-mini-a",
"label": "USB Mini A"
},
{
"value": "usb-mini-b",
"label": "USB Mini B"
},
{
"value": "usb-micro-a",
"label": "USB Micro A"
},
{
"value": "usb-micro-b",
"label": "USB Micro B"
},
{
"value": "other",
"label": "Other"
}
],
"console-server-port-template:type": [
{
"value": "de-9",
"label": "DE-9"
},
{
"value": "db-25",
"label": "DB-25"
},
{
"value": "rj-11",
"label": "RJ-11"
},
{
"value": "rj-12",
"label": "RJ-12"
},
{
"value": "rj-45",
"label": "RJ-45"
},
{
"value": "usb-a",
"label": "USB Type A"
},
{
"value": "usb-b",
"label": "USB Type B"
},
{
"value": "usb-c",
"label": "USB Type C"
},
{
"value": "usb-mini-a",
"label": "USB Mini A"
},
{
"value": "usb-mini-b",
"label": "USB Mini B"
},
{
"value": "usb-micro-a",
"label": "USB Micro A"
},
{
"value": "usb-micro-b",
"label": "USB Micro B"
},
{
"value": "other",
"label": "Other"
}
],
"device:face": [
{
"value": "front",
"label": "Front"
},
{
"value": "rear",
"label": "Rear"
}
],
"device:status": [
{
"value": "offline",
"label": "Offline"
},
{
"value": "active",
"label": "Active"
},
{
"value": "planned",
"label": "Planned"
},
{
"value": "staged",
"label": "Staged"
},
{
"value": "failed",
"label": "Failed"
},
{
"value": "inventory",
"label": "Inventory"
},
{
"value": "decommissioning",
"label": "Decommissioning"
}
],
"device-type:subdevice_role": [
{
"value": "parent",
"label": "Parent"
},
{
"value": "child",
"label": "Child"
}
],
"front-port:type": [
{
"value": "8p8c",
"label": "8P8C"
},
{
"value": "110-punch",
"label": "110 Punch"
},
{
"value": "bnc",
"label": "BNC"
},
{
"value": "mrj21",
"label": "MRJ21"
},
{
"value": "fc",
"label": "FC"
},
{
"value": "lc",
"label": "LC"
},
{
"value": "lc-apc",
"label": "LC/APC"
},
{
"value": "lsh",
"label": "LSH"
},
{
"value": "lsh-apc",
"label": "LSH/APC"
},
{
"value": "mpo",
"label": "MPO"
},
{
"value": "mtrj",
"label": "MTRJ"
},
{
"value": "sc",
"label": "SC"
},
{
"value": "sc-apc",
"label": "SC/APC"
},
{
"value": "st",
"label": "ST"
}
],
"front-port-template:type": [
{
"value": "8p8c",
"label": "8P8C"
},
{
"value": "110-punch",
"label": "110 Punch"
},
{
"value": "bnc",
"label": "BNC"
},
{
"value": "mrj21",
"label": "MRJ21"
},
{
"value": "fc",
"label": "FC"
},
{
"value": "lc",
"label": "LC"
},
{
"value": "lc-apc",
"label": "LC/APC"
},
{
"value": "lsh",
"label": "LSH"
},
{
"value": "lsh-apc",
"label": "LSH/APC"
},
{
"value": "mpo",
"label": "MPO"
},
{
"value": "mtrj",
"label": "MTRJ"
},
{
"value": "sc",
"label": "SC"
},
{
"value": "sc-apc",
"label": "SC/APC"
},
{
"value": "st",
"label": "ST"
}
],
"interface:type": [
{
"value": "virtual",
"label": "Virtual"
},
{
"value": "lag",
"label": "Link Aggregation Group (LAG)"
},
{
"value": "100base-tx",
"label": "100BASE-TX (10/100ME)"
},
{
"value": "1000base-t",
"label": "1000BASE-T (1GE)"
},
{
"value": "2.5gbase-t",
"label": "2.5GBASE-T (2.5GE)"
},
{
"value": "5gbase-t",
"label": "5GBASE-T (5GE)"
},
{
"value": "10gbase-t",
"label": "10GBASE-T (10GE)"
},
{
"value": "10gbase-cx4",
"label": "10GBASE-CX4 (10GE)"
},
{
"value": "1000base-x-gbic",
"label": "GBIC (1GE)"
},
{
"value": "1000base-x-sfp",
"label": "SFP (1GE)"
},
{
"value": "10gbase-x-sfpp",
"label": "SFP+ (10GE)"
},
{
"value": "10gbase-x-xfp",
"label": "XFP (10GE)"
},
{
"value": "10gbase-x-xenpak",
"label": "XENPAK (10GE)"
},
{
"value": "10gbase-x-x2",
"label": "X2 (10GE)"
},
{
"value": "25gbase-x-sfp28",
"label": "SFP28 (25GE)"
},
{
"value": "40gbase-x-qsfpp",
"label": "QSFP+ (40GE)"
},
{
"value": "50gbase-x-sfp28",
"label": "QSFP28 (50GE)"
},
{
"value": "100gbase-x-cfp",
"label": "CFP (100GE)"
},
{
"value": "100gbase-x-cfp2",
"label": "CFP2 (100GE)"
},
{
"value": "200gbase-x-cfp2",
"label": "CFP2 (200GE)"
},
{
"value": "100gbase-x-cfp4",
"label": "CFP4 (100GE)"
},
{
"value": "100gbase-x-cpak",
"label": "Cisco CPAK (100GE)"
},
{
"value": "100gbase-x-qsfp28",
"label": "QSFP28 (100GE)"
},
{
"value": "200gbase-x-qsfp56",
"label": "QSFP56 (200GE)"
},
{
"value": "400gbase-x-qsfpdd",
"label": "QSFP-DD (400GE)"
},
{
"value": "400gbase-x-osfp",
"label": "OSFP (400GE)"
},
{
"value": "ieee802.11a",
"label": "IEEE 802.11a"
},
{
"value": "ieee802.11g",
"label": "IEEE 802.11b/g"
},
{
"value": "ieee802.11n",
"label": "IEEE 802.11n"
},
{
"value": "ieee802.11ac",
"label": "IEEE 802.11ac"
},
{
"value": "ieee802.11ad",
"label": "IEEE 802.11ad"
},
{
"value": "ieee802.11ax",
"label": "IEEE 802.11ax"
},
{
"value": "gsm",
"label": "GSM"
},
{
"value": "cdma",
"label": "CDMA"
},
{
"value": "lte",
"label": "LTE"
},
{
"value": "sonet-oc3",
"label": "OC-3/STM-1"
},
{
"value": "sonet-oc12",
"label": "OC-12/STM-4"
},
{
"value": "sonet-oc48",
"label": "OC-48/STM-16"
},
{
"value": "sonet-oc192",
"label": "OC-192/STM-64"
},
{
"value": "sonet-oc768",
"label": "OC-768/STM-256"
},
{
"value": "sonet-oc1920",
"label": "OC-1920/STM-640"
},
{
"value": "sonet-oc3840",
"label": "OC-3840/STM-1234"
},
{
"value": "1gfc-sfp",
"label": "SFP (1GFC)"
},
{
"value": "2gfc-sfp",
"label": "SFP (2GFC)"
},
{
"value": "4gfc-sfp",
"label": "SFP (4GFC)"
},
{
"value": "8gfc-sfpp",
"label": "SFP+ (8GFC)"
},
{
"value": "16gfc-sfpp",
"label": "SFP+ (16GFC)"
},
{
"value": "32gfc-sfp28",
"label": "SFP28 (32GFC)"
},
{
"value": "128gfc-sfp28",
"label": "QSFP28 (128GFC)"
},
{
"value": "inifiband-sdr",
"label": "SDR (2 Gbps)"
},
{
"value": "inifiband-ddr",
"label": "DDR (4 Gbps)"
},
{
"value": "inifiband-qdr",
"label": "QDR (8 Gbps)"
},
{
"value": "inifiband-fdr10",
"label": "FDR10 (10 Gbps)"
},
{
"value": "inifiband-fdr",
"label": "FDR (13.5 Gbps)"
},
{
"value": "inifiband-edr",
"label": "EDR (25 Gbps)"
},
{
"value": "inifiband-hdr",
"label": "HDR (50 Gbps)"
},
{
"value": "inifiband-ndr",
"label": "NDR (100 Gbps)"
},
{
"value": "inifiband-xdr",
"label": "XDR (250 Gbps)"
},
{
"value": "t1",
"label": "T1 (1.544 Mbps)"
},
{
"value": "e1",
"label": "E1 (2.048 Mbps)"
},
{
"value": "t3",
"label": "T3 (45 Mbps)"
},
{
"value": "e3",
"label": "E3 (34 Mbps)"
},
{
"value": "cisco-stackwise",
"label": "Cisco StackWise"
},
{
"value": "cisco-stackwise-plus",
"label": "Cisco StackWise Plus"
},
{
"value": "cisco-flexstack",
"label": "Cisco FlexStack"
},
{
"value": "cisco-flexstack-plus",
"label": "Cisco FlexStack Plus"
},
{
"value": "juniper-vcp",
"label": "Juniper VCP"
},
{
"value": "extreme-summitstack",
"label": "Extreme SummitStack"
},
{
"value": "extreme-summitstack-128",
"label": "Extreme SummitStack-128"
},
{
"value": "extreme-summitstack-256",
"label": "Extreme SummitStack-256"
},
{
"value": "extreme-summitstack-512",
"label": "Extreme SummitStack-512"
},
{
"value": "other",
"label": "Other"
}
],
"interface:mode": [
{
"value": "access",
"label": "Access"
},
{
"value": "tagged",
"label": "Tagged"
},
{
"value": "tagged-all",
"label": "Tagged (All)"
}
],
"interface-template:type": [
{
"value": "virtual",
"label": "Virtual"
},
{
"value": "lag",
"label": "Link Aggregation Group (LAG)"
},
{
"value": "100base-tx",
"label": "100BASE-TX (10/100ME)"
},
{
"value": "1000base-t",
"label": "1000BASE-T (1GE)"
},
{
"value": "2.5gbase-t",
"label": "2.5GBASE-T (2.5GE)"
},
{
"value": "5gbase-t",
"label": "5GBASE-T (5GE)"
},
{
"value": "10gbase-t",
"label": "10GBASE-T (10GE)"
},
{
"value": "10gbase-cx4",
"label": "10GBASE-CX4 (10GE)"
},
{
"value": "1000base-x-gbic",
"label": "GBIC (1GE)"
},
{
"value": "1000base-x-sfp",
"label": "SFP (1GE)"
},
{
"value": "10gbase-x-sfpp",
"label": "SFP+ (10GE)"
},
{
"value": "10gbase-x-xfp",
"label": "XFP (10GE)"
},
{
"value": "10gbase-x-xenpak",
"label": "XENPAK (10GE)"
},
{
"value": "10gbase-x-x2",
"label": "X2 (10GE)"
},
{
"value": "25gbase-x-sfp28",
"label": "SFP28 (25GE)"
},
{
"value": "40gbase-x-qsfpp",
"label": "QSFP+ (40GE)"
},
{
"value": "50gbase-x-sfp28",
"label": "QSFP28 (50GE)"
},
{
"value": "100gbase-x-cfp",
"label": "CFP (100GE)"
},
{
"value": "100gbase-x-cfp2",
"label": "CFP2 (100GE)"
},
{
"value": "200gbase-x-cfp2",
"label": "CFP2 (200GE)"
},
{
"value": "100gbase-x-cfp4",
"label": "CFP4 (100GE)"
},
{
"value": "100gbase-x-cpak",
"label": "Cisco CPAK (100GE)"
},
{
"value": "100gbase-x-qsfp28",
"label": "QSFP28 (100GE)"
},
{
"value": "200gbase-x-qsfp56",
"label": "QSFP56 (200GE)"
},
{
"value": "400gbase-x-qsfpdd",
"label": "QSFP-DD (400GE)"
},
{
"value": "400gbase-x-osfp",
"label": "OSFP (400GE)"
},
{
"value": "ieee802.11a",
"label": "IEEE 802.11a"
},
{
"value": "ieee802.11g",
"label": "IEEE 802.11b/g"
},
{
"value": "ieee802.11n",
"label": "IEEE 802.11n"
},
{
"value": "ieee802.11ac",
"label": "IEEE 802.11ac"
},
{
"value": "ieee802.11ad",
"label": "IEEE 802.11ad"
},
{
"value": "ieee802.11ax",
"label": "IEEE 802.11ax"
},
{
"value": "gsm",
"label": "GSM"
},
{
"value": "cdma",
"label": "CDMA"
},
{
"value": "lte",
"label": "LTE"
},
{
"value": "sonet-oc3",
"label": "OC-3/STM-1"
},
{
"value": "sonet-oc12",
"label": "OC-12/STM-4"
},
{
"value": "sonet-oc48",
"label": "OC-48/STM-16"
},
{
"value": "sonet-oc192",
"label": "OC-192/STM-64"
},
{
"value": "sonet-oc768",
"label": "OC-768/STM-256"
},
{
"value": "sonet-oc1920",
"label": "OC-1920/STM-640"
},
{
"value": "sonet-oc3840",
"label": "OC-3840/STM-1234"
},
{
"value": "1gfc-sfp",
"label": "SFP (1GFC)"
},
{
"value": "2gfc-sfp",
"label": "SFP (2GFC)"
},
{
"value": "4gfc-sfp",
"label": "SFP (4GFC)"
},
{
"value": "8gfc-sfpp",
"label": "SFP+ (8GFC)"
},
{
"value": "16gfc-sfpp",
"label": "SFP+ (16GFC)"
},
{
"value": "32gfc-sfp28",
"label": "SFP28 (32GFC)"
},
{
"value": "128gfc-sfp28",
"label": "QSFP28 (128GFC)"
},
{
"value": "inifiband-sdr",
"label": "SDR (2 Gbps)"
},
{
"value": "inifiband-ddr",
"label": "DDR (4 Gbps)"
},
{
"value": "inifiband-qdr",
"label": "QDR (8 Gbps)"
},
{
"value": "inifiband-fdr10",
"label": "FDR10 (10 Gbps)"
},
{
"value": "inifiband-fdr",
"label": "FDR (13.5 Gbps)"
},
{
"value": "inifiband-edr",
"label": "EDR (25 Gbps)"
},
{
"value": "inifiband-hdr",
"label": "HDR (50 Gbps)"
},
{
"value": "inifiband-ndr",
"label": "NDR (100 Gbps)"
},
{
"value": "inifiband-xdr",
"label": "XDR (250 Gbps)"
},
{
"value": "t1",
"label": "T1 (1.544 Mbps)"
},
{
"value": "e1",
"label": "E1 (2.048 Mbps)"
},
{
"value": "t3",
"label": "T3 (45 Mbps)"
},
{
"value": "e3",
"label": "E3 (34 Mbps)"
},
{
"value": "cisco-stackwise",
"label": "Cisco StackWise"
},
{
"value": "cisco-stackwise-plus",
"label": "Cisco StackWise Plus"
},
{
"value": "cisco-flexstack",
"label": "Cisco FlexStack"
},
{
"value": "cisco-flexstack-plus",
"label": "Cisco FlexStack Plus"
},
{
"value": "juniper-vcp",
"label": "Juniper VCP"
},
{
"value": "extreme-summitstack",
"label": "Extreme SummitStack"
},
{
"value": "extreme-summitstack-128",
"label": "Extreme SummitStack-128"
},
{
"value": "extreme-summitstack-256",
"label": "Extreme SummitStack-256"
},
{
"value": "extreme-summitstack-512",
"label": "Extreme SummitStack-512"
},
{
"value": "other",
"label": "Other"
}
],
"power-feed:phase": [
{
"value": "single-phase",
"label": "Single phase"
},
{
"value": "three-phase",
"label": "Three-phase"
}
],
"power-feed:status": [
{
"value": "offline",
"label": "Offline"
},
{
"value": "active",
"label": "Active"
},
{
"value": "planned",
"label": "Planned"
},
{
"value": "failed",
"label": "Failed"
}
],
"power-feed:supply": [
{
"value": "ac",
"label": "AC"
},
{
"value": "dc",
"label": "DC"
}
],
"power-feed:type": [
{
"value": "primary",
"label": "Primary"
},
{
"value": "redundant",
"label": "Redundant"
}
],
"power-outlet:type": [
{
"value": "iec-60320-c5",
"label": "C5"
},
{
"value": "iec-60320-c7",
"label": "C7"
},
{
"value": "iec-60320-c13",
"label": "C13"
},
{
"value": "iec-60320-c15",
"label": "C15"
},
{
"value": "iec-60320-c19",
"label": "C19"
},
{
"value": "iec-60309-p-n-e-4h",
"label": "P+N+E 4H"
},
{
"value": "iec-60309-p-n-e-6h",
"label": "P+N+E 6H"
},
{
"value": "iec-60309-p-n-e-9h",
"label": "P+N+E 9H"
},
{
"value": "iec-60309-2p-e-4h",
"label": "2P+E 4H"
},
{
"value": "iec-60309-2p-e-6h",
"label": "2P+E 6H"
},
{
"value": "iec-60309-2p-e-9h",
"label": "2P+E 9H"
},
{
"value": "iec-60309-3p-e-4h",
"label": "3P+E 4H"
},
{
"value": "iec-60309-3p-e-6h",
"label": "3P+E 6H"
},
{
"value": "iec-60309-3p-e-9h",
"label": "3P+E 9H"
},
{
"value": "iec-60309-3p-n-e-4h",
"label": "3P+N+E 4H"
},
{
"value": "iec-60309-3p-n-e-6h",
"label": "3P+N+E 6H"
},
{
"value": "iec-60309-3p-n-e-9h",
"label": "3P+N+E 9H"
},
{
"value": "nema-5-15r",
"label": "NEMA 5-15R"
},
{
"value": "nema-5-20r",
"label": "NEMA 5-20R"
},
{
"value": "nema-5-30r",
"label": "NEMA 5-30R"
},
{
"value": "nema-5-50r",
"label": "NEMA 5-50R"
},
{
"value": "nema-6-15r",
"label": "NEMA 6-15R"
},
{
"value": "nema-6-20r",
"label": "NEMA 6-20R"
},
{
"value": "nema-6-30r",
"label": "NEMA 6-30R"
},
{
"value": "nema-6-50r",
"label": "NEMA 6-50R"
},
{
"value": "nema-l5-15r",
"label": "NEMA L5-15R"
},
{
"value": "nema-l5-20r",
"label": "NEMA L5-20R"
},
{
"value": "nema-l5-30r",
"label": "NEMA L5-30R"
},
{
"value": "nema-l5-50r",
"label": "NEMA L6-15R"
},
{
"value": "nema-l6-20r",
"label": "NEMA L6-20R"
},
{
"value": "nema-l6-30r",
"label": "NEMA L6-30R"
},
{
"value": "nema-l6-50r",
"label": "NEMA L6-50R"
},
{
"value": "CS6360C",
"label": "CS6360C"
},
{
"value": "CS6364C",
"label": "CS6364C"
},
{
"value": "CS8164C",
"label": "CS8164C"
},
{
"value": "CS8264C",
"label": "CS8264C"
},
{
"value": "CS8364C",
"label": "CS8364C"
},
{
"value": "CS8464C",
"label": "CS8464C"
},
{
"value": "ita-e",
"label": "ITA Type E (CEE7/5)"
},
{
"value": "ita-f",
"label": "ITA Type F (CEE7/3)"
},
{
"value": "ita-g",
"label": "ITA Type G (BS 1363)"
},
{
"value": "ita-h",
"label": "ITA Type H"
},
{
"value": "ita-i",
"label": "ITA Type I"
},
{
"value": "ita-j",
"label": "ITA Type J"
},
{
"value": "ita-k",
"label": "ITA Type K"
},
{
"value": "ita-l",
"label": "ITA Type L (CEI 23-50)"
},
{
"value": "ita-m",
"label": "ITA Type M (BS 546)"
},
{
"value": "ita-n",
"label": "ITA Type N"
},
{
"value": "ita-o",
"label": "ITA Type O"
}
],
"power-outlet:feed_leg": [
{
"value": "A",
"label": "A"
},
{
"value": "B",
"label": "B"
},
{
"value": "C",
"label": "C"
}
],
"power-outlet-template:type": [
{
"value": "iec-60320-c5",
"label": "C5"
},
{
"value": "iec-60320-c7",
"label": "C7"
},
{
"value": "iec-60320-c13",
"label": "C13"
},
{
"value": "iec-60320-c15",
"label": "C15"
},
{
"value": "iec-60320-c19",
"label": "C19"
},
{
"value": "iec-60309-p-n-e-4h",
"label": "P+N+E 4H"
},
{
"value": "iec-60309-p-n-e-6h",
"label": "P+N+E 6H"
},
{
"value": "iec-60309-p-n-e-9h",
"label": "P+N+E 9H"
},
{
"value": "iec-60309-2p-e-4h",
"label": "2P+E 4H"
},
{
"value": "iec-60309-2p-e-6h",
"label": "2P+E 6H"
},
{
"value": "iec-60309-2p-e-9h",
"label": "2P+E 9H"
},
{
"value": "iec-60309-3p-e-4h",
"label": "3P+E 4H"
},
{
"value": "iec-60309-3p-e-6h",
"label": "3P+E 6H"
},
{
"value": "iec-60309-3p-e-9h",
"label": "3P+E 9H"
},
{
"value": "iec-60309-3p-n-e-4h",
"label": "3P+N+E 4H"
},
{
"value": "iec-60309-3p-n-e-6h",
"label": "3P+N+E 6H"
},
{
"value": "iec-60309-3p-n-e-9h",
"label": "3P+N+E 9H"
},
{
"value": "nema-5-15r",
"label": "NEMA 5-15R"
},
{
"value": "nema-5-20r",
"label": "NEMA 5-20R"
},
{
"value": "nema-5-30r",
"label": "NEMA 5-30R"
},
{
"value": "nema-5-50r",
"label": "NEMA 5-50R"
},
{
"value": "nema-6-15r",
"label": "NEMA 6-15R"
},
{
"value": "nema-6-20r",
"label": "NEMA 6-20R"
},
{
"value": "nema-6-30r",
"label": "NEMA 6-30R"
},
{
"value": "nema-6-50r",
"label": "NEMA 6-50R"
},
{
"value": "nema-l5-15r",
"label": "NEMA L5-15R"
},
{
"value": "nema-l5-20r",
"label": "NEMA L5-20R"
},
{
"value": "nema-l5-30r",
"label": "NEMA L5-30R"
},
{
"value": "nema-l5-50r",
"label": "NEMA L6-15R"
},
{
"value": "nema-l6-20r",
"label": "NEMA L6-20R"
},
{
"value": "nema-l6-30r",
"label": "NEMA L6-30R"
},
{
"value": "nema-l6-50r",
"label": "NEMA L6-50R"
},
{
"value": "CS6360C",
"label": "CS6360C"
},
{
"value": "CS6364C",
"label": "CS6364C"
},
{
"value": "CS8164C",
"label": "CS8164C"
},
{
"value": "CS8264C",
"label": "CS8264C"
},
{
"value": "CS8364C",
"label": "CS8364C"
},
{
"value": "CS8464C",
"label": "CS8464C"
},
{
"value": "ita-e",
"label": "ITA Type E (CEE7/5)"
},
{
"value": "ita-f",
"label": "ITA Type F (CEE7/3)"
},
{
"value": "ita-g",
"label": "ITA Type G (BS 1363)"
},
{
"value": "ita-h",
"label": "ITA Type H"
},
{
"value": "ita-i",
"label": "ITA Type I"
},
{
"value": "ita-j",
"label": "ITA Type J"
},
{
"value": "ita-k",
"label": "ITA Type K"
},
{
"value": "ita-l",
"label": "ITA Type L (CEI 23-50)"
},
{
"value": "ita-m",
"label": "ITA Type M (BS 546)"
},
{
"value": "ita-n",
"label": "ITA Type N"
},
{
"value": "ita-o",
"label": "ITA Type O"
}
],
"power-outlet-template:feed_leg": [
{
"value": "A",
"label": "A"
},
{
"value": "B",
"label": "B"
},
{
"value": "C",
"label": "C"
}
],
"power-port:type": [
{
"value": "iec-60320-c6",
"label": "C6"
},
{
"value": "iec-60320-c8",
"label": "C8"
},
{
"value": "iec-60320-c14",
"label": "C14"
},
{
"value": "iec-60320-c16",
"label": "C16"
},
{
"value": "iec-60320-c20",
"label": "C20"
},
{
"value": "iec-60309-p-n-e-4h",
"label": "P+N+E 4H"
},
{
"value": "iec-60309-p-n-e-6h",
"label": "P+N+E 6H"
},
{
"value": "iec-60309-p-n-e-9h",
"label": "P+N+E 9H"
},
{
"value": "iec-60309-2p-e-4h",
"label": "2P+E 4H"
},
{
"value": "iec-60309-2p-e-6h",
"label": "2P+E 6H"
},
{
"value": "iec-60309-2p-e-9h",
"label": "2P+E 9H"
},
{
"value": "iec-60309-3p-e-4h",
"label": "3P+E 4H"
},
{
"value": "iec-60309-3p-e-6h",
"label": "3P+E 6H"
},
{
"value": "iec-60309-3p-e-9h",
"label": "3P+E 9H"
},
{
"value": "iec-60309-3p-n-e-4h",
"label": "3P+N+E 4H"
},
{
"value": "iec-60309-3p-n-e-6h",
"label": "3P+N+E 6H"
},
{
"value": "iec-60309-3p-n-e-9h",
"label": "3P+N+E 9H"
},
{
"value": "nema-5-15p",
"label": "NEMA 5-15P"
},
{
"value": "nema-5-20p",
"label": "NEMA 5-20P"
},
{
"value": "nema-5-30p",
"label": "NEMA 5-30P"
},
{
"value": "nema-5-50p",
"label": "NEMA 5-50P"
},
{
"value": "nema-6-15p",
"label": "NEMA 6-15P"
},
{
"value": "nema-6-20p",
"label": "NEMA 6-20P"
},
{
"value": "nema-6-30p",
"label": "NEMA 6-30P"
},
{
"value": "nema-6-50p",
"label": "NEMA 6-50P"
},
{
"value": "nema-l5-15p",
"label": "NEMA L5-15P"
},
{
"value": "nema-l5-20p",
"label": "NEMA L5-20P"
},
{
"value": "nema-l5-30p",
"label": "NEMA L5-30P"
},
{
"value": "nema-l5-50p",
"label": "NEMA L6-15P"
},
{
"value": "nema-l6-20p",
"label": "NEMA L6-20P"
},
{
"value": "nema-l6-30p",
"label": "NEMA L6-30P"
},
{
"value": "nema-l6-50p",
"label": "NEMA L6-50P"
},
{
"value": "cs6361c",
"label": "CS6361C"
},
{
"value": "cs6365c",
"label": "CS6365C"
},
{
"value": "cs8165c",
"label": "CS8165C"
},
{
"value": "cs8265c",
"label": "CS8265C"
},
{
"value": "cs8365c",
"label": "CS8365C"
},
{
"value": "cs8465c",
"label": "CS8465C"
},
{
"value": "ita-e",
"label": "ITA Type E (CEE 7/5)"
},
{
"value": "ita-f",
"label": "ITA Type F (CEE 7/4)"
},
{
"value": "ita-ef",
"label": "ITA Type E/F (CEE 7/7)"
},
{
"value": "ita-g",
"label": "ITA Type G (BS 1363)"
},
{
"value": "ita-h",
"label": "ITA Type H"
},
{
"value": "ita-i",
"label": "ITA Type I"
},
{
"value": "ita-j",
"label": "ITA Type J"
},
{
"value": "ita-k",
"label": "ITA Type K"
},
{
"value": "ita-l",
"label": "ITA Type L (CEI 23-50)"
},
{
"value": "ita-m",
"label": "ITA Type M (BS 546)"
},
{
"value": "ita-n",
"label": "ITA Type N"
},
{
"value": "ita-o",
"label": "ITA Type O"
}
],
"power-port:connection_status": [
{
"value": false,
"label": "Not Connected"
},
{
"value": true,
"label": "Connected"
}
],
"power-port-template:type": [
{
"value": "iec-60320-c6",
"label": "C6"
},
{
"value": "iec-60320-c8",
"label": "C8"
},
{
"value": "iec-60320-c14",
"label": "C14"
},
{
"value": "iec-60320-c16",
"label": "C16"
},
{
"value": "iec-60320-c20",
"label": "C20"
},
{
"value": "iec-60309-p-n-e-4h",
"label": "P+N+E 4H"
},
{
"value": "iec-60309-p-n-e-6h",
"label": "P+N+E 6H"
},
{
"value": "iec-60309-p-n-e-9h",
"label": "P+N+E 9H"
},
{
"value": "iec-60309-2p-e-4h",
"label": "2P+E 4H"
},
{
"value": "iec-60309-2p-e-6h",
"label": "2P+E 6H"
},
{
"value": "iec-60309-2p-e-9h",
"label": "2P+E 9H"
},
{
"value": "iec-60309-3p-e-4h",
"label": "3P+E 4H"
},
{
"value": "iec-60309-3p-e-6h",
"label": "3P+E 6H"
},
{
"value": "iec-60309-3p-e-9h",
"label": "3P+E 9H"
},
{
"value": "iec-60309-3p-n-e-4h",
"label": "3P+N+E 4H"
},
{
"value": "iec-60309-3p-n-e-6h",
"label": "3P+N+E 6H"
},
{
"value": "iec-60309-3p-n-e-9h",
"label": "3P+N+E 9H"
},
{
"value": "nema-5-15p",
"label": "NEMA 5-15P"
},
{
"value": "nema-5-20p",
"label": "NEMA 5-20P"
},
{
"value": "nema-5-30p",
"label": "NEMA 5-30P"
},
{
"value": "nema-5-50p",
"label": "NEMA 5-50P"
},
{
"value": "nema-6-15p",
"label": "NEMA 6-15P"
},
{
"value": "nema-6-20p",
"label": "NEMA 6-20P"
},
{
"value": "nema-6-30p",
"label": "NEMA 6-30P"
},
{
"value": "nema-6-50p",
"label": "NEMA 6-50P"
},
{
"value": "nema-l5-15p",
"label": "NEMA L5-15P"
},
{
"value": "nema-l5-20p",
"label": "NEMA L5-20P"
},
{
"value": "nema-l5-30p",
"label": "NEMA L5-30P"
},
{
"value": "nema-l5-50p",
"label": "NEMA L6-15P"
},
{
"value": "nema-l6-20p",
"label": "NEMA L6-20P"
},
{
"value": "nema-l6-30p",
"label": "NEMA L6-30P"
},
{
"value": "nema-l6-50p",
"label": "NEMA L6-50P"
},
{
"value": "cs6361c",
"label": "CS6361C"
},
{
"value": "cs6365c",
"label": "CS6365C"
},
{
"value": "cs8165c",
"label": "CS8165C"
},
{
"value": "cs8265c",
"label": "CS8265C"
},
{
"value": "cs8365c",
"label": "CS8365C"
},
{
"value": "cs8465c",
"label": "CS8465C"
},
{
"value": "ita-e",
"label": "ITA Type E (CEE 7/5)"
},
{
"value": "ita-f",
"label": "ITA Type F (CEE 7/4)"
},
{
"value": "ita-ef",
"label": "ITA Type E/F (CEE 7/7)"
},
{
"value": "ita-g",
"label": "ITA Type G (BS 1363)"
},
{
"value": "ita-h",
"label": "ITA Type H"
},
{
"value": "ita-i",
"label": "ITA Type I"
},
{
"value": "ita-j",
"label": "ITA Type J"
},
{
"value": "ita-k",
"label": "ITA Type K"
},
{
"value": "ita-l",
"label": "ITA Type L (CEI 23-50)"
},
{
"value": "ita-m",
"label": "ITA Type M (BS 546)"
},
{
"value": "ita-n",
"label": "ITA Type N"
},
{
"value": "ita-o",
"label": "ITA Type O"
}
],
"rack:outer_unit": [
{
"value": "mm",
"label": "Millimeters"
},
{
"value": "in",
"label": "Inches"
}
],
"rack:status": [
{
"value": "reserved",
"label": "Reserved"
},
{
"value": "available",
"label": "Available"
},
{
"value": "planned",
"label": "Planned"
},
{
"value": "active",
"label": "Active"
},
{
"value": "deprecated",
"label": "Deprecated"
}
],
"rack:type": [
{
"value": "2-post-frame",
"label": "2-post frame"
},
{
"value": "4-post-frame",
"label": "4-post frame"
},
{
"value": "4-post-cabinet",
"label": "4-post cabinet"
},
{
"value": "wall-frame",
"label": "Wall-mounted frame"
},
{
"value": "wall-cabinet",
"label": "Wall-mounted cabinet"
}
],
"rack:width": [
{
"value": 10,
"label": "10 inches"
},
{
"value": 19,
"label": "19 inches"
},
{
"value": 23,
"label": "23 inches"
}
],
"rear-port:type": [
{
"value": "8p8c",
"label": "8P8C"
},
{
"value": "110-punch",
"label": "110 Punch"
},
{
"value": "bnc",
"label": "BNC"
},
{
"value": "mrj21",
"label": "MRJ21"
},
{
"value": "fc",
"label": "FC"
},
{
"value": "lc",
"label": "LC"
},
{
"value": "lc-apc",
"label": "LC/APC"
},
{
"value": "lsh",
"label": "LSH"
},
{
"value": "lsh-apc",
"label": "LSH/APC"
},
{
"value": "mpo",
"label": "MPO"
},
{
"value": "mtrj",
"label": "MTRJ"
},
{
"value": "sc",
"label": "SC"
},
{
"value": "sc-apc",
"label": "SC/APC"
},
{
"value": "st",
"label": "ST"
}
],
"rear-port-template:type": [
{
"value": "8p8c",
"label": "8P8C"
},
{
"value": "110-punch",
"label": "110 Punch"
},
{
"value": "bnc",
"label": "BNC"
},
{
"value": "mrj21",
"label": "MRJ21"
},
{
"value": "fc",
"label": "FC"
},
{
"value": "lc",
"label": "LC"
},
{
"value": "lc-apc",
"label": "LC/APC"
},
{
"value": "lsh",
"label": "LSH"
},
{
"value": "lsh-apc",
"label": "LSH/APC"
},
{
"value": "mpo",
"label": "MPO"
},
{
"value": "mtrj",
"label": "MTRJ"
},
{
"value": "sc",
"label": "SC"
},
{
"value": "sc-apc",
"label": "SC/APC"
},
{
"value": "st",
"label": "ST"
}
],
"site:status": [
{
"value": "active",
"label": "Active"
},
{
"value": "planned",
"label": "Planned"
},
{
"value": "retired",
"label": "Retired"
}
]
}
# NOTE: 0A1 - Hack this since newer versions of netbox got rid of this route and we need it
# or we will have to massively rewrite these classes:
# https://github.com/netbox-community/netbox/issues/3416
with open(os.path.dirname(os.path.abspath(__file__)) + "/dcim_choices_depreciated.json", "r") as input_file:
dcim_choices = json.load(input_file) # noqa
class _NetboxPusher(ABC):
def __init__(self, netbox_api, *args, **kwargs):
self.netbox_api = netbox_api
self._mappers = {
# "dcim_choices": NetboxMapper(
# self.netbox_api, app_name="dcim", model="_choices"
# )
"dcim_choices": dcim_choices, # noqa
"devices": NetboxMapper(
self.netbox_api, app_name="dcim", model="devices"),
"interfaces": NetboxMapper(
self.netbox_api, app_name="dcim", model="interfaces"),
"cables": NetboxMapper(
self.netbox_api, app_name="dcim", model="cables"),
"ip": NetboxMapper(
self.netbox_api, app_name="ipam", model="ip-addresses"),
"vlan": NetboxMapper(
self.netbox_api, app_name="ipam", model="vlans"
)
}
self._choices_cache = {}
@abstractmethod
def push(self):
pass
def search_value_in_choices(self, mapper_name, id, label):
try:
if mapper_name in self._mappers:
mapper = self._mappers[mapper_name]
if isinstance(mapper, dict): # NOTE: This is a hack needed to facilitate above 0A1 hack
for _, dcim_choices_values in mapper.items():
for value_label_enumeration in dcim_choices_values:
if value_label_enumeration["label"] == label:
message = (
f"MAPPER_SEARCH: {mapper_name} - {label} - {value_label_enumeration.get('value')}"
)
logger.debug(message)
return value_label_enumeration["value"]
except Exception as e:
logger.debug("MAPPER_SEARCH_ERROR - MAPPER_NAME: %s, ERROR: %s", mapper_name, e)
if mapper_name not in self._choices_cache:
try:
mapper = self._mappers[mapper_name]
self._choices_cache[mapper_name] = next(mapper.get())
except StopIteration:
pass
for choice in self._choices_cache[mapper_name][id]:
if choice["label"] == label:
return choice["value"]
raise KeyError("Label {} not in choices".format(label))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment