[英]Looping facter_disks in ansible
我试图通过 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}} "
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"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.