Variáveis locals no Terraform
Introdução
O Terraform permite criar variáveis locais com o bloco locals, que são ótimas para organizar e reaproveitar valores dentro do mesmo módulo. Elas ajudam a deixar o código mais limpo, evitando repetições e facilitando manutenção.
O que é o bloco locals
O bloco locals define variáveis que são usadas apenas dentro do escopo atual. Elas não podem ser passadas como entrada nem exportadas como saída. São ótimas para calcular valores, construir strings, ou definir padrões reutilizáveis.
Explicação técnica
- O bloco
localsé definido comlocals {} - Pode conter uma ou mais variáveis locais
- Acessadas com
local.<nome> - Podem conter expressões, concatenações, condições e chamadas de funções
Comando(s)
terraform init
terraform plan
terraform apply
Exemplo prático
main.tf
locals {
environment = "dev"
resource_prefix = "app-${local.environment}"
location = "eastus"
}
provider "azurerm" {
features {}
}
resource "azurerm_resource_group" "rg" {
name = "${local.resource_prefix}-rg"
location = local.location
}
Esse código cria um grupo de recursos chamado app-dev-rg na região eastus, reutilizando os valores definidos nos locals.
Output esperado
Apply complete! Resources: 1 added, 0 changed, 0 destroyed.
Outputs:
azurerm_resource_group.rg:
name = "app-dev-rg"
location = "eastus"
Melhores práticas
- Use
localspara evitar repetições de strings e expressões - Nomeie os locals de forma clara e sem ambiguidade
- Evite colocar lógicas complexas demais nos
locals— mantenha simples - Combine com
terraform.workspacepara gerar nomes dinâmicos por ambiente
As variáveis locais são ideais para manter o código organizado e DRY (Don't Repeat Yourself). Elas são amplamente usadas em módulos e projetos de médio a grande porte no Terraform.