Перемещение ресурсов
Состояние 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.9/cli/state/move/