The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Как в Ansible в цикле with_items получить значение item?, !*! xintrea, 23-Апр-20, 13:23  [смотреть все]
Имеется такой список:

# Таблица репозитариев
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, когда она является списком, причем индекс задать не магическим числом, а переменной?




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру