YAML File Basics

By | 25 December 2018

Bugün size son zamanlarda otomasyon ve DevOps süreçlerinde yoğun olarak kullanılan YAML programlama dilinden bahsetmek istiyorum. Sonrasında da PowerShell ile YAML template’lerini nasıl deploy edebileceğinizi bir kaç örnek ile anlatacağım.

YAML kelime olarak “YAML Ain’t Markup Language” anlamına gelir.


Yaml’ın offical tanımı ise aşağıdaki gibidir;

YAML is a human friendly data serialization standard for all programming languages.

Yaml Jeson’a oldukça benzemektedir. Fakat jsondan daha kolay şekilde okunup yazılabilmektedir.
Yaml hakkında bilinmesi gereken 2 adet yapı bulunuyor.
1- Lists
2- Maps

Şimdi bu iki yapıyı açıklayarak devam edelim.

Yaml Maps: Maps konfigürasyon bilgilerini ayarlamayı sağlayan Name-value pair’lerini ilişkilendirir.

ilk satırdaki “—” seperator anlamına gelir. Eğer birden çok yapıyı tek bir dosyada tanımlamak istenirse bu yapı kullanılır.

Diğer iki satır ise key ve value’ları göstermektedir.
Bunun JSON’daki gösterilişi de aşağıdaki gibidir.

Yaml dosyaları için quotation marks opsiyoneldir.

Örneğin aşağıdaki örnekte metadata key’inin value’su iki adet key’e map’lenmiştir.

Yaml file yazılırken satırlarda en az 1 boşluk olmalıdır.
Satırlar aynı seviyede ise bunların aynı value’ya map edildiği anlamına gelir.

Note: YAML dosyalarında asla tab kullanılmamalıdır.

Yukarıdaki YAML formatının JSON olarak yazılışı da aşağıdaki gibidir.

YAML List: Yaml list, tam olarak sıralı objeleri ifade eder.

Aşağıdaki gibi belirli sayıdaki item’ları list olarak yazabiliriz. Bunları liste olarak yazabilmek için başlarına – işareti koyma gerekir.

Bunun JSON’daki karşılığı aşağıdaki gibidir;

Aynı şekilde listenin elemanları da diğer key’lere map’lenebilir.

Yukarıdaki yaml yapısında Containers isminde bir liste bulunmaktadır ve bu listedeki container’ların her biri name,image ve port listesinden meydana gelmektedir. Aynı şekilde her container’a ait port listesi de kendi içerisinde port vaule’larını barındırmaktadır.

Bu yaml yapısının JSON formatında yazılışı da aşağıdaki gibidir;

Basit olarak YAML dosyası oluşturuken kullanacağınız elementleri anlatmaya çalıştım.
Umarım işinize yarar.

Fırat

Leave a Reply