基于主机条件运行任务的Ansible语法

基于主机条件运行任务的Ansible语法,ansible,Ansible,我想知道是否有可能根据主机要求使用这种语法来运行playbook: 包括:tomcat8_for_assc_team.yml 什么时候: 主持人:助理 包括:tomcat8_for_oab_team.yml 什么时候: 主持人:oab 在我的库存文件中: [助理秘书长] vm1 vm2 等 [oab] vm4 vm5 etc您可以使用神奇的变量组名称。此处对其进行了描述:。他们说:group_names是当前主机所在的所有组的列表数组 因此,在您的情况下,以下两项任务将完成这项工作 - name

我想知道是否有可能根据主机要求使用这种语法来运行playbook:

包括:tomcat8_for_assc_team.yml 什么时候: 主持人:助理

包括:tomcat8_for_oab_team.yml 什么时候: 主持人:oab

在我的库存文件中:

[助理秘书长] vm1 vm2 等

[oab] vm4 vm5
etc

您可以使用神奇的变量组名称。此处对其进行了描述:。他们说:group_names是当前主机所在的所有组的列表数组

因此,在您的情况下,以下两项任务将完成这项工作

- name: "run the playbook for assc"
  include: "tomcat8_for_assc_team.yml"
  when: "'assc' in group_names"
- name: "run the playbook for oab"
  include: "tomcat8_for_oab_team.yml"
  when: "'oab' in group_names"
仅当assc位于当前主机的gouplist中时,才会运行第一个包含的playbook。第二个对goup oab也是一样的