gpt4 book ai didi

ansible - 参数组的类型为 'dict',我们无法转换为列表

转载 作者:行者123 更新时间:2023-12-04 14:56:48 25 4
gpt4 key购买 nike

我正在尝试将一些常用的 AWS 任务分解为角色,以便我可以在剧本中更灵活地使用它们,但遇到了意想不到的障碍。我无法弄清楚这一点:

这个游戏直接在任务中直接定义为列表的“组”工作得很好:

ec2:
image: "{{image}}"
region: "{{region}}"
group: [ "ssh", "outbound" ]
[... other stuff]

但 Ansible 会失败,如果我改为将 play 放在一个角色中并在其“defaults/main.yml”文件中定义“groups”,如下所示:
groups: ["ssh", "outbound"]

这出戏现在是这样的:
ec2:
image: "{{image}}"
region: "{{region}}"
group: "{{groups}}"
[... other stuff]

Ansible 失败并显示此消息,似乎认为我的变量是 dict,而不是列表:
fatal: [localhost]: FAILED! => {"changed": false, "failed": true, "msg": "argument group is of type <type 'dict'> and we were unable to convert to list"}

我要么遗漏了一些明显的东西,要么遇到了 Ansible 变量解析的限制。任何人都对此有任何见解?

最佳答案

groups是一个保留变量,一个 magic variable在字典中保存所有库存组,每个组项目保存该组的所有主机。

您的方法应该通过选择任何其他变量名称来工作。

关于ansible - 参数组的类型为 'dict',我们无法转换为列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35170081/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com