Spec-Zone.ru › OpenTofu 1.12

Команда: destroy

Команда tofu destroy — это удобный способ уничтожить все удалённые объекты, управляемые определённой конфигурацией OpenTofu.

Хотя обычно в рабочей среде не следует уничтожать долгоживущие объекты, OpenTofu иногда используют для управления временной инфраструктурой в целях разработки. В таком случае можно использовать tofu destroy, чтобы после завершения работы быстро удалить все эти временные объекты.

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

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

Эта команда — всего лишь удобный псевдоним следующей команды:

Блок кода
tofu apply -destroy

По этой причине команда принимает большинство параметров, принимаемых командой tofu apply, однако не принимает аргумент с файлом плана и принудительно выбирает режим планирования «destroy».

Также можно создать предварительный план уничтожения, чтобы увидеть последствия этой операции, выполнив следующую команду:

Блок кода
tofu plan -destroy

Будет выполнена команда tofu plan в режиме destroy. Она покажет предлагаемые изменения для уничтожения, не применяя их.

Забытые ресурсы​

При выполнении команды tofu destroy OpenTofu попытается уничтожить все ресурсы, управляемые конфигурацией. Однако если для каких-либо ресурсов задан метааргумент lifecycle.destroy со значением false, эти ресурсы будут «забыты», а не уничтожены.

Когда ресурсы забываются:

  • Они удаляются из файла состояния OpenTofu
  • Фактические объекты инфраструктуры остаются в облачном провайдере или удалённой системе
  • Команда tofu destroy завершается с ненулевым кодом возврата, указывая на то, что не все ресурсы были полностью удалены

Такое поведение кода возврата может иметь значение для автоматизации и конвейеров CI/CD, поскольку оно сигнализирует о том, что операция уничтожения завершилась не так, как обычная операция уничтожения. Если вы хотите, чтобы tofu destroy не выдавала ошибки и завершалась с нулевым кодом возврата, когда ресурсы забываются, можно использовать флаг -suppress-forget-errors.

Предупреждение

Атрибут destroy сохраняется в файле состояния, даже если ресурсы удалены из конфигурации. Это означает, что ресурсы не будут уничтожены, даже если их удалить из конфигурации. Чтобы полностью уничтожить такие ресурсы, которые всё ещё находятся в состоянии, сначала необходимо снова добавить конфигурацию ресурса и удалить атрибут lifecycle.destroy (или задать ему значение true).

Также можно добавить блок removed для удалённого ресурса с параметром lifecycle.destroy = true. Он переопределит атрибут destroy в файле состояния.

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

Spec-Zone.ru

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