An Azure service that provides a general-purpose, serverless container platform.
Hi Kenny Kawahara & thx for join me at Q&A platform,
ur describing sounds more like temporary regional capacity or service-side allocation restrictions than a normal subscription quota issue. And unfortunately, those are two different things in Azure.
Your subscription can have plenty of unused quota while Azure temporarily prevents new deployments of a particular resource type in a specific region. This can happen because of backend capacity constraints, infrastructure availability, or service-specific provisioning restrictions.
As far as I'm aware, Azure doesn't provide a single public API or dashboard that reliably exposes all temporary deployment restrictions across services and regions before u attempt provisioning. The Azure Quotas API shows subscription limits and usage, but it doesn't provide real-time capacity guarantees for Azure Container Apps, PostgreSQL Flexible Server, or Application Gateway.
There are some partial checks available. For PostgreSQL Flexible Server, the regional SKU availability API can help identify supported configurations and certain subscription-level restrictions. Azure Resource Graph can inventory existing resources, while Azure Service Health can report known regional incidents. However, none of these reliably confirms that a new resource can actually be allocated at that moment.
Terraform's plan command won't catch these issues either, bc it validates the proposed infrastructure changes without reserving regional capacity. Even an ARM deployment validation or what-if operation doesn't guarantee that the resources will be available when provisioning starts.
For a multi-region deployment pipeline, I'd recommend adding a pre-deployment eligibility check where the resource provider exposes one, followed by retry logic with exponential backoff and a predefined regional fallback strategy. That won't eliminate every failed deployment, but it can reduce the amount of manual intervention.
The fact that ur deployments can run for 30–60 minutes before returning a temporary restriction is particularly frustrating. I'd raise this with Azure support and ask whether the specific errors are caused by regional capacity, subscription-level allocation restrictions, or a resource provider issue. Include the exact error codes, affected regions, resource SKUs, and deployment correlation IDs.
I'd also ask Microsoft whether these restrictions can be exposed through a supported availability API or surfaced earlier during ARM deployment validation. That would be a pretty valuable improvement for customers managing infrastructure through Terraform.
One question tho: what exact error codes are u receiving for Container Apps, PostgreSQL, and Application Gateway? If they're all reporting the same generic quota message, that's one scenario. If they're returning different capacity or allocation errors, there may be service-specific checks we can use to catch at least some of them before deployment.
rgds,
Alex
p.s. if my answer is help - pls mark it as an answer