首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在ansible中循环facter_disks

在ansible中循环facter_disks
EN

Stack Overflow用户
提问于 2020-10-10 23:45:54
回答 1查看 89关注 0票数 2

我正在尝试遍历facter_disks以查找特定大小的磁盘。在下面的代码中,想要获得大小为30的磁盘sdb。非常感谢您的任何帮助。

代码语言:javascript
复制
---
- 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}} "
EN

回答 1

Stack Overflow用户

发布于 2020-10-11 00:57:13

disks var是一个列表,您需要在sda、sdb、sdc之前使用"-“。在这种情况下,如果您想要使用磁盘作为磁盘列表,那么您可以修改和设置名称属性,如下所示

代码语言:javascript
复制
---
- 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"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64295277

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档