Команда: taint
Команда tofu taint сообщает OpenTofu, что конкретный объект стал неисправным или повреждённым. OpenTofu отмечает этот объект в состоянии OpenTofu как «tainted» и предложит заменить его в следующем создаваемом вами плане.
Эта команда устарела. Рекомендуем вместо неё использовать параметр -replace вместе с tofu apply (подробности ниже).
Рекомендуемая альтернатива
Рекомендуем использовать параметр -replace вместе с tofu apply, чтобы принудительно заменить объект, даже если в конфигурации нет изменений, которые требовали бы этого.
$ tofu apply -replace="aws_instance.example[0]"
Рекомендуем параметр -replace, поскольку изменение будет отражено в плане OpenTofu, и вы сможете понять, как оно повлияет на вашу инфраструктуру, прежде чем предпринимать какие-либо действия, видимые извне. При использовании tofu taint другие пользователи могут создать новый план для вашего помеченного как tainted объекта до того, как вы успеете оценить последствия.
Использование
$ tofu taint [options] <address>
Аргумент address — это адрес ресурса, который нужно пометить как tainted. Адрес записывается в синтаксисе адресов ресурсов, как показано в выводе других команд, например:
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». Используйте этот параметр несколько раз, чтобы включить значения из нескольких файлов. -
-json— включает вывод машиночитаемого JSON-интерфейса. -
-json-into=out.json— формирует тот же вывод, что и -json, но перенаправляет его в файл. Это позволяет одновременно сохранять как журналы для чтения человеком, так и машиночитаемые журналы.
Помимо параметров -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.12/cli/commands/taint/