fmt канонически форматирует HCL (как gofmt); validate проверяет синтаксис и внутреннюю согласованность конфига без обращения к remote API (после init).
Разбор
- fmt стоит гонять в pre-commit и CI.
- validate не заменяет plan — не ловит права IAM и квоты.
fmt -check падает, если кто-то забыл отформатировать.
- Оба дёшевы и должны быть зелёными до тяжёлого plan.
Итог
fmt = стиль; validate = быстрая статическая проверка конфига.