Which THREE of the following are components of the 'source' string when using the Terraform Registry?
The provider segment identifies which plugin Terraform must download, formatted as `namespace/type` (for example `hashicorp/aws`), and optionally constrains the version. It satisfies the stem's requirement by naming a mandatory component of the source address, alongside the hostname and module subdirectory, enabling correct registry resolution.
Why this answer
The Terraform Registry module source string follows the format <NAMESPACE>/<MODULE_NAME>/<PROVIDER>, so option B (Provider) is correct because the provider segment (e.g., aws, azurerm, google) identifies which provider the module targets. Option D (Module name) is correct because it is the middle segment that names the specific module being referenced. Option E (Namespace) is correct because it is the first segment, identifying the organization or user that publishes the module.
Option A (Git branch name) is not part of the Registry source string; branch/ref syntax (e.g., ?ref=) applies to generic Git sources, not the Registry's three-part address. Option C (Operating system) is irrelevant, as the Registry source string does not encode any OS information.
Exam trap
The trap is confusing the registry source format with Git-based module sources — candidates may include 'branch' or 'ref' thinking it is always required, but the registry shorthand only needs namespace, name, and provider.