Documentation

Module Registry

Module Registry

The Module Registry is a library of reusable Terraform modules. Modules encapsulate commonly used infrastructure patterns so you can deploy consistent, best-practice infrastructure quickly.

Accessing the Module Registry

  • Click 'Module Registry' in the left sidebar

What is a Terraform Module? - A module is a collection of Terraform resources packaged together - Modules are parameterized — you provide input variables to configure them - Using modules prevents repeating the same resource configurations across projects - Examples: A VPC module, an EC2 web server module, a PostgreSQL RDS module

Module Registry Features

  1. 1
    Browse Modules
    • Modules are displayed in a browsable list
    • Each module card shows:
    • Module name and description
    • Cloud provider (AWS, Azure, GCP)
    • Category (networking, compute, storage, security)
    • Version number
    • Source repository link
  2. 2
    Search Modules
    • Use the search bar to find modules by name or keyword
    • Filter by cloud provider or category
  3. 3
    Module Details
    • Click a module to view its full documentation
    • README displayed with usage instructions
    • Input variables table (name, type, required, default, description)
    • Output values table
    • Example usage code block
    • Version history
  4. 4
    Using a Module in Your Workspace
    • Copy the module block from the documentation
    • Paste it into your Terraform code in the IDE
    • Fill in the required variable values
    • Run terraform init to download the module
    • Run terraform plan and apply
  5. 5
    Repository Integration
    • Modules can be sourced from GitHub or Azure DevOps repositories
    • Private modules from your organization's repositories are supported

Example Module Usage (HCL)

module "vpc" { source = "terraform-aws-modules/vpc/aws" version = "~> 5.0"

name = "my-vpc" cidr = "10.0.0.0/16"

azs = ["us-east-1a", "us-east-1b"] private_subnets = ["10.0.1.0/24", "10.0.2.0/24"] public_subnets = ["10.0.101.0/24", "10.0.102.0/24"] }