I’m contributor to some tooling which updates provisioner and module versions automatically in the HCL code.
With the introduction of of 0.13 and private registries these declarations have changed significantly.
This brings me to my question, are there plans how long 0.12 and the 0.12 style declarations will be officially supported?
I could’nt find anything regarding this topic. Thanks!
Hi @secustor,
The 0.13 provider requirements syntax is a superset of the 0.12 syntax, so if you implement what 0.13 understands then it should support modules written for 0.12 too as long as you are working only with official providers. (Terraform 0.12 and earlier had no sense of “unofficial providers”, so there was no explicit way to talk about those in the configuration.)
When I say “what 0.13 understands” here I specifically mean that the items in the required_providers
block can either be an object with attributes or just strings. Terraform 0.13 understands the string ">= 1.0.0"
as a shorthand for { version = ">= 1.0.0" }
for backward compatibility with the 0.12 syntax, and we have no current plans to remove support for that shorthand.