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