Zvažte následující Ansible úkol:
- name: "Install Python packages"
ansible.builtin.pip:
name:
- "foobar"
extra_args: "--no-index --find-links=file://{{ role_path }}/files/pip/"
Tento úkol nainstaluje Python balíček z předem staženého souboru balíčku, který je uložen s Ansible roli.
Nicméně, tam je tě tady: pokud cesta na disk, kde Ansible roli se nachází obsahuje bílé znaky nebo zpětná lomítka, --find-links
argument, bude analyzován správně.
Co potřebuju, je nějakou formu filtru nebo funkce, které budou platit ekvivalent printf '%q'
k {{ role_path }}
proměnné, unikající všechny mezery nebo speciální znaky. Je tam taková funkce v Ansible nebo Jinja2?