Terraform 1.8 版本发布:提升扩展性与重构功能
HashiCorp 发布了 Terraform 1.8 版本,这是其基础设施即代码(IaC)语言的最新版本。此次更新主要引入了提供者定义函数,并改进了跨资源类型的重构功能。
提供者定义函数
提供者定义函数允许在特定提供者中创建自定义函数,用于处理计算类任务。这些函数可以在任何 Terraform 表达式中使用,调用语法为:provider::provider_name::function_name()。它们可以执行多种任务,包括数据转换、数据解析、数据组装以及简化验证和断言。
提供者更新
多个 Terraform 提供者已更新以支持提供者定义函数:
- AWS 提供者 5.40 版本:新增了用于解析和构建 ARN(Amazon 资源名称)的函数,如
arn_parse,可用于检索给定资源的账户 ID。 - Google Cloud 提供者 5.23 版本:新增了用于从资源 ID 中解析区域、区域、名称和项目的函数。
- Kubernetes 提供者 2.28 版本:新增了用于将 Kubernetes 清单编码和解码为 Terraform 的函数。
Visual Studio Code 扩展更新
HashiCorp Terraform 的 Visual Studio Code 扩展 2.30.0 版本新增了对提供者定义函数的语法高亮和自动补全支持。
OpenTofu 的计划
OpenTofu(Terraform 的一个分支)计划在未来的版本中添加对提供者定义函数的支持。目前,OpenTofu 的版本为 1.6.2,计划在 1.8 版本中实现这一功能。
重构功能改进
Terraform 1.8 还引入了新的功能,支持在不同资源类型之间更快、更少错误地移动资源。这增强了 moved 块的行为,支持在声明可以从源资源类型转换的目标资源类型之间移动资源。提供者可以添加此支持以处理各种用例,例如重命名提供者或拆分资源。
获取方式
Terraform 1.8 现已通过 GitHub 或 Terraform Cloud 提供。更多详细信息可在 HashiCorp 博客、升级指南 和 变更日志 中找到。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。