我正在尝试在uri
body
内列出一个列表。但是使用|list
不会将列表项追加到新列表中。
我的任务:
uri:
url: "{{ URL }}"
method: "POST"
body:
policies:
- "default"
- "{{ item | selectattr('policy', 'defined') | map(attribute='policy') | list }}"
body_format: json
with_items:
- "{{ policy_config }}"
但是这给了我:
policies:
- \"default\"
- \"[u'app1', u'app2']\"
所以它没有追加app1& app2作为新单独的列表项。我该如何解决这个问题?
提前多多感谢!
答案 0 :(得分:1)
构建单个列表。一个可能的例子:
policies: "{{ ['default'] + item | selectattr('policy', 'defined') | map(attribute='policy') | list }}"
如果您的设置中有json_query
,则更短:
policies: "{{ ['default'] + item | json_query('[].policy') }}"