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:
7
infrahub/transforms/tests/mlag_yang/spine1/input.json
Normal file
7
infrahub/transforms/tests/mlag_yang/spine1/input.json
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"data": {
|
||||
"InfraMlagPeerConfig": {
|
||||
"edges": []
|
||||
}
|
||||
}
|
||||
}
|
||||
1
infrahub/transforms/tests/mlag_yang/spine1/output.json
Normal file
1
infrahub/transforms/tests/mlag_yang/spine1/output.json
Normal file
@@ -0,0 +1 @@
|
||||
[]
|
||||
Reference in New Issue
Block a user