带有 host_vars 的 Ansible EC2 动态 list

标签 ansible ansible-inventory

我是 Ansible 动态库存的新手。

我有一本剧本: 主机:tag_Name_abc

运行此剧本会在标记的 EC2 实例上正确执行所需的操作。当我尝试使用 host_vars 时,我得到了 fatal: FAILED! => {"changed": false, "failed": true, "msg": "AnsibleUndefinedVariable: 'test_var' is undefined"}

playbook 文件目录下有一个文件 host_vars/tag_Name_abc files,内容为 test_var: test_value,但它没有获取变量。

启动剧本 ansible-playbook -i ec2.py myplaybook.yml

任何建议都会很棒。谢谢!

最佳答案

动态 list 脚本 ec2.py 使用名称 tag_key_value 创建

要为组设置库存变量,您应该将它们放入group_vars 文件夹中。
host_vars 用于主机级变量。

在您的情况下,您应该使用 group_vars/tag_Name_abc 文件。

关于带有 host_vars 的 Ansible EC2 动态 list ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40212986/

相关文章:

ansible - 您如何在ansible中获得执行角色的组名

Ansible:比较变量

vagrant - ansible : get roles from playbook in a subfolder

cron - Ansible:在一台主机上设置一个 cron 作业

ubuntu - 从用户 shell 执行命令的 Ansible 剧本

ansible - 对 ansible_connection=local 使用 --become

ansible - 如何处理来自 ansible 角色的错误

字符串不匹配时的 Ansible 条件

ansible - 如何修复 "Could not match supplied host pattern, ignoring: bigip"错误,适用于 Ansible,而非 Tower

linux - 在 Ansible 中使用查找和复制模块