An engineer is writing a module block for a public registry module for the first time and needs a reliable list of its required and optional inputs with their types and defaults, its outputs, and its provider dependencies. Which source should the engineer consult?
Select an answer to reveal the explanation.
Short Explanation
The registry reads the module's code and builds the manual for you: inputs, outputs, dependencies and resources. Go there first; the lock file and state won't tell you what the module expects.
Full Explanation
When a module follows the standard module structure, the Terraform Registry inspects its code and generates documentation automatically. The module page lists required inputs and optional inputs with types, descriptions and default values, the outputs it exposes, its provider dependencies and the resources it creates, alongside the README and a usage example. Because it is derived from the module's code for each version, it is the authoritative quick reference for writing a module block. The dependency lock file records provider versions and checksums selected for the configuration; it contains no module inputs. The terraform providers command shows the provider requirements of the configuration and its modules as a tree, which helps with provider dependencies but does not list input variables. State records managed resources and output values for a configuration that has already been applied; it is not a description of the module's interface and does not exist before the first apply. Exam caveat: select the documentation for the exact version you pin, because inputs and outputs can change between releases. Operational check: compare the registry's required inputs for the pinned version with the module block, then run terraform validate to confirm no required argument is missing.