Terraform 1.8
This overview applies when the project's target Terraform version is at least 1.8.
Provider capabilities
- Providers can contribute configuration-language functions, called with
provider::provider_name::function_name(). - Providers can declare supported resource-type conversions so a
movedblock can transfer ownership of one remote object between different resource types. issensitive(value)reports whether a value carries the sensitive mark.
Testing and configuration generation
- File-level variables in
.tftest.hclfiles can refer to global variables. - Import-driven configuration generation recognises JSON strings and emits
jsonencodeexpressions for more maintainable generated configuration. - The built-in
terraformprovider exposesdecode_tfvars,encode_tfvars, andencode_exprfunctions for specialised tooling that reads or writes Terraform expression formats.
Plans and provider locks
- Plan JSON includes
applyableandcomplete.applyableindicates whether applying the plan is meaningful;complete = falseindicates that another plan and apply round may be required for convergence. terraform providers lock -enable-plugin-cachepermits lock generation to use the configured global provider cache.- List changes of equal length render as element-by-element diffs using correlated indices.