Bicep ile Infrastructre as Code – Bölüm 3: If Condition Kullanımı
  1. Anasayfa
  2. Microsoft Azure

Bicep ile Infrastructre as Code – Bölüm 3: If Condition Kullanımı

0

İkinci bölümde Bicep parametre kullanımından bahsetmiştim. Bu bölümde de if condition kullanarak Bicep template’lerini daha kullanışlı hale getirmeye çalışacağım.

Bicep, aşağıda göreceğiniz logical operatörleri destekliyor. Bu sayede de ihtiyaç doğrultusunda farklı şekillerde de kullanabiliyoruz.

  • && (And)
  • || (Or)
  • ! (Not)
  • ?? (Coalesce)
  • ? : (Conditional)

En basit örnek olarak deployment yapacağımız ortam ile ilgili bir if condition tanımı yapabiliriz. Bu örnekte environment adında bir değişken tanımlayıp, bu değişkene de sadece dev, test ve prod değerleri girilmesini sınırlamak için allowed decorator‘ını kullanıyorum. Ancak burada istediğim durum, eğer environment değeri prod olarak seçilmişse, bir önceki bölümde oluşturduğum container registry’nin oluşturulmaması. Böylece prod ortamda yanlışlıkla resource oluşumunu engellemeye çalışacağım. Bunun sağlamak için de resource tanımı yaptığım yere, Resim-1‘de de görececeğiniz gibi bir if tanımı ekledim.

Resim-1

Environment parametresini de prod olarak aşağıdaki gibi tanımlayarak deployment işlemini başlatıyorum.

az deployment group create -g mshowto-rg \
                           --template-file main.bicep \
                           --parameters environment=prod

Buradaki beklentim herhangi bir deployment işlemi yapmamasıydı. Ancak Azure Portal üzerinde deployments’a baktığımda bir deployment işleminin yapıldığını, hatta başarılı bir şekilde tamamlandığını görüyorum. Paniğe gerek olmadığını ise deployment details altında herhangi bir resource görmediğimde anlıyorum :) (Resim-2).

Resim-2

Yine de emin olmak için ilgili resource group’a da bakarsanız, aslında herhangi bir deployment yapılmadığı görebilirsiniz.

Input parametrelerini kontrol ettiğimde ise environment parametresini de doğru bir şekilde tanımladığımı görebiliyorum (Resim-3).

Resim-3

If condition’larını sadece resource tanımında değil, parametrelerde de kullanabiliyoruz. Hatta willBeDeployed adında bir parametre tanımlayarak değerini conditional expression şeklinde belirleyelim. Environment değeri “prod” ise false, değilse true olacak. (Resim-4).

Resim-4

Bir sonraki bölümde for loop’ları nasıl kullanabileceğimizi anlatacağım.

Bu konuyla ilgili sorularınızı  alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.

Referanslar

www.mshowto.org

Bicep documentation | Microsoft Docs

GitHub – mertyeter/bicep-samples

TAGs: Azure, Yazılım Geliştiriciler için Azure, Bicep, ARM Templates, JSON, Azure Resource Manager, IaC, Infrastructure as Code, VS Code, Visual Studio Code, Azure CLI, bicep nedir

Bu İçeriğe Tepkin Ne Oldu?
  • 1
    harika_
    Harika!!
  • 0
    be_enmedim
    Beğenmedim
  • 0
    _ok_iyi
    Çok iyi
  • 0
    sevdim_
    Sevdim!
  • 0
    bilemedim_
    Bilemedim!
  • 0
    olmad_
    Olmadı!
  • 0
    k_zd_m_
    Kızdım!

Mert Yeter, lisans eğitimini Yıldız Teknik Üniversitesi'nde, yüksek lisans eğitimini ise Bahçeşehir Üniversitesi'nde tamamlamıştır. Yazılım dünyasına üniversitenin ilk yıllarında aldığı QBasic ile başlayan Mert, .NET ve SQL Server gibi Microsoft teknolojileri ile devam etmiş; yüksek lisans tezini ise Linux konusunda yapmıştır. Netaş ve Ziraat Teknoloji gibi sektörün önde gelen firmalarında C#, .NET, SQL Server, Cisco Contact Center ürünleri ve Linux üzerine çalışmış, bir çok firmaya da bu konularda danışmanlık vermiştir.

Yazarın Profili

Bültenimize Katılın

Tıklayın, üyemiz olun ve yeni güncellemelerden haberdar olan ilk kişi siz olun.

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir