如何根据安全库存组中的IP地址范围创建变量组?我在不同的位置有两组服务器。我想根据IP范围创建两个组(两个位置的两个范围)。我已经在我的主机库存中有基于发行版,prod,dev,test,qa,dr的组。我知道我可以使用group_by创建一个thr分组。但我怎么称呼他们?以及如何为它们分配自定义变量名称? - 主持人:全部 任务: - group_by:key = network _ {{ansible_default_ipv4.network}}
但我怎么称呼他们?以及如何为它们分配自定义变量名称?有没有办法可以创建一次组并将所有主机存储在静态库存文件中。 ?
答案 0 :(得分:3)
我已在comment中回答。
您可以将when
语句与group_by
一起使用,与任何其他任务一样
例如:
---
- hosts: all
tasks:
- group_by: key=London
when: ansible_default_ipv4.network == '192.168.0.0'
- group_by: key=Paris
when: ansible_default_ipv4.network == '10.0.0.0'