Skip to content

What's New

This page tracks the latest content updates to the Terraform Developer Accelerator and highlights which Terraform features they cover. Use it as a quick reference to see what has been added or expanded across the learning path.


  • Variable validation rules — enforce constraints on input variables with validation blocks, including pattern matching, allowed values, and numeric range checks. Cross-variable validation (Terraform 1.9+) lets conditions reference other variables, data sources, and locals.
  • Optional object attributes — use the optional() type modifier to mark individual attributes in an object variable as optional, with support for inline defaults.
  • Provider-defined functions — call custom functions supplied by a provider using the provider::name::function syntax, extending the built-in function library with provider-specific logic (Terraform 1.8+).
  • Dynamic blocks — generate repeated nested blocks programmatically from a collection using for_each, replacing hand-written duplicates with a single template.
  • Sensitive outputs CLI — added a note on retrieving sensitive output values using terraform output <name> and terraform output -json.
  • Ephemeral values — variables, outputs, and resources that exist only for the duration of a Terraform operation and are never persisted to state or plan files (Terraform 1.10+).
  • Write-only arguments — resource arguments that accept a value during apply but are never read back or stored in state, keeping secrets out of state entirely (Terraform 1.11+).
  • The removed block — drop a resource from Terraform state without destroying the real infrastructure, useful when you want to stop managing a resource or refactor between modules (Terraform 1.7+).
  • Test mocking — use mock providers, resources, and data sources in terraform test to validate module logic without provisioning real infrastructure (Terraform 1.7+).
  • Preconditions and postconditions — attach validation rules to resources, data sources, or outputs that check assumptions before apply and verify guarantees after apply.
  • The terraform_data resource — store arbitrary values in state and trigger re-provisioning through triggers_replace, replacing the older null_resource pattern with a built-in resource (Terraform 1.4+).
  • Cheat sheet — expanded with additional CLI commands and subcommands.
  • Glossary — new entries added for features covered in this update, including ephemeral values, provider-defined functions, the removed block, terraform_data, and preconditions/postconditions.