Команда: 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.11/cli/commands/console/