跳至主要内容

命令:state show

tofu state show 命令用于显示 OpenTofu 状态 中单个资源的属性。

用法

用法:tofu state show [选项] ADDRESS

该命令将显示状态文件中与给定地址匹配的单个资源的属性。

此命令需要指向状态中单个资源的地址。地址采用 资源寻址格式

命令行标志都是可选的。以下标志可用

  • -state=path - 状态文件路径。默认为“terraform.tfstate”。当使用 远程状态 时忽略。

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

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

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

tofu state show 的输出 предназначено для человеческого восприятия, а не для программного. 为了提取可用于其他软件的状态数据,请使用 tofu show -json 并使用记录的结构对结果进行解码。

示例:显示资源

下面的示例显示了一个名为 workerpacket_device 资源

代码块
$ tofu state show 'packet_device.worker'
# packet_device.worker:
resource "packet_device" "worker" {
billing_cycle = "hourly"
created = "2015-12-17T00:06:56Z"
facility = "ewr1"
hostname = "prod-xyz01"
id = "6015bg2b-b8c4-4925-aad2-f0671d5d3b13"
locked = false
}

示例:显示模块资源

下面的示例显示了一个名为 workerpacket_device 资源,它位于名为 foo 的模块中

代码块
$ tofu state show 'module.foo.packet_device.worker'

示例:显示使用 count 配置的资源

下面的示例显示了使用 count 配置的名为 workerpacket_device 资源的第一个实例

代码块
$ tofu state show 'packet_device.worker[0]'

示例:显示使用 for_each 配置的资源

以下示例展示了名为 workerpacket_device 资源的 "example" 实例,该实例配置了 for_each 元参数。当资源名称包含双引号等特殊字符时,您必须将资源名称放在单引号中。

Linux、Mac OS 和 UNIX

代码块
$ tofu state show 'packet_device.worker["example"]'

PowerShell

代码块
$ tofu state show 'packet_device.worker[\"example\"]'

Windows cmd.exe

代码块
$ tofu state show packet_device.worker[\"example\"]