Hostvarsを次のようにチェックすると、
- 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"
リストの最初の要素をどのように指定しますか?
ドット表記を使用する
"{{ ansible_all_ipv4_addresses.0 }}"
これは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