Spec-Zone.ru › OpenTofu 1.12

Команда: state push

Команда tofu state push используется для ручной загрузки локального файла состояния в удалённое состояние. Эта команда также работает с локальным состоянием.

Эту команду следует использовать редко. Она предназначена только для случаев, когда требуется вручную вмешаться в удалённое состояние.

Использование​

Использование: tofu state push [options] PATH

Эта команда отправляет состояние, указанное в PATH, в настроенный в данный момент бэкенд.

Если PATH равен "-", данные состояния для отправки считываются из stdin. Эти данные полностью загружаются в память и проверяются перед записью в целевое состояние.

Примечание

Файлы состояния OpenTofu должны быть в формате UTF-8 без метки порядка байтов (BOM). В PowerShell в Windows используйте Set-Content для автоматического кодирования файлов в формате UTF-8. Например, выполните tofu state push | sc terraform.tfstate.

OpenTofu выполнит несколько проверок безопасности, чтобы предотвратить изменения, которые могут оказаться небезопасными:

  • Различающаяся lineage: Если значение "lineage" в состоянии отличается, OpenTofu не позволит отправить состояние. Различающаяся lineage указывает на то, что состояния совершенно разные, и вы можете потерять данные.

  • Более высокий serial удалённого состояния: Если значение "serial" в целевом состоянии выше, чем в отправляемом состоянии, OpenTofu не позволит выполнить отправку. Более высокий serial указывает на то, что в целевом состоянии есть данные, которые не учтены в отправляемом локальном состоянии.

Обе эти проверки безопасности можно отключить с помощью флага -force. Это не рекомендуется. Если отключить проверки безопасности и отправить состояние, целевое состояние будет перезаписано.

Для конфигураций, использующих только бэкенд cloud или бэкенд remote, команда tofu state push также принимает параметр -ignore-remote-version.

Примечание

Использование переменных в источниках модулей, конфигурации бэкенда или блоке шифрования требует задания значений переменных корневого модуля при запуске tofu state push.

Эта команда также принимает следующие параметры для tofu state push:

  • -lock=false — не блокировать состояние на время выполнения операции. Это опасно, если другие пользователи могут одновременно выполнять команды в том же рабочем пространстве.

  • -lock-timeout=DURATION — если блокировка не отключена с помощью -lock=false, указывает OpenTofu повторять попытки получить блокировку в течение заданного времени, прежде чем вернуть ошибку. Длительность задаётся числом, за которым следует буква единицы времени, например "3s" означает три секунды.

  • ignore-remote-version.

  • -var 'NAME=VALUE' — задаёт значение для одной входной переменной, объявленной в корневом модуле конфигурации. Используйте этот параметр несколько раз, чтобы задать значения нескольких переменных. Дополнительные сведения см. в разделе Входные переменные в командной строке.

  • -var-file=FILENAME — задаёт значения для нескольких входных переменных, объявленных в корневом модуле конфигурации, используя определения из файла "tfvars". Используйте этот параметр несколько раз, чтобы включить значения из нескольких файлов.

  • -json — включает вывод машиночитаемого JSON-интерфейса.

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

Помимо параметров -var и -var-file, есть несколько других способов задать значения входных переменных в корневом модуле. Дополнительные сведения см. в разделе Задание значений переменных корневого модуля.

Copyright (c) The OpenTofu Authors
Copyright (c) 2014 HashiCorp, Inc.
Mozilla Public License, version 2.0
https://opentofu.org/docs/v1.12/cli/commands/state/push/

Spec-Zone.ru

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