Terraform 1.8 新增提供者定义函数,优化 AWS、GCP 和 Kubernetes 提供者

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 现已通过 GitHubTerraform Cloud 提供。更多详细信息可在 HashiCorp 博客升级指南变更日志 中找到。

阅读 48
0 条评论