Terraform 1.9 正式发布:增强输入变量验证与新功能
HashiCorp 已宣布 Terraform 1.9 的正式发布,该版本引入了多项新功能和改进,旨在提升开发者的生产力和代码可靠性。这一版本的基础设施即代码工具现已可供下载,并可在 HCP Terraform 中使用。
输入变量验证的扩展
Terraform 1.9 的一个关键改进是输入变量验证的扩展。此功能最初在 Terraform 0.13 中引入,允许开发者在执行前确保输入变量值符合特定要求。在之前的版本中,输入验证的条件块只能引用变量本身。在新版本中,条件现在可以引用其他输入变量、数据源和本地值,从而显著扩大了验证场景的范围。
这一增强使得输入验证更加复杂和动态,减少了由于无效或意外用户输入导致的配置错误和误配置的可能性。例如,开发者现在可以创建检查多个变量之间关系的验证,或根据动态检索的数据验证输入。
新功能:templatestring 函数
Terraform 1.9 还引入了新的 "templatestring" 函数。这个内置函数旨在动态渲染模板(例如从数据源结果中获取的模板),而无需将其保存到本地磁盘。该函数接受两个参数:当前模块中命名字符串对象的直接引用,以及表示要插入的模板变量的对象。
这一新功能非常适用于从外部位置检索模板、转换它们并将其传递给其他资源。HashiCorp 提供了一个示例,演示如何使用 "templatestring" 从 HTTP 位置检索 Kubernetes 资源清单模板,注入输入变量和资源引用,然后在 kubernetes\_manifest 资源中使用它。
现有功能的改进
Terraform 1.9 还包括对现有功能的改进。hashicorp/null 提供程序中已弃用的 null\_resource 类型现在可以直接使用 moved 块重构为新的 terraform\_data 资源类型。此增强功能基于在 Terraform 1.8 中引入的跨类型重构功能,使开发者能够更轻松地现代化其代码。
此外,移除的块现在可以声明在关联的资源实例被销毁时要执行的 provisioner。这一功能在开发者希望从其配置中移除资源声明但仍希望执行销毁时的 provisioner 的场景中非常有用。
获取与升级
有兴趣探索新功能的用户可以下载 Terraform 1.9 或注册免费的 HCP Terraform 账户。HashiCorp 还提供了从先前版本升级的指南,并通过 HashiCorp Developer 提供实践教程。
社区反馈
与之前的版本一样,HashiCorp 承认社区反馈在塑造 Terraform 1.9 新功能和改进中的作用。公司鼓励用户继续通过 GitHub 问题、HashiCorp Discuss 论坛和直接客户互动提供反馈,以帮助指导该工具的未来开发。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。