字典结构中的 Ansible 循环数组
Ansible loop array within dictionary structure
我有 ansible 版本 2.9.6 和以下结构:
certificates:
example1:
- sub1.example1.org
- sub2.example1.org
example2:
- sub1.example2.org
- sub2.example2.org
example3:
- sub3.example3.org
现在我想遍历字典以获取证书的名称(密钥),然后通过数组获取域的名称以从中构建一个字符串,然后用于创建证书.
到目前为止我没有归档我想要的东西。我尝试使用 dict2items 获取名称和项目(数组),但如何从这里继续?
接下来我尝试使用 with_subelement,但我收到错误消息,指出项目未定义。
- name: with_dict -> loop (option 1)
ansible.builtin.debug:
msg: "Key: {{ item.key }} ###"
with_subelements:
- "{{ certificates }}"
- "{{item.1}}"
我怎样才能访问列表项?
谢谢和
最好的问候
毫克
例如
- debug:
msg: "{{ item.0.key }} {{ item.1 }}"
with_subelements:
- "{{ certificates|dict2items }}"
- value
给出(删节)
msg: example1 sub1.example1.org
msg: example1 sub2.example1.org
msg: example2 sub1.example2.org
msg: example2 sub2.example2.org
msg: example3 sub3.example3.org
使用循环而不是传统方式使用with_subelements:
- name: with_subelements -> loop
debug:
msg: "{{ item.0.key }} {{ item.1 }}"
loop: "{{ certificates | dict2items | subelements('value') }}"
添加新符号:
- name: with_subelements -> loop
debug:
msg: "{{ item[0]['key'] }} {{ item[1] }}"
loop: "{{ certificates | dict2items | subelements('value') }}"
给出(删节)
TASK [with_subelements -> loop]
"msg": "example1 sub1.example1.org"
"msg": "example1 sub2.example1.org"
"msg": "example2 sub1.example2.org"
"msg": "example2 sub2.example2.org"
"msg": "example3 sub3.example3.org"
我有 ansible 版本 2.9.6 和以下结构:
certificates:
example1:
- sub1.example1.org
- sub2.example1.org
example2:
- sub1.example2.org
- sub2.example2.org
example3:
- sub3.example3.org
现在我想遍历字典以获取证书的名称(密钥),然后通过数组获取域的名称以从中构建一个字符串,然后用于创建证书.
到目前为止我没有归档我想要的东西。我尝试使用 dict2items 获取名称和项目(数组),但如何从这里继续?
接下来我尝试使用 with_subelement,但我收到错误消息,指出项目未定义。
- name: with_dict -> loop (option 1)
ansible.builtin.debug:
msg: "Key: {{ item.key }} ###"
with_subelements:
- "{{ certificates }}"
- "{{item.1}}"
我怎样才能访问列表项?
谢谢和 最好的问候
毫克
例如
- debug:
msg: "{{ item.0.key }} {{ item.1 }}"
with_subelements:
- "{{ certificates|dict2items }}"
- value
给出(删节)
msg: example1 sub1.example1.org
msg: example1 sub2.example1.org
msg: example2 sub1.example2.org
msg: example2 sub2.example2.org
msg: example3 sub3.example3.org
使用循环而不是传统方式使用with_subelements:
- name: with_subelements -> loop
debug:
msg: "{{ item.0.key }} {{ item.1 }}"
loop: "{{ certificates | dict2items | subelements('value') }}"
添加新符号:
- name: with_subelements -> loop
debug:
msg: "{{ item[0]['key'] }} {{ item[1] }}"
loop: "{{ certificates | dict2items | subelements('value') }}"
给出(删节)
TASK [with_subelements -> loop]
"msg": "example1 sub1.example1.org"
"msg": "example1 sub2.example1.org"
"msg": "example2 sub1.example2.org"
"msg": "example2 sub2.example2.org"
"msg": "example3 sub3.example3.org"