Spec-Zone.ru › OpenTofu 1.12

Команда: 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». Чтобы включить значения из нескольких файлов, используйте этот параметр несколько раз.

  • -json-into=out.json — позволяет одновременно записывать удобные для чтения человеком и машиночитаемые журналы с результатами вычисления заданных выражений.

Помимо параметров -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.12/cli/commands/console/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API