Getting started
Every module lives in its own repository and is pinned by a version tag, so there is nothing to install. This page uses the Public edition; the Private edition works the same way with your own organisation in the source address.
With Terragrunt
Point a unit’s terraform block at the module and pass its input:
terraform {
source = "git::https://github.com/AeternaFoundry/module_azurerm_resource_group.git?ref=v5.0.1"
}
inputs = {
resource_groups = {
0 = {
name = "rg-app-prod"
location = "uksouth"
}
}
}
Then run terragrunt plan as usual. The provider block comes from your own Terragrunt
configuration; the module only declares which provider and version range it needs.
With OpenTofu or Terraform on their own
Use the same address as a module source:
module "resource_groups" {
source = "git::https://github.com/AeternaFoundry/module_azurerm_resource_group.git?ref=v5.0.1"
resource_groups = {
0 = {
name = "rg-app-prod"
location = "uksouth"
}
}
}
Finding a module
Search the catalogue. Everything lives in the AeternaFoundry organisation.
Modules are named module_ followed by the provider’s name for the resource
(module_azurerm_resource_group, module_aws_s3_bucket). Lookups are named lookup_ followed by the
data source (lookup_azurerm_resource_group).
Next
- Modules and lookups: how the inputs and outputs are shaped.
- Versions: which tag to pin.