Traffine I/O

Bahasa Indonesia

2022-10-11

Lokal Terraform

Lokal Terraform

Lokal Terraform adalah fitur yang kuat yang memungkinkan penugasan nama pada ekspresi, sehingga memungkinkan pengembang menggunakan nama tersebut beberapa kali dalam sebuah modul daripada menuliskan seluruh ekspresi secara berulang. Fitur ini sangat meningkatkan keberbacaan dan kemudahan pemeliharaan kode Terraform, sehingga memudahkan pengembang dalam mengelola konfigurasi infrastruktur mereka.

Pendeklarasian Lokal Terraform

Dalam Terraform, lokal dideklarasikan dalam blok locals, di mana setiap nilai lokal diberikan nama dan ekspresi. Struktur dasar dari pendeklarasian lokal terlihat seperti ini:

locals {
  local_name = expression
}

Mengelompokkan Nilai Lokal yang Terkait

Untuk organisasi dan keberbacaan yang lebih baik, nilai lokal yang terkait dapat dideklarasikan bersama dalam blok locals yang sama. Pendekatan ini sangat berguna ketika bekerja dengan modul yang kompleks di mana banyak nilai lokal digunakan:

locals {
  service_name = "forum"
  owner        = "Community Team"
}

Merujuk Nilai Lain dalam Ekspresi Lokal

Salah satu fitur kuat dari lokal Terraform adalah kemampuannya untuk merujuk nilai lain dalam ekspresi lokal. Ini termasuk variabel, atribut resource, dan bahkan nilai lokal lainnya. Kemampuan ini untuk merujuk dan menggunakan nilai lain memungkinkan transformasi dan kombinasi yang lebih kompleks, membantu dalam membuat konfigurasi infrastruktur yang rumit dan nuansa.

locals {
  instance_ids = concat(aws_instance.blue.*.id, aws_instance.green.*.id)
}

Menggunakan Nilai Lokal dalam Terraform

Setelah nilai lokal dideklarasikan, dapat dirujuk dalam ekspresi menggunakan sintaks local.<NAMA>. Sintaks ini memungkinkan Terraform untuk membedakan antara nilai lokal dan jenis ekspresi lainnya.

Berikut contoh cara merujuk nilai lokal dalam blok resource:

resource "aws_instance" "example" {
  tags = local.common_tags
}

Ruang Lingkup Variabel Lokal

Perlu diperhatikan bahwa lokal hanya dapat diakses dalam ekspresi dalam modul di mana mereka dideklarasikan. Pembatasan ruang lingkup ini membantu menjaga kode yang bersih dan terorganisir, serta menghindari konflik potensial antara modul yang berbeda atau modul yang bersarang.

Kapan Menggunakan Nilai Lokal

Nilai lokal dalam Terraform sangat bermanfaat ketika Anda perlu menghindari pengulangan nilai atau ekspresi yang sama dalam konfigurasi Anda. Namun, mereka tidak dimaksudkan untuk menggantikan setiap nilai yang diulang. Sebaliknya, mereka dirancang untuk mengurangi redundansi dalam situasi di mana satu nilai atau hasil digunakan di beberapa tempat dan kemungkinan akan diubah di masa depan.

Referensi

https://developer.hashicorp.com/terraform/language/values/locals

Ryusei Kakujo

researchgatelinkedingithub

Focusing on data science for mobility

Bench Press 100kg!