Commandes utilitaires liées aux métadonnées Terraform : principalement l’introspection des fonctions disponibles dans le contexte courant (providers inclus).
terraform metadata functions — lister les fonctions disponibles
Affiche toutes les fonctions utilisables dans les expressions HCL : fonctions built-in de Terraform et fonctions apportées par les providers installés.
# Lister toutes les fonctions (built-in + providers)
terraform metadata functions
# Sortie JSON (pour traitement ou documentation)
terraform metadata functions -json
# Filtrer avec jq : chercher une fonction spécifique
terraform metadata functions -json | jq '.functions | keys[]' | grep cidr
# Afficher la signature d'une fonction
terraform metadata functions -json | jq '.functions["cidrsubnet"]'Exemple de sortie JSON :
{
"functions": {
"cidrsubnet": {
"description": "cidrsubnet calculates a subnet address...",
"return_type": "string",
"parameters": [
{ "name": "prefix", "type": "string" },
{ "name": "newbits", "type": "number" },
{ "name": "netnum", "type": "number" }
]
},
"upper": {
"description": "upper converts the given string to uppercase.",
"return_type": "string",
"parameters": [
{ "name": "str", "type": "string" }
]
}
}
}Fonctions apportées par les providers
Depuis Terraform 1.8, les providers peuvent exposer leurs propres fonctions HCL.
# Exemple : provider AWS expose des fonctions utilitaires
output "arn_parsed" {
value = provider::aws::arn_parse("arn:aws:s3:::mon-bucket")
}# Après terraform init, vérifier les fonctions du provider aws
terraform metadata functions -json | jq '.functions | with_entries(select(.key | startswith("provider::")))'En relation avec
- Inspection — Vue d’ensemble — hub inspection
- Fonctions HCL — référence des fonctions built-in
- terraform console — tester les fonctions en interactif