【发布时间】:2021-01-02 09:12:37
【问题描述】:
我需要将以下 yaml 字典转换为以逗号分隔的 key=value 对列表
nodes:
node1: 192.168.56.11
node2: 192.168.56.12
原来如此
node1=192.168.56.11,node2=192.168.56.12
在 Python 中,我会通过简单的列表理解来完成,然后加入列表:
','.join([ k+'='+v for k,v in nodes.items()])
不过,我无法弄清楚如何在 Ansible 模板中优雅地做到这一点。当然,我可以使用for 循环来做到这一点,但它会留下尾随的逗号。迄今为止我最好的镜头:
{% for k,v in nodes.items() %}{{k}}={{v}}{% if not loop.last %},{% endif %}{% endfor %}
我是否忽略了什么?
【问题讨论】:
标签: ansible jinja2 ansible-2.x ansible-template