我有一个能够将DNS条目中的更改应用到多个名称服务器的操作手册。ansible playbook通过字典迭代
有关域的信息存储在像这样的词典列表:
domains: [
{
domain: "domain.me",
location: "default",
ip: "XX.XX.XX.XX",
<..>
},
我设法建立成功地生成区域文件的任务。但我还需要清理已删除域的旧文件。虽然我不确定在任务中如何迭代这样的列表。我设法建立这样的事情:
- name: Check for available configuration
shell: ls -1 /etc/bind/zones/{{ location }}/
register: contents
- name: Cleanup old files
file: path=/etc/bind/zones/{{ location }}/{{ item }} state=absent
with_items: "{{ contents.stdout_lines }}"
when: item not in domains
虽然显然它只是删除所有文件,并从头开始生成它。 有没有办法迭代通过词典列表莫名其妙地没有建立一个单独的列表与重复信息在变量?
好吧,谢谢你的回答,尽管它几乎与我在问题中发布的代码完全相同。问题是我在字典中有一个列表。这是我堆叠的东西。我无法理解我如何迭代字典中的特定字段.. – rush