Команда: taint
Команда tofu taint сообщает OpenTofu, что определенный объект стал неисправным или поврежденным. OpenTofu помечает этот объект как «tainted» в состоянии OpenTofu и предложит заменить его в следующем создаваемом вами плане.
Эта команда устарела. Рекомендуем вместо нее использовать параметр -replace с tofu apply (подробности ниже).
Рекомендуемая альтернатива
Рекомендуем использовать параметр -replace с tofu apply, чтобы принудительно заменить объект в OpenTofu, даже если в конфигурации нет изменений, которые требовали бы этого.
$ 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.9/cli/commands/taint/