【发布时间】:2020-06-21 10:02:49
【问题描述】:
这是我在 YAML 文件中的地址列表:
addresses:
person1:
firstname: Maria
lastname: Smith
person2:
firstname: July
lastname: Weber
person3:
firstname: John
lastname: Kurt
person4:
firstname: Simon
lastname: Gates
我需要的是一个逗号分隔的字符串,例如Maria, July, John, Simon
我尝试了以下方法:
firstnames: >-
{% set lastnames_list= [] %}
{% for name in addresses %}
{{ name.firstname | join(",")}}
{% endfor %}
{{ lastnames_list }}
firstnames: >-
{% set lastnames_list= [] %}
{% for name in addresses %}
{{ name | map(attribute="firstname") | join(",") }}
{% endfor %}
{{ lastnames_list }}
firstnames: '{{ addresses | map(attribute="firstname") | join(",") }}'
但 Ansible 给出以下输出:
任务包含一个带有未定义变量的选项。错误是:“unicode object”没有属性“firstname”
【问题讨论】:
标签: ansible yaml jinja2 ansible-template