Перемещение ресурсов
Состояние OpenTofu связывает каждый объект из реального мира с настроенным ресурсом, имеющим определённый адрес ресурса. При изменении атрибутов ресурса всё происходит прозрачно, но OpenTofu потеряет ресурс из виду, если вы измените его имя, переместите его в другой модуль или измените его провайдера.
Обычно это не проблема: OpenTofu удалит старый ресурс, заменит его новым (используя новый адрес ресурса) и обновит все ресурсы, зависящие от его атрибутов.
Если важно сохранить существующий объект инфраструктуры, можно явно указать OpenTofu связать его с другим настроенным ресурсом.
В большинстве случаев мы рекомендуем использовать средства рефакторинга языка OpenTofu, чтобы документировать в своём модуле, как менялись имена ресурсов со временем. OpenTofu автоматически учитывает эту информацию при планировании, поэтому пользователям вашего модуля не нужно выполнять никаких дополнительных действий.
Однако некоторые ситуации требуют явного изменения состояния. В таких случаях рассмотрите следующие команды OpenTofu:
-
Команда
tofu state mvизменяет адрес ресурса в конфигурации, связанный с определённым объектом из реального мира. Используйте её, чтобы сохранить объект при переименовании ресурса или перемещении ресурса в дочерний модуль либо из него. -
Команда
tofu state rmуказывает OpenTofu прекратить управление ресурсом в рамках текущего рабочего каталога и рабочего пространства, не удаляя соответствующий объект из реального мира. (Позже можно использоватьtofu import, чтобы начать управлять этим ресурсом в другом рабочем пространстве или другой конфигурации OpenTofu.) -
Команда
tofu state replace-providerпереносит существующие ресурсы к новому провайдеру без необходимости создавать их заново.
Copyright (c) The OpenTofu Authors
Copyright (c) 2014 HashiCorp, Inc.
Mozilla Public License, version 2.0
https://opentofu.org/docs/v1.10/cli/state/move/