Код:
- name: Testing PyATS
tasks:
- name: Read in parse_genie role
include_role:
name: clay584.parse_genie
- name: show interfaces
ios_command:
commands:
- show interfaces
register: interfaces
- name: Set Fact Genie Filter
set_fact:
pyats_interfaces: "{{ interfaces['stdout'][0] | parse_genie(command='show interfaces', os='iosxe') }}"
- name: Debug
debug:
var: pyats_interfaces.GigabitEthernet0/0
Ожидается:
"ansible_facts": {
"pyats_interfaces": {
"GigabitEthernet0/0": {
"arp_timeout": "04:00:00",
"arp_type": "arpa",
"auto_negotiate": true,
"bandwidth": 1000000,
"counters": {
"in_broadcast_pkts": 0,
"in_crc_errors": 0,
"in_errors": 0,
"in_frame": 0,
"in_giants": 0, etc.
Получение:
"pyats_interfaces.GigabitEthernet0/0": "VARIABLE IS NOT DEFINED!: 'dict object' has no attribute 'GigabitEthernet0'"
Похоже, что / обрабатывается каксимвол экранирования, в результате чего переменная отображается как неопределенная при поиске в dict. для G0 / 0.