Ansible-如何获取清单文件中定义的主机条目的序列号

Ansible-如何获取清单文件中定义的主机条目的序列号,ansible,ansible-inventory,Ansible,Ansible Inventory,我有一个清单文件,其中有两个主机,定义如下 [testservers] xx.xx.xx.106 ansible_ssh_user=johndoe xx.xx.xx.138 ansible_ssh_user=johndoe xx.xx.xx.141 ansible_ssh_user=johndoe 我想在任务中使用已定义主机的序列号。 像对于xx.xx.xx.106我应该得到序列1,对于xx.xx.xx.141我应该得到序列值3,因为它是第三个条目 如何在不定义其他变量的情况下获得清单文件中定

我有一个清单文件,其中有两个主机,定义如下

[testservers]
xx.xx.xx.106 ansible_ssh_user=johndoe
xx.xx.xx.138 ansible_ssh_user=johndoe
xx.xx.xx.141 ansible_ssh_user=johndoe
我想在任务中使用已定义主机的序列号。 像对于
xx.xx.xx.106
我应该得到序列1,对于
xx.xx.xx.141
我应该得到序列值3,因为它是第三个条目


如何在不定义其他变量的情况下获得清单文件中定义的主机条目序列号?

您可以使用标准Python方法

用以下变量替换字符串:

debug:
  msg: "{{ groups['testservers'].index('xx.xx.xx.141') + 1 }}"

+1
因为您明确要求从1到3的序列,但是
索引
0
开头)

您可以使用标准Python方法

用以下变量替换字符串:

debug:
  msg: "{{ groups['testservers'].index('xx.xx.xx.141') + 1 }}"
+1
,因为您明确要求从1到3的序列,但
索引
0
开头)