Команда: console
Команда tofu console предоставляет интерактивную консоль для вычисления выражений.
Команда tofu console не предназначена для использования в скриптах. Её можно использовать, однако некоторые функции могут работать не так, как ожидается.
Использование
Использование: tofu console [options]
Эта команда предоставляет интерактивную консоль командной строки для вычисления выражений и экспериментов с ними. С её помощью можно проверить интерполяции перед использованием в конфигурациях и взаимодействовать с любыми значениями, сохранёнными в состоянии. Если текущее состояние пусто или ещё не создано, консоль можно использовать для экспериментов с синтаксисом выражений и встроенными функциями. Консоль удерживает блокировку состояния, поэтому её нельзя использовать при выполнении других действий, изменяющих состояние.
Чтобы закрыть консоль, введите команду exit или нажмите Control-C либо Control-D.
Для конфигураций, использующих только бэкенд local, команда tofu console принимает устаревший параметр командной строки -state.
Использование переменных в источниках модулей, конфигурации бэкенда или блоке шифрования требует присвоения значений переменным корневого модуля при запуске tofu console.
Эта команда также принимает следующие параметры tofu console:
-
-var 'NAME=VALUE'— задаёт значение для одной входной переменной, объявленной в корневом модуле конфигурации. Используйте этот параметр несколько раз, чтобы задать значения для нескольких переменных. Дополнительные сведения см. в разделе Входные переменные в командной строке. -
-var-file=FILENAME— задаёт значения для потенциально большого количества входных переменных, объявленных в корневом модуле конфигурации, используя определения из файла «tfvars». Используйте этот параметр несколько раз, чтобы включить значения из нескольких файлов.
Помимо параметров -var и -var-file, существует несколько других способов задать значения входных переменных в корневом модуле. Дополнительные сведения см. в разделе Присвоение значений переменным корневого модуля.
Удалённое состояние
Если текущий бэкенд использует удалённое состояние, OpenTofu прочитает состояние текущей рабочей области из бэкенда перед вычислением любых выражений.
Примеры
Команда tofu console прочитает конфигурацию OpenTofu из текущего рабочего каталога и файл состояния OpenTofu из настроенного бэкенда, чтобы можно было проверять интерполяции как с использованием значений из конфигурации, так и значений из файла состояния.
Для следующей конфигурации main.tf:
variable "apps" {
type = map(any)
default = {
"foo" = {
"region" = "us-east-1",
},
"bar" = {
"region" = "eu-west-1",
},
"baz" = {
"region" = "ap-south-1",
},
}
}
resource "random_pet" "example" {
for_each = var.apps
}Выполнение tofu console откроет интерактивную оболочку, в которой можно проверять интерполяции, чтобы:
Вывести значение из карты:
> var.apps.foo
{
"region" = "us-east-1"
}Отфильтровать карту по определённому значению:
> { for key, value in var.apps : key => value if value.region == "us-east-1" }
{
"foo" = {
"region" = "us-east-1"
}
}Проверить, могут ли некоторые значения быть неизвестны до применения:
> random_pet.example (known after apply)
Проверить различные функции:
> cidrnetmask("172.16.0.0/12")
"255.240.0.0"
Copyright (c) The OpenTofu Authors
Copyright (c) 2014 HashiCorp, Inc.
Mozilla Public License, version 2.0
https://opentofu.org/docs/v1.10/cli/commands/console/