Команда: 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.9/cli/commands/state/replace-provider/