Affiche tous les modules déclarés dans le répertoire de travail courant. Utile pour auditer les dépendances de modules d’une configuration.

Disponible depuis Terraform 1.8.


Options

OptionDescription
-jsonSortie JSON (recommandé pour traitement automatisé)

Exemples

# Lister tous les modules déclarés (sortie lisible)
terraform modules
 
# Sortie JSON pour traitement
terraform modules -json
 
# Extraire les sources avec jq
terraform modules -json | jq '.modules[].source'
 
# Lister uniquement les modules du registry public
terraform modules -json | jq '.modules[] | select(.source | startswith("registry.terraform.io"))'
 
# Lister les modules sans version épinglée (risque de breaking change)
terraform modules -json | jq '.modules[] | select(.version == null) | .source'

Exemple de sortie

{
  "format_version": "1.0",
  "modules": [
    {
      "key":     "vpc",
      "source":  "terraform-aws-modules/vpc/aws",
      "version": "5.1.2",
      "dir":     ".terraform/modules/vpc"
    },
    {
      "key":     "eks",
      "source":  "terraform-aws-modules/eks/aws",
      "version": "20.0.0",
      "dir":     ".terraform/modules/eks"
    },
    {
      "key":     "networking",
      "source":  "./modules/networking",
      "version": null,
      "dir":     "modules/networking"
    }
  ]
}

Différence avec les autres commandes

CommandeCe qu’elle montre
terraform modulesModules déclarés dans les fichiers .tf
terraform providersProviders requis (dans required_providers)
terraform state listRessources présentes dans le state (déjà appliquées)
terraform graphGraphe complet de toutes les dépendances

En relation avec