diff --git a/templates/complete_multi_region/README.md b/templates/complete_multi_region/README.md index 8aaf216..cabb486 100644 --- a/templates/complete_multi_region/README.md +++ b/templates/complete_multi_region/README.md @@ -1,8 +1,28 @@ # Azure Landing Zones Accelerator Starter Module for Terraform - Complete Multi-Region -## Contributing +This module is part of the Azure Landing Zones Accelerator solution. It is a complete multi-region implementation of the Azure Landing Zones Platform Landing Zone for Terraform. -### Run the local examples +It deploys a hub and spoke virtual network or Virtual WAN architecture across multiple regions. + +The module deploys the following resources: + +- Management group hierarchy +- Azure Policy definitions and assignments +- Role definitions +- Management resources, including Log Analytics workspace and Automation account +- Hub and spoke virtual network or Virtual WAN architecture across multiple regions +- DDOS protection plan +- Private DNS zones + +## Usage + +The module is intended to be used with the [Azure Landing Zones Accelerator](https://aka.ms/alz/accelerator/docs). Head over there to get started. + +>NOTE: The module can be used independently if needed. Example tfvars files can be found in the `examples` directory for that use case. + +### Running Directly + +#### Run the local examples Create a `terraform.tfvars` file in the root of the module directory with the following content, replacing the placeholders with the actual values: @@ -13,14 +33,14 @@ subscription_id_identity = "00000000-0000-0000-0000-000000000000" subscription_id_management = "00000000-0000-0000-0000-000000000000" ``` -#### Hub and Spoke Virtual Networks Multi Region +##### Hub and Spoke Virtual Networks Multi Region ```powershell terraform init terraform apply -var-file ./examples/config-hub-and-spoke-virtual-networks-multi-region.tfvars ``` -#### Virtual WAN Multi Region +##### Virtual WAN Multi Region ```powershell terraform init diff --git a/templates/complete_multi_region/modules/hub-and-spoke-vnet/variables.tf b/templates/complete_multi_region/modules/hub-and-spoke-vnet/variables.tf index 792bff9..0ac361f 100644 --- a/templates/complete_multi_region/modules/hub-and-spoke-vnet/variables.tf +++ b/templates/complete_multi_region/modules/hub-and-spoke-vnet/variables.tf @@ -1,5 +1,14 @@ variable "hub_and_spoke_networks_settings" { - type = any + type = any + default = {} + description = <. +If it is set to false, then no telemetry will be collected. +DESCRIPTION + nullable = false } variable "tags" { - default = {} type = map(string) - description = "A map of tags to add to the private DNS zones" + default = null + description = "(Optional) Tags of the resource." } diff --git a/templates/complete_multi_region/modules/management-avm/variables.tf b/templates/complete_multi_region/modules/management-avm/variables.tf index bc3fc55..06e3c15 100644 --- a/templates/complete_multi_region/modules/management-avm/variables.tf +++ b/templates/complete_multi_region/modules/management-avm/variables.tf @@ -1,8 +1,18 @@ variable "settings" { - type = any + type = any + default = {} + description = <. +If it is set to false, then no telemetry will be collected. +DESCRIPTION + nullable = false } diff --git a/templates/complete_multi_region/modules/management-es/variables.tf b/templates/complete_multi_region/modules/management-es/variables.tf index bc3fc55..d97c443 100644 --- a/templates/complete_multi_region/modules/management-es/variables.tf +++ b/templates/complete_multi_region/modules/management-es/variables.tf @@ -1,8 +1,18 @@ variable "settings" { - type = any + type = any + default = {} + description = <. +If it is set to false, then no telemetry will be collected. +DESCRIPTION + nullable = false } diff --git a/templates/complete_multi_region/modules/virtual-wan/variables.tf b/templates/complete_multi_region/modules/virtual-wan/variables.tf index 4671b9b..e7f861f 100644 --- a/templates/complete_multi_region/modules/virtual-wan/variables.tf +++ b/templates/complete_multi_region/modules/virtual-wan/variables.tf @@ -1,5 +1,16 @@ variable "virtual_wan_settings" { - type = any + type = any + default = {} + description = <. +If it is set to false, then no telemetry will be collected. +DESCRIPTION + nullable = false } variable "tags" { - default = {} type = map(string) - description = "A map of tags to add to the private DNS zones" + default = null + description = "(Optional) Tags of the resource." } diff --git a/templates/complete_multi_region/variables-connectivity.tf b/templates/complete_multi_region/variables-connectivity.tf index 1bc171e..e3c4afd 100644 --- a/templates/complete_multi_region/variables-connectivity.tf +++ b/templates/complete_multi_region/variables-connectivity.tf @@ -1,6 +1,6 @@ variable "connectivity_type" { type = string - description = "The type of connectivity to use for the private DNS zones" + description = "The type of network connectivity technology to use for the private DNS zones" default = "hub_and_spoke_vnet" validation { condition = contains(values(local.const.connectivity), var.connectivity_type) @@ -13,5 +13,13 @@ variable "connectivity_resource_groups" { name = string location = string })) - description = "A map of resource groups to create" + description = <