Команда: state show
Команда tofu state show используется для отображения атрибутов отдельного ресурса в состоянии OpenTofu.
Использование
Использование: tofu state show [options] ADDRESS
Команда отображает атрибуты отдельного ресурса в файле состояния, соответствующего указанному адресу.
Для этой команды требуется адрес, указывающий на отдельный ресурс в состоянии. Адреса имеют формат адресации ресурсов.
Использование переменных в источниках модулей, конфигурации бэкенда или блоке шифрования требует назначения значений переменным корневого модуля при запуске tofu show.
Все флаги командной строки являются необязательными. Доступны следующие флаги:
-
-state=path— путь к файлу состояния. По умолчанию используется "terraform.tfstate". Игнорируется при использовании удаленного состояния. -
-var 'NAME=VALUE'— задает значение для одной входной переменной, объявленной в корневом модуле конфигурации. Используйте этот параметр несколько раз, чтобы задать значения для нескольких переменных. Дополнительные сведения см. в разделе Входные переменные в командной строке. -
-var-file=FILENAME— задает значения для потенциально большого числа входных переменных, объявленных в корневом модуле конфигурации, используя определения из файла "tfvars". Используйте этот параметр несколько раз, чтобы включить значения из нескольких файлов. -
-show-sensitive— если указан, будут отображаться конфиденциальные значения.
Помимо параметров -var и -var-file, существует несколько других способов задать значения входных переменных в корневом модуле. Дополнительные сведения см. в разделе Назначение значений переменным корневого модуля.
Вывод tofu state show предназначен для просмотра человеком, а не для программной обработки. Чтобы извлечь данные состояния для использования в другом программном обеспечении, используйте tofu show -json и декодируйте результат согласно документированной структуре.
Пример: отображение ресурса
В приведенном ниже примере отображается ресурс packet_device с именем worker:
$ 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
}Пример: отображение ресурса модуля
В приведенном ниже примере отображается ресурс packet_device с именем worker внутри модуля с именем foo:
$ tofu state show 'module.foo.packet_device.worker'
Пример: отображение ресурса, настроенного с помощью count
В приведенном ниже примере отображается первый экземпляр ресурса packet_device с именем worker, настроенного с помощью count:
$ tofu state show 'packet_device.worker[0]'
Пример: отображение ресурса, настроенного с помощью for_each
В следующем примере отображается экземпляр "example" ресурса packet_device с именем worker, настроенного с помощью метааргумента 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\"]
Copyright (c) The OpenTofu Authors
Copyright (c) 2014 HashiCorp, Inc.
Mozilla Public License, version 2.0
https://opentofu.org/docs/v1.11/cli/commands/state/show/