Resources are automatically organized by Terraform module, making it easy to understand changes in complex multi-module configurations.
Large Terraform plans often contain hundreds of resources scattered across multiple modules. tfplan2md automatically groups these resources by their module path, providing a structured and hierarchical view of changes.
# azurerm_resource_group.core will be created
+ resource "azurerm_resource_group" "core" {
+ id = (known after apply)
+ location = "eastus"
+ name = "rg-tfplan2md-demo"
}
# module.network.azurerm_virtual_network.hub will be created
+ resource "azurerm_virtual_network" "hub" {
+ address_space = ["10.0.0.0/16"]
+ id = (known after apply)
+ location = "eastus"
+ name = "vnet-hub"
}
# module.security.azurerm_role_assignment.rg_reader will be created
+ resource "azurerm_role_assignment" "rg_reader" {
+ id = (known after apply)
+ principal_id = "00000000-0000-0000-0000-000000000001"
+ principal_type = "User"
+ role_definition_name = "Reader"
+ scope = "/subscriptions/.../resourceGroups/rg-tfplan2md-demo"
}
# module.network.azurerm_virtual_network.spoke will be created
+ resource "azurerm_virtual_network" "spoke" {
+ address_space = ["10.1.0.0/16"]
+ id = (known after apply)
}
Resources from different modules are intermixedβhard to see structure.
core β π rg-tfplan2md-demo π eastusmodule.networkhub β π vnet-hub π 10.0.0.0/16spoke β π vnet-spoke π 10.1.0.0/16module.securityrg_reader β π€ User β π‘οΈ Reader on rg-tfplan2md-demo### π¦ Module: root
<details>
<summary>β azurerm_resource_group <b><code>core</code></b> β <code>π rg-tfplan2md-demo</code> <code>π eastus</code></summary>
...
</details>
---
### π¦ Module: `module.network`
<details>
<summary>β azurerm_virtual_network <b><code>hub</code></b> β <code>π vnet-hub</code> <code>π 10.0.0.0/16</code></summary>
...
</details>
<details>
<summary>β azurerm_virtual_network <b><code>spoke</code></b> β <code>π vnet-spoke</code> <code>π 10.1.0.0/16</code></summary>
...
</details>
---
### π¦ Module: `module.security`
<details>
<summary>β azurerm_role_assignment <b><code>rg_reader</code></b> β <code>π€ User</code> β <code>π‘οΈ Reader</code> on <code>rg-tfplan2md-demo</code></summary>
...
</details>
Clear module separationβeach module's resources are grouped together.
Module grouping is automatically applied to all reports, organizing resources by their Terraform module hierarchy.