Команда: 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» — три секунды. -
-var 'NAME=VALUE'— задаёт значение для одной входной переменной, объявленной в корневом модуле конфигурации. Используйте этот параметр несколько раз, чтобы задать несколько переменных. Подробнее см. в разделе Входные переменные в командной строке. -
-var-file=FILENAME— задаёт значения для нескольких входных переменных, объявленных в корневом модуле конфигурации, используя определения из файла «tfvars». Используйте этот параметр несколько раз, чтобы включить значения из нескольких файлов.
Помимо параметров -var и -var-file, есть несколько других способов задать значения входных переменных в корневом модуле. Подробнее см. в разделе Задание значений переменных корневого модуля.
Copyright (c) The OpenTofu Authors
Copyright (c) 2014 HashiCorp, Inc.
Mozilla Public License, version 2.0
https://opentofu.org/docs/v1.11/cli/commands/state/push/