Python 按键对嵌套的ansible字典排序
我们有这样一项艰巨的任务Python 按键对嵌套的ansible字典排序,python,ansible,Python,Ansible,我们有这样一项艰巨的任务 - name: Migrate Zookeeper settings zoo_import: version: "{{ item[0] }}" content: "{{ item[1] }}" with_items: "{{ zk_import | dictsort }}" zoo_导入模块需要sting版本和dict内容,我猜dictsort会生成元组列表 那么,如何将列表项传递给模块?最明显的变体内容:{{dict(item[1])}以“d
- name: Migrate Zookeeper settings
zoo_import:
version: "{{ item[0] }}"
content: "{{ item[1] }}"
with_items: "{{ zk_import | dictsort }}"
zoo_导入模块需要sting版本和dict内容,我猜dictsort会生成元组列表
那么,如何将列表项传递给模块?最明显的变体内容:{{dict(item[1])}以“dictionary update sequence element#0的长度为1;需要2”结尾
谢谢
PS如果很重要,排序前的zk_导入字典如下
zk_import:
v20200420:
to_update:
'/path1/key1/': 'value2'
'/path2/key1/': 'other value'
to_delete:
'/path/key/': 'value2'
'/path/key1/subkey': 'other value'
v20200425:
etc...
在Ansible>=2.5中,您应该使用
循环
,而不是与\u项
:
loop: "{{ zk_import | dictsort }}"
在Ansible中,在Ansible>=2.5中,您应该使用
循环
,而不是使用和\u项
:
loop: "{{ zk_import | dictsort }}"
在Ansible中,我不确定是否理解您的问题:您为
zoo\u import
模块的内容
键提供的值是一个字典dictsort
返回(键,值)
元组,因此item[0]
是键,item[1]
是该键的值,它是一个字典,这似乎正是您想要的。我不确定我是否理解您的问题:您为zoo\u import
模块的content
键提供的值是字典dictsort
返回(键,值)
元组,因此项[0]
是键,项[1]
是该键的值,它是一个字典,似乎正是您想要的。
# This will run debug once with the three items
- debug:
msg: "{{ item }}" vars:
nested_list:
- - one
- two
- three with_items:
- "{{ nested_list }}"