Breaking changes
This release implements explicit variable types. As part of this work we also:
-
Flattened some of the inputs to un-nest them and make them more intuitive
-
Migrated the virtualwan modules to become submodules of this module
-
Moved the
enabledinputs to their own section in the variables in order that they are not sat inside of the section they are controlling anymore, which is no longer necessary with the explicit variables. -
Implemented Virtual WAN VPN and ExpressRoute resources as top level objects in the
virtual_hubsvariable, meaning they are no longer supported in thevirtual_wan_settingsobject.
There are no state related breaking changes in this release, but you will need to reformat your module inputs to remove nesting for:
- bastion
- dns_zones
- dns_resolver
You will also need to move any additional config from virtual_wan_settings to virtual_hubs.
The easiest way to see what has changed is to review the diff of the example tfvars file: v0.11.8...v0.12.0#diff-fc33d7e184adaca350e5412759f514474aea14b3c1ba6369ccd8f37e93956950
For consumers of the ALZ IaC Accelerator we will provide more details on the release notes and you'll be ale to to follow the standard update process to see a diff, once we target this version: https://azure.github.io/Azure-Landing-Zones/accelerator/accelerator-release-notes/
From a Terraform state perspective these changes are non-breaking.
New Functionality
This release focuses on simplification of inputs. We have reduced down the required input to the minimum possible and supplied / calculated sensible defaults. The bare minimum module inputs to deploy a complete multi region setup with all resources is now:
module "alz_virtual_wan" {
source = "Azure/avm-ptn-alz-connectivity-hub-and-spoke-vnet/azurerm"
version = "0.12.0"
virtual_hubs = {
primary = {
location = "uksouth"
default_parent_id = "/subscriptions/***/resourcGroups/***"
}
secondary = {
location = "ukwest"
default_parent_id = "/subscriptions/***/resourcGroups/***"
}
}
}In order to achieve this we have added some new features:
- Automatic default ip addressing. The ip addresses will start at 10.0.0.0/16 and carve out prefixes for the various resources based on the recommended minimums
- Default naming conventions. We provide a set of default naming conventions that can be overridden
- Availability Zone lookup. We lookup the availability zones for each region and supply them to the relevant resources
All of these settings can be overridden with your own preferences.
We believe this will be the final significant change to the module interface.
What's Changed
- chore: pre-commit updates by @azure-verified-modules[bot] in #36
- chore: pre-commit updates by @azure-verified-modules[bot] in #38
- chore: pre-commit updates by @azure-verified-modules[bot] in #39
- chore: pre-commit updates by @azure-verified-modules[bot] in #40
- chore: pre-commit updates by @azure-verified-modules[bot] in #41
- chore: pre-commit updates by @azure-verified-modules[bot] in #42
- chore: pre-commit updates by @azure-verified-modules[bot] in #43
- chore: pre-commit updates by @azure-verified-modules[bot] in #44
- chore: pre-commit updates by @azure-verified-modules[bot] in #45
- feat: refactor variables and modules by @jaredfholgate in #46
Full Changelog: v0.11.8...v0.12.0