Команда: 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.11/cli/commands/taint/