Considérez les points suivants Ansible tâche:
- name: "Install Python packages"
ansible.builtin.pip:
name:
- "foobar"
extra_args: "--no-index --find-links=file://{{ role_path }}/files/pip/"
Cette tâche installe un paquet Python à partir d'un pré-package téléchargé le fichier qui est stocké avec l'Ansible rôle.
Cependant, il y a un piège: si le chemin d'accès sur le disque où l'Ansible rôle est situé contient des espaces ou une barre oblique inverse, l' --find-links
l'argument sera analysé de manière incorrecte.
Ce dont j'ai besoin est une certaine forme de filtre ou de la fonction qui va appliquer l'équivalent de printf '%q'
à l' {{ role_path }}
variable, échappant à tous les espaces, ni de caractères spéciaux. Existe-t-il une fonction dans Ansible ou Jinja2?