The --show-inputs flag enables advanced dependency visualization that shows explicit input variables passed between Terragrunt stacks, not just module dependencies.
# Shows module-level dependencies only
thothctl check iac -type deps
Output: Standard dependency graph showing which modules depend on each other.
# Shows explicit input variables from other stacks
thothctl check iac -type deps --show-inputs
Output: Enhanced dependency graph including:
Uses terragrunt dag graph command:
terragrunt dag graph
This is an alias for:
terragrunt list --format=dot --dependencies --external
Uses explicit terragrunt list command with full flags:
terragrunt list --format=dot --dependencies --external
Key Differences:
--dependencies: Includes dependency information in output--external: Discovers external dependencies (input variables from other stacks)--format=dot: Outputs in GraphViz DOT format for visualizationthothctl check iac -type deps
Shows:
vpc
└─ security-groups
└─ ec2-instances
thothctl check iac -type deps --show-inputs
Shows:
vpc (outputs: vpc_id, subnet_ids)
└─ security-groups (inputs: vpc_id from vpc)
└─ ec2-instances (inputs: vpc_id from vpc, sg_id from security-groups)
└─ rds (inputs: subnet_ids from vpc)
# See which stacks consume outputs from other stacks
thothctl check iac -type deps --show-inputs
Useful for:
# When a stack fails due to missing inputs
thothctl check iac -type deps --show-inputs
Helps identify:
# Generate comprehensive dependency documentation
thothctl check iac -type deps --show-inputs > dependencies.dot
dot -Tpng dependencies.dot > dependencies.png
Default (--show-inputs not set):
terragrunt dag graph --working-dir <directory>
Advanced (--show-inputs set):
terragrunt list --format=dot --dependencies --external --working-dir <directory>
With --show-inputs, Terragrunt discovers:
dependency blocksdependency outputsBoth modes output GraphViz DOT format, which can be:
thothctl check iac -type deps --show-inputs > graph.dot
dot -Tpng graph.dot > graph.png
dot -Tsvg graph.dot > graph.svg
# Stack A: VPC
# stacks/vpc/terragrunt.hcl
terraform {
source = "../../modules/vpc"
}
inputs = {
cidr_block = "10.0.0.0/16"
}
# Stack B: Security Groups (depends on VPC)
# stacks/security-groups/terragrunt.hcl
dependency "vpc" {
config_path = "../vpc"
}
inputs = {
vpc_id = dependency.vpc.outputs.vpc_id # ← This is shown with --show-inputs
}
| Feature | Default | –show-inputs |
|---|---|---|
| Command | dag graph |
list --format=dot --dependencies --external |
| Shows modules | ✅ Yes | ✅ Yes |
| Shows dependencies | ✅ Yes | ✅ Yes |
| Shows external deps | ✅ Yes | ✅ Yes |
| Shows input variables | ❌ No | ✅ Yes |
| Shows output values | ❌ No | ✅ Yes |
| Performance | Fast | Slightly slower (more discovery) |
thothctl check iac -type deps
thothctl check iac -type deps --show-inputs
thothctl check iac -type deps --show-inputs --recursive
thothctl check iac -type deps --show-inputs > docs/dependencies.dot
Solution: Ensure your Terragrunt configurations use dependency blocks:
dependency "vpc" {
config_path = "../vpc"
}
Solution: Use filtering or focus on specific stacks:
cd stacks/specific-stack
thothctl check iac -type deps --show-inputs
Solution: The --show-inputs flag requires more discovery. For quick checks, use default mode:
thothctl check iac -type deps # Faster
thothctl check iac -type blast-radius - Assess change impactthothctl check iac -type tfplan - Analyze Terraform plansthothctl inventory iac - Create infrastructure inventory