Rozważmy następujący możliwą zadanie:
- name: "Install Python packages"
ansible.builtin.pip:
name:
- "foobar"
extra_args: "--no-index --find-links=file://{{ role_path }}/files/pip/"
To zadanie instaluje pakiet Python z wstępnie załadowanego pliku pakietu, który jest przechowywany w roli Ansible.
Jednak tutaj jest jeden błąd: jeśli ścieżka na dysku, gdzie znajduje się rolę Ansible, zawiera spacje lub odwrotny ukośnik ( \ ), to --find-links
argument będzie analizowany prawidłowo.
Co jest mi potrzebne, więc jest to jakaś forma filtra lub funkcji, która będzie stosować odpowiednik printf '%q'
do {{ role_path }}
zmienna, ekranujący wszystkie spacje lub znaki specjalne. Czy jest taka funkcja w Ansible lub Jinja2?