Merge pull request 'Add bidirectional navigation relationships' (#18) from feat/update-identifiers into main

Reviewed-on: #18
This commit was merged in pull request #18.
This commit is contained in:
2026-02-22 09:27:20 +00:00
4 changed files with 72 additions and 0 deletions

View File

@@ -0,0 +1,38 @@
# Fabric-to-Device links
# Depends on: 02-devices, 03-fabric
---
apiVersion: infrahub.app/v1
kind: Object
spec:
kind: InfraDevice
data:
- name: spine1
role: spine
fabric: "evpn-lab"
- name: spine2
role: spine
fabric: "evpn-lab"
- name: leaf1
role: leaf
fabric: "evpn-lab"
- name: leaf2
role: leaf
fabric: "evpn-lab"
- name: leaf3
role: leaf
fabric: "evpn-lab"
- name: leaf4
role: leaf
fabric: "evpn-lab"
- name: leaf5
role: leaf
fabric: "evpn-lab"
- name: leaf6
role: leaf
fabric: "evpn-lab"
- name: leaf7
role: leaf
fabric: "evpn-lab"
- name: leaf8
role: leaf
fabric: "evpn-lab"

View File

@@ -62,6 +62,19 @@ nodes:
kind: Text kind: Text
optional: true optional: true
description: Facility identifier or code description: Facility identifier or code
relationships:
- name: devices
peer: InfraDevice
identifier: device__site
cardinality: many
kind: Generic
description: Devices at this site
- name: fabrics
peer: InfraFabric
identifier: fabric__sites
cardinality: many
kind: Generic
description: Fabrics deployed at this site
# ================================================================ # ================================================================
# Platform # Platform
@@ -145,6 +158,7 @@ nodes:
relationships: relationships:
- name: site - name: site
peer: LocationSite peer: LocationSite
identifier: device__site
cardinality: one cardinality: one
optional: true optional: true
- name: platform - name: platform
@@ -164,6 +178,12 @@ nodes:
peer: InfraMlagDomain peer: InfraMlagDomain
cardinality: one cardinality: one
optional: true optional: true
- name: fabric
peer: InfraFabric
identifier: fabric__devices
cardinality: one
optional: true
description: Fabric this device belongs to
# ================================================================ # ================================================================
# Interface Types (inherit from InfraInterface generic) # Interface Types (inherit from InfraInterface generic)
@@ -263,6 +283,7 @@ nodes:
relationships: relationships:
- name: vlan - name: vlan
peer: InfraVLAN peer: InfraVLAN
identifier: vlan__svi
cardinality: one cardinality: one
optional: true optional: true

View File

@@ -55,8 +55,15 @@ nodes:
description: AS used by spine layer description: AS used by spine layer
- name: sites - name: sites
peer: LocationSite peer: LocationSite
identifier: fabric__sites
cardinality: many cardinality: many
optional: true optional: true
- name: devices
peer: InfraDevice
identifier: fabric__devices
cardinality: many
kind: Generic
description: Devices in this fabric
# ================================================================ # ================================================================
# Underlay P2P Link # Underlay P2P Link

View File

@@ -70,6 +70,12 @@ nodes:
peer: LocationSite peer: LocationSite
cardinality: one cardinality: one
optional: true optional: true
- name: svi_interfaces
peer: InfraInterfaceVlan
identifier: vlan__svi
cardinality: many
kind: Generic
description: SVI interfaces for this VLAN
# ================================================================ # ================================================================
# VNI (VXLAN Network Identifier) # VNI (VXLAN Network Identifier)