Terraform 0.14 now features a new concise diff renderer that makes it easier to see changes for any Terraform plan.
HashiCorp Terraform 0.14 includes a new, experimental, on-by-default, concise diff renderer. This small but significant new behavior is designed to help practitioners quickly understand what changes Terraform is about to make to existing infrastructure.
Terraform 0.12 introduced a new plan file format and structural diff renderer, which was a significant change from 0.11. Most notably, for updated resources, Terraform moved from showing only the changed attribute path/values, to showing the entire resource with changed values prefixed with ~
.
For plans which slightly change existing resources, this can result in very large diffs which make it difficult to reason about the actual changes.
The diff renderer used by terraform plan
, terraform apply
, and terraform show <planfile>
has been updated to hide unchanged and irrelevant fields. This means:
id
, name
, and tags
, even if unchangedstring
, number
, or bool
map
, set
, and object
list
and tuple
If any attributes, collection elements, or blocks are hidden, a count will be kept and displayed at the end of the parent scope. This ensures that the diff is clearly only displaying a subset of the resource.
Changed primitive values will render as before: prefixed with a ~
, and showing the old and new value. Any hidden attributes will be counted, and the total displayed at the end of the resource:
Unordered collections (sets or maps) with added or removed elements will use the same approach:
Sequences (lists or tuples) will display context around changes:
Any nested blocks for a resource that are unchanged will also be counted and the total displayed:
When color is enabled, these hidden value counts will be displayed in a lower-contrast color.
Changes to attributes:
Adding a new block:
We have many resources available for 0.14 for new and existing users. To learn more about the new functionality of 0.14 you can:
To get started using 0.14:
For more details, please see the full changelog. This release also includes a number of code contributions from the community and wouldn't have been possible without all of the great community feedback we've received via GitHub issues and elsewhere. Thank you!
HashiCorp Terraform 0.14 is the next step on our way to solidifying the Terraform ecosystem and empowering collaborative workflows at organizations of all sizes. You can download Terraform 0.14 here and sign up for a Terraform Cloud account here.
Version 5.0 of the HashiCorp Terraform AWS provider brings improvements to default tags, allowing practitioners to set tags at the provider level.
Learn how HashiCorp Terraform supports the deployment of Azure Linux container host for Azure Kubernetes Service (AKS).
New CI/CD pipeline templates for GitHub Actions and GitLab CI provide prescriptive guides for integrating with Terraform Cloud, and a new integration tool can help build workflows with other CI/CD platforms.