Команда: 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.10/cli/commands/state/show/