Zvážte nasledujúce Ansible úloha:
- name: "Install Python packages"
ansible.builtin.pip:
name:
- "foobar"
extra_args: "--no-index --find-links=file://{{ role_path }}/files/pip/"
Táto úloha sa nainštaluje Python od pred-stiahnuť balíček, ktorý je uložený s Ansible úlohu.
Avšak, tam je tommyho tu: ak cestu na disku, kde Ansible úlohu sa nachádza obsahuje medzery alebo lomka, na --find-links
argument bude analyzovaný nesprávne.
To, čo potrebujem, je určitou formou filter alebo funkcia, ktorá sa bude uplatňovať ekvivalent printf '%q'
na {{ role_path }}
premenná, úteku všetky medzery ani špeciálne znaky. Je tam takáto funkcia v Ansible alebo Jinja2?