github Azure/terraform-azurerm-avm-ptn-alz-connectivity-virtual-wan v0.12.0

3 days ago

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 enabled inputs 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_hubs variable, meaning they are no longer supported in the virtual_wan_settings object.

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

Don't miss a new terraform-azurerm-avm-ptn-alz-connectivity-virtual-wan release

NewReleases is sending notifications on new releases.