- 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>
22 lines
610 B
YAML
22 lines
610 B
YAML
---
|
|
version: "1.0"
|
|
infrahub_tests:
|
|
- resource: Jinja2Transform
|
|
resource_name: mlag_yang_transform
|
|
tests:
|
|
- name: smoke_check
|
|
spec:
|
|
kind: jinja2-transform-smoke
|
|
- name: render_leaf1
|
|
spec:
|
|
kind: jinja2-transform-unit-render
|
|
directory: infrahub/transforms/tests/mlag_yang/leaf1
|
|
input: input.json
|
|
output: output.json
|
|
- name: render_spine1
|
|
spec:
|
|
kind: jinja2-transform-unit-render
|
|
directory: infrahub/transforms/tests/mlag_yang/spine1
|
|
input: input.json
|
|
output: output.json
|