Пытался добавить условное выражение с подстановочным знаком и переменной Ansible и получил сообщение об ошибке. Идея состоит в том, чтобы инициировать запрос API с именем контейнера, начинающимся с «android-», это продолжение плейбука по созданию контейнера докеров.
Моя книга игр:
---
- имя: перемещение агента андроида
хосты: сервер1; сервер2
вары:
контейнеры: "{{ container }}" #variable в другом файле
задачи:
- имя: агент перемещения Android
команда: curl "запрос API к серверу"
когда: "containers.startswith('android-*')"
Ошибка:
ЗАДАЧА [переместить агент Android] ************************************************* **********
фатальный: [server1]: FAILED! => {"msg": "Условная проверка 'containers.startswith('android-*')' не удалась. Ошибка: ошибка при оценке условного (containers.startswith('android-*')): 'объект списка' не имеет атрибута 'startswith'\n\nПохоже, ошибка находится в '/directory/were/the/playbook/is/move-agent-android.yml': строка 13, столбец 7, но может быть\nв другом месте файла в зависимости от конкретной проблемы с синтаксисом.\n\nОшибочная строка выглядит следующим образом:\n\n\n - имя: переместить агент Android\n ^ сюда\n"}
Я пытался изменить условные выражения на разные версии, и все получили одну и ту же ошибку.
другие версии:
когда: "контейнеры соответствуют ('android-*')"
когда: item.name.startswith('android-*')
когда: "{{ container }}" соответствует ('android-*')
Любая идея, как решить ошибку?