В моем стремлении автоматизировать некоторые из наших сетевых сред, я хотел бы знать, как вы можете перебирать различные элементы во вложенных списках. Чтобы было понятнее, я объясню, что я хочу сделать, используя имеющиеся у меня инвентарь и игровую книгу.
Инвентарь выглядит следующим образом (Пустой контент)
parameters:
- mode: ""
speed: ""
duplex: ""
interfaces:
- Int_One
- Int_Two
Итак, как вы можете видеть, у меня есть список, содержащий некоторую информацию о сети (параметры), и другой список, содержащий два интерфейса. Действие, которое я хочу выполнить в моей книге воспроизведения, - настроить эти два интерфейса с помощью информации, найденной в списке «параметров». Другими словами, переберите «интерфейсы», используя информацию из списка «параметров». Но на данный момент я не могу заставить его использовать правильные данные в нужное время
Полезно знать, что я использую предопределенный «сетевой модуль Cisco» в своей книге игр.
Playbook выглядит следующим образом,
- name: Deploy Network Interfaces
"Some network module":
mode: '{{ item.0.mode }}'
speed: '{{ item.0.speed }}'
duplex: '{{ item.0.duplex }}'
interface: '{{ item.1.interfaces }}'
state: present
delegate_to: localhost
loop:
- "{{ parameters }}"
- "{{ parameters|subelements('interfaces') }}"
Как видите, сетевой модуль требует предоставления "интерфейса". Итак, еще раз я хочу перебрать список «интерфейсы» и развернуть их с определенными данными в списке «параметры».
Кто-нибудь, кто может сказать мне, как решить эту проблему?
Заранее спасибо!