Console interactive pour tester et évaluer des expressions Terraform (fonctions, variables, références au state).
Options principales
| Option | Défaut | Description |
|---|---|---|
-state=FICHIER | terraform.tfstate | Fichier state à utiliser |
-var="key=value" | aucune | Variable inline |
-var-file=FICHIER | terraform.tfvars | Fichier de variables |
Utilisation interactive
# Lancer la console
terraform console
# Taper des expressions HCL et obtenir les résultats :
> 1 + 2
3
> "hello ${var.env}"
"hello prod"
> aws_instance.web.public_ip
"52.10.0.100"
> length(["a","b","c"])
3
> exit # ou Ctrl+DTester des fonctions HCL
# Fonctions de chaîne
> split(",", "a,b,c")
tolist(["a", "b", "c",])
> join("-", ["foo", "bar"])
"foo-bar"
> upper("hello")
"HELLO"
> replace("hello world", " ", "_")
"hello_world"
> format("server-%02d", 5)
"server-05"
# Fonctions de collection
> length(["a","b","c"])
3
> contains(["dev","prod","staging"], "prod")
true
> merge({a="1"}, {b="2"})
{a = "1", b = "2",}
> toset(["a","b","a"])
toset(["a", "b",])
# Fonctions réseau/encodage
> cidrsubnet("10.0.0.0/16", 8, 1)
"10.0.1.0/24"
> base64encode("hello")
"aGVsbG8="
> jsondecode("{\"key\":\"value\"}")
{key = "value",}En mode pipe (non-interactif)
# Évaluer une expression depuis la ligne de commande
echo 'split(",", "a,b,c")' | terraform console
# Tester une variable
echo 'var.region' | terraform console
# Tester une référence au state
echo 'aws_instance.web.public_ip' | terraform console
# Dans un script
RESULT=$(echo 'format("sg-%s-%s", var.env, var.app)' | terraform console)
echo "Security group name: $RESULT"En relation avec
- Inspection — Vue d’ensemble — hub inspection
- terraform show — afficher l’état complet
- terraform output — afficher les outputs définis