1.9.0 版本更新说明:
新功能:
- 提供者迭代(
for_each
):通过在提供者上使用for_each
,可以减少多区域或多可用区部署中的代码重复。此功能允许在多个区域或可用区之间迭代提供者配置,从而简化代码管理。 -exclude
标志:在执行计划和应用操作时,新增了-exclude
标志,允许用户排除特定资源或模块,提供更灵活的操作控制。
现有功能改进:
- 早期评估改进:增强了变量和本地值的早期评估功能,提高了配置的灵活性和可维护性。
- 加密改进:改进了状态文件和计划文件的加密机制,增强了安全性,确保敏感信息得到更好的保护。
- 后端改进:优化了后端配置,提升了与不同存储服务的兼容性和性能。
- CLI 改进:命令行界面进行了多项改进,包括更直观的命令输出和更友好的用户提示,提升了用户体验。
- 性能提升:通过优化内部处理流程,提升了整体性能,减少了资源消耗和执行时间。
弃用:
- 使用
ghcr.io/opentofu/opentofu
作为基础镜像:建议用户迁移到新的基础镜像,以获得更好的支持和更新。
错误修复:
- 修复了多个已知问题,提升了系统的稳定性和可靠性。
请注意,在使用提供者迭代功能时,有以下限制:
- 仅可对静态可获取的变量和本地值使用
for_each
,依赖于数据源或资源的表达式当前不可用。 - 对于已部署的基础设施,不应直接从列表中移除提供者,否则可能导致无法销毁相应区域的基础设施。建议先移除该区域的资源,然后再从列表中删除提供者。
- 在此版本中,每个在
for_each
中使用的提供者必须有一个别名。由于技术原因,目前不支持没有别名的提供者。 - 当前无法传递一组提供者给模块,只能逐个传递。