# Terraform 1 8

> Apply Terraform 1.8 language, CLI, state, testing, migration, and behaviour changes. Load for Terraform work targeting 1.8 or later when the model's knowledge may predate the 2024-04-10 release.

- Skill: `cedws/terraform-1-8` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add cedws/terraform-1-8`
- Raw SKILL.md: https://api.skillmd.com/api/skills/cedws/terraform-1-8/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: DevOps & Infra
- Author: cedws (https://skillmd.com/u/cedws)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/cedws/terraform-1-8

---


# 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 `moved` block 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.hcl` files can refer to global variables.
- Import-driven configuration generation recognises JSON strings and emits `jsonencode` expressions for more maintainable generated configuration.
- The built-in `terraform` provider exposes `decode_tfvars`, `encode_tfvars`, and `encode_expr` functions for specialised tooling that reads or writes Terraform expression formats.

## Plans and provider locks

- Plan JSON includes `applyable` and `complete`. `applyable` indicates whether applying the plan is meaningful; `complete = false` indicates that another plan and apply round may be required for convergence.
- `terraform providers lock -enable-plugin-cache` permits lock generation to use the configured global provider cache.
- List changes of equal length render as element-by-element diffs using correlated indices.

