Я относительно новичок в ansible, но я пытаюсь преобразовать некоторые из моих python сценариев в ansible playbooks, и мне трудно понять, как назначать переменные через l oop. У меня есть playbook, который запускает show vlanrief:
---
- name: Get ARP information
hosts: all
gather_facts: false
tasks:
- name: show vlan brief
raw: "show vlan brief | i test"
register: vlan_output
- debug: var=vlan_output.stdout_lines
Это дает следующий вывод:
PLAY [Get ARP information] *****************************************************
TASK [show vlan brief] *********************************************************
changed: [sw1]
TASK [debug] *******************************************************************
ok: [sw1] => {
"vlan_output.stdout_lines": [
"100 test active Gi0/3, Gi0/1, Gi0/2",
"101 test2 active "
]
}
PLAY RECAP *********************************************************************
sw1 : ok=2 changed=1 unreachable=0 failed=0
Я хочу получить только номер vlan, в этом случае это будет 100 & 101, а затем l oop и выполнить "show ma c адресную таблицу | в c VLAN_NUM"
Я пытался добавить расщепления в строки реестра и отладки, но продолжаю получать ошибки, скажем:
#split added
- debug: var=vlan_output.stdout_lines.split(' ')
#return error
"vlan_output.stdout_lines.split(\" \")": "VARIABLE IS NOT DEFINED!"
В python Я бы провел oop через предметы и разделил бы строки, чтобы получить то, что мне нужно. Что является предпочтительным или эквивалентным этому процессу в ansible?