terraform/website/docs/registry/modules/use.html.md

2.1 KiB

layout page_title sidebar_current description
registry Finding and Using Modules from the Terraform Registry docs-registry-use The Terraform Registry makes it simple to find and use modules.

Finding and Using Modules

The Terraform Registry makes it simple to find and use modules.

Finding Modules

Every page on the registry has a search field for finding modules. Enter any type of module you're looking for (examples: "vault", "vpc", "database") and resulting modules will be listed. The search query will look at module name, provider, and description to match your search terms. On the results page, filters can be used further refine search results.

By default, only verified modules are shown in search results. Verified modules are reviewed by HashiCorp to ensure stability and compatibility. By using the filters, you may view unverified modules as well.

Using Modules

The Terraform Registry is integrated directly into Terraform. This makes it easy to reference any module in the registry. The syntax for referencing a registry module is namespace/name/provider. For example: hashicorp/consul/aws.

When viewing a module on the registry on a tablet or desktop, usage instructions are shown on the right side. The screenshot below shows where to find these. You can copy and paste this to get started with any module. Some modules may have required inputs you must set before being able to use the module.

module "consul" {
  source = "hashicorp/consul/aws"
}

Module Versions

Each module in the registry is versioned. These versions syntactically must follow semantic versioning. In addition to pure syntax, we encourge all modules to follow the full guidelines of semantic versioning.

Terraform currently only downloads the latest version of each module. The next release of Terraform (0.11) will bring full support for constraining module versions. The registry has the required semantic versions since launch to prepare for this transition shortly after.