Ansible - YAML Temelleri

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 dosya 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.

Note -: ile değer arasında boşluk olmalıdır.

Örnek: Öğrenci kaydı

--- #Optional YAML start syntax 
james: 
   name: james john 
   rollNo: 34 
   div: B 
   sex: male 
… #Optional YAML end syntax

Kısaltma

Sözlükleri temsil etmek için kısaltma da kullanabilirsiniz.

Misal

James: {name: james john, rollNo: 34, div: B, sex: male}

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.

Misal

---
countries:  
   - America 
   - China 
   - Canada 
   - Iceland 
…

Kısaltma

Listeleri temsil etmek için kısaltma da kullanabilirsiniz.

Misal

Countries: [‘America’, ‘China’, ‘Canada’, ‘Iceland’]

Sözlükler içinde liste

Listeyi sözlüklerin içinde kullanabiliriz, yani anahtarın değeri listedir.

Misal

---  
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.

Misal

---  
- 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ı eklemek 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 temsil edebiliriz BooleanYAML'deki (Doğru / yanlış) değerler. neredeboolean değerler büyük / küçük harfe duyarlı olmayabilir.

Misal

---  
- 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.

Service/Server - Hizmeti sağlayan makinede bir işlem.

Machine - Fiziksel bir sunucu, vm (sanal makine) veya bir konteyner.

Target machine - Ansible ile yapılandıracağımız bir makine.

Task - Ansible tarafından yönetilen bir eylem (bunu çalıştırın, silin) ​​vb.

Playbook - Ansible komutlarının yazıldığı ve yml'nin bir makinede yürütüldüğü yml dosyası.