Команда: apply
Команда tofu apply выполняет действия, предложенные в плане OpenTofu.
Использование
Использование: tofu apply [options] [plan file]
Режим автоматического планирования
Если запустить tofu apply без сохранённого файла плана, OpenTofu автоматически создаст новый план выполнения, как если бы вы запустили tofu plan, предложит подтвердить этот план и выполнит указанные действия. Вы можете использовать все режимы планирования и параметры планирования, чтобы настроить создание плана OpenTofu.
Передайте параметр -auto-approve, чтобы указать OpenTofu применить план без запроса подтверждения.
Если вы используете -auto-approve, рекомендуем убедиться, что никто не может изменять вашу инфраструктуру вне рабочего процесса OpenTofu. Это сводит к минимуму риск непредсказуемых изменений и расхождения конфигурации.
Режим сохранённого плана
Если передать сохранённый файл плана команде tofu apply, OpenTofu выполнит действия из сохранённого плана без запроса подтверждения. Этот двухэтапный рабочий процесс может пригодиться при автоматизированном запуске OpenTofu.
Используйте tofu show, чтобы проверить сохранённый файл плана перед его применением.
При использовании сохранённого плана нельзя указывать дополнительные режимы или параметры планирования. Эти параметры влияют только на решения OpenTofu о том, какие действия выполнить, а в файле плана уже содержатся окончательные результаты этих решений.
Эфемерные переменные
Поскольку эфемерные переменные нельзя сохранить в файле плана, все эфемерные переменные, заданные при создании файла плана с помощью tofu plan, необходимо также задать при запуске tofu apply.
Например, если для передачи эфемерной переменной token при создании файла плана (tofu plan -var "token=$MY_TOKEN") использовался -var, тот же аргумент необходимо указать для команды apply (tofu apply -var "token=$MY_TOKEN" planfile). Если необходимые эфемерные переменные не переданы команде apply, OpenTofu завершит работу и выведет понятное сообщение о дополнительных переменных, которые необходимо указать.
Параметры плана
Если сохранённый файл плана не указан, tofu apply поддерживает все режимы и параметры планирования, доступные для tofu plan.
-
Режимы планирования: К ним относятся
-destroy, который создаёт план для уничтожения всех удалённых объектов, и-refresh-only, который создаёт план для обновления состояния OpenTofu и выходных значений корневого модуля. - Параметры планирования: К ним относятся указание экземпляров ресурсов, которые OpenTofu должен заменить, задание входных переменных OpenTofu и т. д.
Параметры apply
Следующие параметры изменяют способ выполнения команды apply и отображения сведений о применении.
-
-auto-approve— пропускает интерактивное подтверждение плана перед его применением. Этот параметр игнорируется, если вы передаёте ранее сохранённый файл плана, поскольку OpenTofu считает сам факт передачи файла подтверждением и в этом случае не запрашивает подтверждение. -
-compact-warnings— отображает все предупреждения в компактном виде, показывая только сводные сообщения, если только предупреждения не сопровождаются хотя бы одной ошибкой, и тогда текст предупреждения может быть полезен для понимания ошибок. -
-consolidate-warnings=false— если OpenTofu выдаёт предупреждения, их объединение не выполняется. Будут перечислены все места возникновения всех предупреждений. Включено по умолчанию. -
-consolidate-errors— если OpenTofu выдаёт ошибки, предпринимается попытка объединить похожие сообщения в один элемент. -
-input=false— отключает все интерактивные запросы OpenTofu. Обратите внимание: это также запрещает OpenTofu запрашивать интерактивное подтверждение плана, поэтому OpenTofu по умолчанию сочтёт, что вы не хотите применять план, и операция завершится с ошибкой. -
-json— включает вывод машиночитаемого JSON-интерфейса. Этот параметр подразумевает-input=false, поэтому для продолжения в конфигурации не должно быть незаданных значений переменных. Чтобы включить этот флаг, необходимо также включить флаг-auto-approveили указать ранее сохранённый план. -
-json-into=out.json— формирует те же выходные данные, что и -json, но перенаправляет их в файл. Это позволяет одновременно сохранять журналы и для людей, и в машиночитаемом формате. -
-lock=false— не блокирует состояние на время выполнения операции. Это опасно, если другие пользователи могут одновременно выполнять команды в том же рабочем пространстве. -
-lock-timeout=DURATION— если блокировка не отключена с помощью-lock=false, указывает OpenTofu повторять попытки получить блокировку в течение заданного времени, прежде чем вернуть ошибку. Длительность задаётся числом и обозначением единицы времени, например "3s" означает три секунды. -
-no-color— отключает управляющие последовательности форматирования терминала в выходных данных. Используйте этот параметр, если запускаете OpenTofu в среде, где выходные данные отображает система, не поддерживающая форматирование терминала. -
-concise— отключает сообщения о ходе выполнения в выходных данных. -
-parallelism=n— ограничивает количество параллельных операций, выполняемых OpenTofu при обходе графа. Значение по умолчанию — 10. -
-var 'foo=bar'— задаёт переменную в конфигурации OpenTofu. Этот флаг можно указывать несколько раз. -
-var-file=foo— задаёт переменные в конфигурации OpenTofu из файла. Если присутствуют файлы "terraform.tfvars" или ".auto.tfvars", они загружаются автоматически. -
-show-sensitive— если этот параметр указан, конфиденциальные значения не будут скрываться в выводе интерфейса. -
-deprecation— задаёт тип отображаемых предупреждений. Допустимые значения: "module:all", "module:local", "module:none". По умолчанию: module:all. При выборе "module:all" OpenTofu показывает предупреждения об устаревших функциях для всех модулей. При выборе "module:local" предупреждения показываются только для модулей, импортированных по относительному пути. При выборе "module:none" все предупреждения об устаревших функциях скрываются. -
Все режимы планирования и параметры планирования для
tofu plan— настройка способа создания плана OpenTofu. Доступно только при запускеtofu applyбез сохранённого файла плана.
Только для конфигураций, использующих local в качестве бэкенда, команда tofu apply также принимает устаревшие параметры -state, -state-out и -backup.
Переменные среды
Вы можете дополнительно настроить поведение команды apply с помощью переменных среды. Например, переменная среды TF_STATE_PERSIST_INTERVAL позволяет задать интервал между сохранениями состояния.
Передача другого каталога конфигурации
Если ваш рабочий процесс предполагает переопределение каталога корневого модуля, вместо этого используйте глобальный параметр -chdir, который работает со всеми командами и обеспечивает согласованный поиск OpenTofu в указанном каталоге всех файлов, которые обычно читаются или записываются в текущем рабочем каталоге.
Copyright (c) The OpenTofu Authors
Copyright (c) 2014 HashiCorp, Inc.
Mozilla Public License, version 2.0
https://opentofu.org/docs/v1.12/cli/commands/apply/