Variables et outputs 18 min de lecture

Variables d'entree

Declarer des variables

# variables.tf
variable "region" {
  description = "Region AWS a utiliser"
  type        = string
  default     = "eu-west-3"
}

variable "instance_type" {
  description = "Type d'instance EC2"
  type        = string
  default     = "t2.micro"
}

variable "allowed_ports" {
  description = "Ports a ouvrir"
  type        = list(number)
  default     = [80, 443, 22]
}

variable "tags" {
  description = "Tags communs"
  type        = map(string)
  default = {
    Environment = "dev"
    Team        = "infra"
  }
}

Types de variables

  • string — Texte
  • number — Nombre
  • bool — true/false
  • list(type) — Liste ordonnee
  • map(type) — Paires cle-valeur
  • object({...}) — Structure complexe

Fournir les valeurs

# terraform.tfvars (charge automatiquement)
region        = "eu-west-1"
instance_type = "t3.small"

# En ligne de commande
terraform apply -var="region=us-east-1"

# Variable d'environnement
export TF_VAR_region="eu-west-3"

Utiliser les variables

provider "aws" {
  region = var.region
}

resource "aws_instance" "web" {
  instance_type = var.instance_type
  tags          = var.tags
}
Securite : Ne mettez jamais de secrets (mots de passe, cles API) dans terraform.tfvars commite dans Git. Utilisez des variables d'environnement ou un gestionnaire de secrets.