Affiche les valeurs des outputs définis dans les fichiers .tf.


Options principales

OptionDéfautDescription
-jsonnonFormat JSON (tous les outputs)
-rawnonValeur brute sans guillemets ni formatage
-no-colornonDésactive les couleurs
-state=FICHIERterraform.tfstateFichier state à utiliser

Exemples

# Afficher tous les outputs
terraform output
 
# Afficher un output spécifique
terraform output instance_ip
terraform output database_endpoint
 
# Valeur brute (pour utilisation dans un script)
terraform output -raw database_password
DB_PASS=$(terraform output -raw database_password)
 
# Format JSON (tous les outputs)
terraform output -json
 
# Format JSON d'un output spécifique
terraform output -json vpc_id
 
# Depuis un state alternatif
terraform output -state=prod.tfstate instance_ip

Déclarer un output dans .tf

# outputs.tf
output "instance_ip" {
  description = "IP publique du serveur web"
  value       = aws_instance.web.public_ip
}
 
output "database_endpoint" {
  description = "Endpoint de la base de données"
  value       = aws_db_instance.main.endpoint
  sensitive   = true   # ← masqué dans les logs, visible avec -raw
}
 
output "subnet_ids" {
  description = "Liste des IDs de subnets"
  value       = aws_subnet.public[*].id
}

Utilisation dans des scripts

# Récupérer l'IP pour SSH
IP=$(terraform output -raw instance_ip)
ssh ubuntu@$IP
 
# Configurer kubectl après création EKS
terraform output -raw kubeconfig > ~/.kube/config
 
# Récupérer plusieurs valeurs
DB_HOST=$(terraform output -raw db_host)
DB_PORT=$(terraform output -raw db_port)
DB_NAME=$(terraform output -raw db_name)
 
echo "postgres://${DB_HOST}:${DB_PORT}/${DB_NAME}"

En relation avec