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