2016-04-16 17 views
2

我々がHOSTVARSをチェックすると:yamlで配列またはリスト要素のファクトを指定する方法は?

- name: Display all variables/facts known for a host 
    debug: var=hostvars[inventory_hostname] 

我々が得る:

ok: [default] => { 
    "hostvars[inventory_hostname]": { 
     "admin_email": "[email protected]", 
     "admin_user": "root", 
     "ansible_all_ipv4_addresses": [ 
      "192.168.35.19", 
      "10.0.2.15" 
     ],... 

はどうすれば"ansible_all_ipv4_addresses"リストの最初の要素を指定するのでしょうか?

答えて

4

使用ドット表記

"{{ ansible_all_ipv4_addresses.0 }}" 
2

これはPythonと同じように動作します。つまり、引用符でキーにアクセスし、整数でインデックスにアクセスできます。

- set_fact: 
     ip_address_1: "{{ hostvars[inventory_hostname]['ansible_all_ipv4_addresses'][0] }}" 
     ip_address_2: "{{ hostvars[inventory_hostname]['ansible_all_ipv4_addresses'][1] }}" 

    - name: Display 1st ipaddress 
    debug: 
     var: ip_address_1 
    - name: Display 2nd ipaddress 
    debug: 
     var: ip_address_2 
関連する問題