跳至主要内容

命令:workspace new

tofu workspace new 命令用于创建一个新的工作区。

用法

用法:tofu workspace new [OPTIONS] NAME [DIR]

此命令将使用给定的名称创建一个新的工作区。此名称的工作区必须不存在。

如果给出了-state标志,则会复制给定路径指定的 state 来初始化此新工作区的 state。

命令行标志都是可选的。支持的标志包括:

  • -lock=false - 在操作期间不持有 state 锁。如果其他人可能同时对同一工作区运行命令,则此操作很危险。

  • -lock-timeout=DURATION - 重试 state 锁定的持续时间。默认值为 0 秒。

  • -state=path - 要初始化此环境 state 的现有 state 文件的路径。

  • -var 'NAME=VALUE' - 为配置根模块中声明的单个 输入变量 设置值。多次使用此选项可设置多个变量。有关更多信息,请参阅 命令行上的输入变量

  • -var-file=FILENAME - 使用来自 “tfvars” 文件 的定义,为配置根模块中声明的多个 输入变量 设置值。多次使用此选项可包含来自多个文件的值。

除了-var-var-file选项外,还有其他几种方法可以为根模块中的输入变量设置值。有关更多信息,请参阅 为根模块变量赋值

示例:创建

代码块
$ tofu workspace new example
Created and switched to workspace "example"!

You're now on a new, empty workspace. Workspaces isolate their state,
so if you run "tofu plan" OpenTofu will not see any existing state
for this configuration.

示例:从 State 创建

要从预先存在的本地 state 文件创建新的工作区

代码块
$ tofu workspace new -state=old.terraform.tfstate example
Created and switched to workspace "example".

You're now on a new, empty workspace. Workspaces isolate their state,
so if you run "tofu plan" OpenTofu will not see any existing state
for this configuration.