Имеется такой список:
# Таблица репозитариев
gitRepos:
- [ "idk.git", "master", "idk", "idk.pro", "" ]
- [ "touch_widgets.git", "master", "tw_integration", "tw.pro", "" ]
- [ "akson.git", "radioline", "akson", "", "/usr/share/akson" ]
Я делаю по ней всякие циклы with_items. В этих циклах я могу получать значения столбцов по числовому индексу, например {{ item[2] }}, вот так:
- name: Получение последних изменений из GIT
shell: "cd {{ gitReposPath }}/{{ item[2] }} ; git pull"
with_items:
- "{{ gitRepos }}"
Но писать магические константы индексов некомильфо. Поэтому я сделал переменные:
# Структура таблицы репозитариев
gitTable_RepoNetworkPath: 0 # Сетевой путь к Git-репозитарию
gitTable_BranchName: 1 # Имя ветки
gitTable_DirectoryName: 2 # Имя каталога
gitTable_ProFileName: 3 # Имя файла проекта
gitTable_TargetCopyDirectoryName: 4 # Директория для прямого копирования
И хочу вместо индексов писать осмысленные имена переменных. То есть, вместо
{{ item[2] }}
я пытаюсь написать:
{{ item[ {{ gitTable_DirectoryName }} ] }}
Но Ansible меня не понимает, и дает ошибку:
fatal: [compilingHost]: FAILED! => {"msg": "template error while templating string: expected token ':', got '}'. String: cd {{ gitReposPath }}/{{ item[ {{ gitTable_DirectoryName }} ] }} ; git pull"}
Вопрос: Как получить значение переменной цикла item, когда она является списком, причем индекс задать не магическим числом, а переменной?