1.7.18.1. state

terraform state 命令可以用来进行复杂的状态管理操作。随着你对 Terraform 的使用越来越深入,有时候你需要对状态文件进行一些修改。由于我们在状态管理章节中提到过的,状态文件的格式属于 HashiCorp 未公开的私有格式,所以直接修改状态文件是不适合的,我们可以使用 terraform state 命令来执行修改。

该命令含有数个子命令,我们会一一介绍。

1.7.18.1.1. 用法

terraform state <subcommand> [options] [args]

1.7.18.1.2. 远程状态

所有的 state 子命令都可以搭配本地状态文件以及远程状态使用。使用远程状态时读写操作可能用时稍长,因为读写都要通过网络完成。备份文件仍然会被写入本地磁盘。

1.7.18.1.3. 备份

所有会修改状态文件的 terraform state 子命令都会生成备份文件。可以通过 -backup 参数指定备份文件的位置。

只读子命令(例如 list )由于不会修改状态,所以不会生成备份文件。

注意修改状态的 state 子命令无法禁用备份。由于状态文件的敏感性,Terraform 强制所有修改状态的子命令都必须生成备份文件。如果你不想保存备份,可以手动删除。

1.7.18.1.4. 命令行友好

state 子命令的输出以及命令结构都被设计得易于同 Unix 下其他命令行工具搭配使用,例如 grep、awk 等等。同样的,输出结果也可以在 Windows 上轻松使用 PowerShell 处理。

对于复杂场景,我们建议使用管道组合 state 子命令与其他命令行工具一同使用。

1.7.18.1.5. 资源地址

state 子命令中大量使用了资源地址,我们在资源地址章节中做了相关的介绍。

results matching ""

    No results matching ""