Files
Netbox/topology/topo_full.json
T
dcstephenson 715e37d048 Add VLAN table + per-connector VLAN tags (structure only -- no VLANs in NetBox yet)
Inspired by a reference diagram the user liked (VLAN legend/mapping table,
per-port VLAN info) but explicitly without the literal switch CLI config
dumps that diagram also had.

- export_topology.py: pulls ipam.VLAN (with prefixes) plus, for every
  edge whose endpoint is a real Interface, that port's mode/untagged/
  tagged VLANs. NetBox has zero VLANs defined right now, so this comes
  back empty/null throughout -- the plumbing is real, the data just
  isn't there yet.
- generate_drawio.py: renders a VLAN table (VLAN/Name/Description/
  Subnet/Site) at the top of the diagram. With no VLANs it shows an
  explicit dashed 'not configured yet' placeholder row instead of
  either fabricating VLAN numbers or silently omitting the table.
  Connector labels get a 'V<id>' / 'V<id>,<id>T' suffix per side
  whenever that port actually has VLAN config -- currently a no-op,
  activates automatically the moment VLANs exist in NetBox.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NM3nivbufxEWiKKmatEtEe
2026-09-15 13:24:34 -05:00

2 lines
23 KiB
JSON

{"devices": [{"id": 57, "name": "afl-104", "role": "patch-panel", "role_name": "Patch Panel", "site": "Highway 104 Base Station", "status": "active", "device_type": "AFL 12-Port Splice Module"}, {"id": 92, "name": "afl-cr13", "role": "patch-panel", "role_name": "Patch Panel", "site": "County Road 13 Base Station", "status": "active", "device_type": "AFL 12-Port Splice Module"}, {"id": 85, "name": "afl-lem", "role": "patch-panel", "role_name": "Patch Panel", "site": "Lemler Substation", "status": "active", "device_type": "AFL 12-Port Splice Module"}, {"id": 58, "name": "afl-mag", "role": "patch-panel", "role_name": "Patch Panel", "site": "Magnolia Springs Base Station", "status": "active", "device_type": "AFL 12-Port Splice Module"}, {"id": 82, "name": "afl-swf", "role": "patch-panel", "role_name": "Patch Panel", "site": "Southwest Foley Substation", "status": "active", "device_type": "AFL 12-Port Splice Module"}, {"id": 42, "name": "bs-104-sw01", "role": "field-switch", "role_name": "Field Switch", "site": "Highway 104 Base Station", "status": "active", "device_type": "IES3110-8TFP-R"}, {"id": 93, "name": "bs-cr13-sw01", "role": "field-switch", "role_name": "Field Switch", "site": "County Road 13 Base Station", "status": "active", "device_type": "IES3110-8TFP-R"}, {"id": 40, "name": "bs-lem-sw01", "role": "field-switch", "role_name": "Field Switch", "site": "Lemler Substation", "status": "active", "device_type": "IES3110-8TFP-R"}, {"id": 38, "name": "bs-lil-sw01", "role": "field-switch", "role_name": "Field Switch", "site": "Lillian Substation", "status": "active", "device_type": "IES3110-8TFP-R"}, {"id": 43, "name": "bs-mag-sw01", "role": "field-switch", "role_name": "Field Switch", "site": "Magnolia Springs Base Station", "status": "active", "device_type": "IES3110-8TFP-R"}, {"id": 41, "name": "bs-nwt-sw01", "role": "field-switch", "role_name": "Field Switch", "site": "North Water Tank", "status": "active", "device_type": "IES3110-8TFP-R"}, {"id": 39, "name": "bs-swf-sw01", "role": "field-switch", "role_name": "Field Switch", "site": "Southwest Foley Substation", "status": "active", "device_type": "IES3110-8TFP-R"}, {"id": 7, "name": "dmo-lob-sw35a", "role": "dist-switch", "role_name": "Distribution Switch", "site": "DMO-LOB", "status": "active", "device_type": "S4112F-ON"}, {"id": 2, "name": "FCHE-PP-32B", "role": "patch-panel", "role_name": "Patch Panel", "site": "FCHE Cable Headend", "status": "active", "device_type": "LS Series 288-Port LC UPC"}, {"id": 4, "name": "FCHE-PP17D", "role": "patch-panel", "role_name": "Patch Panel", "site": "FCHE Cable Headend", "status": "active", "device_type": "FIS 48-Port LC UPC"}, {"id": 3, "name": "FCHE-PP34A", "role": "patch-panel", "role_name": "Patch Panel", "site": "FCHE Cable Headend", "status": "active", "device_type": "FIS 144-Port LC UPC 12-Slot"}, {"id": 1, "name": "fche-sw17a", "role": "dist-switch", "role_name": "Distribution Switch", "site": "FCHE Cable Headend", "status": "active", "device_type": "ProCurve 5412zl"}, {"id": 63, "name": "fis-nwt", "role": "patch-panel", "role_name": "Patch Panel", "site": "North Water Tank", "status": "active", "device_type": "F1-DW2X"}, {"id": 11, "name": "gs-nff-sw01", "role": "field-switch", "role_name": "Field Switch", "site": "North Foley Field Gas Regulator", "status": "active", "device_type": "IES3110-8TFP-R"}, {"id": 19, "name": "ls-avls-sw01", "role": "field-switch", "role_name": "Field Switch", "site": "Aaronville Lift Station", "status": "active", "device_type": "IES3110-8TFP-R"}, {"id": 14, "name": "ls-bsls-sw01", "role": "field-switch", "role_name": "Field Switch", "site": "Bay Street Lift Station", "status": "active", "device_type": "IES3110-8TFP-R"}, {"id": 20, "name": "ls-clls-sw01", "role": "field-switch", "role_name": "Field Switch", "site": "Cornerstone Lodge Lift Station", "status": "active", "device_type": "IES3110-8TFP-R"}, {"id": 10, "name": "ls-guls-sw01", "role": "field-switch", "role_name": "Field Switch", "site": "Gulftel Lift Station", "status": "active", "device_type": "IES3110-8TFP-R"}, {"id": 25, "name": "ls-mals-sw01", "role": "field-switch", "role_name": "Field Switch", "site": "Marlin Place Lift Station", "status": "active", "device_type": "IES3110-8TFP-R"}, {"id": 23, "name": "ls-mmls-sw01", "role": "field-switch", "role_name": "Field Switch", "site": "Majestic Manor Lift Station", "status": "active", "device_type": "IES3110-8TFP-R"}, {"id": 26, "name": "ls-mpls-sw01", "role": "field-switch", "role_name": "Field Switch", "site": "McSwain Place Lift Station", "status": "active", "device_type": "IES3110-8TFP-R"}, {"id": 9, "name": "ls-pals-sw01", "role": "field-switch", "role_name": "Field Switch", "site": "Peachtree Lift Station", "status": "active", "device_type": "IES3110-8TFP-R"}, {"id": 21, "name": "ls-rols-sw01", "role": "field-switch", "role_name": "Field Switch", "site": "River Oaks Lift Station", "status": "active", "device_type": "IES3110-8TFP-R"}, {"id": 24, "name": "ls-spls-sw01", "role": "field-switch", "role_name": "Field Switch", "site": "South Pointe Lift Station", "status": "active", "device_type": "IES3110-8TFP-R"}, {"id": 22, "name": "ls-vhls-sw01", "role": "field-switch", "role_name": "Field Switch", "site": "Villages at Hickory Lift Station", "status": "active", "device_type": "IES3110-8TFP-R"}, {"id": 76, "name": "primex-ebert", "role": "patch-panel", "role_name": "Patch Panel", "site": "Ebert Substation", "status": "active", "device_type": "Primex 12-Port LC Panel"}, {"id": 79, "name": "primex-holk", "role": "patch-panel", "role_name": "Patch Panel", "site": "Holk Substation", "status": "active", "device_type": "Primex 12-Port LC Panel"}, {"id": 80, "name": "primex-lem", "role": "patch-panel", "role_name": "Patch Panel", "site": "Lemler Substation", "status": "active", "device_type": "Primex 12-Port LC Panel"}, {"id": 81, "name": "primex-lil", "role": "patch-panel", "role_name": "Patch Panel", "site": "Lillian Substation", "status": "active", "device_type": "Primex 12-Port LC Panel"}, {"id": 83, "name": "primex-wpb", "role": "patch-panel", "role_name": "Patch Panel", "site": "West Perdido Beach Substation", "status": "active", "device_type": "Primex 12-Port LC Panel"}, {"id": 33, "name": "rec-10000-sw01", "role": "field-switch", "role_name": "Field Switch", "site": "Bay St @ Azalea Recloser", "status": "active", "device_type": "IES3110-8TFP-R"}, {"id": 34, "name": "rec-10008-sw01", "role": "field-switch", "role_name": "Field Switch", "site": "Cedar @ Michigan Recloser", "status": "active", "device_type": "IES3110-8TFP-R"}, {"id": 17, "name": "rec-10016-sw01", "role": "field-switch", "role_name": "Field Switch", "site": "Underwood Rd Recloser", "status": "active", "device_type": "IES3110-8TFP-R"}, {"id": 28, "name": "rec-10018-sw01", "role": "field-switch", "role_name": "Field Switch", "site": "Summerdale Recloser", "status": "active", "device_type": "IES3110-8TFP-R"}, {"id": 18, "name": "rec-10136-sw01", "role": "field-switch", "role_name": "Field Switch", "site": "WHEP Recloser", "status": "active", "device_type": "IES3110-8TFP-R"}, {"id": 15, "name": "rec-10160-sw01", "role": "field-switch", "role_name": "Field Switch", "site": "Coca Cola Plant Hwy 104 Recloser", "status": "active", "device_type": "IES3110-8TFP-R"}, {"id": 32, "name": "rec-10660-sw01", "role": "field-switch", "role_name": "Field Switch", "site": "Old Foley Rd Recloser", "status": "active", "device_type": "IES3110-8TFP-R"}, {"id": 16, "name": "rec-13032-sw01", "role": "field-switch", "role_name": "Field Switch", "site": "Peachtree Recloser", "status": "active", "device_type": "IES3110-8TFP-R"}, {"id": 30, "name": "rec-50094-sw01", "role": "field-switch", "role_name": "Field Switch", "site": "Randall Ave @ Hwy 98 Recloser", "status": "active", "device_type": "IES3110-8TFP-R"}, {"id": 31, "name": "rec-52882-sw01", "role": "field-switch", "role_name": "Field Switch", "site": "Pollard Rd Recloser", "status": "active", "device_type": "IES3110-8TFP-R"}, {"id": 87, "name": "sec-holk-sw01", "role": "field-switch", "role_name": "Field Switch", "site": "Holk Substation", "status": "active", "device_type": "IES3110-8TFP-R"}, {"id": 88, "name": "sec-lem-sw01", "role": "field-switch", "role_name": "Field Switch", "site": "Lemler Substation", "status": "active", "device_type": "IES3110-8TFP-R"}, {"id": 89, "name": "sec-swf-sw01", "role": "field-switch", "role_name": "Field Switch", "site": "Southwest Foley Substation", "status": "active", "device_type": "IES3110-8TFP-R"}, {"id": 45, "name": "spare-163", "role": "field-switch", "role_name": "Field Switch", "site": "FCHE Cable Headend", "status": "inventory", "device_type": "IES3220-8T4F"}, {"id": 46, "name": "spare-164", "role": "field-switch", "role_name": "Field Switch", "site": "FCHE Cable Headend", "status": "inventory", "device_type": "IES3220-8T4F"}, {"id": 47, "name": "spare-165", "role": "field-switch", "role_name": "Field Switch", "site": "FCHE Cable Headend", "status": "inventory", "device_type": "IES3220-8T4F"}, {"id": 48, "name": "spare-166", "role": "field-switch", "role_name": "Field Switch", "site": "FCHE Cable Headend", "status": "inventory", "device_type": "IES3220-8T4F"}, {"id": 36, "name": "sub-ebert-sw01", "role": "field-switch", "role_name": "Field Switch", "site": "Ebert Substation", "status": "active", "device_type": "IES3110-8TFP-R"}, {"id": 13, "name": "sub-fair-sw01", "role": "field-switch", "role_name": "Field Switch", "site": "Fairhope Substation", "status": "active", "device_type": "IES3110-8TFP-R"}, {"id": 29, "name": "sub-holk-sw01", "role": "field-switch", "role_name": "Field Switch", "site": "Holk Substation", "status": "active", "device_type": "IES3110-8TFP-R"}, {"id": 49, "name": "sub-lem-sw01", "role": "field-switch", "role_name": "Field Switch", "site": "Lemler Substation", "status": "active", "device_type": "IES3110-8TFP-R"}, {"id": 35, "name": "sub-lem-sw01-decommissioned", "role": "field-switch", "role_name": "Field Switch", "site": "Lemler Substation", "status": "decommissioning", "device_type": "2930F"}, {"id": 8, "name": "sub-lil-sw01", "role": "field-switch", "role_name": "Field Switch", "site": "Lillian Substation", "status": "active", "device_type": "IES3110-8TFP-R"}, {"id": 27, "name": "sub-swf-sw01", "role": "field-switch", "role_name": "Field Switch", "site": "Southwest Foley Substation", "status": "active", "device_type": "IES3110-8TFP-R"}, {"id": 37, "name": "sub-wpb-sw01", "role": "field-switch", "role_name": "Field Switch", "site": "West Perdido Beach Substation", "status": "active", "device_type": "IES3110-8TFP-R"}, {"id": 90, "name": "wtr-cwt-sw01", "role": "field-switch", "role_name": "Field Switch", "site": "Cypress Water Tank", "status": "active", "device_type": "IES3110-8TFP-R"}, {"id": 12, "name": "wtr-ecc-sw01", "role": "field-switch", "role_name": "Field Switch", "site": "Elberta Cross Connect", "status": "active", "device_type": "IES3110-8TFP-R"}, {"id": 44, "name": "wtr-w12-sw01", "role": "field-switch", "role_name": "Field Switch", "site": "Well 12", "status": "planned", "device_type": "IES3110-8TFP-R"}, {"id": 51, "name": "xpak-10000", "role": "patch-panel", "role_name": "Patch Panel", "site": "Bay St @ Azalea Recloser", "status": "active", "device_type": "xPAK 6-Port SC/APC"}, {"id": 53, "name": "xpak-10008", "role": "patch-panel", "role_name": "Patch Panel", "site": "Cedar @ Michigan Recloser", "status": "active", "device_type": "xPAK 6-Port SC/APC"}, {"id": 72, "name": "xpak-10016", "role": "patch-panel", "role_name": "Patch Panel", "site": "Underwood Rd Recloser", "status": "active", "device_type": "xPAK 6-Port SC/APC"}, {"id": 71, "name": "xpak-10018", "role": "patch-panel", "role_name": "Patch Panel", "site": "Summerdale Recloser", "status": "active", "device_type": "xPAK 6-Port SC/APC"}, {"id": 74, "name": "xpak-10136", "role": "patch-panel", "role_name": "Patch Panel", "site": "WHEP Recloser", "status": "active", "device_type": "xPAK 6-Port SC/APC"}, {"id": 54, "name": "xpak-10160", "role": "patch-panel", "role_name": "Patch Panel", "site": "Coca Cola Plant Hwy 104 Recloser", "status": "active", "device_type": "xPAK 6-Port SC/APC"}, {"id": 64, "name": "xpak-10660", "role": "patch-panel", "role_name": "Patch Panel", "site": "Old Foley Rd Recloser", "status": "active", "device_type": "xPAK 6-Port SC/APC"}, {"id": 66, "name": "xpak-13032", "role": "patch-panel", "role_name": "Patch Panel", "site": "Peachtree Recloser", "status": "active", "device_type": "xPAK 6-Port SC/APC"}, {"id": 68, "name": "xpak-50094", "role": "patch-panel", "role_name": "Patch Panel", "site": "Randall Ave @ Hwy 98 Recloser", "status": "active", "device_type": "xPAK 6-Port SC/APC"}, {"id": 67, "name": "xpak-52882", "role": "patch-panel", "role_name": "Patch Panel", "site": "Pollard Rd Recloser", "status": "active", "device_type": "xPAK 6-Port SC/APC"}, {"id": 50, "name": "xpak-avls", "role": "patch-panel", "role_name": "Patch Panel", "site": "Aaronville Lift Station", "status": "active", "device_type": "xPAK 6-Port SC/APC"}, {"id": 52, "name": "xpak-bsls", "role": "patch-panel", "role_name": "Patch Panel", "site": "Bay Street Lift Station", "status": "active", "device_type": "xPAK 6-Port SC/APC"}, {"id": 55, "name": "xpak-clls", "role": "patch-panel", "role_name": "Patch Panel", "site": "Cornerstone Lodge Lift Station", "status": "active", "device_type": "xPAK 6-Port SC/APC"}, {"id": 91, "name": "xpak-cwt", "role": "patch-panel", "role_name": "Patch Panel", "site": "Cypress Water Tank", "status": "active", "device_type": "xPAK 6-Port SC/APC"}, {"id": 56, "name": "xpak-guls", "role": "patch-panel", "role_name": "Patch Panel", "site": "Gulftel Lift Station", "status": "active", "device_type": "xPAK 6-Port SC/APC"}, {"id": 60, "name": "xpak-mals", "role": "patch-panel", "role_name": "Patch Panel", "site": "Marlin Place Lift Station", "status": "active", "device_type": "xPAK 6-Port SC/APC"}, {"id": 59, "name": "xpak-mmls", "role": "patch-panel", "role_name": "Patch Panel", "site": "Majestic Manor Lift Station", "status": "active", "device_type": "xPAK 6-Port SC/APC"}, {"id": 61, "name": "xpak-mpls", "role": "patch-panel", "role_name": "Patch Panel", "site": "McSwain Place Lift Station", "status": "active", "device_type": "xPAK 6-Port SC/APC"}, {"id": 62, "name": "xpak-nff", "role": "patch-panel", "role_name": "Patch Panel", "site": "North Foley Field Gas Regulator", "status": "active", "device_type": "xPAK 6-Port SC/APC"}, {"id": 65, "name": "xpak-pals", "role": "patch-panel", "role_name": "Patch Panel", "site": "Peachtree Lift Station", "status": "active", "device_type": "xPAK 6-Port SC/APC"}, {"id": 69, "name": "xpak-rols", "role": "patch-panel", "role_name": "Patch Panel", "site": "River Oaks Lift Station", "status": "active", "device_type": "xPAK 6-Port SC/APC"}, {"id": 70, "name": "xpak-spls", "role": "patch-panel", "role_name": "Patch Panel", "site": "South Pointe Lift Station", "status": "active", "device_type": "xPAK 6-Port SC/APC"}, {"id": 73, "name": "xpak-vhls", "role": "patch-panel", "role_name": "Patch Panel", "site": "Villages at Hickory Lift Station", "status": "active", "device_type": "xPAK 6-Port SC/APC"}], "edges": [{"a": 7, "a_port": "4", "a_vlan": {"mode": null, "untagged": null, "tagged": []}, "b": 13, "b_port": "9", "b_vlan": {"mode": null, "untagged": null, "tagged": []}}, {"a": 41, "a_port": "Gi1/10", "a_vlan": {"mode": null, "untagged": null, "tagged": []}, "b": 63, "b_port": "P2:6", "b_vlan": null}, {"a": 63, "a_port": "P2:8", "a_vlan": null, "b": 3, "b_port": "55", "b_vlan": null}, {"a": 1, "a_port": "E3", "a_vlan": {"mode": null, "untagged": null, "tagged": []}, "b": 3, "b_port": "51", "b_vlan": null}, {"a": 19, "a_port": "10", "a_vlan": {"mode": null, "untagged": null, "tagged": []}, "b": 50, "b_port": "2", "b_vlan": null}, {"a": 14, "a_port": "10", "a_vlan": {"mode": null, "untagged": null, "tagged": []}, "b": 52, "b_port": "2", "b_vlan": null}, {"a": 20, "a_port": "9", "a_vlan": {"mode": null, "untagged": null, "tagged": []}, "b": 55, "b_port": "1", "b_vlan": null}, {"a": 10, "a_port": "9", "a_vlan": {"mode": null, "untagged": null, "tagged": []}, "b": 56, "b_port": "1", "b_vlan": null}, {"a": 25, "a_port": "9", "a_vlan": {"mode": null, "untagged": null, "tagged": []}, "b": 60, "b_port": "1", "b_vlan": null}, {"a": 23, "a_port": "10", "a_vlan": {"mode": null, "untagged": null, "tagged": []}, "b": 59, "b_port": "2", "b_vlan": null}, {"a": 26, "a_port": "10", "a_vlan": {"mode": null, "untagged": null, "tagged": []}, "b": 61, "b_port": "2", "b_vlan": null}, {"a": 9, "a_port": "10", "a_vlan": {"mode": null, "untagged": null, "tagged": []}, "b": 65, "b_port": "2", "b_vlan": null}, {"a": 21, "a_port": "10", "a_vlan": {"mode": null, "untagged": null, "tagged": []}, "b": 69, "b_port": "2", "b_vlan": null}, {"a": 24, "a_port": "9", "a_vlan": {"mode": null, "untagged": null, "tagged": []}, "b": 70, "b_port": "1", "b_vlan": null}, {"a": 22, "a_port": "10", "a_vlan": {"mode": null, "untagged": null, "tagged": []}, "b": 73, "b_port": "2", "b_vlan": null}, {"a": 52, "a_port": "2", "a_vlan": null, "b": 50, "b_port": "1", "b_vlan": null}, {"a": 50, "a_port": "2", "a_vlan": null, "b": 69, "b_port": "1", "b_vlan": null}, {"a": 69, "a_port": "2", "a_vlan": null, "b": 73, "b_port": "1", "b_vlan": null}, {"a": 73, "a_port": "2", "a_vlan": null, "b": 59, "b_port": "1", "b_vlan": null}, {"a": 59, "a_port": "2", "a_vlan": null, "b": 61, "b_port": "1", "b_vlan": null}, {"a": 61, "a_port": "2", "a_vlan": null, "b": 55, "b_port": "1", "b_vlan": null}, {"a": 65, "a_port": "2", "a_vlan": null, "b": 56, "b_port": "1", "b_vlan": null}, {"a": 33, "a_port": "10", "a_vlan": {"mode": null, "untagged": null, "tagged": []}, "b": 51, "b_port": "2", "b_vlan": null}, {"a": 34, "a_port": "10", "a_vlan": {"mode": null, "untagged": null, "tagged": []}, "b": 53, "b_port": "2", "b_vlan": null}, {"a": 17, "a_port": "10", "a_vlan": {"mode": null, "untagged": null, "tagged": []}, "b": 72, "b_port": "2", "b_vlan": null}, {"a": 28, "a_port": "9", "a_vlan": {"mode": null, "untagged": null, "tagged": []}, "b": 71, "b_port": "1", "b_vlan": null}, {"a": 18, "a_port": "10", "a_vlan": {"mode": null, "untagged": null, "tagged": []}, "b": 74, "b_port": "2", "b_vlan": null}, {"a": 15, "a_port": "9", "a_vlan": {"mode": null, "untagged": null, "tagged": []}, "b": 54, "b_port": "1", "b_vlan": null}, {"a": 32, "a_port": "9", "a_vlan": {"mode": null, "untagged": null, "tagged": []}, "b": 64, "b_port": "1", "b_vlan": null}, {"a": 16, "a_port": "10", "a_vlan": {"mode": null, "untagged": null, "tagged": []}, "b": 66, "b_port": "2", "b_vlan": null}, {"a": 30, "a_port": "9", "a_vlan": {"mode": null, "untagged": null, "tagged": []}, "b": 68, "b_port": "1", "b_vlan": null}, {"a": 31, "a_port": "9", "a_vlan": {"mode": null, "untagged": null, "tagged": []}, "b": 67, "b_port": "1", "b_vlan": null}, {"a": 7, "a_port": "11", "a_vlan": {"mode": null, "untagged": null, "tagged": []}, "b": 67, "b_port": "1", "b_vlan": null}, {"a": 7, "a_port": "1", "a_vlan": {"mode": null, "untagged": null, "tagged": []}, "b": 68, "b_port": "1", "b_vlan": null}, {"a": 66, "a_port": "2", "a_vlan": null, "b": 72, "b_port": "1", "b_vlan": null}, {"a": 72, "a_port": "2", "a_vlan": null, "b": 74, "b_port": "1", "b_vlan": null}, {"a": 74, "a_port": "2", "a_vlan": null, "b": 71, "b_port": "1", "b_vlan": null}, {"a": 51, "a_port": "2", "a_vlan": null, "b": 53, "b_port": "1", "b_vlan": null}, {"a": 1, "a_port": "E12", "a_vlan": {"mode": null, "untagged": null, "tagged": []}, "b": 2, "b_port": "7", "b_vlan": null}, {"a": 1, "a_port": "E2", "a_vlan": {"mode": null, "untagged": null, "tagged": []}, "b": 4, "b_port": "10", "b_vlan": null}, {"a": 4, "a_port": "31", "a_vlan": null, "b": 64, "b_port": "1", "b_vlan": null}, {"a": 4, "a_port": "27", "a_vlan": null, "b": 12, "b_port": "9", "b_vlan": {"mode": null, "untagged": null, "tagged": []}}, {"a": 76, "a_port": "6", "a_vlan": null, "b": 36, "b_port": "10", "b_vlan": {"mode": null, "untagged": null, "tagged": []}}, {"a": 4, "a_port": "12", "a_vlan": null, "b": 76, "b_port": "5", "b_vlan": null}, {"a": 76, "a_port": "8", "a_vlan": null, "b": 83, "b_port": "3", "b_vlan": null}, {"a": 83, "a_port": "4", "a_vlan": null, "b": 37, "b_port": "10", "b_vlan": {"mode": null, "untagged": null, "tagged": []}}, {"a": 83, "a_port": "6", "a_vlan": null, "b": 81, "b_port": "12", "b_vlan": null}, {"a": 81, "a_port": "10", "a_vlan": null, "b": 8, "b_port": "9", "b_vlan": {"mode": null, "untagged": null, "tagged": []}}, {"a": 2, "a_port": "49", "a_vlan": null, "b": 70, "b_port": "1", "b_vlan": null}, {"a": 2, "a_port": "3", "a_vlan": null, "b": 60, "b_port": "1", "b_vlan": null}, {"a": 85, "a_port": "2", "a_vlan": null, "b": 40, "b_port": "Gi1/10", "b_vlan": {"mode": null, "untagged": null, "tagged": []}}, {"a": 2, "a_port": "15", "a_vlan": null, "b": 85, "b_port": "1", "b_vlan": null}, {"a": 85, "a_port": "2", "a_vlan": null, "b": 82, "b_port": "3", "b_vlan": null}, {"a": 82, "a_port": "6", "a_vlan": null, "b": 39, "b_port": "10", "b_vlan": {"mode": null, "untagged": null, "tagged": []}}, {"a": 82, "a_port": "6", "a_vlan": null, "b": 58, "b_port": "1", "b_vlan": null}, {"a": 58, "a_port": "1", "a_vlan": null, "b": 43, "b_port": "Gi1/9", "b_vlan": {"mode": null, "untagged": null, "tagged": []}}, {"a": 2, "a_port": "4", "a_vlan": null, "b": 52, "b_port": "1", "b_vlan": null}, {"a": 3, "a_port": "96", "a_vlan": null, "b": 54, "b_port": "1", "b_vlan": null}, {"a": 3, "a_port": "1", "a_vlan": null, "b": 66, "b_port": "1", "b_vlan": null}, {"a": 3, "a_port": "53", "a_vlan": null, "b": 62, "b_port": "1", "b_vlan": null}, {"a": 62, "a_port": "1", "a_vlan": null, "b": 11, "b_port": "9", "b_vlan": {"mode": null, "untagged": null, "tagged": []}}, {"a": 3, "a_port": "51", "a_vlan": null, "b": 65, "b_port": "1", "b_vlan": null}, {"a": 2, "a_port": "14", "a_vlan": null, "b": 79, "b_port": "5", "b_vlan": null}, {"a": 79, "a_port": "4", "a_vlan": null, "b": 29, "b_port": "10", "b_vlan": {"mode": null, "untagged": null, "tagged": []}}, {"a": 79, "a_port": "4", "a_vlan": null, "b": 51, "b_port": "1", "b_vlan": null}, {"a": 82, "a_port": "1", "a_vlan": null, "b": 27, "b_port": "9", "b_vlan": {"mode": null, "untagged": null, "tagged": []}}, {"a": 79, "a_port": "6", "a_vlan": null, "b": 87, "b_port": "10", "b_vlan": {"mode": null, "untagged": null, "tagged": []}}, {"a": 80, "a_port": "4", "a_vlan": null, "b": 88, "b_port": "10", "b_vlan": {"mode": null, "untagged": null, "tagged": []}}, {"a": 79, "a_port": "6", "a_vlan": null, "b": 80, "b_port": "3", "b_vlan": null}, {"a": 80, "a_port": "2", "a_vlan": null, "b": 82, "b_port": "1", "b_vlan": null}, {"a": 82, "a_port": "2", "a_vlan": null, "b": 89, "b_port": "9", "b_vlan": {"mode": null, "untagged": null, "tagged": []}}, {"a": 53, "a_port": "2", "a_vlan": null, "b": 80, "b_port": "1", "b_vlan": null}, {"a": 80, "a_port": "2", "a_vlan": null, "b": 49, "b_port": "10", "b_vlan": {"mode": null, "untagged": null, "tagged": []}}, {"a": 81, "a_port": "12", "a_vlan": null, "b": 38, "b_port": "Gi1/9", "b_vlan": {"mode": null, "untagged": null, "tagged": []}}, {"a": 2, "a_port": "7", "a_vlan": null, "b": 91, "b_port": "1", "b_vlan": null}, {"a": 90, "a_port": "9", "a_vlan": {"mode": null, "untagged": null, "tagged": []}, "b": 91, "b_port": "1", "b_vlan": null}, {"a": 42, "a_port": "Gi1/10", "a_vlan": {"mode": null, "untagged": null, "tagged": []}, "b": 57, "b_port": "2", "b_vlan": null}, {"a": 57, "a_port": "1", "a_vlan": null, "b": 63, "b_port": "P2:6", "b_vlan": null}, {"a": 57, "a_port": "2", "a_vlan": null, "b": 92, "b_port": "1", "b_vlan": null}, {"a": 93, "a_port": "Gi1/9", "a_vlan": {"mode": null, "untagged": null, "tagged": []}, "b": 92, "b_port": "1", "b_vlan": null}], "vlans": []}