What Is New in Terraform 1.14
Terraform 1.14 introduces powerful new capabilities for querying existing infrastructure and executing custom provider actions beyond standard CRUD operations.
This release adds list resources, a dedicated query command, and a new actions block, along with several testing and backend improvements.
| Category | Key Changes |
|---|---|
| New Features | List Resources with *.tfquery.hcl files, terraform query command, GenerateResourceConfiguration RPC, top-level Actions block for imperative operations |
| Enhancements | Verbose test diagnostics, improved test cleanup, terraform stacks -help support, offline query validation, AWS European Sovereign Cloud support |
| Bug Fixes | Import variable handling, OSS backend proxy support, diagnostics for missing resources, unique list resource identifiers, action summary in apply, filesystem function consistency, better query error handling |
| Upgrade Notes | Possible reduced parallelism in container runtimes, macOS Monterey or later required for building |
List Resources and Query Command
Terraform 1.14 introduces list resources defined in *.tfquery.hcl files. These allow you to query and filter existing infrastructure directly.
The new terraform query command executes these list operations and can optionally generate configuration ready for import.
In practice, this feature significantly reduces manual work when bringing existing cloud resources under Terraform management.
Actions Block for Imperative Operations
A new top-level actions block lets providers define custom operations outside the normal CRUD lifecycle, such as invoking a Lambda or creating a CloudFront invalidation.
You can trigger these actions during resource lifecycle events or explicitly with the -invoke CLI flag.
This expands Terraform's capabilities for handling side-effect operations that many teams previously solved with external scripts.
Testing and CLI Improvements
Running terraform test in verbose mode now includes expected diagnostics in the output. The test framework also ignores prevent_destroy during cleanup.
The CLI now shows a summary of how many actions were invoked during terraform apply, matching the plan output.
These changes make test results clearer and apply output more consistent when using the new actions feature.
Backend and Import Fixes
Terraform import now correctly retrieves all workspace variables, including those inherited from variable sets.
OSS backend proxy support has been fixed by adding a dedicated proxy layer. Several query-related error handling issues were also resolved.
Teams working with remote backends or large variable sets will see more reliable import behavior.
FAQ
What are list resources in Terraform 1.14?
List resources are a new type defined in *.tfquery.hcl files that let you query and filter existing infrastructure.
How do I run queries against existing resources in Terraform 1.14?
Use the new terraform query command. It can also generate import-ready configuration from the results.
What is the new actions block for?
The actions block allows providers to define imperative operations (like Lambda invocation) that run outside normal resource CRUD lifecycle.
Does terraform test behavior change in version 1.14?
Yes, verbose mode now shows expected diagnostics, and prevent_destroy is ignored during test cleanup.
Are there any build requirements changed in Terraform 1.14?
Building Terraform 1.14 requires macOS Monterey or later due to the updated Go version used.