命令:refresh
tofu refresh
命令读取所有受管远程对象中的当前设置,并将 OpenTofu 状态更新为匹配。
警告
此命令已弃用,因为如果您对任何提供者的凭据配置错误,它的默认行为是不安全的。有关更多信息和推荐的替代方案,请参见下文。
这不会修改您的实际远程对象,但会修改 OpenTofu 状态。
您通常不需要使用此命令,因为 OpenTofu 会自动执行与在 tofu plan
和 tofu apply
命令中创建计划时相同的刷新操作。此命令主要用于向后兼容,但我们不建议使用它,因为它在更新状态之前没有提供任何机会来查看操作的效果。
用法
用法:tofu refresh [选项]
此命令实际上是以下命令的别名
tofu apply -refresh-only -auto-approve
因此,它支持与 tofu apply
相同的所有选项,只是它不接受保存的计划文件,不允许选择除“仅刷新”之外的任何规划模式,并且 -auto-approve
始终处于启用状态。
注意
在 模块来源、后端配置 或 加密块 中使用变量需要在运行 tofu refresh
时 将值分配给根模块变量。
自动应用刷新的效果存在风险。如果您对一个或多个提供者的凭据配置错误,OpenTofu 可能会被误导认为所有受管对象都被删除,从而导致它在没有任何确认提示的情况下删除所有跟踪对象。
相反,我们建议使用以下命令来获得相同的效果,但有机会在将更改提交到状态之前查看 OpenTofu 检测到的更改
tofu apply -refresh-only
此替代命令将显示一个交互式提示,供您确认检测到的更改。