Arrays 如何从字典的值构建列表?
我有一个广告用户列表,并试图创建一个与众不同的名字列表Arrays 如何从字典的值构建列表?,arrays,ansible,ldap,Arrays,Ansible,Ldap,我有一个广告用户列表,并试图创建一个与众不同的名字列表 vars: admin_users: "user1;user2" tasks: - set_fact: admin: "{{ admin_users.split(';') }}" - name: Search account community.general.ldap_search: <...> loop: "{{ admin
vars:
admin_users: "user1;user2"
tasks:
- set_fact:
admin: "{{ admin_users.split(';') }}"
- name: Search account
community.general.ldap_search:
<...>
loop: "{{ admin }}"
register: ldap_result
- name: Build DN-array
set_fact:
group: "{{ group | default([]) }} + {{ item.value | json_query(query) }}"
with_dict: "{{ ldap_result.results }}"
when: item.key == 'results'
vars:
query: "[*].distinguishedName"
- debug:
var: "{{ group }}"
得到同样的信息
"<class 'list'>": "VARIABLE IS NOT DEFINED!"
然后我得到了错误
FAILED! => {"msg": "template error while templating string: expected
token ',', got 'CN'. String: {{[] + [ '['CN=***']' ] + [ '['CN=***']' ]}}"}
有什么建议吗?好的,没错,我只需要使用这样的结构
<...>
group: "{{ group | default([]) }} + [ {{ item.value | json_query(query) }} ]"
<...>
- debug: msg="{{ group }}"
正确输出
ok: [localhost] => {
"msg": [
[
"CN=***"
],
[
"CN=***"
]
]
}
FAILED! => {"msg": "template error while templating string: expected
token ',', got 'CN'. String: {{[] + [ '['CN=***']' ] + [ '['CN=***']' ]}}"}
<...>
group: "{{ group | default([]) }} + [ {{ item.value | json_query(query) }} ]"
<...>
- debug: msg="{{ group }}"
- debug:
var: "{{ group_list_two }}"
ok: [localhost] => {
"msg": [
[
"CN=***"
],
[
"CN=***"
]
]
}