Provisioners (remote-exec, local-exec) ломают идемпотентность и тянут SSH/side effects; null_resource с triggers часто маскирует отсутствие нормального ресурса/API. Предпочтительны cloud-init, image baking, operators.
Разбор
- Provisioner failure может оставить ресурс в dirty state.
- Нет хорошего drift detection для скриптов.
- null_resource полезен редко (одноразовые хуки) — документируйте.
- HashiCorp сама рекомендует избегать provisioners.
Итог
IaC должен опираться на API ресурсов; скрипты на apply — исключение с риском.