2 votes

Clés de dictée modélisées dans ansible YAML

J'essaie d'utiliser un dict dans une tâche Ansible, qui est définie comme ceci :

sur vars/main.yml fichier :

username: user1
userpass: pass1
users:
  "{{ username }}":
    pass: "{{ userpass }}"

Cela ne fonctionne pas dans Ansible 2.9 : Ansible semble ne pas interpoler la valeur de "{{ username }}"

IIRC cela a bien fonctionné autour de Ansible 2.5

Qu'est-ce qui a changé ? Comment dois-je réécrire mes rôles et mes livrets de jeu maintenant ?

0 votes

Pour info, je n'ai pas réussi à faire en sorte que la définition de votre var ci-dessus affiche le résultat attendu avec les versions 2.4 et 2.5 d'ansible. Anslble ne développe que les expressions du modèle jinja2 dans les valeurs, pas dans les clés de hachage.

3voto

Vladimir Botka Points 3372

La pièce

- hosts: localhost
  vars:
    username: user1
    userpass: pass1
    users: "{{ {username: {'pass': userpass}} }}"
  tasks:
    - debug:
        var: users

donne :

"users": {
    "user1": {
        "pass": "pass1"
    }
}

C'est ce que vous cherchez ?

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X