feat: Add Infrahub Jinja2 transform for MLAG configuration (#22)
- Add GraphQL query mlag_intent.gql: queries InfraMlagPeerConfig by device name, returning local IP, peer address, heartbeat peer IP, MLAG domain (domain-id, virtual-mac, heartbeat VRF, dual-primary detection settings, peer/iBGP VLANs, peer devices), local interface SVI name, and peer-link LAG name - Add Jinja2 template mlag_yang.j2: renders a JSON object targeting Arista-native YANG path /arista-mlag-augments:mlag/config; returns empty array [] for devices with no MLAG config (spines); all optional relationship accesses guarded with 'is defined and is not none' checks - Update .infrahub.yml: register mlag_intent query and mlag_yang_transform - Add unit test fixtures for leaf1 (full MLAG config) and spine1 (empty response → []) following jinja2-transform-unit-render format Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -26,6 +26,8 @@ queries:
|
||||
file_path: infrahub/transforms/queries/vxlan_intent.gql
|
||||
- name: vrf_intent
|
||||
file_path: infrahub/transforms/queries/vrf_intent.gql
|
||||
- name: mlag_intent
|
||||
file_path: infrahub/transforms/queries/mlag_intent.gql
|
||||
|
||||
jinja2_transforms:
|
||||
- name: vlan_yang_transform
|
||||
@@ -44,3 +46,7 @@ jinja2_transforms:
|
||||
description: "Generate VRF/L3VNI configuration payload from Infrahub intent"
|
||||
query: vrf_intent
|
||||
template_path: infrahub/transforms/templates/vrf_yang.j2
|
||||
- name: mlag_yang_transform
|
||||
description: "Generate MLAG configuration payload from Infrahub intent"
|
||||
query: mlag_intent
|
||||
template_path: infrahub/transforms/templates/mlag_yang.j2
|
||||
|
||||
Reference in New Issue
Block a user