claranet / terraform-azurerm-rg

Terraform module for Azure Resource Group
Apache License 2.0
10 stars 20 forks source link
azure claranet module terraform

Azure Resource Group

Changelog Notice Apache V2 License OpenTofu Registry

Common Azure terraform module to create a Resource Group with optional lock.

Naming

Resource naming is based on the Microsoft CAF naming convention best practices. Legacy naming is available by setting the parameter use_caf_naming to false. We rely on the official Terraform Azure CAF naming provider to generate resource names.

Global versioning rule for Claranet Azure modules

Module version Terraform version OpenTofu version AzureRM version
>= 8.x.x Unverified 1.8.x >= 4.0
>= 7.x.x 1.3.x >= 3.0
>= 6.x.x 1.x >= 3.0
>= 5.x.x 0.15.x >= 2.0
>= 4.x.x 0.13.x / 0.14.x >= 2.0
>= 3.x.x 0.12.x >= 2.0
>= 2.x.x 0.12.x < 2.0
< 2.x.x 0.11.x < 2.0

Contributing

If you want to contribute to this repository, feel free to use our pre-commit git hook configuration which will help you automatically update and format some files for you by enforcing our Terraform code module best-practices.

More details are available in the CONTRIBUTING.md file.

Usage

This module is optimized to work with the Claranet terraform-wrapper tool which set some terraform variables in the environment needed by this module. More details about variables set by the terraform-wrapper available in the documentation.

⚠️ Since modules version v8.0.0, we do not maintain/check anymore the compatibility with Hashicorp Terraform. Instead, we recommend to use OpenTofu.

module "rg" {
  source  = "claranet/rg/azurerm"
  version = "x.x.x"

  location       = module.azure_region.location
  location_short = module.azure_region.location_short
  client_name    = var.client_name
  environment    = var.environment
  stack          = var.stack
}

Providers

Name Version
azurecaf ~> 1.2.26
azurerm ~> 4.0

Modules

No modules.

Resources

Name Type
azurerm_management_lock.main resource
azurerm_resource_group.main resource
azurecaf_name.rg data source

Inputs

Name Description Type Default Required
client_name Client name/account used in naming. string n/a yes
custom_name Custom Resource Group name, generated if not set. string "" no
default_tags_enabled Option to enable or disable default tags. bool true no
environment Project environment. string n/a yes
extra_tags Additional tags to add on resources. map(string) {} no
location Azure region to use. string n/a yes
location_short Short string for Azure location. string n/a yes
lock_level Specifies the Level to be used for this RG Lock. Possible values are Empty (no lock), CanNotDelete and ReadOnly. string "" no
name_prefix Optional prefix for the generated name. string "" no
name_suffix Optional suffix for the generated name. string "" no
stack Project stack name. string n/a yes

Outputs

Name Description
id Resource group ID.
name Resource group name.
resource Resource output.
resource_management_lock Management lock output.

Related documentation

Azure Lock management documentation: docs.microsoft.com/en-us/azure/azure-resource-manager/management/lock-resources