Ansible匹配主机与json文件中的键

时间:2017-11-23 11:46:37

标签: ansible

我有一个主机组 my_hosts

的剧本
[my_hosts]
host1
host2
host3

我还有一个json文件 data.json ,与我的playbook位于同一目录中:

{
 "host1": "1.1.1.1",
 "host2": "1.1.1.2",
 "host3": "1.1.1.3"
}

我想要一个playbook来使用主机文件,如果主机与json文件中的主机密钥匹配,则打印IP。即当host = host1时,打印出“1.1.1.1”。

我的剧本的开头是这样的:

---
- name: Check IP
  hosts: my_hosts
  connection: local

  vars:
    version_file: "{{ lookup('file', 'data.json') | from_json }}"

  tasks:
    - name: Get IP

这在Ansible中是否可行?

1 个答案:

答案 0 :(得分:1)

为什么不试试呢?

- debug:
    msg: "{{ version_file[inventory_hostname] }}"