命令:state replace-provider
tofu state replace-provider
命令用于替换 OpenTofu 状态 中资源的提供程序。
用法
用法:tofu state replace-provider [选项] FROM_PROVIDER_FQN TO_PROVIDER_FQN
此命令将更新使用“from”提供程序的所有资源,并将提供程序设置为指定的“to”提供程序。这允许更改当前在状态中具有资源的提供程序的源。
此命令将在保存任何更改之前输出状态的备份副本。无法禁用备份。由于此命令具有破坏性,因此需要备份。
此命令还接受以下选项
-
-auto-approve
- 跳过交互式批准。 -
-lock=false
- 在操作期间不持有状态锁。如果其他人可能同时对同一工作区运行命令,则此操作很危险。 -
-lock-timeout=0s
- 重试状态锁的持续时间。 -
-var 'NAME=VALUE'
- 为配置根模块中声明的单个 输入变量 设置值。多次使用此选项可设置多个变量。有关更多信息,请参阅 命令行上的输入变量。 -
-var-file=FILENAME
- 使用来自 “tfvars”文件 中的定义,为配置根模块中声明的可能多个 输入变量 设置值。多次使用此选项可包含来自多个文件的值。
除了 -var
和 -var-file
选项外,还有几种其他方法可以为根模块中的输入变量设置值。有关更多信息,请参阅 为根模块变量赋值。
对于仅使用 cloud
后端 或 remote
后端 的配置,tofu state replace-provider
还接受选项 -ignore-remote-version
。
对于仅使用 local
状态 的配置,tofu state replace-provider
还接受旧版选项 -state
、-state-out
和 -backup
。
示例
以下示例将 hashicorp/aws
提供程序替换为 acme
的一个分支,该分支托管在 registry.acme.corp
的私有注册表中。
$ tofu state replace-provider hashicorp/aws registry.acme.corp/acme/aws