Loading...
Loading...
### Terraform Version ```shell Terraform v1.15.0 on windows_amd64 + provider registry.terraform.io/azure/alz v0.20.2 + provider registry.terraform.io/azure/azapi v2.9.0 + provider registry.terraform.io/azure/modtm v0.3.5 + provider registry.terraform.io/hashicorp/azurerm v4.70.0 + provider registry.terraform.io/hashicorp/local v2.8.0 + provider registry.terraform.io/hashicorp/random v3.8.1 + provider registry.terraform.io/hashicorp/time v0.13.1 ``` ### Terraform Configuration Files ```terraform variable "required_subscription_keys" { description = "The list of subscription keys that are required to have valid GUIDs. Keys not in this list may be null or empty." type = list(string) default = ["connectivity", "management"] nullable = false } variable "subscription_ids" { description = "The list of subscription IDs to deploy the Platform Landing Zones into" type = map(string) default = {} nullable = false validation { condition = length(var.subscription_ids) == 0 || alltrue([for key, id in var.subscription_ids : contains(var.required_subscription_keys, key) ? can(regex("^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$", id)) : (id == null || id == "" || can(regex("^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$", id)))]) error_message = "Required subscription IDs must be valid GUIDs. Optional subscription IDs must be valid GUIDs, null, or empty." } validation { condition = length(var.subscription_ids) == 0 || alltrue([for id in keys(var.subscription_ids) : contains(["management", "connectivity", "identity", "security"], id)]) error_message = "The keys of the subscription_ids map must be one of 'management', 'connectivity', 'identity' or 'security'" } validation { condition = alltrue([for key in var.required_subscription_keys : contains(keys(var.subscription_ids), key)]) error_message = "All required subscription keys must be present in subscription_ids." } } ``` ### Debug Output ``` ╷ │ Error: Reference to uninitialized variable │ │ on variables.tf line 45, in variable "subscription_ids": │ 45: condition = length(var.subscription_ids) == 0 || alltrue([for key, id in var.subscription_ids : contains(var.required_subscription_keys, key) ? can(regex("^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$", id)) : (id == null || id == "" || can(regex("^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$", id)))]) │ │ The variable var.required_subscription_keys was not processed by the most recent operation, this likely means the previous operation either failed or was incomplete due to targeting. ╵ ╷ │ Error: Reference to uninitialized variable │ │ on variables.tf line 53, in variable "subscription_ids": │ 53: condition = alltrue([for key in var.required_subscription_keys : contains(keys(var.subscription_ids), key)]) │ │ The variable var.required_subscription_keys was not processed by the most recent operation, this likely means the previous operation either failed or was incomplete due to targeting. ╵ ``` ### Expected Behavior There was no error with versions prior to `1.15.0`. ### Actual Behavior Fails with `1.15.0` ### Steps to Reproduce 1. `terraform init` ### Additional Context Spotted in https://github.com/Azure/alz-terraform-accelerator ### References _No response_ ### Generative AI / LLM assisted development? _No response_
Click on a version to see all relevant bugs
Terraform Integration
Learn more about where this data comes from
Bug Scrub Advisor
Streamline upgrades with automated vendor bug scrubs
BugZero Enterprise
Wish you caught this bug sooner? Get proactive today.