在使用Ansible的过程中,有时候我们需要根据不同的条件来执行不同的操作,而不是固定的一套流程,这时就需要使用到条件需求(conditional requirement)。
可以通过在Ansible模块中加入条件需求来实现,具体实现方法如下所示:
- name: Install package with conditional requirement
package:
name: "{{ pkg_name }}"
state: latest
when: ansible_os_family == 'RedHat'
vars:
pkg_name: httpd
- name: Install package with another conditional requirement
package:
name: "{{ pkg_name }}"
state: latest
when: ansible_os_family == 'Debian'
vars:
pkg_name: apache2
上述代码中,我们通过在package
模块的上方加入条件when
,来实现条件需求。例如在RedHat系列的操作系统中安装httpd
包,在Debian操作系统中安装apache2
包。
因此,使用条件需求可以在Ansible编写过程中实现灵活性和可维护性。