我已經創建了自己的自定義庫,我在我的資源庫的公共文件夾中添加了自定義庫。在那我需要動態地傳遞變量。這是一個機密的密碼,所以我使用的是「Vault」。如何在ansible中使用include_vars
因爲我的要求是如何在主機前通過tasks\main.yml
中的include_vars
。
如:mytasks.yml
- include_vars: sample_vault.yml
- include: sample_tasks.yml
- hosts: localhost
tasks:
name: "free task"
command: ls -a
我的目錄結構是這樣的:
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
在這裏,我需要使用sample_vault.yml
文件中傳遞一個變量來運行sample_tasks文件之前,我使用執行任務的主機ansible。如果我使用額外的變量意味着密碼是可見的,所以我不需要。
當我在tasks/main.yml
文件中使用include_vars
,它顯示了以下錯誤:
ERROR! 'include_vars' is not a valid attribute for a Play
感謝偉大的答覆!通過切換到'vars_files' evrything工作,我正在將來自'vaulted文件'的'include_vars'作爲''environment'in + 2+'出現問題! – andi