Команда: 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"
}
}Проверить, могут ли некоторые значения оставаться неизвестными до выполнения apply:
> 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.9/cli/commands/console/