Conditionals Nedir?

Bir çalışma kitabında, bir olgunun (uzak sistem hakkındaki veriler), bir değişkenin veya önceki bir görevin sonucuna bağlı olarak farklı görevler yürütmek isteyebilir veya farklı hedeflere sahip olabilirsiniz. Bazı değişkenlerin değerinin diğer değişkenlerin değerine bağlı olmasını isteyebilirsiniz. Ya da ana bilgisayarların diğer kriterlere uyup uymadığına bağlı olarak ek ana bilgisayar grupları oluşturmak isteyebilirsiniz. Bunların hepsini koşullu ifadelerle yapabilirsiniz.

Daha fazla bilgi için bakınız:

https://docs.ansible.com/ansible/latest/playbook_guide/playbooks_conditionals.html

Ansible Playbooks Conditionals

Günümüzde farklı bir çok işletim sistemi ve dağıtımları karşımıza çıkmaktadır. Hepsi için farklı yöntemler ve uygulamalar kullanılmaktadır. Koşullar sayesinde sadece belirli bir dağıtımlara, işlemleri uygulayabilirsiniz. Aşağıdaki örnekteki gibi when koşulu kullanarak, iki farklı dağıtıma apache2 yüklenilmesi sağlanacaktır.

Dağıtımlara göre paket isimleri değişiklik gösterebilir.

- hosts: test
  become: yes
  tasks:
  #Bu görevler, Debian && Ubuntu Dağıtımları içindir.
  - name: "paket indexini günceller"
    apt:
      update_cache: yes
      cache_valid_time: 3600
    when: ansible_distribution == "Ubuntu"

  - name: Apache web sunucu yüklenmesi
    apt:
      name: ['apache2']
      state: latest
    when: ansible_distribution == "Ubuntu"

  #Bu görevler, Rocky Dağıtımları içindir.
  - name: paket indexini günceller
    dnf:
      update_cache: yes
      cache_valid_time: 3600
    when: ansible_distribution == "Rocky"

  - name: Apache web sunucu yüklenmesi
    dnf:
      name: ['httpd']
      state: latest
    when: ansible_distribution == "Rocky"

Aşağıdaki görsele baktığımız zaman, dağıtımları göz önünde bulundurup yüklemeye devam etmiş veya hiç bir işlem yapmadan geçmiştir.

Blog'a Dön