Команда: state replace-provider
Команда tofu state replace-provider используется для замены провайдера ресурсов в состоянии OpenTofu.
Использование
Использование: tofu state replace-provider [options] FROM_PROVIDER_FQN TO_PROVIDER_FQN
Эта команда обновляет все ресурсы, использующие провайдер «from», и устанавливает для них указанный провайдер «to». Это позволяет изменить источник провайдера, у которого уже есть ресурсы в состоянии.
Перед сохранением любых изменений эта команда создаст резервную копию состояния. Отключить создание резервной копии нельзя. Из-за разрушительного характера этой команды резервные копии обязательны.
Использование переменных в источниках модулей, конфигурации бэкенда или блоке шифрования требует задания значений переменных корневого модуля при запуске tofu state replace-providers.
Эта команда также принимает следующие параметры:
-
-auto-approve— пропустить интерактивное подтверждение. -
-lock=false— не блокировать состояние на время выполнения операции. Это опасно, если другие пользователи могут одновременно выполнять команды в той же рабочей области. -
-lock-timeout=0s— время ожидания повторной попытки блокировки состояния. -
-var 'NAME=VALUE'— задает значение одной входной переменной, объявленной в корневом модуле конфигурации. Используйте этот параметр несколько раз, чтобы задать значения нескольких переменных. Дополнительную информацию см. в разделе Входные переменные в командной строке. -
-var-file=FILENAME— задает значения нескольких входных переменных, объявленных в корневом модуле конфигурации, используя определения из файла «tfvars». Используйте этот параметр несколько раз, чтобы указать значения из нескольких файлов.
Помимо параметров -var и -var-file, есть несколько других способов задать значения входных переменных корневого модуля. Дополнительную информацию см. в разделе Задание значений переменных корневого модуля.
Для конфигураций, использующих только бэкенд cloud или бэкенд remote, команда tofu state replace-provider также принимает параметр -ignore-remote-version.
Для конфигураций, использующих только локальное состояние local, команда tofu state replace-provider также принимает устаревшие параметры -state, -state-out и -backup.
Пример
В примере ниже провайдер hashicorp/aws заменяется его форком от acme, размещенным в частном реестре по адресу registry.acme.corp:
$ tofu state replace-provider hashicorp/aws registry.acme.corp/acme/aws
Copyright (c) The OpenTofu Authors
Copyright (c) 2014 HashiCorp, Inc.
Mozilla Public License, version 2.0
https://opentofu.org/docs/v1.10/cli/commands/state/replace-provider/