bash - 将字典项附加到 Ansible 中的另一个字典
问题描述
希望这是可能的:
我正在使用 Ansible 库存,并尝试在另一个字典中引用一个字典。
ansible/group_vars/myapi/user-list.yml
sysadmin_settings:
- { shell: "/bin/bash", groups: "hardworkers" }
myapi_admin_users:
- { state: "present", name: "my.user1", shell: "{{ sysadmin_settings.shell }}", groups: "{{ sysadmin_settings.groups }}" }
- { state: "present", name: "my.user2", shell: "{{ sysadmin_settings.shell }}", groups: "{{ sysadmin_settings.groups }}" }
但我得到一个“列表对象没有属性外壳”
我虽然是我在第一个字典中查找的内容。
理想情况下,我可以做类似的事情:
adminapi_admin_users:
- { state: "present", name: "my.user1", type: "sysadmin" }
sysadmin
当我在我的剧本中调用项目时引用变量myapi_admin.groups
,例如将它们连接起来
谢谢
解决方案
我认为您可能会将 YAML 与一些 JSON(或 Jinja)混合在一起。通常,您似乎想要的内容会这样写:
sysadmin_settings:
shell: "/bin/bash"
groups: "hardworkers"
myapi_admin_users:
- state: "present"
name: "my.user1"
shell: "{{ sysadmin_settings.shell }}"
groups: "{{ sysadmin_settings.groups }}"
- state: "present"
name: "my.user2"
shell: "{{ sysadmin_settings.shell }}"
groups: "{{ sysadmin_settings.groups }}"
这在我的系统上对我有用。Ansible YAML 文档值得一看,并且对常见错误有有用的参考。
推荐阅读
- jquery - 在用户滚动时停止徽标图像闪烁
- python - 如何在 Discord.py 中制作赠品命令?
- node.js - 如何验证 mongoDB 对象 ID 数组?
- python - 使用 Python 的图像前景提取技术
- c# - 如何反序列化 Json 响应并将其存储到 List 中?
- regex - 如何使用正则表达式来清除此电话号码“+34660023029 - 000000000”?
- javascript - 如何获取按钮以显示弹出窗口和样式
- jenkins - 以编程方式获取詹金斯“远程根目录”变量
- python - 循环遍历多个元组列表以查找每个元组列表的最大值的快速方法
- python - Pyplot:如何提高 plot_surface 的分辨率以及如何去除线条?