Which THREE of the following are valid sources for a Terraform module?
Trap 1: A directly linked SQL database.
Databases are not supported as module sources.
Trap 2: A raw HTTP file download link.
Standard HTTP is not a direct source for modules.
- A
The Terraform Registry.
The Terraform Registry is a supported module source, referenced with a registry path such as `namespace/name/provider`. It satisfies the stem's requirement for valid sources by serving versioned, publicly published modules that Terraform can download and initialise directly, alongside local paths, Git repositories, HTTP URLs and S3 buckets.
- B
A local directory path.
A local directory path is a valid Terraform module source, referenced via `source = "./modules/network"`. Terraform loads modules directly from the filesystem without fetching from a registry or remote endpoint, satisfying the stem's requirement for valid module sources alongside registry, Git, and HTTP URLs.
- C
A directly linked SQL database.
Why it fails: Databases are not supported as module sources.
- D
A raw HTTP file download link.
Why it fails: Standard HTTP is not a direct source for modules.
- E
A public or private Git repository.
Terraform supports Git repositories as module sources, using the `git::` prefix or GitHub shorthand to clone over HTTPS or SSH. This satisfies the stem's requirement for valid module sources, letting teams version and share reusable configurations from public or private repositories.