# Error: Quota exceeded for quota metric: Standard DSv3 Family vCPUs. Limit: 10, Usage: 10, Requested: 2.

- **ID:** `policy/azure-resource-quota-exceeded-vm-cores`
- **Domain:** policy
- **Category:** resource_error
- **Error Code:** `QuotaExceeded`
- **Verification:** ai_generated
- **Fix Rate:** 75%

## Root Cause

Azure enforces regional vCPU quotas per VM family; attempting to deploy a VM that exceeds the available quota fails.

## Version Compatibility

| Version | Status | Introduced | Deprecated |
|---------|--------|------------|------------|
| Azure Resource Manager API 2023-07-01 | active | — | — |
| Azure CLI 2.50.0 | active | — | — |
| Terraform azurerm 3.70.0 | active | — | — |

## Workarounds

1. **Submit a quota increase request via Azure portal: go to Subscriptions > Usage + quotas > select VM family > Request increase. Example: request 20 vCPUs for Standard DSv3 Family.** (80% success)
   ```
   Submit a quota increase request via Azure portal: go to Subscriptions > Usage + quotas > select VM family > Request increase. Example: request 20 vCPUs for Standard DSv3 Family.
   ```
2. **Deploy to a different region with available quota using `az vm create --location <region>`.** (70% success)
   ```
   Deploy to a different region with available quota using `az vm create --location <region>`.
   ```
3. **Use Azure Spot VMs which draw from a separate quota pool, if applicable.** (60% success)
   ```
   Use Azure Spot VMs which draw from a separate quota pool, if applicable.
   ```

## Dead Ends

- **** — Deleting VMs frees quota but may cause downtime; also, the quota limit is per region and family, so deletion only helps if you're at the cap. (50% fail)
- **** — The quota is per VM family (e.g., DSv3), not per size; all sizes in the family consume the same vCPU count as their specification. (70% fail)
- **** — You need to request an increase for the specific family and region you're deploying to, not a different one. (80% fail)
