Terraform 1.15
This overview applies when the project's target Terraform version is at least 1.15.
Modules and types
- Module
sourceandversionarguments can refer to variables and local values. Commands that resolve modules therefore accept variable inputs. - Output blocks can declare an explicit type constraint, allowing an output's public contract to be checked and converted at the module boundary.
convert(value, type)performs an explicit inline type conversion using a type expression.
Deprecation
- Variable and output blocks can set
deprecatedto emit warnings when callers assign the variable or consumers reference the output. - Provider-supplied deprecation messages for resources, blocks, and attributes appear in Terraform's warning diagnostics.
CLI, testing, and platforms
terraform validatevalidates backend type and configuration. Workflows that supply partial backend settings with-backend-configmust account for the validation behaviour of the installed patch release.- Terraform test mock blocks can define functions.
- Saved plans are workspace-bound; applying a plan created for another workspace raises an error.
- Windows ARM64 is an official build target.
- The S3 backend supports authentication through
aws login.
Experimental alpha features
- Alpha builds can allow deferred actions with
terraform plan -allow-deferral, including unknowncountandfor_eachvalues. This remains unavailable in stable Terraform 1.15. - Alpha builds include persistent failed-test state,
terraform test cleanup, test backends, andskip_cleanup. Do not rely on these features in stable configurations.