Переменная разделения не работает в Ansible
Я пытаюсь разделить переменную на основе разделителя. Как мне этого добиться?
some_module: {{item}}.split('@')[1]
with_items:
- git@someversionxxx
- gradle@someversionxxx
Я получаю следующую ошибку:
объект списка "не имеет атрибута"
Я хочу рассмотреть только первую часть переменной, т.е. перед '@'
1 ответ
Решение
some_module: "{{ item.split('@')[0] }}"
{{ ... }}
используется для обозначения выражений Jinja2, и все, что у вас есть, является выражением Jinja2- с синтаксисом YAML в Ansible вы должны заключить в кавычки строку, если она начинается с
{
(если это не был объект JSON, здесь это не так) - первый элемент
split
результат будет иметь индекс 0