2017-11-25 9 views
0

私はこの文字列でdeepely埋め込まansible_factにアクセスするために見えることはできません。不可能 - どうやって深く埋め込まれた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' 
関連する問題