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.
