Dictionary 如何使用Ansible库存创建dict

Dictionary 如何使用Ansible库存创建dict,dictionary,ansible,inventory,Dictionary,Ansible,Inventory,我需要一点帮助,在创建一个目录的主机名和ip地址出Ansible清单 这是我的清单: web: hosts: Webserver1: ansible_host: "10.10.10.10" Environment: "Dev" location: DC1 Webserver2: ansible_host: "10.10.10.11" Environment: "Dev" location: DC1

我需要一点帮助,在创建一个目录的主机名和ip地址出Ansible清单

这是我的清单:

web:
  hosts:
    Webserver1:
      ansible_host: "10.10.10.10"
      Environment: "Dev"
      location: DC1
    Webserver2:
      ansible_host: "10.10.10.11"
      Environment: "Dev"
      location: DC1
    Webserver3:
      ansible_host: "10.11.10.10"
      Environment: "Dev"
      location: DC2
我想在本地Ansible控制机器上运行一个剧本,创建一个dict,如下所示

host_dict={Webserver1:10.10.10.10, Webserver2:10.10.10.11, Webserver3:10.11.10.10}
非常感谢您的帮助。 谢谢

这里有一个简单的演示:

- name: a play that runs entirely on the ansible host
  hosts: localhost
  vars:
   host_dict:
    Webserver1: 10.10.10.10
    Webserver2: 10.10.10.11

  tasks:
    - debug: msg="{{ host_dict }}"

在YAML中,如果它不是以
-
开头,则它是字典键,否则它是列表。请参阅此处的更多高级示例:

谢谢,但我不想在我的游戏中硬编码dict,我想从我的目录中读取它并创建一个dict。因此,“目录外”的意思是从目录中派生一个字典,以便以后在剧本中使用?确切地说,我将在plabyook的不同位置使用此dict。请注意,我不是在主机组“web”上运行我的playbook,也不是在本地ansible控制机器上运行。如果