Ansible Dynamic Inventory:自动递增整数分配给 Hostvars

Ansible Dynamic Inventory: Auto-incrementing Integer Assignment to Hostvars

我在动态清单中有一个包含三个主机的列表 (ec2.py)。我想为每个的主机变量分配一个自动递增的整数。例如,第一个 EC2 实例将获得主机变量 foo=1,第二个将获得 foo=2,第三个将获得 foo=3。有谁知道该怎么做?我看过循环和 "set_fact" 模块,但我不太清楚如何去做。任何帮助将不胜感激。

我认为这对于 Ansible 剧本中的任何任务或构造都是不可能的,因为所有这些几乎都是 运行 每个主机 并且在每个循环中你不知道其他主机的状态。

我认为你最好的选择是创建 ec2.py 的修改版本,并在那里增加一个全局变量。我从未使用过 ec2.py,但看起来函数 get_host_info_dict_from_instance() 是收集 host_vars 的地方。您应该可以在那里注入计数器变量。