我正在尝试遍历facter_disks以查找特定大小的磁盘。在下面的代码中,想要获得大小为30的磁盘sdb。非常感谢您的任何帮助。
---
- name: sample Playbook
hosts: localhost
gather_facts: false
become: yes
vars:
disks:
- sda:
model: SYMMETRIX
size: 55.00 GiB
size_bytes: 59057111040
vendor: EMC
sdb:
model: SYMMETRIX
size: 35.00 GiB
size_bytes: 37581619200
vendor: EMC
sdc:
model: SYMMETRIX
size: 20.00 GiB
size_bytes: 21475491840
vendor: EMC
tasks:
- debug:
msg:
# - "{{ disks[0]['sda']['size'] }}"
- "{{ item['sda']['size'] }}"
with_items: " {{disks}} "发布于 2020-10-11 00:57:13
disks var是一个列表,您需要在sda、sdb、sdc之前使用"-“。在这种情况下,如果您想要使用磁盘作为磁盘列表,那么您可以修改和设置名称属性,如下所示
---
- name: sample Playbook
hosts: localhost
gather_facts: false
become: yes
vars:
disks:
- name: sda
model: SYMMETRIX
size: 55.00 GiB
size_bytes: 59057111040
vendor: EMC
- name: sdb
model: SYMMETRIX
size: 35.00 GiB
size_bytes: 37581619200
vendor: EMC
- name: sdc
model: SYMMETRIX
size: 20.00 GiB
size_bytes: 21475491840
vendor: EMC
tasks:
- debug:
msg:
- "{{ item.name }}"
- "{{ item.model }}"
- "{{ item.size }}"
- "{{ item.size_bytes }}"
- "{{ item.vendor }}"
with_items: " {{disks}}"
when: item.size == "35.00 GiB"https://stackoverflow.com/questions/64295277
复制相似问题