Add bidirectional navigation relationships #18

Merged
Damien merged 2 commits from feat/update-identifiers into main 2026-02-22 09:27:21 +00:00
Owner

What

Adds reverse relationships so you can navigate between objects in the UI and API in both directions.

Navigation improvements

  • Site → Devices & Fabrics: clicking a site now shows all devices and fabrics deployed there
  • Fabric → Devices: clicking a fabric shows all devices in it
  • VLAN → SVI interfaces: clicking a VLAN shows all SVI interfaces across devices
  • Device → Fabric: each device now links back to its fabric

Changes

Schema

  • base.yml: added devices and fabrics relationships on LocationSite, added fabric relationship on InfraDevice, added identifier on InfraDevice.site and InfraInterfaceVlan.vlan
  • extensions.yml: added devices relationship on InfraFabric, added identifier on InfraFabric.sites
  • vlan_vxlan.yml: added svi_interfaces relationship on InfraVLAN

Object files

  • 14-fabric-links.yml: links all 10 devices to the evpn-lab fabric

Identifier pairs

Identifier From To
device__site Device.site Site.devices
fabric__sites Fabric.sites Site.fabrics
fabric__devices Fabric.devices Device.fabric
vlan__svi VLAN.svi_interfaces InterfaceVlan.vlan
## What Adds reverse relationships so you can navigate between objects in the UI and API in both directions. ## Navigation improvements - **Site → Devices & Fabrics**: clicking a site now shows all devices and fabrics deployed there - **Fabric → Devices**: clicking a fabric shows all devices in it - **VLAN → SVI interfaces**: clicking a VLAN shows all SVI interfaces across devices - **Device → Fabric**: each device now links back to its fabric ## Changes ### Schema - `base.yml`: added `devices` and `fabrics` relationships on `LocationSite`, added `fabric` relationship on `InfraDevice`, added `identifier` on `InfraDevice.site` and `InfraInterfaceVlan.vlan` - `extensions.yml`: added `devices` relationship on `InfraFabric`, added `identifier` on `InfraFabric.sites` - `vlan_vxlan.yml`: added `svi_interfaces` relationship on `InfraVLAN` ### Object files - `14-fabric-links.yml`: links all 10 devices to the `evpn-lab` fabric ### Identifier pairs | Identifier | From | To | |---|---|---| | `device__site` | Device.site | Site.devices | | `fabric__sites` | Fabric.sites | Site.fabrics | | `fabric__devices` | Fabric.devices | Device.fabric | | `vlan__svi` | VLAN.svi_interfaces | InterfaceVlan.vlan |
Damien added 2 commits 2026-02-22 09:24:13 +00:00
- LocationSite: add devices (device__site) and fabrics (fabric__sites) reverse relationships
- InfraDevice.site: add identifier device__site
- InfraDevice: add fabric relationship (fabric__devices)
- InfraFabric.sites: add identifier fabric__sites; add devices reverse relationship (fabric__devices)
- InfraInterfaceVlan.vlan: add identifier vlan__svi
- InfraVLAN: add svi_interfaces reverse relationship (vlan__svi)
- Add 14-fabric-links.yml to assign all 10 devices to the evpn-lab fabric

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Damien merged commit e00cf517e3 into main 2026-02-22 09:27:21 +00:00
Damien deleted branch feat/update-identifiers 2026-02-22 09:27:21 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Damien/arista-evpn-vxlan-clab#18