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