0% found this document useful (0 votes)
9 views

Modules Overview - Configuration Language _ Terraform _ HashiCorp Developer

Uploaded by

Sunil Yadav
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views

Modules Overview - Configuration Language _ Terraform _ HashiCorp Developer

Uploaded by

Sunil Yadav
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

Terraform Search

Developer / Terraform / Configuration Language / Modules

Modules v1.10.x (latest)

Hands-on: Try the Reuse Configuration with Modules tutorials.

Modules are containers for multiple resources that are used together. A module consists of a
collection of .tf and/or .tf.json files kept together in a directory.

Modules are the main way to package and reuse resource configurations with Terraform.

The Root Module


Every Terraform configuration has at least one module, known as its root module, which consists
of the resources defined in the .tf files in the main working directory.

Child Modules
A Terraform module (usually the root module of a configuration) can call other modules to
include their resources into the configuration. A module that has been called by another module
is often referred to as a child module.

Child modules can be called multiple times within the same configuration, and multiple
configurations can use the same child module.

Published Modules
In addition to modules from the local filesystem, Terraform can load modules from a public or
private registry. This makes it possible to publish modules for others to use, and to use modules
that others have published.

https://developer.hashicorp.com/terraform/language/modules 1/3
12/11/24, 11:32 PM Modules Overview - Configuration Language | Terraform | HashiCorp Developer

The Terraform Registry hosts a broad collection of publicly available Terraform modules for
configuring many kinds of common infrastructure. These modules are free to use, and Terraform
can download them automatically if you specify the appropriate source and version in a module
call block.

Also, members of your organization might produce modules specifically crafted for your own
infrastructure needs. HCP Terraform and Terraform Enterprise both include a private module
registry for sharing modules internally within your organization.

Using Modules
Module Blocks documents the syntax for calling a child module from a parent module,
including meta-arguments like for_each .

Module Sources documents what kinds of paths, addresses, and URIs can be used in the
source argument of a module block.

The Meta-Arguments section documents special arguments that can be used with every
module, including providers , depends_on , count , and for_each .

Developing Modules
For information about developing reusable modules, see Module Development.

Edit this page on GitHub

Theme System

Certifications System Status Cookie Manager Terms of Use Security Privacy Trademark Policy

https://developer.hashicorp.com/terraform/language/modules 2/3
12/11/24, 11:32 PM Modules Overview - Configuration Language | Terraform | HashiCorp Developer

Trade Controls Accessibility Give Feedback

https://developer.hashicorp.com/terraform/language/modules 3/3

You might also like