Updated to 0.12.14 today and started receiving the 0.12 changes warning…
"Terraform 0.11 and earlier required all non-constant expressions to be provided via interpolation syntax, but this pattern is now deprecated. To silence this warning, remove the “${ sequence from the start and the }” sequence from the end of this expression, leaving just the inner expression.
Template interpolation syntax is still used to construct strings from expressions when the template includes multiple interpolation sequences or a mixture of literal strings and interpolations. This deprecation applies only to templates that consist entirely of a single interpolation sequence."
This was my code… (the variable are variables that are substituted)
resource “azuread_application” “go-1” {
name = “azappregprefix-azwebapp1”
available_to_other_tenants = false
oauth2_allow_implicit_flow = true
required_resource_access {
resource_app_id = “00000002-0000-0000-c000-000000000000”
resource_access {
id = “nnnnnn-nnnnnn-nnnnn-nnnnnn-nnnnnnnnn”
type = “Scope”
}
}
}
resource “azuread_service_principal” “go-1” {
application_id = "azuread_application.go-1.application_id"
}
After changing to match the 0.12 rules, the last line errors on VALIDATE (in bold above in the code)…
Error: “application_id” isn’t a valid UUID (“azuread_application.go-1.application_id”): uuid string is wrong length
*** on main.tf line 74, in resource “azuread_service_principal” “go-1”:***
*** 74: resource “azuread_service_principal” “go-1” {***
As far as I’m concerned this follows what is documented here…
Is this now broken?
It passes OK as…
application_id = “${azuread_application.go-1.application_id}”
…but with the warnings