ansible如何将现有主机添加到组

ansible如何将现有主机添加到组,ansible,ansible-playbook,Ansible,Ansible Playbook,我希望根据主机上定义的变量将现有主机动态添加到多个组中。有办法吗。我可以分组,但这只能把它分为一组 例如在我的主机文件中我有 [dc1hosts] 1.1.1.1 1.1.1.2 [dc1hosts:vars] iamDB=True iamCache=True <more-properties> [dc2hosts] 2.1.1.1 2.2.2.2 [dc2hosts:vars] iamDB=True <some-more-properties> [dc1host

我希望根据主机上定义的变量将现有主机动态添加到多个组中。有办法吗。我可以分组,但这只能把它分为一组

例如在我的主机文件中我有

[dc1hosts]
1.1.1.1
1.1.1.2

[dc1hosts:vars]
iamDB=True
iamCache=True
<more-properties>

[dc2hosts]
2.1.1.1
2.2.2.2

[dc2hosts:vars]
iamDB=True
<some-more-properties>
[dc1hosts]
1.1.1.1
1.1.1.2
[dc1hosts:vars]
iamDB=True
iamCache=True
[dc2hosts]
2.1.1.1
2.2.2.2
[dc2hosts:vars]
iamDB=True
我想根据谁拥有
iamDB
标志和谁拥有
iamCache
标志,生成两个名为
dbhosts
cachehosts
的组

有办法做到这一点吗?

您可以使用


编辑:可能你的意思是在满足任何条件时创建两个不同的组。。。但是我想你明白了。

稍微改变-名称:创建动态组添加_-host:hostname={{item}}groups=dbhosts,带有_-items:groups['all']的cachehosts当:hostvars[item].iamDB==TrueYeah,这更有意义!)
- name: Create dynamic groups
  add_host: hostname={{ item }} groups=dbhosts,cachehosts
  with_items: groups['all']
  when:
    - iamDB == True
    - iamCache == True