How are automated Azure subscription deployments expected to work with Y1 quota now defaulting to 0?

Simon Tooley 25 Reputation points
2025-12-18T15:21:42.3033333+00:00

We operate a fully automated Azure deployment pipeline using infrastructure-as-code and template specs. As part of a subscription vending / landing zone model, the pipeline creates a new subscription, resource groups, and all required resources, including Azure Function Apps on the Consumption (Y1) plan.

Since the introduction of quota enforcement, newly created subscriptions start with 0 Y1 quota, causing deployments to fail unless a manual quota request is submitted per subscription. This breaks unattended CI/CD and automation scenarios.

Questions:

How are automated subscription vending and landing zone scenarios expected to function under this quota model?

Is there a supported way to pre-allocate, auto-approve, or inherit Y1 quota for new subscriptions?

Are there recommended alternatives for Consumption-based Azure Functions that preserve full automation without manual quota intervention?

We are looking for official guidance from Microsoft on the intended pattern going forward, as this appears to be a breaking change for subscription-level automation.

Azure Functions
Azure Functions

An Azure service that provides an event-driven serverless compute platform.


Answer accepted by question author
Rakesh Mishra 11,340 Reputation points Microsoft External Staff Moderator
2025-12-18T17:09:12.5766667+00:00

Hi @Simon Tooley ,

Welcome to the Microsoft Q&A Platform! Thank you for asking your question here.

Please find the response below and please let me know if you have any questions.

How are automated subscription vending and landing zone scenarios expected to function under this quota model?

Quotas are a subscription/region construct and are enforced at deployment time — ARM/Bicep/templated deployments will fail with quota errors if the target subscription has insufficient quota. That is the supported behaviour; automation must ensure the subscription has the required quota before provisioning resources that require it. See the quotas overview and ARM quota-error guidance.

Is there a supported way to pre-allocate, auto-approve, or inherit Y1 quota for new subscriptions?

Use Quota Groups (if available for the quota type): Microsoft documents Quota Groups / transfer APIs that let you approve quota at a group (management-group) level and then distribute or transfer approved quota into new subscriptions in that group — this is the closest supported pattern to “pre-allocate” or centrally manage quota for many subscriptions. (If Quota Groups are available for the specific Function quota in your tenant, they let you allocate quota to subscriptions without separate per-subscription approval each time.)

Reference: Transfer quota within an Azure Quota Group

  • Consider Flex Consumption (where available): Microsoft indicates Flex Consumption is the recommended serverless hosting option for many scenarios (it offers different scaling/placement characteristics) — check whether the Flex SKU and quota model fits your automation.
    User's image

User's image

  • Use Premium or Dedicated (App Service) hosting for function apps: these SKUs don’t rely on the Y1 consumption instance quota and are more predictable for fully automated provisioning (but have different cost/scale characteristics).

Was this answer helpful?


1 additional answer

Sort by: Most helpful
  1. donlassini 36 Reputation points
    2026-08-19T10:32:29.79+00:00

    I know this thread is rather old but I've been struggling with the same issue.
    I was trying to deploy a solution from an ARM template; that solution used an Y1 resource.
    I got a quota error:

    Operation cannot be completed without additional quota.
    Additional details - Location:
    Current Limit (Total VMs): 0
    Current Usage: 0
    Amount required for this deployment (Total VMs): 1

    and
    The template deployment 'xxxx0' is not valid according to the validation procedure.
    The following resource provider(s) - 'Microsoft.Web/serverFarms (2022-03-01)' reported preflight validation errors.

    I couldn't see the quota through the Azure portal (Microsoft.Web is not listed, even though the provider IS registered on the subscription). I could not change the quota through PowerShell using Update-AzQuota (I got "[Unauthorized] Request failed". I even tried with a Global Admin account which I also gave specific Subscription Owner permissions).

    I could list the quotas through AZ PowerShell so I dumped it for all regions for an old and a new plan (different CSP vendors, though).
    westcentralus and indiasouthcentral gave me a quota of 30. All others gave me 0 or errors such as "Name Y1 is not valid resource name", "Quota is currently unavailable in this location for this resource. Please contact Support", "No registered resource provider found for location 'southafricawest' and API version '2024-11-01' ...." or something akin to that.

    The only quota where there was a difference between the old and new subscription was for North Europe (where I had deployed Function Apps earlier). Here the quota was 31 for the old subscription and 0 for the new.

    And now my puzzlement: Even though I got errors when trying to retrieve the quota for West Europe ("Name Y1 is not valid resource name.") I could still deploy there!

    WHY, OH WHY is the error message so bad (It's technically correct, but still bad)?
    Why can't I see the quota anywhere in the portal?
    Why do they just give me "unauthorized" when I try to change it using PS?
    Why can't they say "This component can only be deployed in regions xxxxx due to our decision of yyyyy"?

    Was this answer helpful?

    0 comments No comments

Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.