Ansible - YAML Temelleri / YAML Rehberi - 2020
Ansible, Ansible oyun kitaplarını ifade etmek için YAML sözdizimini kullanır. Bu bölüm YAML'ye genel bir bakış sağlar. Ansible, XML ve JSON gibi diğer veri formatlarıyla karşılaştırıldığında insanların anlaması, okuması ve yazması çok kolay olduğu için YAML kullanır.
Her YAML dosyası isteğe bağlı olarak "---" ile başlar ve "..." ile biter.
YAML'yi Anlamak
Bu bölümde, YAML verilerinin temsil edildiği farklı yolları öğreneceğiz.
Anahtar/Değer Çifti
YAML, verileri temsil etmek için basit anahtar / değer çifti kullanır. Sözlük, anahtar: değer çiftinde temsil edilir.
Not -: ile değer arasında boşluk olmalıdır.
Örnek: Öğrenci kaydı
Kod:
--- #Optional YAML start syntax james: İsim: Ahmet Mehmet Sıra No: 34 Sınıf: B Cinsiyet: Erkek … #Optional YAML end syntax
Sözlükleri temsil etmek için kısaltma da kullanabilirsiniz.
Örnek:
Kod:
James: {İsim: Ahmet Mehmet, Sıra No: 34, Sınıf: B, Cinsiyet: Erkek}
Listeyi YAML'de de temsil edebiliriz. Listenin her elemanı (üyesi) yeni bir satıra “-“ (- ve boşluk) ile başlayan aynı girinti ile yazılmalıdır.
Örnek:
Kod:
--- Ülkeler: - Amerika - Çin - Türkiye - Kanada …
Listeleri temsil etmek için kısaltma da kullanabilirsiniz.
Örnek:
Kod:
Ülkeler: : [‘Amerika’, ‘Çin’, ‘Kanada’, ‘Türkiye’]
Listeyi sözlüklerin içinde kullanabiliriz, yani anahtarın değeri listedir.
Örnek:
Kod:
--- james: name: james john rollNo: 34 div: B sex: male likes: - maths - physics - english …
Ayrıca sözlüklerin listesini de yapabiliriz.
Örnek:
Kod:
--- - james: name: james john rollNo: 34 div: B sex: male likes: - maths - physics - english - robert: name: robert richardson rollNo: 53 div: B sex: male likes: - biology - chemistry …
Ayrıca YAML'de Boole (Doğru / yanlış) değerlerini de temsil edebiliriz. Boole değerleri büyük / küçük harfe duyarlı olmayabilir.
Örnek:
Kod:
--- - james: name: james john rollNo: 34 div: B sex: male likes: - maths - physics - english result: maths: 87 chemistry: 45 biology: 56 physics: 70 english: 80 passed: TRUE messageIncludeNewLines: | Congratulation!! You passed with 79% messageExcludeNewLines: > Congratulation!! You passed with 79%
Hizmet / Sunucu - Hizmeti sağlayan makinede bir işlem.
Makine - Fiziksel bir sunucu, vm (sanal makine) veya bir konteyner.
Hedef makine - Ansible ile yapılandıracağımız bir makine.
Görev - Ansible tarafından yönetilen bir eylem (bunu çalıştırın, silin) vb.
Başucu Kitabı - Ansible komutlarının yazıldığı ve yml'nin bir makinede yürütüldüğü yml dosyası.