Terraform Provider v1.14.0 - Added `request_timeout` and hardened GraphQL query construction

Aug 18, 2026GuardrailsTerraform

What's new?

ENHANCEMENTS:

  • provider: New request_timeout argument bounds each Guardrails API request, given as a Go duration string such as "30s" or "10m". Requests previously had no deadline at all, so a hung connection could hang an entire apply indefinitely. The default is 15 minutes — deliberately generous, since harvest and control operations can be legitimately slow — and can be raised for resources whose operations run long. (#250)

BUG FIXES:

  • errors: Terraform no longer drops a live resource from state because an unrelated error happened to mention not found. The check matched that phrase anywhere in a message, so an error about a missing dependency — for example a policy type belonging to an uninstalled mod — could be read as "this resource is gone", removing it from state and recreating it. It now recognises only the shapes Guardrails emits for a genuinely missing resource. (#250)

SECURITY:

  • Hardened GraphQL query construction: the read and delete query builders that take a resource identifier now pass it to Guardrails as a query variable rather than embedding it in the query text, matching what every write operation in the provider already did. This prevents a crafted identifier from altering the structure of the query the provider sends. Each argument type was confirmed against the Guardrails schema before conversion, and a build-time check now fails if any future query builder embeds a caller-supplied value. (#250)