How do modules handle inputs, outputs, locals and validation effectively?
Answer
Define typed variables with defaults and
validationblocks to guard against invalid CIDRs, AZ counts, or empty strings.Use
localsto transform data or derive names, and combine withfor_each/countfor deterministic resource creation.Document outputs in
outputs.tf, mark sensitive ones, and keep outputs minimal to reduce coupling.Surface module metadata (like version or tags) through outputs for downstream modules or automation.