Variables et outputs 12 min de lecture

Outputs et locals

Outputs — Valeurs de sortie

Les outputs exposent des valeurs apres terraform apply.

# outputs.tf
output "instance_ip" {
  description = "Adresse IP publique du serveur"
  value       = aws_instance.web.public_ip
}

output "instance_id" {
  description = "ID de l'instance"
  value       = aws_instance.web.id
}

output "security_group_id" {
  description = "ID du groupe de securite"
  value       = aws_security_group.web_sg.id
  sensitive   = true  # Masque la valeur dans les logs
}
# Voir les outputs
terraform output
terraform output instance_ip

Locals — Variables calculees

Les locals permettent de definir des valeurs calculees reutilisables.

locals {
  project_name = "mon-app"
  environment  = "dev"
  name_prefix  = "${local.project_name}-${local.environment}"

  common_tags = {
    Project     = local.project_name
    Environment = local.environment
    ManagedBy   = "terraform"
  }
}

resource "aws_instance" "web" {
  tags = merge(local.common_tags, {
    Name = "${local.name_prefix}-web"
  })
}
Quand utiliser quoi : variable = valeur fournie par l'utilisateur. local = valeur calculee dans le code. output = valeur exposee apres apply.