An organization named acme-corp publishes an internal module named vpc for the aws provider to its HCP Terraform private registry. A team wants to call it from a configuration and pin a version. Which source value should the module block use?
Select an answer to reveal the explanation.
Short Explanation
Private registry modules wear the same three-part address as public ones, just with the hostname out front. Leave the hostname off and you've sent Terraform looking on the public registry instead.
Full Explanation
Modules in an HCP Terraform private registry use a four-part source: the registry hostname, app.terraform.io, followed by the organization name as the namespace, the module name and the target provider. That address lets the module block use a version constraint, and terraform init authenticates to HCP Terraform with the credentials configured for that hostname. Using registry.terraform.io sends the request to the public registry, where an internal acme-corp module is not published. A three-part address with no hostname is shorthand for the public registry, so it fails the same way, which is the most common mistake when moving modules in-house. Placing the organization last scrambles the segments, and the registry would interpret vpc as the namespace, aws as the module name and acme-corp as the provider. Exam caveat: Terraform Enterprise uses the deployment's own hostname in place of app.terraform.io, and HCP Terraform also accepts the generic localterraform.com hostname for configurations that should run unchanged across instances. Operational check: confirm the CLI has an API token for app.terraform.io, for example from terraform login, run terraform init, and confirm the module downloads at a version satisfying the constraint.