Limited Time Offer!

For Less Than the Cost of a Starbucks Coffee, Access All DevOpsSchool Videos on YouTube Unlimitedly.
Master DevOps, SRE, DevSecOps Skills!

Enroll Now

How to set condition module executations in Ansible Playbook with Example?

Example – 1 For CENTOS / RHEL


---
- name: Update web servers
  hosts: web
  vars:
    myname: "Rajesh Kumar"

  tasks:
  - name: Install Apache in centos7
    ansible.builtin.yum:
      name: httpd
      state: latest
    when: ( ansible_os_family == "RedHat" and ansible_system == "Linux")
  - name: Copy index.html
    ansible.builtin.copy:
      src: index.html
      dest: /var/www/html/index.html
  - name: Starting a Apache Server
    ansible.builtin.service:
      name: httpd
      state: started
    when: 
      - ansible_os_family == "RedHat"
      - ansible_distribution_major_version == "7"
      - ansible_system == "Linux"
  - name: My Name is Equals to Rajesh Kumar
    debug:
      msg: "My Name is Equals to Rajesh Kumar"
    when: myname == "Rajesh Kumar"
  - name: Ansible print when ubuntu
    debug:
      msg: "I am ubuntu"
    when: ansible_os_family == "Debian"
  - name: My Name is not Equals to Rajesh Kumar
    debug:
      msg: "My Name is not Equals to Rajesh Kumar"
    when: myname != "Rajesh Kumar"

Example – 1 For Ubuntu

- name: Update web servers
  hosts: web
  vars:
    myname: "Rajesh Kumar"

  tasks:
  - name: Install Apache in ubuntu
    ansible.builtin.apt:
      name: apache2
      state: latest
    when: ( ansible_os_family == "Debian" and ansible_system == "Linux")
  - name: Copy index.html
    ansible.builtin.copy:
      src: index.html
      dest: /var/www/html/index.html
  - name: Starting a Apache Server
    ansible.builtin.service:
      name: apache2
      state: started
    when: 
      - ansible_os_family == "Debian"
      - ansible_distribution_major_version == "20"
      - ansible_system == "Linux"
  - name: My Name is Equals to Rajesh Kumar
    debug:
      msg: "My Name is Equals to Rajesh Kumar"
    when: myname == "Rajesh Kumar"
  - name: Ansible print when ubuntu
    debug:
      msg: "I am ubuntu"
    when: ansible_os_family == "Debian"
  - name: My Name is not Equals to Rajesh Kumar
    debug:
      msg: "My Name is not Equals to Rajesh Kumar"
    when: myname != "Rajesh Kumar"
Rajesh Kumar
Follow me