1.7.22.4.1. delete
terraform workspace delete
命令被用以删除已经存在的工作区。
1.7.22.4.1.1. 用法
terraform workspace delete [OPTIONS] NAME [DIR]
该命令被用以删除已经存在的工作区。
被删除的工作区必须已经存在,并且不可以删除当前正在使用的工作区。如果工作区状态不是空的(存在跟踪中的远程对象),Terraform 会禁止删除,除非声明 -force
参数。
另外,不同的 Backend 在没有 -force
参数时可能会有不同的限制,以实现对工作区的安全删除,例如检查工作区是否已上锁。
如果使用 -force
删除非空工作区,那么原本跟踪的资源的状态就将处于"dangling",也就是实际基础设施资源仍然存在,但脱离了 Terraform的 管理。有时我们希望这样,只是希望当前 Terraform 项目不再管理这些资源,交由其他项目管理。但大多数情况下并非这样,所以 Terraform 默认会禁止删除非空工作区。
该命令可以使用如下可选参数:
-force
:删除含有非空状态文件的工作区。默认为false
。-lock=false
:执行时是否先锁定状态文件。如果其他人可能同时对同一工作区运行命令,则这是危险的。-lock-timeout=DURATION
:除非使用-lock=false
禁用锁定,否则命令 Terraform 为上锁操作设置一个超时时长。持续时间语法是一个数字后跟一个时间单位字母,例如“3s”表示三秒。默认为0s
。
例子:
$ terraform workspace delete example
Deleted workspace "example".