Terraform уничтожить, чтобы получить ответ об ошибке от AWS API? - PullRequest
0 голосов
/ 04 сентября 2018

AWS не позволит вам удалить VPC, если в нем есть экземпляры.

Если я создаю не управляемый tf экземпляр в vpc (который я создал с помощью terraform), а затем выполняю уничтожение terraform, tf зависает в ожидании.

Затем я могу зайти в консоль aws и вручную удалить vpc и получить полезный ответ от aws о том, почему он не может быть удален, и список ресурсов, которые могут быть удалены, которые я могу удалить вручную.

Есть ли подробный переключатель, при котором terraform будет выдавать эти сообщения из API AWS? Я полагаю, что API-интерфейс AWS возвращает эту информацию, но, возможно, это происходит только при удалении через консоль?

Я не нашел никакой информации о том, как заставить команду tf destroy возвращать эту информацию, поэтому предположил, что это, вероятно, невозможно, но хотел подтвердить.

1 Ответ

0 голосов
/ 05 сентября 2018

Вы можете получить больше информации от terraform, установив переменную TF_LOG перед выполнением terraform. Существует несколько уровней ведения журналов, которые должны выглядеть знакомо, если вы знакомы с уровнями серьезности системного журнала (например, INFO, WARN, ERROR и т. Д.). Установка этой переменной - очень полезная стратегия отладки .

Установка TF_LOG=DEBUG должна, по крайней мере, позволить вам определить, какие вызовы API AWS вызываются. По моему опыту работы с terraform, вызов api не редкость; и terraform иногда не сообщает об ошибке, зависает или сообщает об ошибке, но информация в лучшем случае архаична. Это то, над чем работает сообщество Terraform. И текущие проблемы github, открытые для подобного поведения

Если после установки переменной среды TF_LOG вызов api действительно завершается неудачно, я предлагаю вам открыть проблему github с помощью terraform ; и, пожалуйста, отформатируйте его, используя рекомендации по предоставлению вопросов

...