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
Kısaltma
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}
Temsil Listesi

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
…
Kısaltma
Listeleri temsil etmek için kısaltma da kullanabilirsiniz.

Örnek:

Kod:
Ülkeler: : [‘Amerika’, ‘Çin’, ‘Kanada’, ‘Türkiye’]
Sözlükler İçinde Liste
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
…
Sözlük Listesi
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
…
YAML, "|" kullanır birden çok satır gösterirken yeni satırları dahil etmek için ve birden çok satırı gösterirken yeni satırları gizlemek için ">". Bu nedenle büyük satırları okuyabilir ve düzenleyebiliriz. Her iki durumda da niyet göz ardı edilecektir.

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%
Ansible ile ilgili bazı genel kelimeler.
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ı.