gpt4 book ai didi

python - ansible过滤器映射数组并放入json模板

转载 作者:行者123 更新时间:2023-12-03 20:25:33 25 4
gpt4 key购买 nike

我有一个数组变量如下

registries:
- type: primary
host: r1.example.com
- type: secondary
host: r2.example.com

我只想从 json.j2 模板中的每个数组项呈现主机属性。我在模板中尝试了以下内容:

{ 
"insecure-registries": {{ registries | map(attribute='host') | to_json }}
}

不幸的是,它不起作用,但在运行剧本时会抛出此错误:

AnsibleError: Unexpected templating type error occurred on ({ \n \"graph\": \"{{ docker_home }}\",\n \"insecure-registries\" : {{ registries | map(attribute='host') | to_json }}\n}): Object of type 'generator' is not JSON serializable"}

最佳答案

map 返回不是列表的特定对象类型。在使用 list 过滤器

将其提供给 to_json 之前,您需要将其转换为列表
{ 
"insecure-registries": {{ registries | map(attribute='host') | list | to_json }}
}

关于python - ansible过滤器映射数组并放入json模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58868650/

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