2017-11-25 77 views
0

我似乎无法访问deepely嵌入式ansible_fact这个字符串:Ansible - 如何使用深层嵌入的ansible_fact?

hostvars[inventory_hostname]['ansible_devices']['sda']['partitions']['sda2']['holders'] }} 

这里的事实,树我想引用的一部分。

"ansible_devices": { 
      "sda": { 
       "holders": [], 
       "host": "RAID bus controller: LSI Logic/Symbios Logic MegaRAID                                        SAS-3 3108 [Invader] (rev 02)", 
       "partitions": { 
        "sda1": { 
         "holders": [], 
         "sectors": "614400", 
         "sectorsize": 512, 
         "size": "300.00 MB", 
         "start": "2048", 
        }, 
        "sda2": { 
         "holders": [ 
          "root-root", 
          "root-swap", 
          "root-home", 
          "root-opt", 
          "root-tmpl", 
          "root-usr", 
          "root-var" 
         ], 

我该如何去检查分区“root-home”? 谢谢!

回答

0

这是通缉领域的列表,使用索引:

hostvars[inventory_hostname]['ansible_devices']['sda']['partitions']['sda2']['holders'][2]

hostvars.inventory_hostname.ansible_devices.sda.partitions.sda2.holders[2]

我的建议,试图JQ命令:

ansible -m setup -l your_hostgroup | sed '1c {' | jq '.|keyes' 
相关问题