OpenTofu 1.13 发布:内置代码检查,规划阶段可解析更多表达式

资讯 AI 行业观察 作者:作者:Mark Silvester 全文 1558 字 · 约 4 分钟读完

OpenTofu 发布了 1.13 版本,新增了一些函数,帮助模块作者在规划阶段解析更多表达式。当 count 或 for_each 使用的键原本会保持未知状态时,类型和值提示可以解除规划阻塞。规划器无需知道资源最终的全部属性,就能确定要创建多少个资源实例;这些属性可以继续保持未知,直至应用阶段。 OpenTofu 维

OpenTofu 1.13 版本已发布,新增若干函数,让模块作者在规划阶段能解析更多表达式。count 或 for_each遇到原本会保持未知状态的键时,类型和值提示可以解除规划阻塞。规划器不必掌握资源最终的全部属性,就能确定要创建多少个资源实例;这些属性可以继续未知,等到应用阶段再定。这项设计由 OpenTofu 维护者 Martin Atkins 在一份 RFC 中提出,相关实现已于 8 月合并。更早的一个 Issue 中,报告者 csar398 希望保留 YAML 输入,但解码后的值用于控制

count时,规划无法完成。yamldecode可能返回多种不同类型,null 值也在其中。所以输入未知时,规划器既定不了类型,也没法保证结果不为 null。Atkins 解释这一限制时写道:“……这种情况实在太复杂,OpenTofu 无法自行自动推断。”

convert函数能把值转换成指定类型,这样即便 YAML 输入未知,yamldecode的结果也会带有已知的对象类型。对于条件资源,把这种转换和assumenotnull搭配起来,基于值是否为 null 的count表达式就能解析为 0 或 1,对象内容则依旧未知。作者必须保证生成的 YAML 始终表示指定类型的对象,且永远不会是 null。如果某个规划阶段未知的值之后违反了这一保证,OpenTofu 会在应用阶段报错。

Terraform 在 1.15 版本中率先发布了同等convert函数。Atkins 后来在 OpenTofu 的一个 Issue 中写道:“Terraform 已经提供了同等功能,其语法与我在这里提出的方案完全相同。”于是该项目决定沿用与 Terraform 一致的设计。

实验性代码检查包含四项内置警告规则,其中包括core:unused-variable 和 core:count-instead-enabled。使用 tofu validate、tofu plan 或 tofu apply只要打开相应开关,就能借助-lint=all启用上述规则。项目维护者在代码检查提案里把这项功能称作呼声最高的需求;后续计划还包括自定义规则,以及覆盖范围更广的策略检查。TFLint 早已提供插件式静态分析,其中就有面向云服务商的检查项。

另有一项可选开启的实验性能力叫 Symbol Libraries,靠*.sym.hcl文件来共享函数与类型定义。库本身无法直接碰资源、数据源或提供商函数,不过调用方可以把资源值传给库函数。团队打算在 1.14 版本中让这项功能转为稳定。

1.13 版本从remote-exec 和 fileProvisioner 里撤掉了 Windows 远程管理(WinRM)支持,同时改变了base64gzip的输出字节数,并把系统门槛提到 macOS 13 Ventura 及以上;这一系列也是最后一个提供官方 32 位构建的版本线。此外新增了面向 Windows ARM64 的软件包。已有的 WinRM 配置需要迁移,而base64gzip底层 Go 库的改动即使解压出来的结果一样,也可能让资源触发更新。

为了跟 Go 的发布节奏对上,OpenTofu 压缩了开发周期,1.13.x 系列的支持期将延续到 2027 年 8 月 1 日。10 月 21 日该项目放出了 1.13.2 版本。两项安全改动分别处理了连上攻击者控制的 HTTP/2 服务器时tofu init可能大量占用 CPU 的问题,并对已遭入侵的中间证书做了过滤。这个补丁还修掉了使用 Symbol Libraries 的已保存规划在应用时出现的毛病。

本文由本站编辑组整理与排版,内容基于公开信息核实后归纳发布,与文中提及的产品、公司无隶属关系。我们持续跟踪 AI 领域的模型、产品与行业动态,力求信息准确、表述清晰;文中涉及的名称、价格与功能细节可能随官方调整而变化,请以官方最新说明为准。如发现疏漏或表述有误,欢迎通过站内渠道反馈指正。

相关推荐 按相关度与热度排序

全部资讯 →
  1. 潇潇项目被裁后求职受阻:AI战争下策划如何幸存?

    落败 2025年的某天,潇潇所在的项目突然被内部评估为“赛道前景不大”,随后被取消。那是某个大厂的搜打撤项目,已经开发接近2年,潇潇在项目里担任系统及关卡负责人。项目被取消后,他需要寻找能够接纳他的新项目。 一开始,潇潇只是感到有些可惜,但觉得影响不大。毕竟当时市场上的搜打撤赛道正火热。可他没想到,当他准备寻找新项目时

    来源 AI 行业观察
  2. 埃森哲报告被指15条引用造假:AI幻觉还是编造案例?

    IT之家 11 月 8 日消息,埃森哲(Accenture)被指发布了一份充斥人工智能“幻觉”的研究报告,其中不仅包含大量虚假信息,还出现了多处疑似捏造的研究案例。据 GPTZero 最新分析,这家咨询巨头发布的一份报告涉嫌包含 15 条虚假引用,以及完全虚构的案例研究,因此正受到外界审查。这份名为《跨越式发展》(Le

    来源 腾讯网
  3. AI照护助手功能升级,照护者的休息与金钱难题仍未解

    面向家庭照护者的应用正加速引入人工智能:整理病历、提醒用药、监测异常、提供情感陪伴,管理效率显著提升。然而,照护者真正的困境——经济压力、睡眠不足、情感耗竭与社会支持缺位——并不会因一个更聪明的App而消失。本文梳理AI照护工具的进展与局限,并追问:技术之外,我们还需要什么?

    来源 AI 行业观察
  4. 日立第九次参展进博会:570平方米展台聚焦四大事业场景

    由商务部和上海市人民政府主办的“第九届中国国际进口博览会”(以下简称“进博会”)于11月5日至10日在上海国家会展中心举办。株式会社日立制作所(以下简称“日立”)继2018年首次参展以来,今年第九次携手在华各集团公司联合出展,于“技术装备”展区设置了总面积570平方米的展台。 日立展台 当前,日立正通过融合IT、OT(

    来源 AI 行业观察
  5. ChatGPT账号突遭停用,Pro用户也被波及

    【TechWeb】最近,ChatGPT用户圈突然出现一波账号停用风波,连每月花费200美元订阅Pro服务的用户也未能幸免。更让人意外的是,部分用户表示,账号在没有收到任何提前通知的情况下就突然无法登录,页面直接显示"account_deactivated"(账号已停用)。 近日,多名用户在Reddit和OpenAI官方

    来源 AI 行业观察
  6. OpenAI们成苹果真正对手:Siri落后,特努斯催费德里吉交新路线图

    【TechWeb】由于成本上涨剥夺了安卓手机的价格优势,苹果对安卓平台的侵蚀已不再担忧,真正危险的敌人换成了那些AI大厂。 iOS 27.3版Siri虽能实现更多自动化任务,但与最强大的智能体相比仍相去甚远。若不能迎头赶上,一旦OpenAI、谷歌甚至Anthropic有心发布一款集成前沿模型的个人终端,iPhone或许

    来源 AI 行业观察
向下滚动自动加载更多