编程 Terraform 1.16.0 发布解读:planned private data、模块内 import 与 lifecycle destroy 保护

2026-09-09 10:25:26

Terraform 1.16.0 发布解读:planned private data、模块内 import 与 lifecycle destroy 保护

HashiCorp Terraform 于 2026 年 8 月 26 日发布 1.16.0。本版本集中在 plan/apply 之间的数据保留、import 与资源保护能力上,并新增了 Linux s390x 预编译二进制。

新功能(NEW FEATURES)

计划私有数据(planned private data):Terraform 现在可为 provider 保存计划期私有数据,使 provider 特有的状态能在 plan 与 apply 之间保留;配套地,terraform_data 新增 store 块,可跨 plan/apply 持有 ephemeral 与敏感值。

import 能力扩展import 块现在可以在模块内使用;同时修复了 import 块对 provider 本地名称的解析。

provider 嵌套块计算值:provider 可将嵌套块作为计算值使用。

Linux s390x(zLinux)支持:Terraform 开始提供 s390x 预编译二进制。

资源动作触发器on_failure 支持 halttaintcontinue 三种模式。

增强与修复

  • state showworkspace list 支持 -json 机器可读输出;
  • terraform graph 新增 -format=mermaid 输出 Mermaid 格式依赖图;
  • lifecycle 块支持 destroy = false,可防止资源被销毁;
  • terraform console 支持 -scope=<module address> 限定求值范围;
  • contains() 函数可测试 null 值,merge() 不再因 null 对象 panic;
  • 测试中设置 skip_cleanup 时会报告遗留资源;
  • Actions 支持 before_destroy / after_destroy 事件,且按所有资源依赖顺序触发。

升级注意bastion_host_key 现在会被 provisioner 正确应用,升级前请核对 provisioner 配置。

适用场景

  • 在 plan/apply 间传递敏感或 ephemeral 值的 provider/模块作者可用 store 块;
  • 模块化 import 治理的大型基础设施团队可直接在模块内声明 import;
  • 对生产资源增加 destroy = false 保护,避免误删。

来源:Terraform v1.16.0 Release

复制全文 生成海报 Terraform IaC 基础设施 DevOps

推荐文章

程序员茄子在线接单