Мне нужна помощь при попытке получить доступ к элементу JSON, который содержит (-) из вывода junos_command. Я не могу понять, как получить bgp-информацию.
Я использую модуль junos_command. Я столкнулся с той же проблемой, используя также модуль juniper_junos_command.
Я использую Ansible версии 2.8
Из Playbook:
- name: Show BGP neighbor JSON output
junos_command:
commands:
- show bgp neighbor 174.68.232.1
display: json
register: configs
- name: Debug output
debug:
var: configs.stdout[0]
- name: Debug output
debug:
var: configs.stdout[0]['bgp-information']['bgp-peer']
Отладочный вывод (частичный):
TASK [Debug output] ***************************************************************************************************************************************************************************************
ok: [NEP6HDRJ31] =>
configs.stdout[0]:
bgp-information:
- attributes:
xmlns: http://xml.juniper.net/junos/16.1R4/junos-routing
bgp-peer:
- active-holdtime:
- data: '90'
attributes:
junos:style: detail
bgp-bfd:
- bfd-configuration-state:
- data: disabled
bfd-operational-state:
- data: down
bgp-option-information:
- address-families:
- data: inet-unicast inet-multicast inet-vpn-unicast inet-vpn-multicast inet-labeled-unicast inet6-labeled-unicast inet-mvpn
attributes:
xmlns: http://xml.juniper.net/junos/16.1R4/junos-routing
authentication-configured:
- data:
- null
bgp-options:
- data: Preference LocalAddress AdvertiseInactive AuthKey LogUpDown AddressFamily Multipath Rib-group Refresh
bgp-options-extended:
- {}
bgp-options2:
- {}
export-policy:
- data: iBGP-POLICY
holdtime:
- data: '90'
import-policy:
- data: iBGP-IN
local-address:
- data: 174.68.232.31
TASK [Debug output] ***************************************************************************************************************************************************************************************
ok: [NEP6HDRJ31] =>
configs.stdout[0]['bgp-information']['bgp-peer']: VARIABLE IS NOT DEFINED!