Команда: taint
Команда tofu taint сообщает OpenTofu, что определенный объект ухудшился или был поврежден. OpenTofu отмечает этот объект как «поврежденный» в состоянии OpenTofu и предложит заменить его в следующем создаваемом вами плане.
Эта команда устарела. Рекомендуем вместо нее использовать параметр -replace с tofu apply (подробности ниже).
Рекомендуемая альтернатива
Рекомендуем использовать параметр -replace с tofu apply, чтобы принудительно заменить объект, даже если в конфигурации нет изменений, которые требовали бы этого.
$ tofu apply -replace="aws_instance.example[0]"
Мы рекомендуем использовать параметр -replace, поскольку это изменение будет отражено в плане OpenTofu, что позволит вам понять, как оно повлияет на инфраструктуру, прежде чем предпринимать какие-либо действия, видимые извне. Если вы используете tofu taint, другие пользователи могут создать новый план для поврежденного объекта до того, как вы успеете оценить последствия.
Использование
$ tofu taint [options] <address>
Аргумент address — это адрес ресурса, который нужно пометить как поврежденный. Адрес задается в синтаксисе адресов ресурсов, который используется в выводе других команд, например:
aws_instance.fooaws_instance.bar[1]-
aws_instance.baz[\"key\"](кавычки в адресах ресурсов необходимо экранировать в командной строке, чтобы оболочка не интерпретировала их) module.foo.module.bar.aws_instance.qux
Использование переменных в источниках модулей, конфигурации бэкенда или блоке шифрования требует присваивания значений переменным корневого модуля при запуске tofu taint.
Эта команда поддерживает следующие параметры:
-
-allow-missing— если указано, команда завершится успешно (код выхода 0), даже если ресурс отсутствует. Команда все еще может вернуть ошибку в других ситуациях, например, если возникла проблема при чтении или записи состояния. -
-lock=false— отключает стандартное поведение OpenTofu, при котором на время выполнения операции устанавливается блокировка состояния на чтение и запись. -
-lock-timeout=DURATION— если блокировка не отключена с помощью-lock=false, указывает OpenTofu повторять попытки получения блокировки в течение заданного времени, прежде чем вернуть ошибку. Длительность указывается числом и буквой единицы времени, например «3s» для трех секунд. -
-var 'NAME=VALUE'— задает значение одной входной переменной, объявленной в корневом модуле конфигурации. Используйте этот параметр несколько раз, чтобы задать значения нескольких переменных. Дополнительные сведения см. в разделе Входные переменные в командной строке. -
-var-file=FILENAME— задает значения потенциально многих входных переменных, объявленных в корневом модуле конфигурации, используя определения из файла «tfvars». Используйте этот параметр несколько раз, чтобы включить значения из нескольких файлов.
Помимо параметров -var и -var-file существуют и другие способы задать значения входных переменных корневого модуля. Дополнительные сведения см. в разделе Присваивание значений переменным корневого модуля.
Для конфигураций, использующих только бэкенд cloud или бэкенд remote, tofu taint также принимает параметр -ignore-remote-version.
Для конфигураций, использующих только бэкенд local, tofu taint также принимает устаревшие параметры -state, -state-out и -backup.
Copyright (c) The OpenTofu Authors
Copyright (c) 2014 HashiCorp, Inc.
Mozilla Public License, version 2.0
https://opentofu.org/docs/v1.10/cli/commands/taint/