命令: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
并使用记录的结构对结果进行解码。
示例:显示资源
下面的示例显示了一个名为 worker
的 packet_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
}
示例:显示模块资源
下面的示例显示了一个名为 worker
的 packet_device
资源,它位于名为 foo
的模块中
$ tofu state show 'module.foo.packet_device.worker'
示例:显示使用 count 配置的资源
下面的示例显示了使用 count
配置的名为 worker
的 packet_device
资源的第一个实例
$ tofu state show 'packet_device.worker[0]'
示例:显示使用 for_each 配置的资源
以下示例展示了名为 worker
的 packet_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\"]