Рассмотрим следующую возможную задачу:
- name: "Install Python packages"
ansible.builtin.pip:
name:
- "foobar"
extra_args: "--no-index --find-links=file://{{ role_path }}/files/pip/"
Эта задача устанавливает пакет Python из предварительно загруженного файла пакета, который хранится с ролью Ansible.
Однако здесь есть одна ошибка: если путь на диске, где находится роль Ansible, содержит пробелы или обратную косую черту, то --find-links
аргумент будет проанализирован неправильно.
Что мне нужно, так это какая-то форма фильтра или функции, которая будет применять эквивалент printf '%q'
к {{ role_path }}
переменная, экранирующая все пробелы или специальные символы. Есть ли такая функция в Ansible или Jinja2?