Terraform – Part 3 – Değişkenler
0

Bu bölümde sizlere terraform kullanırken konfigürasyon dosyalarında değişkenleri nasıl kullanabileceğinizden bahsedecem. Değişken türleri ile alakalı ilerleyen bölümlerde daha ayrıntılı yazılar yazmayı düşünüyorum.

Değişkenler default vaule’lara sahip olabilirler. Ancak eğer .tfvars file ile atanan değişkenler var ise, bunlar default value’ların üzerine yazarlar.

Tabi bir de komut ile değişkenlere değer atanabilir. Bu durumda şöyle bir mekanizma çalışır. En son atanan değer hepsinin üzerine yazar. Yani default value varsa ve .tfvars dosyasından değişken atanıyorsa, .tfvars dosyasındaki değer default değerin üzerine yazar. Ancak bunların üzerine birde komut ile değişken atanıyorsa, geçerli olan değer komut ile atanandır. Değişken kullanımındaki baskınlık seviyeleri özetle bu şekildedir.

Değişkenlere atanacak değerleri ortamlara göre atamakta mümkün. Örneğin bir resource production ortamında yüksek bir tier’da oluşturulurken, test ortamında daha düşük tier’larda oluşturulabilir.

Ayrıca boolen değere göre koşula bağlı olarak da resource’lar oluşturulabilir. Örneğin değişken herhangi bir değere sahipse değişkene true değeri değilse false değeri atanabilir. Sonrasında bu değere göre resource’lar deploy edilir yada edilmez. Yada deploy edilecek ortamda belli koşullar aranabilir. Bu koşullara bağlı olarak resource’lar deploy edilir yada edilmez.

Değişkenlerin tanımlanması belli durumlara göre farklılık gösterebilir.

Default değişken tanımlama: Değişkenler tanımlanırken default değer atanır.

Resim-1

Değişken dosyası kullanma: .tfvars uzantılı dosyaya değişkenler aşağıdaki gibi atanır.

Resim-2

Komut ile değişken atama: Değişken işlemlerin en sonunda komut ile atanır.

Resim-3

Değişkenlerde map kullanma: Map değişkenleri powershell’deki hash table’lara oldukça benzer. Değişken içerisinde key-value pair’leri tutarak belli koşullara göre değişkendeki değer elde edilir.

Örneğin aşağıdaki örnekte region’lar ve bu region’larda kullanılacak imaj id’leri belirlenmiştir. Konfigürasyon yazılırken seçilecek ortama göre bu değişkene sorgu yapılıp ilgili imaj bilgisi elde edilecektir.

Resim-4

Bunların yanında diğer programlama dillerinde olduğu gibi string,list,bool değerlerde terraform’da değişken tipi olarak atanabilir. Bunlarla ilgili ayrıntılı bilgi için aşağıdaki linkten faydalanabilirsiniz.

https://www.terraform.io/docs/configuration/variables.html

Ortam değişkeni olarak değer atama: Terraform’da TV_VAR prefixi kullanılarak değişkenler ortam değişkeni olarak atanabilir. Ortam değişkeni olarak atama yapmak için komut aşağıdaki şekilde olmalıdır.

Resim-5

Yukarıdaki şekilde atanan ortam değişkenini değişkene atamak için aşağıdaki şekilde değişken yazılmalıdır.

Resim-6

Aynı şekilde map’ler ve listelerde kolaylıkla ortam değişkeni olarak atanabilirler.

Ayrıntılı bilgi için yine aşağıdaki linkten faydalanabilirsiniz.

https://www.terraform.io/docs/configuration/variables.html

Değişkenleri özetlemiş olduk.

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

Referanslar

www.mshowto.org

https://www.terraform.io/docs/configuration/variables.html

https://www.terraform.io/docs/providers/azurerm/index.html

TAGs: Terraform, Terraform nedir, terraform nasıl kullanılır, Infrastructure as a code, IAC, Compliance management, Auto remediation, Deploy Azure Resource with terraform, Deploy configuration with terraform, configuration as a code, terraform overview, terraform basics, Azure with terraform, deploy resources to azure with terraform, terraform.exe, Update resources with terraform, Azure Resource manager, ARM, Terraform variabes, terraform map variables

Bu İçeriğe Tepkin Ne Oldu?
  • 0
    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!

Sakarya doğumludur. İstanbul Üniversitesi’nde Matematik/Fen ve Teknoloji öğretmenliğini bitirmiştir. Yüksek lisansını Sakarya Üniversitesi Bilgisayar Mühendisliği’nde yapmıştır. Bilişim sektöründe çeşitli firmalarda sistem ve network sorumlusu olarak çalışmıştır. Bazı kurumlarda sistem ve network üzerine uzmanlık eğitimleri vermiştir. Şu anda Netaş şirketinde kurumsal danışman olarak görev yapmaktadır. Microsoft System Center ürünleri, Powershell ve Azure teknolojileri ile ilgilenmektedir. 2016 yılında Microsoft tarafından Cloud and Datacenter alanında MVP unvanını almıştır.

Yazarın Profili
İlginizi Çekebilir

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