Terraform destroy, чтобы получить ответ об ошибке от API AWS?

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

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

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

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

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


person red888    schedule 04.09.2018    source источник


Ответы (1)


Вы можете получить больше информации из terraform, установив переменную TF_LOG перед выполнением terraform. Существует несколько уровней ведения журнала, которые должны показаться вам знакомыми, если вы знакомы с уровнями серьезности системного журнала (например, ИНФОРМАЦИЯ, ПРЕДУПРЕЖДЕНИЕ, ОШИБКА и т. Д.). Установка этой переменной - очень полезная стратегия отладки.

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

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

person micarlise    schedule 04.09.2018