Как использовать вложенные переменные элемента в шаблонах jinja? Я запускаю ansible для создания конфигов для сетевых коммутаторов.
Попытка получить оператор if на основе bgp_peer_version,
У меня есть следующие переменные файлы
---
switches:
- ansible_hostname: Core1
bgp_neighbors:
- bgp_peer_version: both
bgp_peer_ipv4: 10.1.1.1
bgp_peer_ipv6: 2001::1
bgp_vrf:
- bgp_peer_version: v4
bgp_peer_ipv4: 10.1.1.2
bgp_peer_ipv6:
bgp_vrf:
- ansible_hostname: Core2
bgp_neighbors:
- bgp_peer_version: 'both'
bgp_peer_ipv4: 10.1.1.2
bgp_peer_ipv6: 2001::1
bgp_vrf:
- bgp_peer_version: 'v4'
bgp_peer_ipv4: 10.1.1.2
bgp_peer_ipv6:
bgp_vrf:
и пока имеем следующий код
{% if item[bgp_peer_version] == "v4" %}
BGP Peer
IPv4 address {{ bgp_peer_ipv4 }}
{% else %}
BGP Peer
IPv4 address {{ bgp_peer_ipv64 }}
IPv6 address {{ bgp_peer_ipv6 }}
{% endif %}
Я пытаюсь создать шаблон, который использует переменные в соседних узлах bgp для каждого из коммутаторов. Я ищу выход с первым шаблоном. Вывод шаблона 1
Одноранговый адрес BGP IPv4 10.1.1.1 Адрес IPv6 2001 :: 1 Одноранговый адрес BGP IPv4 10.1.1.1
Вывод шаблона 2
Одноранговый адрес BGP 10.1. 1.2 IPv6-адрес 2001 :: 2 BGP Одноранговый IPv4-адрес 10.1.1.1