Переменная разделения не работает в 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
Другие вопросы по тегам