J'ai créé ma propre bibliothèque personnalisée, j'ai ajouté ma bibliothèque personnalisée dans le dossier commun de mon référentiel. En cela, j'ai besoin de passer des variables dynamiquement. C'est un mot de passe confidentiel, donc j'utilise "Vault" dans l'Ansible.comment utiliser include_vars dans ansible
En ce que mon exigence est de savoir comment passer include_vars
dans le tasks\main.yml
avant les hôtes.
par exemple: mytasks.yml
- include_vars: sample_vault.yml
- include: sample_tasks.yml
- hosts: localhost
tasks:
name: "free task"
command: ls -a
ma structure de répertoire comme ceci:
myfolder
- common
-library
-my file.py
- sample_tasks.yml
- mytasks
-mytasks.yml(my main master playbook file)
-sample_vault.yml (note:i create this using vault for confidential purpose)
- roles
-myrole
ici Je dois exécuter fichier sample_tasks en utilisant une des variables transmises dans le fichier sample_vault.yml
avant l'exécution des tâches hôtes à l'aide ansible. Si j'utilise des variables supplémentaires, le mot de passe est visible, donc je n'en ai pas besoin.
Lorsque j'utilise include_vars
dans mon dossier tasks/main.yml
, il montre l'erreur suivante:
ERROR! 'include_vars' is not a valid attribute for a Play
Merci pour la grande réponse! Je faisais face à un problème avec 'include_vars' du fichier voûté comme' environment' dans ansible 2+, en passant à 'vars_files' tout fonctionne! – andi