[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-microsoft-azure-capacity-management":3,"mdc-fe22bq-key":33,"related-org-microsoft-azure-capacity-management":3844,"related-repo-microsoft-azure-capacity-management":4037},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":22,"repoUrl":23,"updatedAt":24,"license":25,"forks":26,"topics":27,"repo":28,"sourceUrl":31,"mdContent":32},"azure-capacity-management","manage Azure quota and capacity","This skill should be used when the user asks about Azure capacity management, quota\noperations, or capacity planning for SaaS ISVs running workloads in their own Azure\nsubscriptions under EA or MCA. Also covers AI\u002FGPU model quota and capacity (Azure\nOpenAI\u002FFoundry TPM, PTU, cross-region capacity discovery), VM capacity reservations,\nregion\u002FSKU availability lookups, capacity-forecasting-scoped cost data (cost\nforecast\u002Fquery APIs, not general cost optimization), Azure AI Gateway\u002FAPIM\nrate-limiting and throughput-control policies for AI workloads, and per-service\nresource\u002Flimit\u002Fquota reference lookups.\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},"microsoft","Microsoft","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fmicrosoft.png",[12,16,19],{"name":13,"slug":14,"type":15},"Azure","azure","tag",{"name":17,"slug":18,"type":15},"Capacity Planning","capacity-planning",{"name":20,"slug":21,"type":15},"AI Infrastructure","ai-infrastructure",1,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fazcapman","2026-07-31T05:56:39.124543","MIT",0,[],{"repoUrl":23,"stars":22,"forks":26,"topics":29,"description":30},[],"This repository contains Azure quota and capacity management references for SaaS ISVs that operate workloads in subscriptions owned or controlled by the ISV (Enterprise Agreement or Microsoft Customer Agreement), not in customer-owned subscriptions.","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fazcapman\u002Ftree\u002FHEAD\u002Fskills\u002Fazure-capacity-management","---\nname: azure-capacity-management\ndescription: |\n  This skill should be used when the user asks about Azure capacity management, quota\n  operations, or capacity planning for SaaS ISVs running workloads in their own Azure\n  subscriptions under EA or MCA. Also covers AI\u002FGPU model quota and capacity (Azure\n  OpenAI\u002FFoundry TPM, PTU, cross-region capacity discovery), VM capacity reservations,\n  region\u002FSKU availability lookups, capacity-forecasting-scoped cost data (cost\n  forecast\u002Fquery APIs, not general cost optimization), Azure AI Gateway\u002FAPIM\n  rate-limiting and throughput-control policies for AI workloads, and per-service\n  resource\u002Flimit\u002Fquota reference lookups.\nlicense: MIT\n---\n\n# Azure capacity management\n\nEstate-level capacity and quota management for SaaS ISVs operating workloads in subscriptions they own or control under an [Enterprise Agreement (EA)](https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fcloud-adoption-framework\u002Fready\u002Flanding-zone\u002Fdesign-area\u002Fazure-billing-enterprise-agreement) or [Microsoft Customer Agreement (MCA)](https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fcloud-adoption-framework\u002Fready\u002Flanding-zone\u002Fdesign-area\u002Fazure-billing-microsoft-customer-agreement). This skill aligns with the [ISV landing zone guidance](https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fcloud-adoption-framework\u002Fready\u002Flanding-zone\u002Fisv-landing-zone) and covers pure SaaS and [stamp-based isolation](https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Farchitecture\u002Fguide\u002Fmultitenant\u002Fapproaches\u002Foverview#deployment-stamps-pattern) patterns where customers are isolated through dedicated or shared deployment stamps inside the ISV's Azure estate.\n\nRead the full Azure implementation reference at `references\u002Fdocs\u002Foperations\u002Fcapacity-and-quotas\u002FREADME.md`.\n\n## FinOps capability mapping\n\nTreat Azure capacity management as implementation detail under the canonical FinOps Framework. Capacity evidence commonly supports Planning & Estimating, Forecasting, Architecting & Workload Placement, Usage Optimization, Rate Optimization, Budgeting, Governance, Policy & Risk, and Automation, Tools & Services. Use [Well-Architected capacity planning](https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fwell-architected\u002Fperformance-efficiency\u002Fcapacity-planning), [reliable scaling](https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fwell-architected\u002Freliability\u002Fscaling), and [workload supply chain guidance](https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fwell-architected\u002Foperational-excellence\u002Fworkload-supply-chain) as Azure implementation guidance, not as a replacement framework. [Source](https:\u002F\u002Fwww.finops.org\u002Fframework\u002F) [Source](https:\u002F\u002Fwww.finops.org\u002Fframework\u002Fdomains\u002F)\n\n| FinOps capability | Capacity question | Azure surfaces |\n|------|-------------|----------------|\n| Planning & Estimating | What capacity does the planned workload, scenario, or stamp need? | Workload requirements, scale-unit assumptions, Azure Monitor, estimates, FinOps budgets |\n| Forecasting | When will demand exceed quota, region, SKU, zone, or reserved-capacity headroom? | Historical usage, growth trends, forecast breach dates, capacity planning models |\n| Architecting & Workload Placement | Which regions, zones, SKUs, quota pools, or deployment patterns should change? | SKU availability, region access, quota groups, capacity reservation groups, CRG sharing, overallocation |\n| Usage Optimization | Which allocated capacity, quota, or deployment pattern is underused or inefficient? | Utilization, headroom, rightsizing evidence, unused reserved capacity, demand signals |\n| Rate Optimization | Where should capacity guarantees be coordinated with reservations or savings plans? | Benefit recommendations, commitment utilization, CRG utilization, pricing evidence from FinOps Hub |\n| Governance, Policy & Risk | Which capacity risks need ownership, exception review, or escalation? | Approved regions and SKUs, owner metadata, risk thresholds, exception status |\n| Automation, Tools & Services | Which controls expose capacity risk before deployment or scale events? | Quota alerts, budget alerts, anomaly alerts, CI\u002FCD gates, workflow status |\n\nRead `references\u002Fdocs\u002Foperations\u002Fcapacity-planning\u002FREADME.md` for forecasting details and `references\u002Fdocs\u002Foperations\u002Fcapacity-governance\u002FREADME.md` for the governance program design.\n\n## Quota operations\n\nAzure assigns [default quota limits](https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fquotas\u002Fper-vm-quota-requests) per subscription. EA subscriptions typically start with 350 cores; pay-as-you-go subscriptions start with 20 cores. Some VM series have offer restrictions that block deployment until you request access.\n\nKey workflows:\n- **Region access:** Submit a [region access support request](https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Ftroubleshoot\u002Fazure\u002Fgeneral\u002Fregion-access-request-process) when a subscription can't deploy to a restricted region.\n- **Zonal enablement:** Submit a [zonal enablement request](https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Ftroubleshoot\u002Fazure\u002Fgeneral\u002Fzonal-enablement-request-for-restricted-vm-series) for restricted VM series in specific availability zones.\n- **Quota increases:** Use [per-VM quota requests](https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fquotas\u002Fper-vm-quota-requests) for individual subscriptions or [quota group limit increases](https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fquotas\u002Fquota-group-limit-increase) for grouped subscriptions.\n\nCLI reference:\n```bash\n# List quota usage for a subscription\naz quota usage list --scope \u002Fsubscriptions\u002F{sub-id}\u002Fproviders\u002FMicrosoft.Compute\u002Flocations\u002F{location}\n\n# Request a quota increase\naz quota create --resource-name \"StandardDSv3Family\" --scope \u002Fsubscriptions\u002F{sub-id}\u002Fproviders\u002FMicrosoft.Compute\u002Flocations\u002F{location} --limit-object value=500\n```\n\nRead `references\u002Fdocs\u002Foperations\u002Fquota\u002FREADME.md` for the complete quota operations reference.\n\n## Quota groups\n\n[Quota groups](https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fquotas\u002Fquota-groups) are ARM objects that aggregate compute quota across eligible subscriptions at the management group scope. They reduce stranded VM-family headroom and let you request group-level increases.\n\n**Prerequisites:** Register the `Microsoft.Quota` resource provider on each member subscription. The management group must exist before creating the quota group.\n\n**Limitations:**\n- IaaS compute only — doesn't cover storage, networking, or PaaS services\n- A subscription can belong to a single quota group at a time ([source](https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fquotas\u002Fquota-groups))\n- Doesn't grant region or zone access — those require separate support requests\n- [Quota transfers](https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fquotas\u002Ftransfer-quota-groups) move allocation between member subscriptions but don't change the group total\n\n**Lifecycle:** Create the quota group under a management group, [add subscriptions](https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fquotas\u002Fadd-remove-subscriptions-quota-group), then request group-level limit increases. Monitor allocation snapshots and transfer as demand shifts between subscriptions.\n\nRead `references\u002Fdocs\u002Foperations\u002Fquota-groups\u002FREADME.md` for the complete reference including ARM lifecycle, transfer mechanics, and monitoring integration.\n\n## Capacity reservations\n\n[Capacity reservation groups (CRGs)](https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fvirtual-machines\u002Fcapacity-reservation-overview) guarantee compute capacity for specific VM sizes in a region or availability zone. CRGs are capacity guarantees, not pricing commitments — unused reserved capacity is billed at the pay-as-you-go rate for the VM size.\n\n**Cost implications:** Reserved capacity is billed whether or not VMs run against it. Pair CRGs with Azure Reservations or savings plans to get both capacity guarantee and pricing discount.\n\n**Sharing (preview):** CRGs can be [shared across subscriptions](https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fvirtual-machines\u002Fcapacity-reservation-group-share) within the same tenant. The ODCR owner in the consumer subscription needs `Microsoft.Compute\u002FcapacityReservationGroups\u002Fshare\u002Faction`. The VM owner in the consumer subscription needs `Microsoft.Compute\u002FcapacityReservationGroups\u002Fread`, `Microsoft.Compute\u002FcapacityReservationGroups\u002Fdeploy`, `Microsoft.Compute\u002FcapacityReservationGroups\u002FcapacityReservations\u002Fread`, and `Microsoft.Compute\u002FcapacityReservationGroups\u002FcapacityReservations\u002Fdeploy`. Portal support isn't available in preview; use CLI, PowerShell, or REST API.\n\n**Overallocation:** [Overallocation](https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fvirtual-machines\u002Fcapacity-reservation-overallocate) lets you deploy more VMs than the reserved quantity. Excess VMs don't have capacity guarantees but benefit from the reservation when capacity is available.\n\n**Zone alignment:** CRGs are zone-specific. Before sharing across subscriptions, verify logical-to-physical zone mapping with the `Get-AzAvailabilityZoneMapping.ps1` script — [logical zones](https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Freliability\u002Favailability-zones-overview#configuring-resources-for-availability-zone-support) can map to different physical zones across subscriptions.\n\nRead `references\u002Fdocs\u002Foperations\u002Fcapacity-reservations\u002FREADME.md` for the complete reference including automation patterns (REST API, Bicep, Terraform).\n\n## AKS capacity governance\n\nAKS node pools consume VM quota and can associate with capacity reservation groups, but with constraints specific to the AKS lifecycle:\n\n- **Node pool CRG association** happens at creation time — you can't associate an existing node pool with a CRG after the fact\n- **Identity requirement:** The AKS cluster must use a [user-assigned managed identity](https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Faks\u002Fuse-managed-identity) with `Microsoft.Compute\u002FcapacityReservationGroups\u002Fread` permission on the CRG\n- **Disassociation** removes the CRG association but doesn't delete the node pool\n- **Zone alignment** matters for cross-subscription CRG sharing — verify physical zone mapping before configuring AKS node pools against shared CRGs\n\nRead `references\u002Fdocs\u002Foperations\u002Faks-capacity\u002FREADME.md` for the complete reference including Bicep and Terraform examples.\n\n## Non-compute quotas\n\nStorage accounts, App Service plans, Cosmos DB throughput, Service Bus namespaces, Key Vault transactions, and other services have their own quota limits outside the compute quota system. Quota groups don't cover these — manage them through standard [quota requests](https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fquotas\u002Fstorage-account-quota-requests) and service-specific scaling controls.\n\nRead `references\u002Fdocs\u002Foperations\u002Fnon-compute-quotas\u002FREADME.md` for service-specific quota references.\n\n## Monitoring and governance\n\nThree alert types cover the capacity governance space:\n\n1. **Quota alerts:** [Azure Monitor alerts](https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fquotas\u002Fhow-to-guide-monitoring-alerting) triggered when quota usage crosses a configured threshold. Requires Reader or higher on the subscription.\n2. **Budget alerts:** [Cost Management alerts](https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fcost-management-billing\u002Fcosts\u002Fcost-mgt-alerts-monitor-usage-spending) triggered when actual or forecasted spend exceeds budget thresholds. Uses Cost Management RBAC.\n3. **Anomaly alerts:** Cost Management anomaly detection that flags unexpected spending patterns. Deploy with `references\u002Fscripts\u002Fanomaly-alerts\u002FDeploy-AnomalyAlert.ps1` or bulk deploy with `references\u002Fscripts\u002Fanomaly-alerts\u002FDeploy-BulkALZ.ps1`.\n\n**Governance cadence:** Monthly quota reviews, quarterly capacity planning cycles, and post-incident reviews when scaling events fail. Read `references\u002Fdocs\u002Foperations\u002Fmonitoring-alerting\u002FREADME.md` for alert configuration details and `references\u002Fdocs\u002Foperations\u002Fcapacity-governance\u002FREADME.md` for the governance program design.\n\n## Scripts quick reference\n\n| Script | Path | Purpose |\n|--------|------|---------|\n| Get-AzVMQuotaUsage.ps1 | `references\u002Fscripts\u002Fquota\u002F` | Multi-threaded quota analysis across subscriptions |\n| Show-AzVMQuotaReport.ps1 | `references\u002Fscripts\u002Fquota\u002F` | Single-threaded quota reporting |\n| Get-AzAvailabilityZoneMapping.ps1 | `references\u002Fscripts\u002Fquota\u002F` | Logical-to-physical zone mapping |\n| Get-BenefitRecommendations.ps1 | `references\u002Fscripts\u002Frate\u002F` | Reservation and savings plan recommendations |\n| Deploy-AnomalyAlert.ps1 | `references\u002Fscripts\u002Fanomaly-alerts\u002F` | Deploy cost anomaly alerts |\n| Deploy-BulkALZ.ps1 | `references\u002Fscripts\u002Fanomaly-alerts\u002F` | Bulk deploy anomaly alerts |\n| Deploy-Budget.ps1 | `references\u002Fscripts\u002Fbudgets\u002F` | Deploy individual budgets |\n| Deploy-BulkBudgets.ps1 | `references\u002Fscripts\u002Fbudgets\u002F` | Bulk deploy budgets |\n| Suppress-AdvisorRecommendations.ps1 | `references\u002Fscripts\u002Fadvisor\u002F` | Suppress Advisor recommendations |\n| Serverless SQL workbook | `references\u002Fscripts\u002Fserverless-sql-storage\u002F` | Azure Monitor workbook for serverless SQL allocated vs. used storage; identifies databases worth shrinking to reclaim billing waste |\n\nRead the README in each script directory for parameter requirements and prerequisites.\n\n## Key distinctions\n\nThese are commonly confused — keep them separated:\n\n- **Capacity reservation vs Azure Reservation vs savings plan:** [Capacity reservations](https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fvirtual-machines\u002Fcapacity-reservation-overview) guarantee compute supply. [Azure Reservations](https:\u002F\u002Fwww.finops.org\u002Fframework\u002Fcapabilities\u002Frate-optimization\u002F) and [savings plans](https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fcost-management-billing\u002Fsavings-plan\u002F) provide pricing discounts. Capacity guarantees supply; pricing commitments reduce cost.\n- **Quota group vs management group:** [Quota groups](https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fquotas\u002Fquota-groups) aggregate compute quota. Management groups organize subscriptions for RBAC and policy. Quota groups are created under management groups but don't inherit their policy or access controls.\n- **Logical vs physical zone:** [Logical zones](https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Freliability\u002Favailability-zones-overview#configuring-resources-for-availability-zone-support) are subscription-specific labels. Physical zones are datacenter locations. Zone 1 in subscription A may map to a different physical zone than zone 1 in subscription B.\n- **Region access vs quota increase:** Quota increases raise limits within an already-enabled region. [Region access requests](https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Ftroubleshoot\u002Fazure\u002Fgeneral\u002Fregion-access-request-process) unblock a restricted region for the subscription.\n\n## Operational agent\n\nThe `azure-capacity-manager` agent is a capacity evidence specialist for FinOps workflows. It handles operational tasks like quota analysis and reservation evaluation, maps Azure capacity evidence back to FinOps capabilities, has access to the same references, and can run scripts and `az` commands for live operations.\n\n## Documentation map\n\n| Domain | Reference path |\n|--------|---------------|\n| Azure capacity reference | `references\u002Fdocs\u002Foperations\u002Fcapacity-and-quotas\u002FREADME.md` |\n| Glossary | `references\u002Fdocs\u002Foperations\u002Fglossary.md` |\n| Quota operations | `references\u002Fdocs\u002Foperations\u002Fquota\u002FREADME.md` |\n| Quota groups | `references\u002Fdocs\u002Foperations\u002Fquota-groups\u002FREADME.md` |\n| Capacity reservations | `references\u002Fdocs\u002Foperations\u002Fcapacity-reservations\u002FREADME.md` |\n| AKS capacity | `references\u002Fdocs\u002Foperations\u002Faks-capacity\u002FREADME.md` |\n| Non-compute quotas | `references\u002Fdocs\u002Foperations\u002Fnon-compute-quotas\u002FREADME.md` |\n| Monitoring and alerting | `references\u002Fdocs\u002Foperations\u002Fmonitoring-alerting\u002FREADME.md` |\n| Capacity governance | `references\u002Fdocs\u002Foperations\u002Fcapacity-governance\u002FREADME.md` |\n| Capacity planning | `references\u002Fdocs\u002Foperations\u002Fcapacity-planning\u002FREADME.md` |\n| Billing (EA) | `references\u002Fdocs\u002Fbilling\u002Flegacy\u002FREADME.md` |\n| Billing (MCA) | `references\u002Fdocs\u002Fbilling\u002Fmodern\u002FREADME.md` |\n| Deployment patterns | `references\u002Fdocs\u002Fdeployment\u002FREADME.md` |\n| Tools and scripts | `references\u002Fdocs\u002Foperations\u002Ftools-scripts\u002FREADME.md` |\n| Quota scripts | `references\u002Fscripts\u002Fquota\u002FREADME.md` |\n| Anomaly alerts | `references\u002Fscripts\u002Fanomaly-alerts\u002FREADME.md` |\n| Budgets | `references\u002Fscripts\u002Fbudgets\u002FREADME.md` |\n| Rate optimization | `references\u002Fscripts\u002Frate\u002FREADME.md` |\n| Serverless SQL storage | `references\u002Fscripts\u002Fserverless-sql-storage\u002FREADME.md` |\n\n## Vendored upstream skills (microsoft\u002Fazure-skills)\n\nContent under `references\u002Fvendor\u002F` is unmodified, byte-identical material copied from\n[`microsoft\u002Fazure-skills`](https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fazure-skills) — it is not\nazcapman-authored, is not edited to fit this skill's voice, and is exempt from AGENTS.md's\nauthored-content rules per the exemption clause in AGENTS.md §1. Full source attribution,\nlicense text, and last-synced commit are in `references\u002Fvendor\u002FMANIFEST.md`.\n\n| When to use | Vendored path | Attribution |\n|---|---|---|\n| VM\u002Ffamily core quota checks and increase requests (CLI-driven) | `references\u002Fvendor\u002Fazure-quotas\u002FSKILL.md` | `references\u002Fvendor\u002FMANIFEST.md` |\n| Cost forecast and cost query APIs scoped to capacity forecasting (not general cost optimization) | `references\u002Fvendor\u002Fazure-cost\u002FSKILL.md` | `references\u002Fvendor\u002FMANIFEST.md` |\n| Azure AI Gateway \u002F APIM policies for AI workload throughput and rate-limit patterns | `references\u002Fvendor\u002Fazure-aigateway\u002FSKILL.md` | `references\u002Fvendor\u002FMANIFEST.md` |\n| VM\u002Fcompute capacity reservations (creation, association\u002Fdisassociation) | `references\u002Fvendor\u002Fazure-compute\u002Fworkflows\u002Fcapacity-reservation\u002Fcapacity-reservation.md` | `references\u002Fvendor\u002FMANIFEST.md` |\n| Azure OpenAI\u002FFoundry model quota (TPM, PTU, cross-region capacity discovery) | `references\u002Fvendor\u002Fmicrosoft-foundry\u002Fquota\u002Fquota.md` | `references\u002Fvendor\u002FMANIFEST.md` |\n| Foundry model deployment capacity checks during model deploy | `references\u002Fvendor\u002Fmicrosoft-foundry\u002Fmodels\u002Fdeploy-model\u002Fcapacity\u002FSKILL.md` | `references\u002Fvendor\u002FMANIFEST.md` |\n| General per-service resource\u002Flimit\u002Fquota reference table | `references\u002Fvendor\u002Fazure-prepare\u002Freferences\u002Fresources-limits-quotas.md` | `references\u002Fvendor\u002FMANIFEST.md` |\n| Region and SKU availability lookups | `references\u002Fvendor\u002Fazure-validate\u002Freferences\u002Fregion-availability.md` | `references\u002Fvendor\u002FMANIFEST.md` |\n\nThe three whole-skill copies (`azure-quotas`, `azure-cost`, `azure-aigateway`) keep their\nown internal `SKILL.md` structure for their own references and scripts — they are not\nseparately registered as standalone skills in this repo; this skill is the only\ndiscovery path into them.\n\n## Updating vendored content\n\n`references\u002Fvendor\u002F` is refreshed manually, not by a script or scheduled job. To update\nit:\n\n1. For each of the 8 paths listed in `references\u002Fvendor\u002FMANIFEST.md`, re-fetch the file\n   from `microsoft\u002Fazure-skills`'s `main` branch (e.g. via `gh api` or `curl` against\n   `raw.githubusercontent.com\u002Fmicrosoft\u002Fazure-skills\u002Fmain\u002F\u003Cpath>`) and overwrite the\n   vendored copy byte-for-byte.\n2. Verify each file with `git hash-object \u003Cfile>` against the new upstream blob SHA\n   (from the GitHub API for that path) to confirm an exact copy — no manual retyping or\n   edits.\n3. Update `MANIFEST.md`'s \"last synced\" commit SHA and date to the new commit.\n4. Note any files added or removed upstream within those same 8 paths in\n   `MANIFEST.md`. This is a refresh of existing content, not a re-scoping exercise — the\n   8-target list itself only changes via a deliberate, separate decision, not as a side\n   effect of a routine sync.\n\n## Notification procedures\n\n\u003C!-- \u002F\u002F T-20: RTM FR-10.1, FR-10.2 -->\nThe capacity manager can send alerts and reports through [SRE Agent's notification connectors](https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fsre-agent\u002Fsend-notifications). Use Teams for urgent capacity events and email for periodic reports.\n\n### Teams channel alerts\n\nUse Teams notifications for urgent capacity events that need immediate attention, following the [Azure SRE Agent notification guidance](https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fsre-agent\u002Fsend-notifications). The SRE Agent sends messages through the Teams connector in HTML format, so keep the payload compact, scannable, and action-oriented, as described in [Send notifications from Azure SRE Agent](https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fsre-agent\u002Fsend-notifications).\n\n**When to send Teams alerts:**\n- Quota utilization exceeds 80 percent for any VM family in a production region.\n- VM deployment fails with a quota or capacity error.\n- Capacity reservation group utilization drops below 50 percent, which points to wasted spend.\n- Quota group is depleted or nearly depleted.\n- Region access or zonal enablement request is needed.\n\n**Teams alert template:**\n\nUse this HTML template when you compose a Teams message. Include alert severity, the affected resource, current state, the recommended action, and links to the relevant Azure portal blades, following [Send notifications from Azure SRE Agent](https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fsre-agent\u002Fsend-notifications).\n\n```html\n\u003Ch3>⚠️ Quota utilization alert\u003C\u002Fh3>\n\u003Cp>\u003Cb>Severity:\u003C\u002Fb> warning\u003Cbr>\n\u003Cb>VM family:\u003C\u002Fb> Standard_D_v5\u003Cbr>\n\u003Cb>Region:\u003C\u002Fb> eastus\u003Cbr>\n\u003Cb>Subscription:\u003C\u002Fb> prod-001\u003Cbr>\n\u003Cb>Usage:\u003C\u002Fb> 85\u002F100 vCPUs (85%)\u003C\u002Fp>\n\u003Cp>\u003Cb>Recommended action:\u003C\u002Fb> Request a quota increase before the next deployment cycle.\u003C\u002Fp>\n\u003Cp>\n  \u003Ca href=\"https:\u002F\u002Fportal.azure.com\u002F#view\u002FMicrosoft_Azure_Capacity\u002FQuotaMenuBlade\">Open quota blade\u003C\u002Fa>\u003Cbr>\n  \u003Ca href=\"https:\u002F\u002Fportal.azure.com\u002F#view\u002FHubsExtension\u002FBrowseResource\u002FresourceType\u002FMicrosoft.Compute%2FcapacityReservationGroups\">Open capacity reservation groups\u003C\u002Fa>\n\u003C\u002Fp>\n```\n\n### Email capacity reports\n\nUse Outlook email for periodic capacity reports and non-urgent recommendations, following the same [Azure SRE Agent notification guidance](https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fsre-agent\u002Fsend-notifications). The SRE Agent sends email through the Outlook connector in HTML format, so structure the message for scanning first, and detailed follow-up second.\n\n**When to send email reports:**\n- Weekly capacity digest, including quota utilization trends across the estate.\n- Reservation expiring within 30 days, including a renewal recommendation and cost analysis.\n- Monthly savings plan optimization review.\n- Quarterly capacity planning summary.\n- Post-incident capacity analysis.\n\n**Email report template:**\n\nUse this HTML template for email reports. Include the report title, date range, a summary table of key metrics, highlighted findings, recommended actions with priority, and links to Azure portal resources or supporting documentation, as described in [Send notifications from Azure SRE Agent](https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fsre-agent\u002Fsend-notifications).\n\n```html\n\u003Ch2>Weekly capacity digest\u003C\u002Fh2>\n\u003Cp>\u003Cb>Period:\u003C\u002Fb> March 3–9, 2026\u003Cbr>\n\u003Cb>Subscriptions analyzed:\u003C\u002Fb> 47\u003C\u002Fp>\n\u003Ch3>Key findings\u003C\u002Fh3>\n\u003Ctable border=\"1\" cellpadding=\"8\">\n\u003Ctr>\u003Cth>Region\u003C\u002Fth>\u003Cth>VM family\u003C\u002Fth>\u003Cth>Utilization\u003C\u002Fth>\u003Cth>Action\u003C\u002Fth>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>eastus\u003C\u002Ftd>\u003Ctd>Standard_D_v5\u003C\u002Ftd>\u003Ctd>92%\u003C\u002Ftd>\u003Ctd>Request increase\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>westus2\u003C\u002Ftd>\u003Ctd>Standard_E_v5\u003C\u002Ftd>\u003Ctd>78%\u003C\u002Ftd>\u003Ctd>Monitor\u003C\u002Ftd>\u003C\u002Ftr>\n\u003C\u002Ftable>\n\u003Ch3>Recommendations\u003C\u002Fh3>\n\u003Col>\n\u003Cli>Request quota increase for Standard_D_v5 in eastus (critical)\u003C\u002Fli>\n\u003Cli>Review CRG utilization in westeurope—45% utilized, consider right-sizing\u003C\u002Fli>\n\u003Cli>Savings plan expires April 15—evaluate renewal versus pay-as-you-go\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>\n  \u003Ca href=\"https:\u002F\u002Fportal.azure.com\u002F#view\u002FMicrosoft_Azure_Capacity\u002FQuotaMenuBlade\">Open quota blade\u003C\u002Fa>\u003Cbr>\n  \u003Ca href=\"https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fquotas\u002Fhow-to-guide-monitoring-alerting\">Review quota monitoring guidance\u003C\u002Fa>\n\u003C\u002Fp>\n```\n\n### Scheduled notification patterns\n\nConfigure recurring notifications with [Azure SRE Agent scheduled tasks](https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fsre-agent\u002Fscheduled-tasks), and pair the schedule with the connector flow from [Send notifications from Azure SRE Agent](https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fsre-agent\u002Fsend-notifications).\n\n- Daily: quota utilization check, then send a Teams alert if any family is above 80 percent.\n- Weekly: capacity digest, then send email to stakeholders.\n- Monthly: savings plan and reservation review, then send email with recommendations.\n",{"data":34,"body":35},{"name":4,"description":6,"license":25},{"type":36,"children":37},"root",[38,46,90,104,111,158,317,338,344,358,363,433,438,578,590,596,607,625,633,671,690,702,708,720,730,786,804,831,843,849,854,913,925,931,945,957,963,968,1033,1057,1063,1305,1310,1316,1321,1409,1415,1435,1441,1773,1779,1812,2039,2074,2080,2090,2181,2187,2201,2208,2228,2236,2264,2272,2283,2797,2803,2815,2823,2851,2859,2870,3794,3800,3820,3838],{"type":39,"tag":40,"props":41,"children":42},"element","h1",{"id":4},[43],{"type":44,"value":45},"text","Azure capacity management",{"type":39,"tag":47,"props":48,"children":49},"p",{},[50,52,61,63,70,72,79,81,88],{"type":44,"value":51},"Estate-level capacity and quota management for SaaS ISVs operating workloads in subscriptions they own or control under an ",{"type":39,"tag":53,"props":54,"children":58},"a",{"href":55,"rel":56},"https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fcloud-adoption-framework\u002Fready\u002Flanding-zone\u002Fdesign-area\u002Fazure-billing-enterprise-agreement",[57],"nofollow",[59],{"type":44,"value":60},"Enterprise Agreement (EA)",{"type":44,"value":62}," or ",{"type":39,"tag":53,"props":64,"children":67},{"href":65,"rel":66},"https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fcloud-adoption-framework\u002Fready\u002Flanding-zone\u002Fdesign-area\u002Fazure-billing-microsoft-customer-agreement",[57],[68],{"type":44,"value":69},"Microsoft Customer Agreement (MCA)",{"type":44,"value":71},". This skill aligns with the ",{"type":39,"tag":53,"props":73,"children":76},{"href":74,"rel":75},"https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fcloud-adoption-framework\u002Fready\u002Flanding-zone\u002Fisv-landing-zone",[57],[77],{"type":44,"value":78},"ISV landing zone guidance",{"type":44,"value":80}," and covers pure SaaS and ",{"type":39,"tag":53,"props":82,"children":85},{"href":83,"rel":84},"https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Farchitecture\u002Fguide\u002Fmultitenant\u002Fapproaches\u002Foverview#deployment-stamps-pattern",[57],[86],{"type":44,"value":87},"stamp-based isolation",{"type":44,"value":89}," patterns where customers are isolated through dedicated or shared deployment stamps inside the ISV's Azure estate.",{"type":39,"tag":47,"props":91,"children":92},{},[93,95,102],{"type":44,"value":94},"Read the full Azure implementation reference at ",{"type":39,"tag":96,"props":97,"children":99},"code",{"className":98},[],[100],{"type":44,"value":101},"references\u002Fdocs\u002Foperations\u002Fcapacity-and-quotas\u002FREADME.md",{"type":44,"value":103},".",{"type":39,"tag":105,"props":106,"children":108},"h2",{"id":107},"finops-capability-mapping",[109],{"type":44,"value":110},"FinOps capability mapping",{"type":39,"tag":47,"props":112,"children":113},{},[114,116,123,125,132,134,141,143,150,152],{"type":44,"value":115},"Treat Azure capacity management as implementation detail under the canonical FinOps Framework. Capacity evidence commonly supports Planning & Estimating, Forecasting, Architecting & Workload Placement, Usage Optimization, Rate Optimization, Budgeting, Governance, Policy & Risk, and Automation, Tools & Services. Use ",{"type":39,"tag":53,"props":117,"children":120},{"href":118,"rel":119},"https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fwell-architected\u002Fperformance-efficiency\u002Fcapacity-planning",[57],[121],{"type":44,"value":122},"Well-Architected capacity planning",{"type":44,"value":124},", ",{"type":39,"tag":53,"props":126,"children":129},{"href":127,"rel":128},"https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fwell-architected\u002Freliability\u002Fscaling",[57],[130],{"type":44,"value":131},"reliable scaling",{"type":44,"value":133},", and ",{"type":39,"tag":53,"props":135,"children":138},{"href":136,"rel":137},"https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fwell-architected\u002Foperational-excellence\u002Fworkload-supply-chain",[57],[139],{"type":44,"value":140},"workload supply chain guidance",{"type":44,"value":142}," as Azure implementation guidance, not as a replacement framework. ",{"type":39,"tag":53,"props":144,"children":147},{"href":145,"rel":146},"https:\u002F\u002Fwww.finops.org\u002Fframework\u002F",[57],[148],{"type":44,"value":149},"Source",{"type":44,"value":151}," ",{"type":39,"tag":53,"props":153,"children":156},{"href":154,"rel":155},"https:\u002F\u002Fwww.finops.org\u002Fframework\u002Fdomains\u002F",[57],[157],{"type":44,"value":149},{"type":39,"tag":159,"props":160,"children":161},"table",{},[162,186],{"type":39,"tag":163,"props":164,"children":165},"thead",{},[166],{"type":39,"tag":167,"props":168,"children":169},"tr",{},[170,176,181],{"type":39,"tag":171,"props":172,"children":173},"th",{},[174],{"type":44,"value":175},"FinOps capability",{"type":39,"tag":171,"props":177,"children":178},{},[179],{"type":44,"value":180},"Capacity question",{"type":39,"tag":171,"props":182,"children":183},{},[184],{"type":44,"value":185},"Azure surfaces",{"type":39,"tag":187,"props":188,"children":189},"tbody",{},[190,209,227,245,263,281,299],{"type":39,"tag":167,"props":191,"children":192},{},[193,199,204],{"type":39,"tag":194,"props":195,"children":196},"td",{},[197],{"type":44,"value":198},"Planning & Estimating",{"type":39,"tag":194,"props":200,"children":201},{},[202],{"type":44,"value":203},"What capacity does the planned workload, scenario, or stamp need?",{"type":39,"tag":194,"props":205,"children":206},{},[207],{"type":44,"value":208},"Workload requirements, scale-unit assumptions, Azure Monitor, estimates, FinOps budgets",{"type":39,"tag":167,"props":210,"children":211},{},[212,217,222],{"type":39,"tag":194,"props":213,"children":214},{},[215],{"type":44,"value":216},"Forecasting",{"type":39,"tag":194,"props":218,"children":219},{},[220],{"type":44,"value":221},"When will demand exceed quota, region, SKU, zone, or reserved-capacity headroom?",{"type":39,"tag":194,"props":223,"children":224},{},[225],{"type":44,"value":226},"Historical usage, growth trends, forecast breach dates, capacity planning models",{"type":39,"tag":167,"props":228,"children":229},{},[230,235,240],{"type":39,"tag":194,"props":231,"children":232},{},[233],{"type":44,"value":234},"Architecting & Workload Placement",{"type":39,"tag":194,"props":236,"children":237},{},[238],{"type":44,"value":239},"Which regions, zones, SKUs, quota pools, or deployment patterns should change?",{"type":39,"tag":194,"props":241,"children":242},{},[243],{"type":44,"value":244},"SKU availability, region access, quota groups, capacity reservation groups, CRG sharing, overallocation",{"type":39,"tag":167,"props":246,"children":247},{},[248,253,258],{"type":39,"tag":194,"props":249,"children":250},{},[251],{"type":44,"value":252},"Usage Optimization",{"type":39,"tag":194,"props":254,"children":255},{},[256],{"type":44,"value":257},"Which allocated capacity, quota, or deployment pattern is underused or inefficient?",{"type":39,"tag":194,"props":259,"children":260},{},[261],{"type":44,"value":262},"Utilization, headroom, rightsizing evidence, unused reserved capacity, demand signals",{"type":39,"tag":167,"props":264,"children":265},{},[266,271,276],{"type":39,"tag":194,"props":267,"children":268},{},[269],{"type":44,"value":270},"Rate Optimization",{"type":39,"tag":194,"props":272,"children":273},{},[274],{"type":44,"value":275},"Where should capacity guarantees be coordinated with reservations or savings plans?",{"type":39,"tag":194,"props":277,"children":278},{},[279],{"type":44,"value":280},"Benefit recommendations, commitment utilization, CRG utilization, pricing evidence from FinOps Hub",{"type":39,"tag":167,"props":282,"children":283},{},[284,289,294],{"type":39,"tag":194,"props":285,"children":286},{},[287],{"type":44,"value":288},"Governance, Policy & Risk",{"type":39,"tag":194,"props":290,"children":291},{},[292],{"type":44,"value":293},"Which capacity risks need ownership, exception review, or escalation?",{"type":39,"tag":194,"props":295,"children":296},{},[297],{"type":44,"value":298},"Approved regions and SKUs, owner metadata, risk thresholds, exception status",{"type":39,"tag":167,"props":300,"children":301},{},[302,307,312],{"type":39,"tag":194,"props":303,"children":304},{},[305],{"type":44,"value":306},"Automation, Tools & Services",{"type":39,"tag":194,"props":308,"children":309},{},[310],{"type":44,"value":311},"Which controls expose capacity risk before deployment or scale events?",{"type":39,"tag":194,"props":313,"children":314},{},[315],{"type":44,"value":316},"Quota alerts, budget alerts, anomaly alerts, CI\u002FCD gates, workflow status",{"type":39,"tag":47,"props":318,"children":319},{},[320,322,328,330,336],{"type":44,"value":321},"Read ",{"type":39,"tag":96,"props":323,"children":325},{"className":324},[],[326],{"type":44,"value":327},"references\u002Fdocs\u002Foperations\u002Fcapacity-planning\u002FREADME.md",{"type":44,"value":329}," for forecasting details and ",{"type":39,"tag":96,"props":331,"children":333},{"className":332},[],[334],{"type":44,"value":335},"references\u002Fdocs\u002Foperations\u002Fcapacity-governance\u002FREADME.md",{"type":44,"value":337}," for the governance program design.",{"type":39,"tag":105,"props":339,"children":341},{"id":340},"quota-operations",[342],{"type":44,"value":343},"Quota operations",{"type":39,"tag":47,"props":345,"children":346},{},[347,349,356],{"type":44,"value":348},"Azure assigns ",{"type":39,"tag":53,"props":350,"children":353},{"href":351,"rel":352},"https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fquotas\u002Fper-vm-quota-requests",[57],[354],{"type":44,"value":355},"default quota limits",{"type":44,"value":357}," per subscription. EA subscriptions typically start with 350 cores; pay-as-you-go subscriptions start with 20 cores. Some VM series have offer restrictions that block deployment until you request access.",{"type":39,"tag":47,"props":359,"children":360},{},[361],{"type":44,"value":362},"Key workflows:",{"type":39,"tag":364,"props":365,"children":366},"ul",{},[367,388,406],{"type":39,"tag":368,"props":369,"children":370},"li",{},[371,377,379,386],{"type":39,"tag":372,"props":373,"children":374},"strong",{},[375],{"type":44,"value":376},"Region access:",{"type":44,"value":378}," Submit a ",{"type":39,"tag":53,"props":380,"children":383},{"href":381,"rel":382},"https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Ftroubleshoot\u002Fazure\u002Fgeneral\u002Fregion-access-request-process",[57],[384],{"type":44,"value":385},"region access support request",{"type":44,"value":387}," when a subscription can't deploy to a restricted region.",{"type":39,"tag":368,"props":389,"children":390},{},[391,396,397,404],{"type":39,"tag":372,"props":392,"children":393},{},[394],{"type":44,"value":395},"Zonal enablement:",{"type":44,"value":378},{"type":39,"tag":53,"props":398,"children":401},{"href":399,"rel":400},"https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Ftroubleshoot\u002Fazure\u002Fgeneral\u002Fzonal-enablement-request-for-restricted-vm-series",[57],[402],{"type":44,"value":403},"zonal enablement request",{"type":44,"value":405}," for restricted VM series in specific availability zones.",{"type":39,"tag":368,"props":407,"children":408},{},[409,414,416,422,424,431],{"type":39,"tag":372,"props":410,"children":411},{},[412],{"type":44,"value":413},"Quota increases:",{"type":44,"value":415}," Use ",{"type":39,"tag":53,"props":417,"children":419},{"href":351,"rel":418},[57],[420],{"type":44,"value":421},"per-VM quota requests",{"type":44,"value":423}," for individual subscriptions or ",{"type":39,"tag":53,"props":425,"children":428},{"href":426,"rel":427},"https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fquotas\u002Fquota-group-limit-increase",[57],[429],{"type":44,"value":430},"quota group limit increases",{"type":44,"value":432}," for grouped subscriptions.",{"type":39,"tag":47,"props":434,"children":435},{},[436],{"type":44,"value":437},"CLI reference:",{"type":39,"tag":439,"props":440,"children":445},"pre",{"className":441,"code":442,"language":443,"meta":444,"style":444},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","# List quota usage for a subscription\naz quota usage list --scope \u002Fsubscriptions\u002F{sub-id}\u002Fproviders\u002FMicrosoft.Compute\u002Flocations\u002F{location}\n\n# Request a quota increase\naz quota create --resource-name \"StandardDSv3Family\" --scope \u002Fsubscriptions\u002F{sub-id}\u002Fproviders\u002FMicrosoft.Compute\u002Flocations\u002F{location} --limit-object value=500\n","bash","",[446],{"type":39,"tag":96,"props":447,"children":448},{"__ignoreMap":444},[449,460,496,506,515],{"type":39,"tag":450,"props":451,"children":453},"span",{"class":452,"line":22},"line",[454],{"type":39,"tag":450,"props":455,"children":457},{"style":456},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic",[458],{"type":44,"value":459},"# List quota usage for a subscription\n",{"type":39,"tag":450,"props":461,"children":463},{"class":452,"line":462},2,[464,470,476,481,486,491],{"type":39,"tag":450,"props":465,"children":467},{"style":466},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[468],{"type":44,"value":469},"az",{"type":39,"tag":450,"props":471,"children":473},{"style":472},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[474],{"type":44,"value":475}," quota",{"type":39,"tag":450,"props":477,"children":478},{"style":472},[479],{"type":44,"value":480}," usage",{"type":39,"tag":450,"props":482,"children":483},{"style":472},[484],{"type":44,"value":485}," list",{"type":39,"tag":450,"props":487,"children":488},{"style":472},[489],{"type":44,"value":490}," --scope",{"type":39,"tag":450,"props":492,"children":493},{"style":472},[494],{"type":44,"value":495}," \u002Fsubscriptions\u002F{sub-id}\u002Fproviders\u002FMicrosoft.Compute\u002Flocations\u002F{location}\n",{"type":39,"tag":450,"props":497,"children":499},{"class":452,"line":498},3,[500],{"type":39,"tag":450,"props":501,"children":503},{"emptyLinePlaceholder":502},true,[504],{"type":44,"value":505},"\n",{"type":39,"tag":450,"props":507,"children":509},{"class":452,"line":508},4,[510],{"type":39,"tag":450,"props":511,"children":512},{"style":456},[513],{"type":44,"value":514},"# Request a quota increase\n",{"type":39,"tag":450,"props":516,"children":518},{"class":452,"line":517},5,[519,523,527,532,537,543,548,553,557,562,567,572],{"type":39,"tag":450,"props":520,"children":521},{"style":466},[522],{"type":44,"value":469},{"type":39,"tag":450,"props":524,"children":525},{"style":472},[526],{"type":44,"value":475},{"type":39,"tag":450,"props":528,"children":529},{"style":472},[530],{"type":44,"value":531}," create",{"type":39,"tag":450,"props":533,"children":534},{"style":472},[535],{"type":44,"value":536}," --resource-name",{"type":39,"tag":450,"props":538,"children":540},{"style":539},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[541],{"type":44,"value":542}," \"",{"type":39,"tag":450,"props":544,"children":545},{"style":472},[546],{"type":44,"value":547},"StandardDSv3Family",{"type":39,"tag":450,"props":549,"children":550},{"style":539},[551],{"type":44,"value":552},"\"",{"type":39,"tag":450,"props":554,"children":555},{"style":472},[556],{"type":44,"value":490},{"type":39,"tag":450,"props":558,"children":559},{"style":472},[560],{"type":44,"value":561}," \u002Fsubscriptions\u002F{sub-id}\u002Fproviders\u002FMicrosoft.Compute\u002Flocations\u002F{location}",{"type":39,"tag":450,"props":563,"children":564},{"style":472},[565],{"type":44,"value":566}," --limit-object",{"type":39,"tag":450,"props":568,"children":569},{"style":472},[570],{"type":44,"value":571}," value=",{"type":39,"tag":450,"props":573,"children":575},{"style":574},"--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C",[576],{"type":44,"value":577},"500\n",{"type":39,"tag":47,"props":579,"children":580},{},[581,582,588],{"type":44,"value":321},{"type":39,"tag":96,"props":583,"children":585},{"className":584},[],[586],{"type":44,"value":587},"references\u002Fdocs\u002Foperations\u002Fquota\u002FREADME.md",{"type":44,"value":589}," for the complete quota operations reference.",{"type":39,"tag":105,"props":591,"children":593},{"id":592},"quota-groups",[594],{"type":44,"value":595},"Quota groups",{"type":39,"tag":47,"props":597,"children":598},{},[599,605],{"type":39,"tag":53,"props":600,"children":603},{"href":601,"rel":602},"https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fquotas\u002Fquota-groups",[57],[604],{"type":44,"value":595},{"type":44,"value":606}," are ARM objects that aggregate compute quota across eligible subscriptions at the management group scope. They reduce stranded VM-family headroom and let you request group-level increases.",{"type":39,"tag":47,"props":608,"children":609},{},[610,615,617,623],{"type":39,"tag":372,"props":611,"children":612},{},[613],{"type":44,"value":614},"Prerequisites:",{"type":44,"value":616}," Register the ",{"type":39,"tag":96,"props":618,"children":620},{"className":619},[],[621],{"type":44,"value":622},"Microsoft.Quota",{"type":44,"value":624}," resource provider on each member subscription. The management group must exist before creating the quota group.",{"type":39,"tag":47,"props":626,"children":627},{},[628],{"type":39,"tag":372,"props":629,"children":630},{},[631],{"type":44,"value":632},"Limitations:",{"type":39,"tag":364,"props":634,"children":635},{},[636,641,654,659],{"type":39,"tag":368,"props":637,"children":638},{},[639],{"type":44,"value":640},"IaaS compute only — doesn't cover storage, networking, or PaaS services",{"type":39,"tag":368,"props":642,"children":643},{},[644,646,652],{"type":44,"value":645},"A subscription can belong to a single quota group at a time (",{"type":39,"tag":53,"props":647,"children":649},{"href":601,"rel":648},[57],[650],{"type":44,"value":651},"source",{"type":44,"value":653},")",{"type":39,"tag":368,"props":655,"children":656},{},[657],{"type":44,"value":658},"Doesn't grant region or zone access — those require separate support requests",{"type":39,"tag":368,"props":660,"children":661},{},[662,669],{"type":39,"tag":53,"props":663,"children":666},{"href":664,"rel":665},"https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fquotas\u002Ftransfer-quota-groups",[57],[667],{"type":44,"value":668},"Quota transfers",{"type":44,"value":670}," move allocation between member subscriptions but don't change the group total",{"type":39,"tag":47,"props":672,"children":673},{},[674,679,681,688],{"type":39,"tag":372,"props":675,"children":676},{},[677],{"type":44,"value":678},"Lifecycle:",{"type":44,"value":680}," Create the quota group under a management group, ",{"type":39,"tag":53,"props":682,"children":685},{"href":683,"rel":684},"https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fquotas\u002Fadd-remove-subscriptions-quota-group",[57],[686],{"type":44,"value":687},"add subscriptions",{"type":44,"value":689},", then request group-level limit increases. Monitor allocation snapshots and transfer as demand shifts between subscriptions.",{"type":39,"tag":47,"props":691,"children":692},{},[693,694,700],{"type":44,"value":321},{"type":39,"tag":96,"props":695,"children":697},{"className":696},[],[698],{"type":44,"value":699},"references\u002Fdocs\u002Foperations\u002Fquota-groups\u002FREADME.md",{"type":44,"value":701}," for the complete reference including ARM lifecycle, transfer mechanics, and monitoring integration.",{"type":39,"tag":105,"props":703,"children":705},{"id":704},"capacity-reservations",[706],{"type":44,"value":707},"Capacity reservations",{"type":39,"tag":47,"props":709,"children":710},{},[711,718],{"type":39,"tag":53,"props":712,"children":715},{"href":713,"rel":714},"https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fvirtual-machines\u002Fcapacity-reservation-overview",[57],[716],{"type":44,"value":717},"Capacity reservation groups (CRGs)",{"type":44,"value":719}," guarantee compute capacity for specific VM sizes in a region or availability zone. CRGs are capacity guarantees, not pricing commitments — unused reserved capacity is billed at the pay-as-you-go rate for the VM size.",{"type":39,"tag":47,"props":721,"children":722},{},[723,728],{"type":39,"tag":372,"props":724,"children":725},{},[726],{"type":44,"value":727},"Cost implications:",{"type":44,"value":729}," Reserved capacity is billed whether or not VMs run against it. Pair CRGs with Azure Reservations or savings plans to get both capacity guarantee and pricing discount.",{"type":39,"tag":47,"props":731,"children":732},{},[733,738,740,747,749,755,757,763,764,770,771,777,778,784],{"type":39,"tag":372,"props":734,"children":735},{},[736],{"type":44,"value":737},"Sharing (preview):",{"type":44,"value":739}," CRGs can be ",{"type":39,"tag":53,"props":741,"children":744},{"href":742,"rel":743},"https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fvirtual-machines\u002Fcapacity-reservation-group-share",[57],[745],{"type":44,"value":746},"shared across subscriptions",{"type":44,"value":748}," within the same tenant. The ODCR owner in the consumer subscription needs ",{"type":39,"tag":96,"props":750,"children":752},{"className":751},[],[753],{"type":44,"value":754},"Microsoft.Compute\u002FcapacityReservationGroups\u002Fshare\u002Faction",{"type":44,"value":756},". The VM owner in the consumer subscription needs ",{"type":39,"tag":96,"props":758,"children":760},{"className":759},[],[761],{"type":44,"value":762},"Microsoft.Compute\u002FcapacityReservationGroups\u002Fread",{"type":44,"value":124},{"type":39,"tag":96,"props":765,"children":767},{"className":766},[],[768],{"type":44,"value":769},"Microsoft.Compute\u002FcapacityReservationGroups\u002Fdeploy",{"type":44,"value":124},{"type":39,"tag":96,"props":772,"children":774},{"className":773},[],[775],{"type":44,"value":776},"Microsoft.Compute\u002FcapacityReservationGroups\u002FcapacityReservations\u002Fread",{"type":44,"value":133},{"type":39,"tag":96,"props":779,"children":781},{"className":780},[],[782],{"type":44,"value":783},"Microsoft.Compute\u002FcapacityReservationGroups\u002FcapacityReservations\u002Fdeploy",{"type":44,"value":785},". Portal support isn't available in preview; use CLI, PowerShell, or REST API.",{"type":39,"tag":47,"props":787,"children":788},{},[789,794,795,802],{"type":39,"tag":372,"props":790,"children":791},{},[792],{"type":44,"value":793},"Overallocation:",{"type":44,"value":151},{"type":39,"tag":53,"props":796,"children":799},{"href":797,"rel":798},"https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fvirtual-machines\u002Fcapacity-reservation-overallocate",[57],[800],{"type":44,"value":801},"Overallocation",{"type":44,"value":803}," lets you deploy more VMs than the reserved quantity. Excess VMs don't have capacity guarantees but benefit from the reservation when capacity is available.",{"type":39,"tag":47,"props":805,"children":806},{},[807,812,814,820,822,829],{"type":39,"tag":372,"props":808,"children":809},{},[810],{"type":44,"value":811},"Zone alignment:",{"type":44,"value":813}," CRGs are zone-specific. Before sharing across subscriptions, verify logical-to-physical zone mapping with the ",{"type":39,"tag":96,"props":815,"children":817},{"className":816},[],[818],{"type":44,"value":819},"Get-AzAvailabilityZoneMapping.ps1",{"type":44,"value":821}," script — ",{"type":39,"tag":53,"props":823,"children":826},{"href":824,"rel":825},"https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Freliability\u002Favailability-zones-overview#configuring-resources-for-availability-zone-support",[57],[827],{"type":44,"value":828},"logical zones",{"type":44,"value":830}," can map to different physical zones across subscriptions.",{"type":39,"tag":47,"props":832,"children":833},{},[834,835,841],{"type":44,"value":321},{"type":39,"tag":96,"props":836,"children":838},{"className":837},[],[839],{"type":44,"value":840},"references\u002Fdocs\u002Foperations\u002Fcapacity-reservations\u002FREADME.md",{"type":44,"value":842}," for the complete reference including automation patterns (REST API, Bicep, Terraform).",{"type":39,"tag":105,"props":844,"children":846},{"id":845},"aks-capacity-governance",[847],{"type":44,"value":848},"AKS capacity governance",{"type":39,"tag":47,"props":850,"children":851},{},[852],{"type":44,"value":853},"AKS node pools consume VM quota and can associate with capacity reservation groups, but with constraints specific to the AKS lifecycle:",{"type":39,"tag":364,"props":855,"children":856},{},[857,867,893,903],{"type":39,"tag":368,"props":858,"children":859},{},[860,865],{"type":39,"tag":372,"props":861,"children":862},{},[863],{"type":44,"value":864},"Node pool CRG association",{"type":44,"value":866}," happens at creation time — you can't associate an existing node pool with a CRG after the fact",{"type":39,"tag":368,"props":868,"children":869},{},[870,875,877,884,886,891],{"type":39,"tag":372,"props":871,"children":872},{},[873],{"type":44,"value":874},"Identity requirement:",{"type":44,"value":876}," The AKS cluster must use a ",{"type":39,"tag":53,"props":878,"children":881},{"href":879,"rel":880},"https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Faks\u002Fuse-managed-identity",[57],[882],{"type":44,"value":883},"user-assigned managed identity",{"type":44,"value":885}," with ",{"type":39,"tag":96,"props":887,"children":889},{"className":888},[],[890],{"type":44,"value":762},{"type":44,"value":892}," permission on the CRG",{"type":39,"tag":368,"props":894,"children":895},{},[896,901],{"type":39,"tag":372,"props":897,"children":898},{},[899],{"type":44,"value":900},"Disassociation",{"type":44,"value":902}," removes the CRG association but doesn't delete the node pool",{"type":39,"tag":368,"props":904,"children":905},{},[906,911],{"type":39,"tag":372,"props":907,"children":908},{},[909],{"type":44,"value":910},"Zone alignment",{"type":44,"value":912}," matters for cross-subscription CRG sharing — verify physical zone mapping before configuring AKS node pools against shared CRGs",{"type":39,"tag":47,"props":914,"children":915},{},[916,917,923],{"type":44,"value":321},{"type":39,"tag":96,"props":918,"children":920},{"className":919},[],[921],{"type":44,"value":922},"references\u002Fdocs\u002Foperations\u002Faks-capacity\u002FREADME.md",{"type":44,"value":924}," for the complete reference including Bicep and Terraform examples.",{"type":39,"tag":105,"props":926,"children":928},{"id":927},"non-compute-quotas",[929],{"type":44,"value":930},"Non-compute quotas",{"type":39,"tag":47,"props":932,"children":933},{},[934,936,943],{"type":44,"value":935},"Storage accounts, App Service plans, Cosmos DB throughput, Service Bus namespaces, Key Vault transactions, and other services have their own quota limits outside the compute quota system. Quota groups don't cover these — manage them through standard ",{"type":39,"tag":53,"props":937,"children":940},{"href":938,"rel":939},"https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fquotas\u002Fstorage-account-quota-requests",[57],[941],{"type":44,"value":942},"quota requests",{"type":44,"value":944}," and service-specific scaling controls.",{"type":39,"tag":47,"props":946,"children":947},{},[948,949,955],{"type":44,"value":321},{"type":39,"tag":96,"props":950,"children":952},{"className":951},[],[953],{"type":44,"value":954},"references\u002Fdocs\u002Foperations\u002Fnon-compute-quotas\u002FREADME.md",{"type":44,"value":956}," for service-specific quota references.",{"type":39,"tag":105,"props":958,"children":960},{"id":959},"monitoring-and-governance",[961],{"type":44,"value":962},"Monitoring and governance",{"type":39,"tag":47,"props":964,"children":965},{},[966],{"type":44,"value":967},"Three alert types cover the capacity governance space:",{"type":39,"tag":969,"props":970,"children":971},"ol",{},[972,990,1008],{"type":39,"tag":368,"props":973,"children":974},{},[975,980,981,988],{"type":39,"tag":372,"props":976,"children":977},{},[978],{"type":44,"value":979},"Quota alerts:",{"type":44,"value":151},{"type":39,"tag":53,"props":982,"children":985},{"href":983,"rel":984},"https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fquotas\u002Fhow-to-guide-monitoring-alerting",[57],[986],{"type":44,"value":987},"Azure Monitor alerts",{"type":44,"value":989}," triggered when quota usage crosses a configured threshold. Requires Reader or higher on the subscription.",{"type":39,"tag":368,"props":991,"children":992},{},[993,998,999,1006],{"type":39,"tag":372,"props":994,"children":995},{},[996],{"type":44,"value":997},"Budget alerts:",{"type":44,"value":151},{"type":39,"tag":53,"props":1000,"children":1003},{"href":1001,"rel":1002},"https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fcost-management-billing\u002Fcosts\u002Fcost-mgt-alerts-monitor-usage-spending",[57],[1004],{"type":44,"value":1005},"Cost Management alerts",{"type":44,"value":1007}," triggered when actual or forecasted spend exceeds budget thresholds. Uses Cost Management RBAC.",{"type":39,"tag":368,"props":1009,"children":1010},{},[1011,1016,1018,1024,1026,1032],{"type":39,"tag":372,"props":1012,"children":1013},{},[1014],{"type":44,"value":1015},"Anomaly alerts:",{"type":44,"value":1017}," Cost Management anomaly detection that flags unexpected spending patterns. Deploy with ",{"type":39,"tag":96,"props":1019,"children":1021},{"className":1020},[],[1022],{"type":44,"value":1023},"references\u002Fscripts\u002Fanomaly-alerts\u002FDeploy-AnomalyAlert.ps1",{"type":44,"value":1025}," or bulk deploy with ",{"type":39,"tag":96,"props":1027,"children":1029},{"className":1028},[],[1030],{"type":44,"value":1031},"references\u002Fscripts\u002Fanomaly-alerts\u002FDeploy-BulkALZ.ps1",{"type":44,"value":103},{"type":39,"tag":47,"props":1034,"children":1035},{},[1036,1041,1043,1049,1051,1056],{"type":39,"tag":372,"props":1037,"children":1038},{},[1039],{"type":44,"value":1040},"Governance cadence:",{"type":44,"value":1042}," Monthly quota reviews, quarterly capacity planning cycles, and post-incident reviews when scaling events fail. Read ",{"type":39,"tag":96,"props":1044,"children":1046},{"className":1045},[],[1047],{"type":44,"value":1048},"references\u002Fdocs\u002Foperations\u002Fmonitoring-alerting\u002FREADME.md",{"type":44,"value":1050}," for alert configuration details and ",{"type":39,"tag":96,"props":1052,"children":1054},{"className":1053},[],[1055],{"type":44,"value":335},{"type":44,"value":337},{"type":39,"tag":105,"props":1058,"children":1060},{"id":1059},"scripts-quick-reference",[1061],{"type":44,"value":1062},"Scripts quick reference",{"type":39,"tag":159,"props":1064,"children":1065},{},[1066,1087],{"type":39,"tag":163,"props":1067,"children":1068},{},[1069],{"type":39,"tag":167,"props":1070,"children":1071},{},[1072,1077,1082],{"type":39,"tag":171,"props":1073,"children":1074},{},[1075],{"type":44,"value":1076},"Script",{"type":39,"tag":171,"props":1078,"children":1079},{},[1080],{"type":44,"value":1081},"Path",{"type":39,"tag":171,"props":1083,"children":1084},{},[1085],{"type":44,"value":1086},"Purpose",{"type":39,"tag":187,"props":1088,"children":1089},{},[1090,1112,1133,1153,1175,1197,1218,1240,1261,1283],{"type":39,"tag":167,"props":1091,"children":1092},{},[1093,1098,1107],{"type":39,"tag":194,"props":1094,"children":1095},{},[1096],{"type":44,"value":1097},"Get-AzVMQuotaUsage.ps1",{"type":39,"tag":194,"props":1099,"children":1100},{},[1101],{"type":39,"tag":96,"props":1102,"children":1104},{"className":1103},[],[1105],{"type":44,"value":1106},"references\u002Fscripts\u002Fquota\u002F",{"type":39,"tag":194,"props":1108,"children":1109},{},[1110],{"type":44,"value":1111},"Multi-threaded quota analysis across subscriptions",{"type":39,"tag":167,"props":1113,"children":1114},{},[1115,1120,1128],{"type":39,"tag":194,"props":1116,"children":1117},{},[1118],{"type":44,"value":1119},"Show-AzVMQuotaReport.ps1",{"type":39,"tag":194,"props":1121,"children":1122},{},[1123],{"type":39,"tag":96,"props":1124,"children":1126},{"className":1125},[],[1127],{"type":44,"value":1106},{"type":39,"tag":194,"props":1129,"children":1130},{},[1131],{"type":44,"value":1132},"Single-threaded quota reporting",{"type":39,"tag":167,"props":1134,"children":1135},{},[1136,1140,1148],{"type":39,"tag":194,"props":1137,"children":1138},{},[1139],{"type":44,"value":819},{"type":39,"tag":194,"props":1141,"children":1142},{},[1143],{"type":39,"tag":96,"props":1144,"children":1146},{"className":1145},[],[1147],{"type":44,"value":1106},{"type":39,"tag":194,"props":1149,"children":1150},{},[1151],{"type":44,"value":1152},"Logical-to-physical zone mapping",{"type":39,"tag":167,"props":1154,"children":1155},{},[1156,1161,1170],{"type":39,"tag":194,"props":1157,"children":1158},{},[1159],{"type":44,"value":1160},"Get-BenefitRecommendations.ps1",{"type":39,"tag":194,"props":1162,"children":1163},{},[1164],{"type":39,"tag":96,"props":1165,"children":1167},{"className":1166},[],[1168],{"type":44,"value":1169},"references\u002Fscripts\u002Frate\u002F",{"type":39,"tag":194,"props":1171,"children":1172},{},[1173],{"type":44,"value":1174},"Reservation and savings plan recommendations",{"type":39,"tag":167,"props":1176,"children":1177},{},[1178,1183,1192],{"type":39,"tag":194,"props":1179,"children":1180},{},[1181],{"type":44,"value":1182},"Deploy-AnomalyAlert.ps1",{"type":39,"tag":194,"props":1184,"children":1185},{},[1186],{"type":39,"tag":96,"props":1187,"children":1189},{"className":1188},[],[1190],{"type":44,"value":1191},"references\u002Fscripts\u002Fanomaly-alerts\u002F",{"type":39,"tag":194,"props":1193,"children":1194},{},[1195],{"type":44,"value":1196},"Deploy cost anomaly alerts",{"type":39,"tag":167,"props":1198,"children":1199},{},[1200,1205,1213],{"type":39,"tag":194,"props":1201,"children":1202},{},[1203],{"type":44,"value":1204},"Deploy-BulkALZ.ps1",{"type":39,"tag":194,"props":1206,"children":1207},{},[1208],{"type":39,"tag":96,"props":1209,"children":1211},{"className":1210},[],[1212],{"type":44,"value":1191},{"type":39,"tag":194,"props":1214,"children":1215},{},[1216],{"type":44,"value":1217},"Bulk deploy anomaly alerts",{"type":39,"tag":167,"props":1219,"children":1220},{},[1221,1226,1235],{"type":39,"tag":194,"props":1222,"children":1223},{},[1224],{"type":44,"value":1225},"Deploy-Budget.ps1",{"type":39,"tag":194,"props":1227,"children":1228},{},[1229],{"type":39,"tag":96,"props":1230,"children":1232},{"className":1231},[],[1233],{"type":44,"value":1234},"references\u002Fscripts\u002Fbudgets\u002F",{"type":39,"tag":194,"props":1236,"children":1237},{},[1238],{"type":44,"value":1239},"Deploy individual budgets",{"type":39,"tag":167,"props":1241,"children":1242},{},[1243,1248,1256],{"type":39,"tag":194,"props":1244,"children":1245},{},[1246],{"type":44,"value":1247},"Deploy-BulkBudgets.ps1",{"type":39,"tag":194,"props":1249,"children":1250},{},[1251],{"type":39,"tag":96,"props":1252,"children":1254},{"className":1253},[],[1255],{"type":44,"value":1234},{"type":39,"tag":194,"props":1257,"children":1258},{},[1259],{"type":44,"value":1260},"Bulk deploy budgets",{"type":39,"tag":167,"props":1262,"children":1263},{},[1264,1269,1278],{"type":39,"tag":194,"props":1265,"children":1266},{},[1267],{"type":44,"value":1268},"Suppress-AdvisorRecommendations.ps1",{"type":39,"tag":194,"props":1270,"children":1271},{},[1272],{"type":39,"tag":96,"props":1273,"children":1275},{"className":1274},[],[1276],{"type":44,"value":1277},"references\u002Fscripts\u002Fadvisor\u002F",{"type":39,"tag":194,"props":1279,"children":1280},{},[1281],{"type":44,"value":1282},"Suppress Advisor recommendations",{"type":39,"tag":167,"props":1284,"children":1285},{},[1286,1291,1300],{"type":39,"tag":194,"props":1287,"children":1288},{},[1289],{"type":44,"value":1290},"Serverless SQL workbook",{"type":39,"tag":194,"props":1292,"children":1293},{},[1294],{"type":39,"tag":96,"props":1295,"children":1297},{"className":1296},[],[1298],{"type":44,"value":1299},"references\u002Fscripts\u002Fserverless-sql-storage\u002F",{"type":39,"tag":194,"props":1301,"children":1302},{},[1303],{"type":44,"value":1304},"Azure Monitor workbook for serverless SQL allocated vs. used storage; identifies databases worth shrinking to reclaim billing waste",{"type":39,"tag":47,"props":1306,"children":1307},{},[1308],{"type":44,"value":1309},"Read the README in each script directory for parameter requirements and prerequisites.",{"type":39,"tag":105,"props":1311,"children":1313},{"id":1312},"key-distinctions",[1314],{"type":44,"value":1315},"Key distinctions",{"type":39,"tag":47,"props":1317,"children":1318},{},[1319],{"type":44,"value":1320},"These are commonly confused — keep them separated:",{"type":39,"tag":364,"props":1322,"children":1323},{},[1324,1358,1374,1391],{"type":39,"tag":368,"props":1325,"children":1326},{},[1327,1332,1333,1338,1340,1347,1349,1356],{"type":39,"tag":372,"props":1328,"children":1329},{},[1330],{"type":44,"value":1331},"Capacity reservation vs Azure Reservation vs savings plan:",{"type":44,"value":151},{"type":39,"tag":53,"props":1334,"children":1336},{"href":713,"rel":1335},[57],[1337],{"type":44,"value":707},{"type":44,"value":1339}," guarantee compute supply. ",{"type":39,"tag":53,"props":1341,"children":1344},{"href":1342,"rel":1343},"https:\u002F\u002Fwww.finops.org\u002Fframework\u002Fcapabilities\u002Frate-optimization\u002F",[57],[1345],{"type":44,"value":1346},"Azure Reservations",{"type":44,"value":1348}," and ",{"type":39,"tag":53,"props":1350,"children":1353},{"href":1351,"rel":1352},"https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fcost-management-billing\u002Fsavings-plan\u002F",[57],[1354],{"type":44,"value":1355},"savings plans",{"type":44,"value":1357}," provide pricing discounts. Capacity guarantees supply; pricing commitments reduce cost.",{"type":39,"tag":368,"props":1359,"children":1360},{},[1361,1366,1367,1372],{"type":39,"tag":372,"props":1362,"children":1363},{},[1364],{"type":44,"value":1365},"Quota group vs management group:",{"type":44,"value":151},{"type":39,"tag":53,"props":1368,"children":1370},{"href":601,"rel":1369},[57],[1371],{"type":44,"value":595},{"type":44,"value":1373}," aggregate compute quota. Management groups organize subscriptions for RBAC and policy. Quota groups are created under management groups but don't inherit their policy or access controls.",{"type":39,"tag":368,"props":1375,"children":1376},{},[1377,1382,1383,1389],{"type":39,"tag":372,"props":1378,"children":1379},{},[1380],{"type":44,"value":1381},"Logical vs physical zone:",{"type":44,"value":151},{"type":39,"tag":53,"props":1384,"children":1386},{"href":824,"rel":1385},[57],[1387],{"type":44,"value":1388},"Logical zones",{"type":44,"value":1390}," are subscription-specific labels. Physical zones are datacenter locations. Zone 1 in subscription A may map to a different physical zone than zone 1 in subscription B.",{"type":39,"tag":368,"props":1392,"children":1393},{},[1394,1399,1401,1407],{"type":39,"tag":372,"props":1395,"children":1396},{},[1397],{"type":44,"value":1398},"Region access vs quota increase:",{"type":44,"value":1400}," Quota increases raise limits within an already-enabled region. ",{"type":39,"tag":53,"props":1402,"children":1404},{"href":381,"rel":1403},[57],[1405],{"type":44,"value":1406},"Region access requests",{"type":44,"value":1408}," unblock a restricted region for the subscription.",{"type":39,"tag":105,"props":1410,"children":1412},{"id":1411},"operational-agent",[1413],{"type":44,"value":1414},"Operational agent",{"type":39,"tag":47,"props":1416,"children":1417},{},[1418,1420,1426,1428,1433],{"type":44,"value":1419},"The ",{"type":39,"tag":96,"props":1421,"children":1423},{"className":1422},[],[1424],{"type":44,"value":1425},"azure-capacity-manager",{"type":44,"value":1427}," agent is a capacity evidence specialist for FinOps workflows. It handles operational tasks like quota analysis and reservation evaluation, maps Azure capacity evidence back to FinOps capabilities, has access to the same references, and can run scripts and ",{"type":39,"tag":96,"props":1429,"children":1431},{"className":1430},[],[1432],{"type":44,"value":469},{"type":44,"value":1434}," commands for live operations.",{"type":39,"tag":105,"props":1436,"children":1438},{"id":1437},"documentation-map",[1439],{"type":44,"value":1440},"Documentation map",{"type":39,"tag":159,"props":1442,"children":1443},{},[1444,1460],{"type":39,"tag":163,"props":1445,"children":1446},{},[1447],{"type":39,"tag":167,"props":1448,"children":1449},{},[1450,1455],{"type":39,"tag":171,"props":1451,"children":1452},{},[1453],{"type":44,"value":1454},"Domain",{"type":39,"tag":171,"props":1456,"children":1457},{},[1458],{"type":44,"value":1459},"Reference path",{"type":39,"tag":187,"props":1461,"children":1462},{},[1463,1479,1496,1511,1526,1541,1557,1572,1588,1604,1620,1637,1654,1671,1688,1705,1722,1739,1756],{"type":39,"tag":167,"props":1464,"children":1465},{},[1466,1471],{"type":39,"tag":194,"props":1467,"children":1468},{},[1469],{"type":44,"value":1470},"Azure capacity reference",{"type":39,"tag":194,"props":1472,"children":1473},{},[1474],{"type":39,"tag":96,"props":1475,"children":1477},{"className":1476},[],[1478],{"type":44,"value":101},{"type":39,"tag":167,"props":1480,"children":1481},{},[1482,1487],{"type":39,"tag":194,"props":1483,"children":1484},{},[1485],{"type":44,"value":1486},"Glossary",{"type":39,"tag":194,"props":1488,"children":1489},{},[1490],{"type":39,"tag":96,"props":1491,"children":1493},{"className":1492},[],[1494],{"type":44,"value":1495},"references\u002Fdocs\u002Foperations\u002Fglossary.md",{"type":39,"tag":167,"props":1497,"children":1498},{},[1499,1503],{"type":39,"tag":194,"props":1500,"children":1501},{},[1502],{"type":44,"value":343},{"type":39,"tag":194,"props":1504,"children":1505},{},[1506],{"type":39,"tag":96,"props":1507,"children":1509},{"className":1508},[],[1510],{"type":44,"value":587},{"type":39,"tag":167,"props":1512,"children":1513},{},[1514,1518],{"type":39,"tag":194,"props":1515,"children":1516},{},[1517],{"type":44,"value":595},{"type":39,"tag":194,"props":1519,"children":1520},{},[1521],{"type":39,"tag":96,"props":1522,"children":1524},{"className":1523},[],[1525],{"type":44,"value":699},{"type":39,"tag":167,"props":1527,"children":1528},{},[1529,1533],{"type":39,"tag":194,"props":1530,"children":1531},{},[1532],{"type":44,"value":707},{"type":39,"tag":194,"props":1534,"children":1535},{},[1536],{"type":39,"tag":96,"props":1537,"children":1539},{"className":1538},[],[1540],{"type":44,"value":840},{"type":39,"tag":167,"props":1542,"children":1543},{},[1544,1549],{"type":39,"tag":194,"props":1545,"children":1546},{},[1547],{"type":44,"value":1548},"AKS capacity",{"type":39,"tag":194,"props":1550,"children":1551},{},[1552],{"type":39,"tag":96,"props":1553,"children":1555},{"className":1554},[],[1556],{"type":44,"value":922},{"type":39,"tag":167,"props":1558,"children":1559},{},[1560,1564],{"type":39,"tag":194,"props":1561,"children":1562},{},[1563],{"type":44,"value":930},{"type":39,"tag":194,"props":1565,"children":1566},{},[1567],{"type":39,"tag":96,"props":1568,"children":1570},{"className":1569},[],[1571],{"type":44,"value":954},{"type":39,"tag":167,"props":1573,"children":1574},{},[1575,1580],{"type":39,"tag":194,"props":1576,"children":1577},{},[1578],{"type":44,"value":1579},"Monitoring and alerting",{"type":39,"tag":194,"props":1581,"children":1582},{},[1583],{"type":39,"tag":96,"props":1584,"children":1586},{"className":1585},[],[1587],{"type":44,"value":1048},{"type":39,"tag":167,"props":1589,"children":1590},{},[1591,1596],{"type":39,"tag":194,"props":1592,"children":1593},{},[1594],{"type":44,"value":1595},"Capacity governance",{"type":39,"tag":194,"props":1597,"children":1598},{},[1599],{"type":39,"tag":96,"props":1600,"children":1602},{"className":1601},[],[1603],{"type":44,"value":335},{"type":39,"tag":167,"props":1605,"children":1606},{},[1607,1612],{"type":39,"tag":194,"props":1608,"children":1609},{},[1610],{"type":44,"value":1611},"Capacity planning",{"type":39,"tag":194,"props":1613,"children":1614},{},[1615],{"type":39,"tag":96,"props":1616,"children":1618},{"className":1617},[],[1619],{"type":44,"value":327},{"type":39,"tag":167,"props":1621,"children":1622},{},[1623,1628],{"type":39,"tag":194,"props":1624,"children":1625},{},[1626],{"type":44,"value":1627},"Billing (EA)",{"type":39,"tag":194,"props":1629,"children":1630},{},[1631],{"type":39,"tag":96,"props":1632,"children":1634},{"className":1633},[],[1635],{"type":44,"value":1636},"references\u002Fdocs\u002Fbilling\u002Flegacy\u002FREADME.md",{"type":39,"tag":167,"props":1638,"children":1639},{},[1640,1645],{"type":39,"tag":194,"props":1641,"children":1642},{},[1643],{"type":44,"value":1644},"Billing (MCA)",{"type":39,"tag":194,"props":1646,"children":1647},{},[1648],{"type":39,"tag":96,"props":1649,"children":1651},{"className":1650},[],[1652],{"type":44,"value":1653},"references\u002Fdocs\u002Fbilling\u002Fmodern\u002FREADME.md",{"type":39,"tag":167,"props":1655,"children":1656},{},[1657,1662],{"type":39,"tag":194,"props":1658,"children":1659},{},[1660],{"type":44,"value":1661},"Deployment patterns",{"type":39,"tag":194,"props":1663,"children":1664},{},[1665],{"type":39,"tag":96,"props":1666,"children":1668},{"className":1667},[],[1669],{"type":44,"value":1670},"references\u002Fdocs\u002Fdeployment\u002FREADME.md",{"type":39,"tag":167,"props":1672,"children":1673},{},[1674,1679],{"type":39,"tag":194,"props":1675,"children":1676},{},[1677],{"type":44,"value":1678},"Tools and scripts",{"type":39,"tag":194,"props":1680,"children":1681},{},[1682],{"type":39,"tag":96,"props":1683,"children":1685},{"className":1684},[],[1686],{"type":44,"value":1687},"references\u002Fdocs\u002Foperations\u002Ftools-scripts\u002FREADME.md",{"type":39,"tag":167,"props":1689,"children":1690},{},[1691,1696],{"type":39,"tag":194,"props":1692,"children":1693},{},[1694],{"type":44,"value":1695},"Quota scripts",{"type":39,"tag":194,"props":1697,"children":1698},{},[1699],{"type":39,"tag":96,"props":1700,"children":1702},{"className":1701},[],[1703],{"type":44,"value":1704},"references\u002Fscripts\u002Fquota\u002FREADME.md",{"type":39,"tag":167,"props":1706,"children":1707},{},[1708,1713],{"type":39,"tag":194,"props":1709,"children":1710},{},[1711],{"type":44,"value":1712},"Anomaly alerts",{"type":39,"tag":194,"props":1714,"children":1715},{},[1716],{"type":39,"tag":96,"props":1717,"children":1719},{"className":1718},[],[1720],{"type":44,"value":1721},"references\u002Fscripts\u002Fanomaly-alerts\u002FREADME.md",{"type":39,"tag":167,"props":1723,"children":1724},{},[1725,1730],{"type":39,"tag":194,"props":1726,"children":1727},{},[1728],{"type":44,"value":1729},"Budgets",{"type":39,"tag":194,"props":1731,"children":1732},{},[1733],{"type":39,"tag":96,"props":1734,"children":1736},{"className":1735},[],[1737],{"type":44,"value":1738},"references\u002Fscripts\u002Fbudgets\u002FREADME.md",{"type":39,"tag":167,"props":1740,"children":1741},{},[1742,1747],{"type":39,"tag":194,"props":1743,"children":1744},{},[1745],{"type":44,"value":1746},"Rate optimization",{"type":39,"tag":194,"props":1748,"children":1749},{},[1750],{"type":39,"tag":96,"props":1751,"children":1753},{"className":1752},[],[1754],{"type":44,"value":1755},"references\u002Fscripts\u002Frate\u002FREADME.md",{"type":39,"tag":167,"props":1757,"children":1758},{},[1759,1764],{"type":39,"tag":194,"props":1760,"children":1761},{},[1762],{"type":44,"value":1763},"Serverless SQL storage",{"type":39,"tag":194,"props":1765,"children":1766},{},[1767],{"type":39,"tag":96,"props":1768,"children":1770},{"className":1769},[],[1771],{"type":44,"value":1772},"references\u002Fscripts\u002Fserverless-sql-storage\u002FREADME.md",{"type":39,"tag":105,"props":1774,"children":1776},{"id":1775},"vendored-upstream-skills-microsoftazure-skills",[1777],{"type":44,"value":1778},"Vendored upstream skills (microsoft\u002Fazure-skills)",{"type":39,"tag":47,"props":1780,"children":1781},{},[1782,1784,1790,1792,1803,1805,1811],{"type":44,"value":1783},"Content under ",{"type":39,"tag":96,"props":1785,"children":1787},{"className":1786},[],[1788],{"type":44,"value":1789},"references\u002Fvendor\u002F",{"type":44,"value":1791}," is unmodified, byte-identical material copied from\n",{"type":39,"tag":53,"props":1793,"children":1796},{"href":1794,"rel":1795},"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fazure-skills",[57],[1797],{"type":39,"tag":96,"props":1798,"children":1800},{"className":1799},[],[1801],{"type":44,"value":1802},"microsoft\u002Fazure-skills",{"type":44,"value":1804}," — it is not\nazcapman-authored, is not edited to fit this skill's voice, and is exempt from AGENTS.md's\nauthored-content rules per the exemption clause in AGENTS.md §1. Full source attribution,\nlicense text, and last-synced commit are in ",{"type":39,"tag":96,"props":1806,"children":1808},{"className":1807},[],[1809],{"type":44,"value":1810},"references\u002Fvendor\u002FMANIFEST.md",{"type":44,"value":103},{"type":39,"tag":159,"props":1813,"children":1814},{},[1815,1836],{"type":39,"tag":163,"props":1816,"children":1817},{},[1818],{"type":39,"tag":167,"props":1819,"children":1820},{},[1821,1826,1831],{"type":39,"tag":171,"props":1822,"children":1823},{},[1824],{"type":44,"value":1825},"When to use",{"type":39,"tag":171,"props":1827,"children":1828},{},[1829],{"type":44,"value":1830},"Vendored path",{"type":39,"tag":171,"props":1832,"children":1833},{},[1834],{"type":44,"value":1835},"Attribution",{"type":39,"tag":187,"props":1837,"children":1838},{},[1839,1864,1889,1914,1939,1964,1989,2014],{"type":39,"tag":167,"props":1840,"children":1841},{},[1842,1847,1856],{"type":39,"tag":194,"props":1843,"children":1844},{},[1845],{"type":44,"value":1846},"VM\u002Ffamily core quota checks and increase requests (CLI-driven)",{"type":39,"tag":194,"props":1848,"children":1849},{},[1850],{"type":39,"tag":96,"props":1851,"children":1853},{"className":1852},[],[1854],{"type":44,"value":1855},"references\u002Fvendor\u002Fazure-quotas\u002FSKILL.md",{"type":39,"tag":194,"props":1857,"children":1858},{},[1859],{"type":39,"tag":96,"props":1860,"children":1862},{"className":1861},[],[1863],{"type":44,"value":1810},{"type":39,"tag":167,"props":1865,"children":1866},{},[1867,1872,1881],{"type":39,"tag":194,"props":1868,"children":1869},{},[1870],{"type":44,"value":1871},"Cost forecast and cost query APIs scoped to capacity forecasting (not general cost optimization)",{"type":39,"tag":194,"props":1873,"children":1874},{},[1875],{"type":39,"tag":96,"props":1876,"children":1878},{"className":1877},[],[1879],{"type":44,"value":1880},"references\u002Fvendor\u002Fazure-cost\u002FSKILL.md",{"type":39,"tag":194,"props":1882,"children":1883},{},[1884],{"type":39,"tag":96,"props":1885,"children":1887},{"className":1886},[],[1888],{"type":44,"value":1810},{"type":39,"tag":167,"props":1890,"children":1891},{},[1892,1897,1906],{"type":39,"tag":194,"props":1893,"children":1894},{},[1895],{"type":44,"value":1896},"Azure AI Gateway \u002F APIM policies for AI workload throughput and rate-limit patterns",{"type":39,"tag":194,"props":1898,"children":1899},{},[1900],{"type":39,"tag":96,"props":1901,"children":1903},{"className":1902},[],[1904],{"type":44,"value":1905},"references\u002Fvendor\u002Fazure-aigateway\u002FSKILL.md",{"type":39,"tag":194,"props":1907,"children":1908},{},[1909],{"type":39,"tag":96,"props":1910,"children":1912},{"className":1911},[],[1913],{"type":44,"value":1810},{"type":39,"tag":167,"props":1915,"children":1916},{},[1917,1922,1931],{"type":39,"tag":194,"props":1918,"children":1919},{},[1920],{"type":44,"value":1921},"VM\u002Fcompute capacity reservations (creation, association\u002Fdisassociation)",{"type":39,"tag":194,"props":1923,"children":1924},{},[1925],{"type":39,"tag":96,"props":1926,"children":1928},{"className":1927},[],[1929],{"type":44,"value":1930},"references\u002Fvendor\u002Fazure-compute\u002Fworkflows\u002Fcapacity-reservation\u002Fcapacity-reservation.md",{"type":39,"tag":194,"props":1932,"children":1933},{},[1934],{"type":39,"tag":96,"props":1935,"children":1937},{"className":1936},[],[1938],{"type":44,"value":1810},{"type":39,"tag":167,"props":1940,"children":1941},{},[1942,1947,1956],{"type":39,"tag":194,"props":1943,"children":1944},{},[1945],{"type":44,"value":1946},"Azure OpenAI\u002FFoundry model quota (TPM, PTU, cross-region capacity discovery)",{"type":39,"tag":194,"props":1948,"children":1949},{},[1950],{"type":39,"tag":96,"props":1951,"children":1953},{"className":1952},[],[1954],{"type":44,"value":1955},"references\u002Fvendor\u002Fmicrosoft-foundry\u002Fquota\u002Fquota.md",{"type":39,"tag":194,"props":1957,"children":1958},{},[1959],{"type":39,"tag":96,"props":1960,"children":1962},{"className":1961},[],[1963],{"type":44,"value":1810},{"type":39,"tag":167,"props":1965,"children":1966},{},[1967,1972,1981],{"type":39,"tag":194,"props":1968,"children":1969},{},[1970],{"type":44,"value":1971},"Foundry model deployment capacity checks during model deploy",{"type":39,"tag":194,"props":1973,"children":1974},{},[1975],{"type":39,"tag":96,"props":1976,"children":1978},{"className":1977},[],[1979],{"type":44,"value":1980},"references\u002Fvendor\u002Fmicrosoft-foundry\u002Fmodels\u002Fdeploy-model\u002Fcapacity\u002FSKILL.md",{"type":39,"tag":194,"props":1982,"children":1983},{},[1984],{"type":39,"tag":96,"props":1985,"children":1987},{"className":1986},[],[1988],{"type":44,"value":1810},{"type":39,"tag":167,"props":1990,"children":1991},{},[1992,1997,2006],{"type":39,"tag":194,"props":1993,"children":1994},{},[1995],{"type":44,"value":1996},"General per-service resource\u002Flimit\u002Fquota reference table",{"type":39,"tag":194,"props":1998,"children":1999},{},[2000],{"type":39,"tag":96,"props":2001,"children":2003},{"className":2002},[],[2004],{"type":44,"value":2005},"references\u002Fvendor\u002Fazure-prepare\u002Freferences\u002Fresources-limits-quotas.md",{"type":39,"tag":194,"props":2007,"children":2008},{},[2009],{"type":39,"tag":96,"props":2010,"children":2012},{"className":2011},[],[2013],{"type":44,"value":1810},{"type":39,"tag":167,"props":2015,"children":2016},{},[2017,2022,2031],{"type":39,"tag":194,"props":2018,"children":2019},{},[2020],{"type":44,"value":2021},"Region and SKU availability lookups",{"type":39,"tag":194,"props":2023,"children":2024},{},[2025],{"type":39,"tag":96,"props":2026,"children":2028},{"className":2027},[],[2029],{"type":44,"value":2030},"references\u002Fvendor\u002Fazure-validate\u002Freferences\u002Fregion-availability.md",{"type":39,"tag":194,"props":2032,"children":2033},{},[2034],{"type":39,"tag":96,"props":2035,"children":2037},{"className":2036},[],[2038],{"type":44,"value":1810},{"type":39,"tag":47,"props":2040,"children":2041},{},[2042,2044,2050,2051,2057,2058,2064,2066,2072],{"type":44,"value":2043},"The three whole-skill copies (",{"type":39,"tag":96,"props":2045,"children":2047},{"className":2046},[],[2048],{"type":44,"value":2049},"azure-quotas",{"type":44,"value":124},{"type":39,"tag":96,"props":2052,"children":2054},{"className":2053},[],[2055],{"type":44,"value":2056},"azure-cost",{"type":44,"value":124},{"type":39,"tag":96,"props":2059,"children":2061},{"className":2060},[],[2062],{"type":44,"value":2063},"azure-aigateway",{"type":44,"value":2065},") keep their\nown internal ",{"type":39,"tag":96,"props":2067,"children":2069},{"className":2068},[],[2070],{"type":44,"value":2071},"SKILL.md",{"type":44,"value":2073}," structure for their own references and scripts — they are not\nseparately registered as standalone skills in this repo; this skill is the only\ndiscovery path into them.",{"type":39,"tag":105,"props":2075,"children":2077},{"id":2076},"updating-vendored-content",[2078],{"type":44,"value":2079},"Updating vendored content",{"type":39,"tag":47,"props":2081,"children":2082},{},[2083,2088],{"type":39,"tag":96,"props":2084,"children":2086},{"className":2085},[],[2087],{"type":44,"value":1789},{"type":44,"value":2089}," is refreshed manually, not by a script or scheduled job. To update\nit:",{"type":39,"tag":969,"props":2091,"children":2092},{},[2093,2143,2156,2169],{"type":39,"tag":368,"props":2094,"children":2095},{},[2096,2098,2103,2105,2110,2112,2118,2120,2126,2127,2133,2135,2141],{"type":44,"value":2097},"For each of the 8 paths listed in ",{"type":39,"tag":96,"props":2099,"children":2101},{"className":2100},[],[2102],{"type":44,"value":1810},{"type":44,"value":2104},", re-fetch the file\nfrom ",{"type":39,"tag":96,"props":2106,"children":2108},{"className":2107},[],[2109],{"type":44,"value":1802},{"type":44,"value":2111},"'s ",{"type":39,"tag":96,"props":2113,"children":2115},{"className":2114},[],[2116],{"type":44,"value":2117},"main",{"type":44,"value":2119}," branch (e.g. via ",{"type":39,"tag":96,"props":2121,"children":2123},{"className":2122},[],[2124],{"type":44,"value":2125},"gh api",{"type":44,"value":62},{"type":39,"tag":96,"props":2128,"children":2130},{"className":2129},[],[2131],{"type":44,"value":2132},"curl",{"type":44,"value":2134}," against\n",{"type":39,"tag":96,"props":2136,"children":2138},{"className":2137},[],[2139],{"type":44,"value":2140},"raw.githubusercontent.com\u002Fmicrosoft\u002Fazure-skills\u002Fmain\u002F\u003Cpath>",{"type":44,"value":2142},") and overwrite the\nvendored copy byte-for-byte.",{"type":39,"tag":368,"props":2144,"children":2145},{},[2146,2148,2154],{"type":44,"value":2147},"Verify each file with ",{"type":39,"tag":96,"props":2149,"children":2151},{"className":2150},[],[2152],{"type":44,"value":2153},"git hash-object \u003Cfile>",{"type":44,"value":2155}," against the new upstream blob SHA\n(from the GitHub API for that path) to confirm an exact copy — no manual retyping or\nedits.",{"type":39,"tag":368,"props":2157,"children":2158},{},[2159,2161,2167],{"type":44,"value":2160},"Update ",{"type":39,"tag":96,"props":2162,"children":2164},{"className":2163},[],[2165],{"type":44,"value":2166},"MANIFEST.md",{"type":44,"value":2168},"'s \"last synced\" commit SHA and date to the new commit.",{"type":39,"tag":368,"props":2170,"children":2171},{},[2172,2174,2179],{"type":44,"value":2173},"Note any files added or removed upstream within those same 8 paths in\n",{"type":39,"tag":96,"props":2175,"children":2177},{"className":2176},[],[2178],{"type":44,"value":2166},{"type":44,"value":2180},". This is a refresh of existing content, not a re-scoping exercise — the\n8-target list itself only changes via a deliberate, separate decision, not as a side\neffect of a routine sync.",{"type":39,"tag":105,"props":2182,"children":2184},{"id":2183},"notification-procedures",[2185],{"type":44,"value":2186},"Notification procedures",{"type":39,"tag":47,"props":2188,"children":2189},{},[2190,2192,2199],{"type":44,"value":2191},"The capacity manager can send alerts and reports through ",{"type":39,"tag":53,"props":2193,"children":2196},{"href":2194,"rel":2195},"https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fsre-agent\u002Fsend-notifications",[57],[2197],{"type":44,"value":2198},"SRE Agent's notification connectors",{"type":44,"value":2200},". Use Teams for urgent capacity events and email for periodic reports.",{"type":39,"tag":2202,"props":2203,"children":2205},"h3",{"id":2204},"teams-channel-alerts",[2206],{"type":44,"value":2207},"Teams channel alerts",{"type":39,"tag":47,"props":2209,"children":2210},{},[2211,2213,2219,2221,2227],{"type":44,"value":2212},"Use Teams notifications for urgent capacity events that need immediate attention, following the ",{"type":39,"tag":53,"props":2214,"children":2216},{"href":2194,"rel":2215},[57],[2217],{"type":44,"value":2218},"Azure SRE Agent notification guidance",{"type":44,"value":2220},". The SRE Agent sends messages through the Teams connector in HTML format, so keep the payload compact, scannable, and action-oriented, as described in ",{"type":39,"tag":53,"props":2222,"children":2224},{"href":2194,"rel":2223},[57],[2225],{"type":44,"value":2226},"Send notifications from Azure SRE Agent",{"type":44,"value":103},{"type":39,"tag":47,"props":2229,"children":2230},{},[2231],{"type":39,"tag":372,"props":2232,"children":2233},{},[2234],{"type":44,"value":2235},"When to send Teams alerts:",{"type":39,"tag":364,"props":2237,"children":2238},{},[2239,2244,2249,2254,2259],{"type":39,"tag":368,"props":2240,"children":2241},{},[2242],{"type":44,"value":2243},"Quota utilization exceeds 80 percent for any VM family in a production region.",{"type":39,"tag":368,"props":2245,"children":2246},{},[2247],{"type":44,"value":2248},"VM deployment fails with a quota or capacity error.",{"type":39,"tag":368,"props":2250,"children":2251},{},[2252],{"type":44,"value":2253},"Capacity reservation group utilization drops below 50 percent, which points to wasted spend.",{"type":39,"tag":368,"props":2255,"children":2256},{},[2257],{"type":44,"value":2258},"Quota group is depleted or nearly depleted.",{"type":39,"tag":368,"props":2260,"children":2261},{},[2262],{"type":44,"value":2263},"Region access or zonal enablement request is needed.",{"type":39,"tag":47,"props":2265,"children":2266},{},[2267],{"type":39,"tag":372,"props":2268,"children":2269},{},[2270],{"type":44,"value":2271},"Teams alert template:",{"type":39,"tag":47,"props":2273,"children":2274},{},[2275,2277,2282],{"type":44,"value":2276},"Use this HTML template when you compose a Teams message. Include alert severity, the affected resource, current state, the recommended action, and links to the relevant Azure portal blades, following ",{"type":39,"tag":53,"props":2278,"children":2280},{"href":2194,"rel":2279},[57],[2281],{"type":44,"value":2226},{"type":44,"value":103},{"type":39,"tag":439,"props":2284,"children":2288},{"className":2285,"code":2286,"language":2287,"meta":444,"style":444},"language-html shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u003Ch3>⚠️ Quota utilization alert\u003C\u002Fh3>\n\u003Cp>\u003Cb>Severity:\u003C\u002Fb> warning\u003Cbr>\n\u003Cb>VM family:\u003C\u002Fb> Standard_D_v5\u003Cbr>\n\u003Cb>Region:\u003C\u002Fb> eastus\u003Cbr>\n\u003Cb>Subscription:\u003C\u002Fb> prod-001\u003Cbr>\n\u003Cb>Usage:\u003C\u002Fb> 85\u002F100 vCPUs (85%)\u003C\u002Fp>\n\u003Cp>\u003Cb>Recommended action:\u003C\u002Fb> Request a quota increase before the next deployment cycle.\u003C\u002Fp>\n\u003Cp>\n  \u003Ca href=\"https:\u002F\u002Fportal.azure.com\u002F#view\u002FMicrosoft_Azure_Capacity\u002FQuotaMenuBlade\">Open quota blade\u003C\u002Fa>\u003Cbr>\n  \u003Ca href=\"https:\u002F\u002Fportal.azure.com\u002F#view\u002FHubsExtension\u002FBrowseResource\u002FresourceType\u002FMicrosoft.Compute%2FcapacityReservationGroups\">Open capacity reservation groups\u003C\u002Fa>\n\u003C\u002Fp>\n","html",[2289],{"type":39,"tag":96,"props":2290,"children":2291},{"__ignoreMap":444},[2292,2330,2390,2439,2488,2537,2587,2645,2661,2727,2781],{"type":39,"tag":450,"props":2293,"children":2294},{"class":452,"line":22},[2295,2300,2305,2310,2316,2321,2325],{"type":39,"tag":450,"props":2296,"children":2297},{"style":539},[2298],{"type":44,"value":2299},"\u003C",{"type":39,"tag":450,"props":2301,"children":2303},{"style":2302},"--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178",[2304],{"type":44,"value":2202},{"type":39,"tag":450,"props":2306,"children":2307},{"style":539},[2308],{"type":44,"value":2309},">",{"type":39,"tag":450,"props":2311,"children":2313},{"style":2312},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[2314],{"type":44,"value":2315},"⚠️ Quota utilization alert",{"type":39,"tag":450,"props":2317,"children":2318},{"style":539},[2319],{"type":44,"value":2320},"\u003C\u002F",{"type":39,"tag":450,"props":2322,"children":2323},{"style":2302},[2324],{"type":44,"value":2202},{"type":39,"tag":450,"props":2326,"children":2327},{"style":539},[2328],{"type":44,"value":2329},">\n",{"type":39,"tag":450,"props":2331,"children":2332},{"class":452,"line":462},[2333,2337,2341,2346,2351,2355,2360,2364,2368,2372,2377,2381,2386],{"type":39,"tag":450,"props":2334,"children":2335},{"style":539},[2336],{"type":44,"value":2299},{"type":39,"tag":450,"props":2338,"children":2339},{"style":2302},[2340],{"type":44,"value":47},{"type":39,"tag":450,"props":2342,"children":2343},{"style":539},[2344],{"type":44,"value":2345},">\u003C",{"type":39,"tag":450,"props":2347,"children":2348},{"style":2302},[2349],{"type":44,"value":2350},"b",{"type":39,"tag":450,"props":2352,"children":2353},{"style":539},[2354],{"type":44,"value":2309},{"type":39,"tag":450,"props":2356,"children":2357},{"style":2312},[2358],{"type":44,"value":2359},"Severity:",{"type":39,"tag":450,"props":2361,"children":2362},{"style":539},[2363],{"type":44,"value":2320},{"type":39,"tag":450,"props":2365,"children":2366},{"style":2302},[2367],{"type":44,"value":2350},{"type":39,"tag":450,"props":2369,"children":2370},{"style":539},[2371],{"type":44,"value":2309},{"type":39,"tag":450,"props":2373,"children":2374},{"style":2312},[2375],{"type":44,"value":2376}," warning",{"type":39,"tag":450,"props":2378,"children":2379},{"style":539},[2380],{"type":44,"value":2299},{"type":39,"tag":450,"props":2382,"children":2383},{"style":2302},[2384],{"type":44,"value":2385},"br",{"type":39,"tag":450,"props":2387,"children":2388},{"style":539},[2389],{"type":44,"value":2329},{"type":39,"tag":450,"props":2391,"children":2392},{"class":452,"line":498},[2393,2397,2401,2405,2410,2414,2418,2422,2427,2431,2435],{"type":39,"tag":450,"props":2394,"children":2395},{"style":539},[2396],{"type":44,"value":2299},{"type":39,"tag":450,"props":2398,"children":2399},{"style":2302},[2400],{"type":44,"value":2350},{"type":39,"tag":450,"props":2402,"children":2403},{"style":539},[2404],{"type":44,"value":2309},{"type":39,"tag":450,"props":2406,"children":2407},{"style":2312},[2408],{"type":44,"value":2409},"VM family:",{"type":39,"tag":450,"props":2411,"children":2412},{"style":539},[2413],{"type":44,"value":2320},{"type":39,"tag":450,"props":2415,"children":2416},{"style":2302},[2417],{"type":44,"value":2350},{"type":39,"tag":450,"props":2419,"children":2420},{"style":539},[2421],{"type":44,"value":2309},{"type":39,"tag":450,"props":2423,"children":2424},{"style":2312},[2425],{"type":44,"value":2426}," Standard_D_v5",{"type":39,"tag":450,"props":2428,"children":2429},{"style":539},[2430],{"type":44,"value":2299},{"type":39,"tag":450,"props":2432,"children":2433},{"style":2302},[2434],{"type":44,"value":2385},{"type":39,"tag":450,"props":2436,"children":2437},{"style":539},[2438],{"type":44,"value":2329},{"type":39,"tag":450,"props":2440,"children":2441},{"class":452,"line":508},[2442,2446,2450,2454,2459,2463,2467,2471,2476,2480,2484],{"type":39,"tag":450,"props":2443,"children":2444},{"style":539},[2445],{"type":44,"value":2299},{"type":39,"tag":450,"props":2447,"children":2448},{"style":2302},[2449],{"type":44,"value":2350},{"type":39,"tag":450,"props":2451,"children":2452},{"style":539},[2453],{"type":44,"value":2309},{"type":39,"tag":450,"props":2455,"children":2456},{"style":2312},[2457],{"type":44,"value":2458},"Region:",{"type":39,"tag":450,"props":2460,"children":2461},{"style":539},[2462],{"type":44,"value":2320},{"type":39,"tag":450,"props":2464,"children":2465},{"style":2302},[2466],{"type":44,"value":2350},{"type":39,"tag":450,"props":2468,"children":2469},{"style":539},[2470],{"type":44,"value":2309},{"type":39,"tag":450,"props":2472,"children":2473},{"style":2312},[2474],{"type":44,"value":2475}," eastus",{"type":39,"tag":450,"props":2477,"children":2478},{"style":539},[2479],{"type":44,"value":2299},{"type":39,"tag":450,"props":2481,"children":2482},{"style":2302},[2483],{"type":44,"value":2385},{"type":39,"tag":450,"props":2485,"children":2486},{"style":539},[2487],{"type":44,"value":2329},{"type":39,"tag":450,"props":2489,"children":2490},{"class":452,"line":517},[2491,2495,2499,2503,2508,2512,2516,2520,2525,2529,2533],{"type":39,"tag":450,"props":2492,"children":2493},{"style":539},[2494],{"type":44,"value":2299},{"type":39,"tag":450,"props":2496,"children":2497},{"style":2302},[2498],{"type":44,"value":2350},{"type":39,"tag":450,"props":2500,"children":2501},{"style":539},[2502],{"type":44,"value":2309},{"type":39,"tag":450,"props":2504,"children":2505},{"style":2312},[2506],{"type":44,"value":2507},"Subscription:",{"type":39,"tag":450,"props":2509,"children":2510},{"style":539},[2511],{"type":44,"value":2320},{"type":39,"tag":450,"props":2513,"children":2514},{"style":2302},[2515],{"type":44,"value":2350},{"type":39,"tag":450,"props":2517,"children":2518},{"style":539},[2519],{"type":44,"value":2309},{"type":39,"tag":450,"props":2521,"children":2522},{"style":2312},[2523],{"type":44,"value":2524}," prod-001",{"type":39,"tag":450,"props":2526,"children":2527},{"style":539},[2528],{"type":44,"value":2299},{"type":39,"tag":450,"props":2530,"children":2531},{"style":2302},[2532],{"type":44,"value":2385},{"type":39,"tag":450,"props":2534,"children":2535},{"style":539},[2536],{"type":44,"value":2329},{"type":39,"tag":450,"props":2538,"children":2540},{"class":452,"line":2539},6,[2541,2545,2549,2553,2558,2562,2566,2570,2575,2579,2583],{"type":39,"tag":450,"props":2542,"children":2543},{"style":539},[2544],{"type":44,"value":2299},{"type":39,"tag":450,"props":2546,"children":2547},{"style":2302},[2548],{"type":44,"value":2350},{"type":39,"tag":450,"props":2550,"children":2551},{"style":539},[2552],{"type":44,"value":2309},{"type":39,"tag":450,"props":2554,"children":2555},{"style":2312},[2556],{"type":44,"value":2557},"Usage:",{"type":39,"tag":450,"props":2559,"children":2560},{"style":539},[2561],{"type":44,"value":2320},{"type":39,"tag":450,"props":2563,"children":2564},{"style":2302},[2565],{"type":44,"value":2350},{"type":39,"tag":450,"props":2567,"children":2568},{"style":539},[2569],{"type":44,"value":2309},{"type":39,"tag":450,"props":2571,"children":2572},{"style":2312},[2573],{"type":44,"value":2574}," 85\u002F100 vCPUs (85%)",{"type":39,"tag":450,"props":2576,"children":2577},{"style":539},[2578],{"type":44,"value":2320},{"type":39,"tag":450,"props":2580,"children":2581},{"style":2302},[2582],{"type":44,"value":47},{"type":39,"tag":450,"props":2584,"children":2585},{"style":539},[2586],{"type":44,"value":2329},{"type":39,"tag":450,"props":2588,"children":2590},{"class":452,"line":2589},7,[2591,2595,2599,2603,2607,2611,2616,2620,2624,2628,2633,2637,2641],{"type":39,"tag":450,"props":2592,"children":2593},{"style":539},[2594],{"type":44,"value":2299},{"type":39,"tag":450,"props":2596,"children":2597},{"style":2302},[2598],{"type":44,"value":47},{"type":39,"tag":450,"props":2600,"children":2601},{"style":539},[2602],{"type":44,"value":2345},{"type":39,"tag":450,"props":2604,"children":2605},{"style":2302},[2606],{"type":44,"value":2350},{"type":39,"tag":450,"props":2608,"children":2609},{"style":539},[2610],{"type":44,"value":2309},{"type":39,"tag":450,"props":2612,"children":2613},{"style":2312},[2614],{"type":44,"value":2615},"Recommended action:",{"type":39,"tag":450,"props":2617,"children":2618},{"style":539},[2619],{"type":44,"value":2320},{"type":39,"tag":450,"props":2621,"children":2622},{"style":2302},[2623],{"type":44,"value":2350},{"type":39,"tag":450,"props":2625,"children":2626},{"style":539},[2627],{"type":44,"value":2309},{"type":39,"tag":450,"props":2629,"children":2630},{"style":2312},[2631],{"type":44,"value":2632}," Request a quota increase before the next deployment cycle.",{"type":39,"tag":450,"props":2634,"children":2635},{"style":539},[2636],{"type":44,"value":2320},{"type":39,"tag":450,"props":2638,"children":2639},{"style":2302},[2640],{"type":44,"value":47},{"type":39,"tag":450,"props":2642,"children":2643},{"style":539},[2644],{"type":44,"value":2329},{"type":39,"tag":450,"props":2646,"children":2648},{"class":452,"line":2647},8,[2649,2653,2657],{"type":39,"tag":450,"props":2650,"children":2651},{"style":539},[2652],{"type":44,"value":2299},{"type":39,"tag":450,"props":2654,"children":2655},{"style":2302},[2656],{"type":44,"value":47},{"type":39,"tag":450,"props":2658,"children":2659},{"style":539},[2660],{"type":44,"value":2329},{"type":39,"tag":450,"props":2662,"children":2664},{"class":452,"line":2663},9,[2665,2670,2674,2680,2685,2689,2694,2698,2702,2707,2711,2715,2719,2723],{"type":39,"tag":450,"props":2666,"children":2667},{"style":539},[2668],{"type":44,"value":2669},"  \u003C",{"type":39,"tag":450,"props":2671,"children":2672},{"style":2302},[2673],{"type":44,"value":53},{"type":39,"tag":450,"props":2675,"children":2677},{"style":2676},"--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA",[2678],{"type":44,"value":2679}," href",{"type":39,"tag":450,"props":2681,"children":2682},{"style":539},[2683],{"type":44,"value":2684},"=",{"type":39,"tag":450,"props":2686,"children":2687},{"style":539},[2688],{"type":44,"value":552},{"type":39,"tag":450,"props":2690,"children":2691},{"style":472},[2692],{"type":44,"value":2693},"https:\u002F\u002Fportal.azure.com\u002F#view\u002FMicrosoft_Azure_Capacity\u002FQuotaMenuBlade",{"type":39,"tag":450,"props":2695,"children":2696},{"style":539},[2697],{"type":44,"value":552},{"type":39,"tag":450,"props":2699,"children":2700},{"style":539},[2701],{"type":44,"value":2309},{"type":39,"tag":450,"props":2703,"children":2704},{"style":2312},[2705],{"type":44,"value":2706},"Open quota blade",{"type":39,"tag":450,"props":2708,"children":2709},{"style":539},[2710],{"type":44,"value":2320},{"type":39,"tag":450,"props":2712,"children":2713},{"style":2302},[2714],{"type":44,"value":53},{"type":39,"tag":450,"props":2716,"children":2717},{"style":539},[2718],{"type":44,"value":2345},{"type":39,"tag":450,"props":2720,"children":2721},{"style":2302},[2722],{"type":44,"value":2385},{"type":39,"tag":450,"props":2724,"children":2725},{"style":539},[2726],{"type":44,"value":2329},{"type":39,"tag":450,"props":2728,"children":2730},{"class":452,"line":2729},10,[2731,2735,2739,2743,2747,2751,2756,2760,2764,2769,2773,2777],{"type":39,"tag":450,"props":2732,"children":2733},{"style":539},[2734],{"type":44,"value":2669},{"type":39,"tag":450,"props":2736,"children":2737},{"style":2302},[2738],{"type":44,"value":53},{"type":39,"tag":450,"props":2740,"children":2741},{"style":2676},[2742],{"type":44,"value":2679},{"type":39,"tag":450,"props":2744,"children":2745},{"style":539},[2746],{"type":44,"value":2684},{"type":39,"tag":450,"props":2748,"children":2749},{"style":539},[2750],{"type":44,"value":552},{"type":39,"tag":450,"props":2752,"children":2753},{"style":472},[2754],{"type":44,"value":2755},"https:\u002F\u002Fportal.azure.com\u002F#view\u002FHubsExtension\u002FBrowseResource\u002FresourceType\u002FMicrosoft.Compute%2FcapacityReservationGroups",{"type":39,"tag":450,"props":2757,"children":2758},{"style":539},[2759],{"type":44,"value":552},{"type":39,"tag":450,"props":2761,"children":2762},{"style":539},[2763],{"type":44,"value":2309},{"type":39,"tag":450,"props":2765,"children":2766},{"style":2312},[2767],{"type":44,"value":2768},"Open capacity reservation groups",{"type":39,"tag":450,"props":2770,"children":2771},{"style":539},[2772],{"type":44,"value":2320},{"type":39,"tag":450,"props":2774,"children":2775},{"style":2302},[2776],{"type":44,"value":53},{"type":39,"tag":450,"props":2778,"children":2779},{"style":539},[2780],{"type":44,"value":2329},{"type":39,"tag":450,"props":2782,"children":2784},{"class":452,"line":2783},11,[2785,2789,2793],{"type":39,"tag":450,"props":2786,"children":2787},{"style":539},[2788],{"type":44,"value":2320},{"type":39,"tag":450,"props":2790,"children":2791},{"style":2302},[2792],{"type":44,"value":47},{"type":39,"tag":450,"props":2794,"children":2795},{"style":539},[2796],{"type":44,"value":2329},{"type":39,"tag":2202,"props":2798,"children":2800},{"id":2799},"email-capacity-reports",[2801],{"type":44,"value":2802},"Email capacity reports",{"type":39,"tag":47,"props":2804,"children":2805},{},[2806,2808,2813],{"type":44,"value":2807},"Use Outlook email for periodic capacity reports and non-urgent recommendations, following the same ",{"type":39,"tag":53,"props":2809,"children":2811},{"href":2194,"rel":2810},[57],[2812],{"type":44,"value":2218},{"type":44,"value":2814},". The SRE Agent sends email through the Outlook connector in HTML format, so structure the message for scanning first, and detailed follow-up second.",{"type":39,"tag":47,"props":2816,"children":2817},{},[2818],{"type":39,"tag":372,"props":2819,"children":2820},{},[2821],{"type":44,"value":2822},"When to send email reports:",{"type":39,"tag":364,"props":2824,"children":2825},{},[2826,2831,2836,2841,2846],{"type":39,"tag":368,"props":2827,"children":2828},{},[2829],{"type":44,"value":2830},"Weekly capacity digest, including quota utilization trends across the estate.",{"type":39,"tag":368,"props":2832,"children":2833},{},[2834],{"type":44,"value":2835},"Reservation expiring within 30 days, including a renewal recommendation and cost analysis.",{"type":39,"tag":368,"props":2837,"children":2838},{},[2839],{"type":44,"value":2840},"Monthly savings plan optimization review.",{"type":39,"tag":368,"props":2842,"children":2843},{},[2844],{"type":44,"value":2845},"Quarterly capacity planning summary.",{"type":39,"tag":368,"props":2847,"children":2848},{},[2849],{"type":44,"value":2850},"Post-incident capacity analysis.",{"type":39,"tag":47,"props":2852,"children":2853},{},[2854],{"type":39,"tag":372,"props":2855,"children":2856},{},[2857],{"type":44,"value":2858},"Email report template:",{"type":39,"tag":47,"props":2860,"children":2861},{},[2862,2864,2869],{"type":44,"value":2863},"Use this HTML template for email reports. Include the report title, date range, a summary table of key metrics, highlighted findings, recommended actions with priority, and links to Azure portal resources or supporting documentation, as described in ",{"type":39,"tag":53,"props":2865,"children":2867},{"href":2194,"rel":2866},[57],[2868],{"type":44,"value":2226},{"type":44,"value":103},{"type":39,"tag":439,"props":2871,"children":2873},{"className":2285,"code":2872,"language":2287,"meta":444,"style":444},"\u003Ch2>Weekly capacity digest\u003C\u002Fh2>\n\u003Cp>\u003Cb>Period:\u003C\u002Fb> March 3–9, 2026\u003Cbr>\n\u003Cb>Subscriptions analyzed:\u003C\u002Fb> 47\u003C\u002Fp>\n\u003Ch3>Key findings\u003C\u002Fh3>\n\u003Ctable border=\"1\" cellpadding=\"8\">\n\u003Ctr>\u003Cth>Region\u003C\u002Fth>\u003Cth>VM family\u003C\u002Fth>\u003Cth>Utilization\u003C\u002Fth>\u003Cth>Action\u003C\u002Fth>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>eastus\u003C\u002Ftd>\u003Ctd>Standard_D_v5\u003C\u002Ftd>\u003Ctd>92%\u003C\u002Ftd>\u003Ctd>Request increase\u003C\u002Ftd>\u003C\u002Ftr>\n\u003Ctr>\u003Ctd>westus2\u003C\u002Ftd>\u003Ctd>Standard_E_v5\u003C\u002Ftd>\u003Ctd>78%\u003C\u002Ftd>\u003Ctd>Monitor\u003C\u002Ftd>\u003C\u002Ftr>\n\u003C\u002Ftable>\n\u003Ch3>Recommendations\u003C\u002Fh3>\n\u003Col>\n\u003Cli>Request quota increase for Standard_D_v5 in eastus (critical)\u003C\u002Fli>\n\u003Cli>Review CRG utilization in westeurope—45% utilized, consider right-sizing\u003C\u002Fli>\n\u003Cli>Savings plan expires April 15—evaluate renewal versus pay-as-you-go\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Cp>\n  \u003Ca href=\"https:\u002F\u002Fportal.azure.com\u002F#view\u002FMicrosoft_Azure_Capacity\u002FQuotaMenuBlade\">Open quota blade\u003C\u002Fa>\u003Cbr>\n  \u003Ca href=\"https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fquotas\u002Fhow-to-guide-monitoring-alerting\">Review quota monitoring guidance\u003C\u002Fa>\n\u003C\u002Fp>\n",[2874],{"type":39,"tag":96,"props":2875,"children":2876},{"__ignoreMap":444},[2877,2909,2966,3015,3047,3102,3226,3349,3472,3487,3519,3534,3567,3600,3633,3649,3665,3725,3778],{"type":39,"tag":450,"props":2878,"children":2879},{"class":452,"line":22},[2880,2884,2888,2892,2897,2901,2905],{"type":39,"tag":450,"props":2881,"children":2882},{"style":539},[2883],{"type":44,"value":2299},{"type":39,"tag":450,"props":2885,"children":2886},{"style":2302},[2887],{"type":44,"value":105},{"type":39,"tag":450,"props":2889,"children":2890},{"style":539},[2891],{"type":44,"value":2309},{"type":39,"tag":450,"props":2893,"children":2894},{"style":2312},[2895],{"type":44,"value":2896},"Weekly capacity digest",{"type":39,"tag":450,"props":2898,"children":2899},{"style":539},[2900],{"type":44,"value":2320},{"type":39,"tag":450,"props":2902,"children":2903},{"style":2302},[2904],{"type":44,"value":105},{"type":39,"tag":450,"props":2906,"children":2907},{"style":539},[2908],{"type":44,"value":2329},{"type":39,"tag":450,"props":2910,"children":2911},{"class":452,"line":462},[2912,2916,2920,2924,2928,2932,2937,2941,2945,2949,2954,2958,2962],{"type":39,"tag":450,"props":2913,"children":2914},{"style":539},[2915],{"type":44,"value":2299},{"type":39,"tag":450,"props":2917,"children":2918},{"style":2302},[2919],{"type":44,"value":47},{"type":39,"tag":450,"props":2921,"children":2922},{"style":539},[2923],{"type":44,"value":2345},{"type":39,"tag":450,"props":2925,"children":2926},{"style":2302},[2927],{"type":44,"value":2350},{"type":39,"tag":450,"props":2929,"children":2930},{"style":539},[2931],{"type":44,"value":2309},{"type":39,"tag":450,"props":2933,"children":2934},{"style":2312},[2935],{"type":44,"value":2936},"Period:",{"type":39,"tag":450,"props":2938,"children":2939},{"style":539},[2940],{"type":44,"value":2320},{"type":39,"tag":450,"props":2942,"children":2943},{"style":2302},[2944],{"type":44,"value":2350},{"type":39,"tag":450,"props":2946,"children":2947},{"style":539},[2948],{"type":44,"value":2309},{"type":39,"tag":450,"props":2950,"children":2951},{"style":2312},[2952],{"type":44,"value":2953}," March 3–9, 2026",{"type":39,"tag":450,"props":2955,"children":2956},{"style":539},[2957],{"type":44,"value":2299},{"type":39,"tag":450,"props":2959,"children":2960},{"style":2302},[2961],{"type":44,"value":2385},{"type":39,"tag":450,"props":2963,"children":2964},{"style":539},[2965],{"type":44,"value":2329},{"type":39,"tag":450,"props":2967,"children":2968},{"class":452,"line":498},[2969,2973,2977,2981,2986,2990,2994,2998,3003,3007,3011],{"type":39,"tag":450,"props":2970,"children":2971},{"style":539},[2972],{"type":44,"value":2299},{"type":39,"tag":450,"props":2974,"children":2975},{"style":2302},[2976],{"type":44,"value":2350},{"type":39,"tag":450,"props":2978,"children":2979},{"style":539},[2980],{"type":44,"value":2309},{"type":39,"tag":450,"props":2982,"children":2983},{"style":2312},[2984],{"type":44,"value":2985},"Subscriptions analyzed:",{"type":39,"tag":450,"props":2987,"children":2988},{"style":539},[2989],{"type":44,"value":2320},{"type":39,"tag":450,"props":2991,"children":2992},{"style":2302},[2993],{"type":44,"value":2350},{"type":39,"tag":450,"props":2995,"children":2996},{"style":539},[2997],{"type":44,"value":2309},{"type":39,"tag":450,"props":2999,"children":3000},{"style":2312},[3001],{"type":44,"value":3002}," 47",{"type":39,"tag":450,"props":3004,"children":3005},{"style":539},[3006],{"type":44,"value":2320},{"type":39,"tag":450,"props":3008,"children":3009},{"style":2302},[3010],{"type":44,"value":47},{"type":39,"tag":450,"props":3012,"children":3013},{"style":539},[3014],{"type":44,"value":2329},{"type":39,"tag":450,"props":3016,"children":3017},{"class":452,"line":508},[3018,3022,3026,3030,3035,3039,3043],{"type":39,"tag":450,"props":3019,"children":3020},{"style":539},[3021],{"type":44,"value":2299},{"type":39,"tag":450,"props":3023,"children":3024},{"style":2302},[3025],{"type":44,"value":2202},{"type":39,"tag":450,"props":3027,"children":3028},{"style":539},[3029],{"type":44,"value":2309},{"type":39,"tag":450,"props":3031,"children":3032},{"style":2312},[3033],{"type":44,"value":3034},"Key findings",{"type":39,"tag":450,"props":3036,"children":3037},{"style":539},[3038],{"type":44,"value":2320},{"type":39,"tag":450,"props":3040,"children":3041},{"style":2302},[3042],{"type":44,"value":2202},{"type":39,"tag":450,"props":3044,"children":3045},{"style":539},[3046],{"type":44,"value":2329},{"type":39,"tag":450,"props":3048,"children":3049},{"class":452,"line":517},[3050,3054,3058,3063,3067,3072,3076,3081,3085,3089,3094,3098],{"type":39,"tag":450,"props":3051,"children":3052},{"style":539},[3053],{"type":44,"value":2299},{"type":39,"tag":450,"props":3055,"children":3056},{"style":2302},[3057],{"type":44,"value":159},{"type":39,"tag":450,"props":3059,"children":3060},{"style":539},[3061],{"type":44,"value":3062}," border=",{"type":39,"tag":450,"props":3064,"children":3065},{"style":539},[3066],{"type":44,"value":552},{"type":39,"tag":450,"props":3068,"children":3069},{"style":472},[3070],{"type":44,"value":3071},"1",{"type":39,"tag":450,"props":3073,"children":3074},{"style":539},[3075],{"type":44,"value":552},{"type":39,"tag":450,"props":3077,"children":3078},{"style":2676},[3079],{"type":44,"value":3080}," cellpadding",{"type":39,"tag":450,"props":3082,"children":3083},{"style":539},[3084],{"type":44,"value":2684},{"type":39,"tag":450,"props":3086,"children":3087},{"style":539},[3088],{"type":44,"value":552},{"type":39,"tag":450,"props":3090,"children":3091},{"style":472},[3092],{"type":44,"value":3093},"8",{"type":39,"tag":450,"props":3095,"children":3096},{"style":539},[3097],{"type":44,"value":552},{"type":39,"tag":450,"props":3099,"children":3100},{"style":539},[3101],{"type":44,"value":2329},{"type":39,"tag":450,"props":3103,"children":3104},{"class":452,"line":2539},[3105,3109,3113,3117,3121,3125,3130,3134,3138,3142,3146,3150,3155,3159,3163,3167,3171,3175,3180,3184,3188,3192,3196,3200,3205,3209,3213,3218,3222],{"type":39,"tag":450,"props":3106,"children":3107},{"style":539},[3108],{"type":44,"value":2299},{"type":39,"tag":450,"props":3110,"children":3111},{"style":2302},[3112],{"type":44,"value":167},{"type":39,"tag":450,"props":3114,"children":3115},{"style":539},[3116],{"type":44,"value":2345},{"type":39,"tag":450,"props":3118,"children":3119},{"style":2302},[3120],{"type":44,"value":171},{"type":39,"tag":450,"props":3122,"children":3123},{"style":539},[3124],{"type":44,"value":2309},{"type":39,"tag":450,"props":3126,"children":3127},{"style":2312},[3128],{"type":44,"value":3129},"Region",{"type":39,"tag":450,"props":3131,"children":3132},{"style":539},[3133],{"type":44,"value":2320},{"type":39,"tag":450,"props":3135,"children":3136},{"style":2302},[3137],{"type":44,"value":171},{"type":39,"tag":450,"props":3139,"children":3140},{"style":539},[3141],{"type":44,"value":2345},{"type":39,"tag":450,"props":3143,"children":3144},{"style":2302},[3145],{"type":44,"value":171},{"type":39,"tag":450,"props":3147,"children":3148},{"style":539},[3149],{"type":44,"value":2309},{"type":39,"tag":450,"props":3151,"children":3152},{"style":2312},[3153],{"type":44,"value":3154},"VM family",{"type":39,"tag":450,"props":3156,"children":3157},{"style":539},[3158],{"type":44,"value":2320},{"type":39,"tag":450,"props":3160,"children":3161},{"style":2302},[3162],{"type":44,"value":171},{"type":39,"tag":450,"props":3164,"children":3165},{"style":539},[3166],{"type":44,"value":2345},{"type":39,"tag":450,"props":3168,"children":3169},{"style":2302},[3170],{"type":44,"value":171},{"type":39,"tag":450,"props":3172,"children":3173},{"style":539},[3174],{"type":44,"value":2309},{"type":39,"tag":450,"props":3176,"children":3177},{"style":2312},[3178],{"type":44,"value":3179},"Utilization",{"type":39,"tag":450,"props":3181,"children":3182},{"style":539},[3183],{"type":44,"value":2320},{"type":39,"tag":450,"props":3185,"children":3186},{"style":2302},[3187],{"type":44,"value":171},{"type":39,"tag":450,"props":3189,"children":3190},{"style":539},[3191],{"type":44,"value":2345},{"type":39,"tag":450,"props":3193,"children":3194},{"style":2302},[3195],{"type":44,"value":171},{"type":39,"tag":450,"props":3197,"children":3198},{"style":539},[3199],{"type":44,"value":2309},{"type":39,"tag":450,"props":3201,"children":3202},{"style":2312},[3203],{"type":44,"value":3204},"Action",{"type":39,"tag":450,"props":3206,"children":3207},{"style":539},[3208],{"type":44,"value":2320},{"type":39,"tag":450,"props":3210,"children":3211},{"style":2302},[3212],{"type":44,"value":171},{"type":39,"tag":450,"props":3214,"children":3215},{"style":539},[3216],{"type":44,"value":3217},">\u003C\u002F",{"type":39,"tag":450,"props":3219,"children":3220},{"style":2302},[3221],{"type":44,"value":167},{"type":39,"tag":450,"props":3223,"children":3224},{"style":539},[3225],{"type":44,"value":2329},{"type":39,"tag":450,"props":3227,"children":3228},{"class":452,"line":2589},[3229,3233,3237,3241,3245,3249,3254,3258,3262,3266,3270,3274,3279,3283,3287,3291,3295,3299,3304,3308,3312,3316,3320,3324,3329,3333,3337,3341,3345],{"type":39,"tag":450,"props":3230,"children":3231},{"style":539},[3232],{"type":44,"value":2299},{"type":39,"tag":450,"props":3234,"children":3235},{"style":2302},[3236],{"type":44,"value":167},{"type":39,"tag":450,"props":3238,"children":3239},{"style":539},[3240],{"type":44,"value":2345},{"type":39,"tag":450,"props":3242,"children":3243},{"style":2302},[3244],{"type":44,"value":194},{"type":39,"tag":450,"props":3246,"children":3247},{"style":539},[3248],{"type":44,"value":2309},{"type":39,"tag":450,"props":3250,"children":3251},{"style":2312},[3252],{"type":44,"value":3253},"eastus",{"type":39,"tag":450,"props":3255,"children":3256},{"style":539},[3257],{"type":44,"value":2320},{"type":39,"tag":450,"props":3259,"children":3260},{"style":2302},[3261],{"type":44,"value":194},{"type":39,"tag":450,"props":3263,"children":3264},{"style":539},[3265],{"type":44,"value":2345},{"type":39,"tag":450,"props":3267,"children":3268},{"style":2302},[3269],{"type":44,"value":194},{"type":39,"tag":450,"props":3271,"children":3272},{"style":539},[3273],{"type":44,"value":2309},{"type":39,"tag":450,"props":3275,"children":3276},{"style":2312},[3277],{"type":44,"value":3278},"Standard_D_v5",{"type":39,"tag":450,"props":3280,"children":3281},{"style":539},[3282],{"type":44,"value":2320},{"type":39,"tag":450,"props":3284,"children":3285},{"style":2302},[3286],{"type":44,"value":194},{"type":39,"tag":450,"props":3288,"children":3289},{"style":539},[3290],{"type":44,"value":2345},{"type":39,"tag":450,"props":3292,"children":3293},{"style":2302},[3294],{"type":44,"value":194},{"type":39,"tag":450,"props":3296,"children":3297},{"style":539},[3298],{"type":44,"value":2309},{"type":39,"tag":450,"props":3300,"children":3301},{"style":2312},[3302],{"type":44,"value":3303},"92%",{"type":39,"tag":450,"props":3305,"children":3306},{"style":539},[3307],{"type":44,"value":2320},{"type":39,"tag":450,"props":3309,"children":3310},{"style":2302},[3311],{"type":44,"value":194},{"type":39,"tag":450,"props":3313,"children":3314},{"style":539},[3315],{"type":44,"value":2345},{"type":39,"tag":450,"props":3317,"children":3318},{"style":2302},[3319],{"type":44,"value":194},{"type":39,"tag":450,"props":3321,"children":3322},{"style":539},[3323],{"type":44,"value":2309},{"type":39,"tag":450,"props":3325,"children":3326},{"style":2312},[3327],{"type":44,"value":3328},"Request increase",{"type":39,"tag":450,"props":3330,"children":3331},{"style":539},[3332],{"type":44,"value":2320},{"type":39,"tag":450,"props":3334,"children":3335},{"style":2302},[3336],{"type":44,"value":194},{"type":39,"tag":450,"props":3338,"children":3339},{"style":539},[3340],{"type":44,"value":3217},{"type":39,"tag":450,"props":3342,"children":3343},{"style":2302},[3344],{"type":44,"value":167},{"type":39,"tag":450,"props":3346,"children":3347},{"style":539},[3348],{"type":44,"value":2329},{"type":39,"tag":450,"props":3350,"children":3351},{"class":452,"line":2647},[3352,3356,3360,3364,3368,3372,3377,3381,3385,3389,3393,3397,3402,3406,3410,3414,3418,3422,3427,3431,3435,3439,3443,3447,3452,3456,3460,3464,3468],{"type":39,"tag":450,"props":3353,"children":3354},{"style":539},[3355],{"type":44,"value":2299},{"type":39,"tag":450,"props":3357,"children":3358},{"style":2302},[3359],{"type":44,"value":167},{"type":39,"tag":450,"props":3361,"children":3362},{"style":539},[3363],{"type":44,"value":2345},{"type":39,"tag":450,"props":3365,"children":3366},{"style":2302},[3367],{"type":44,"value":194},{"type":39,"tag":450,"props":3369,"children":3370},{"style":539},[3371],{"type":44,"value":2309},{"type":39,"tag":450,"props":3373,"children":3374},{"style":2312},[3375],{"type":44,"value":3376},"westus2",{"type":39,"tag":450,"props":3378,"children":3379},{"style":539},[3380],{"type":44,"value":2320},{"type":39,"tag":450,"props":3382,"children":3383},{"style":2302},[3384],{"type":44,"value":194},{"type":39,"tag":450,"props":3386,"children":3387},{"style":539},[3388],{"type":44,"value":2345},{"type":39,"tag":450,"props":3390,"children":3391},{"style":2302},[3392],{"type":44,"value":194},{"type":39,"tag":450,"props":3394,"children":3395},{"style":539},[3396],{"type":44,"value":2309},{"type":39,"tag":450,"props":3398,"children":3399},{"style":2312},[3400],{"type":44,"value":3401},"Standard_E_v5",{"type":39,"tag":450,"props":3403,"children":3404},{"style":539},[3405],{"type":44,"value":2320},{"type":39,"tag":450,"props":3407,"children":3408},{"style":2302},[3409],{"type":44,"value":194},{"type":39,"tag":450,"props":3411,"children":3412},{"style":539},[3413],{"type":44,"value":2345},{"type":39,"tag":450,"props":3415,"children":3416},{"style":2302},[3417],{"type":44,"value":194},{"type":39,"tag":450,"props":3419,"children":3420},{"style":539},[3421],{"type":44,"value":2309},{"type":39,"tag":450,"props":3423,"children":3424},{"style":2312},[3425],{"type":44,"value":3426},"78%",{"type":39,"tag":450,"props":3428,"children":3429},{"style":539},[3430],{"type":44,"value":2320},{"type":39,"tag":450,"props":3432,"children":3433},{"style":2302},[3434],{"type":44,"value":194},{"type":39,"tag":450,"props":3436,"children":3437},{"style":539},[3438],{"type":44,"value":2345},{"type":39,"tag":450,"props":3440,"children":3441},{"style":2302},[3442],{"type":44,"value":194},{"type":39,"tag":450,"props":3444,"children":3445},{"style":539},[3446],{"type":44,"value":2309},{"type":39,"tag":450,"props":3448,"children":3449},{"style":2312},[3450],{"type":44,"value":3451},"Monitor",{"type":39,"tag":450,"props":3453,"children":3454},{"style":539},[3455],{"type":44,"value":2320},{"type":39,"tag":450,"props":3457,"children":3458},{"style":2302},[3459],{"type":44,"value":194},{"type":39,"tag":450,"props":3461,"children":3462},{"style":539},[3463],{"type":44,"value":3217},{"type":39,"tag":450,"props":3465,"children":3466},{"style":2302},[3467],{"type":44,"value":167},{"type":39,"tag":450,"props":3469,"children":3470},{"style":539},[3471],{"type":44,"value":2329},{"type":39,"tag":450,"props":3473,"children":3474},{"class":452,"line":2663},[3475,3479,3483],{"type":39,"tag":450,"props":3476,"children":3477},{"style":539},[3478],{"type":44,"value":2320},{"type":39,"tag":450,"props":3480,"children":3481},{"style":2302},[3482],{"type":44,"value":159},{"type":39,"tag":450,"props":3484,"children":3485},{"style":539},[3486],{"type":44,"value":2329},{"type":39,"tag":450,"props":3488,"children":3489},{"class":452,"line":2729},[3490,3494,3498,3502,3507,3511,3515],{"type":39,"tag":450,"props":3491,"children":3492},{"style":539},[3493],{"type":44,"value":2299},{"type":39,"tag":450,"props":3495,"children":3496},{"style":2302},[3497],{"type":44,"value":2202},{"type":39,"tag":450,"props":3499,"children":3500},{"style":539},[3501],{"type":44,"value":2309},{"type":39,"tag":450,"props":3503,"children":3504},{"style":2312},[3505],{"type":44,"value":3506},"Recommendations",{"type":39,"tag":450,"props":3508,"children":3509},{"style":539},[3510],{"type":44,"value":2320},{"type":39,"tag":450,"props":3512,"children":3513},{"style":2302},[3514],{"type":44,"value":2202},{"type":39,"tag":450,"props":3516,"children":3517},{"style":539},[3518],{"type":44,"value":2329},{"type":39,"tag":450,"props":3520,"children":3521},{"class":452,"line":2783},[3522,3526,3530],{"type":39,"tag":450,"props":3523,"children":3524},{"style":539},[3525],{"type":44,"value":2299},{"type":39,"tag":450,"props":3527,"children":3528},{"style":2302},[3529],{"type":44,"value":969},{"type":39,"tag":450,"props":3531,"children":3532},{"style":539},[3533],{"type":44,"value":2329},{"type":39,"tag":450,"props":3535,"children":3537},{"class":452,"line":3536},12,[3538,3542,3546,3550,3555,3559,3563],{"type":39,"tag":450,"props":3539,"children":3540},{"style":539},[3541],{"type":44,"value":2299},{"type":39,"tag":450,"props":3543,"children":3544},{"style":2302},[3545],{"type":44,"value":368},{"type":39,"tag":450,"props":3547,"children":3548},{"style":539},[3549],{"type":44,"value":2309},{"type":39,"tag":450,"props":3551,"children":3552},{"style":2312},[3553],{"type":44,"value":3554},"Request quota increase for Standard_D_v5 in eastus (critical)",{"type":39,"tag":450,"props":3556,"children":3557},{"style":539},[3558],{"type":44,"value":2320},{"type":39,"tag":450,"props":3560,"children":3561},{"style":2302},[3562],{"type":44,"value":368},{"type":39,"tag":450,"props":3564,"children":3565},{"style":539},[3566],{"type":44,"value":2329},{"type":39,"tag":450,"props":3568,"children":3570},{"class":452,"line":3569},13,[3571,3575,3579,3583,3588,3592,3596],{"type":39,"tag":450,"props":3572,"children":3573},{"style":539},[3574],{"type":44,"value":2299},{"type":39,"tag":450,"props":3576,"children":3577},{"style":2302},[3578],{"type":44,"value":368},{"type":39,"tag":450,"props":3580,"children":3581},{"style":539},[3582],{"type":44,"value":2309},{"type":39,"tag":450,"props":3584,"children":3585},{"style":2312},[3586],{"type":44,"value":3587},"Review CRG utilization in westeurope—45% utilized, consider right-sizing",{"type":39,"tag":450,"props":3589,"children":3590},{"style":539},[3591],{"type":44,"value":2320},{"type":39,"tag":450,"props":3593,"children":3594},{"style":2302},[3595],{"type":44,"value":368},{"type":39,"tag":450,"props":3597,"children":3598},{"style":539},[3599],{"type":44,"value":2329},{"type":39,"tag":450,"props":3601,"children":3603},{"class":452,"line":3602},14,[3604,3608,3612,3616,3621,3625,3629],{"type":39,"tag":450,"props":3605,"children":3606},{"style":539},[3607],{"type":44,"value":2299},{"type":39,"tag":450,"props":3609,"children":3610},{"style":2302},[3611],{"type":44,"value":368},{"type":39,"tag":450,"props":3613,"children":3614},{"style":539},[3615],{"type":44,"value":2309},{"type":39,"tag":450,"props":3617,"children":3618},{"style":2312},[3619],{"type":44,"value":3620},"Savings plan expires April 15—evaluate renewal versus pay-as-you-go",{"type":39,"tag":450,"props":3622,"children":3623},{"style":539},[3624],{"type":44,"value":2320},{"type":39,"tag":450,"props":3626,"children":3627},{"style":2302},[3628],{"type":44,"value":368},{"type":39,"tag":450,"props":3630,"children":3631},{"style":539},[3632],{"type":44,"value":2329},{"type":39,"tag":450,"props":3634,"children":3636},{"class":452,"line":3635},15,[3637,3641,3645],{"type":39,"tag":450,"props":3638,"children":3639},{"style":539},[3640],{"type":44,"value":2320},{"type":39,"tag":450,"props":3642,"children":3643},{"style":2302},[3644],{"type":44,"value":969},{"type":39,"tag":450,"props":3646,"children":3647},{"style":539},[3648],{"type":44,"value":2329},{"type":39,"tag":450,"props":3650,"children":3652},{"class":452,"line":3651},16,[3653,3657,3661],{"type":39,"tag":450,"props":3654,"children":3655},{"style":539},[3656],{"type":44,"value":2299},{"type":39,"tag":450,"props":3658,"children":3659},{"style":2302},[3660],{"type":44,"value":47},{"type":39,"tag":450,"props":3662,"children":3663},{"style":539},[3664],{"type":44,"value":2329},{"type":39,"tag":450,"props":3666,"children":3668},{"class":452,"line":3667},17,[3669,3673,3677,3681,3685,3689,3693,3697,3701,3705,3709,3713,3717,3721],{"type":39,"tag":450,"props":3670,"children":3671},{"style":539},[3672],{"type":44,"value":2669},{"type":39,"tag":450,"props":3674,"children":3675},{"style":2302},[3676],{"type":44,"value":53},{"type":39,"tag":450,"props":3678,"children":3679},{"style":2676},[3680],{"type":44,"value":2679},{"type":39,"tag":450,"props":3682,"children":3683},{"style":539},[3684],{"type":44,"value":2684},{"type":39,"tag":450,"props":3686,"children":3687},{"style":539},[3688],{"type":44,"value":552},{"type":39,"tag":450,"props":3690,"children":3691},{"style":472},[3692],{"type":44,"value":2693},{"type":39,"tag":450,"props":3694,"children":3695},{"style":539},[3696],{"type":44,"value":552},{"type":39,"tag":450,"props":3698,"children":3699},{"style":539},[3700],{"type":44,"value":2309},{"type":39,"tag":450,"props":3702,"children":3703},{"style":2312},[3704],{"type":44,"value":2706},{"type":39,"tag":450,"props":3706,"children":3707},{"style":539},[3708],{"type":44,"value":2320},{"type":39,"tag":450,"props":3710,"children":3711},{"style":2302},[3712],{"type":44,"value":53},{"type":39,"tag":450,"props":3714,"children":3715},{"style":539},[3716],{"type":44,"value":2345},{"type":39,"tag":450,"props":3718,"children":3719},{"style":2302},[3720],{"type":44,"value":2385},{"type":39,"tag":450,"props":3722,"children":3723},{"style":539},[3724],{"type":44,"value":2329},{"type":39,"tag":450,"props":3726,"children":3728},{"class":452,"line":3727},18,[3729,3733,3737,3741,3745,3749,3753,3757,3761,3766,3770,3774],{"type":39,"tag":450,"props":3730,"children":3731},{"style":539},[3732],{"type":44,"value":2669},{"type":39,"tag":450,"props":3734,"children":3735},{"style":2302},[3736],{"type":44,"value":53},{"type":39,"tag":450,"props":3738,"children":3739},{"style":2676},[3740],{"type":44,"value":2679},{"type":39,"tag":450,"props":3742,"children":3743},{"style":539},[3744],{"type":44,"value":2684},{"type":39,"tag":450,"props":3746,"children":3747},{"style":539},[3748],{"type":44,"value":552},{"type":39,"tag":450,"props":3750,"children":3751},{"style":472},[3752],{"type":44,"value":983},{"type":39,"tag":450,"props":3754,"children":3755},{"style":539},[3756],{"type":44,"value":552},{"type":39,"tag":450,"props":3758,"children":3759},{"style":539},[3760],{"type":44,"value":2309},{"type":39,"tag":450,"props":3762,"children":3763},{"style":2312},[3764],{"type":44,"value":3765},"Review quota monitoring guidance",{"type":39,"tag":450,"props":3767,"children":3768},{"style":539},[3769],{"type":44,"value":2320},{"type":39,"tag":450,"props":3771,"children":3772},{"style":2302},[3773],{"type":44,"value":53},{"type":39,"tag":450,"props":3775,"children":3776},{"style":539},[3777],{"type":44,"value":2329},{"type":39,"tag":450,"props":3779,"children":3781},{"class":452,"line":3780},19,[3782,3786,3790],{"type":39,"tag":450,"props":3783,"children":3784},{"style":539},[3785],{"type":44,"value":2320},{"type":39,"tag":450,"props":3787,"children":3788},{"style":2302},[3789],{"type":44,"value":47},{"type":39,"tag":450,"props":3791,"children":3792},{"style":539},[3793],{"type":44,"value":2329},{"type":39,"tag":2202,"props":3795,"children":3797},{"id":3796},"scheduled-notification-patterns",[3798],{"type":44,"value":3799},"Scheduled notification patterns",{"type":39,"tag":47,"props":3801,"children":3802},{},[3803,3805,3812,3814,3819],{"type":44,"value":3804},"Configure recurring notifications with ",{"type":39,"tag":53,"props":3806,"children":3809},{"href":3807,"rel":3808},"https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fazure\u002Fsre-agent\u002Fscheduled-tasks",[57],[3810],{"type":44,"value":3811},"Azure SRE Agent scheduled tasks",{"type":44,"value":3813},", and pair the schedule with the connector flow from ",{"type":39,"tag":53,"props":3815,"children":3817},{"href":2194,"rel":3816},[57],[3818],{"type":44,"value":2226},{"type":44,"value":103},{"type":39,"tag":364,"props":3821,"children":3822},{},[3823,3828,3833],{"type":39,"tag":368,"props":3824,"children":3825},{},[3826],{"type":44,"value":3827},"Daily: quota utilization check, then send a Teams alert if any family is above 80 percent.",{"type":39,"tag":368,"props":3829,"children":3830},{},[3831],{"type":44,"value":3832},"Weekly: capacity digest, then send email to stakeholders.",{"type":39,"tag":368,"props":3834,"children":3835},{},[3836],{"type":44,"value":3837},"Monthly: savings plan and reservation review, then send email with recommendations.",{"type":39,"tag":3839,"props":3840,"children":3841},"style",{},[3842],{"type":44,"value":3843},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":3845,"total":4036},[3846,3868,3887,3908,3921,3938,3949,3962,3977,3992,4011,4024],{"slug":3847,"name":3847,"fn":3848,"description":3849,"org":3850,"tags":3851,"stars":3865,"repoUrl":3866,"updatedAt":3867},"rushstack-best-practices","manage Rush monorepos with best practices","Provides best practices and guidance for working with Rush monorepos. Use when the user is working in a Rush-based repository, asks about Rush commands (install, update, build, rebuild), needs help with project selection, dependency management, build caching, subspace configuration, or troubleshooting Rush-specific issues.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[3852,3855,3858,3859,3862],{"name":3853,"slug":3854,"type":15},"Engineering","engineering",{"name":3856,"slug":3857,"type":15},"Local Development","local-development",{"name":9,"slug":8,"type":15},{"name":3860,"slug":3861,"type":15},"Project Management","project-management",{"name":3863,"slug":3864,"type":15},"Rush","rush",6484,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Frushstack","2026-04-06T18:34:44.965032",{"slug":3869,"name":3869,"fn":3870,"description":3871,"org":3872,"tags":3873,"stars":3884,"repoUrl":3885,"updatedAt":3886},"azure-ai-agents-persistent-dotnet","build AI agents with Azure .NET SDK","Azure AI Agents Persistent SDK for .NET. Low-level SDK for creating and managing AI agents with threads, messages, runs, and tools. Use for agent CRUD, conversation threads, streaming responses, function calling, file search, and code interpreter. Triggers: \"PersistentAgentsClient\", \"persistent agents\", \"agent threads\", \"agent runs\", \"streaming agents\", \"function calling agents .NET\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[3874,3877,3880,3881],{"name":3875,"slug":3876,"type":15},".NET","net",{"name":3878,"slug":3879,"type":15},"Agents","agents",{"name":13,"slug":14,"type":15},{"name":3882,"slug":3883,"type":15},"LLM","llm",2804,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills","2026-07-03T16:32:10.297433",{"slug":3888,"name":3888,"fn":3889,"description":3890,"org":3891,"tags":3892,"stars":3884,"repoUrl":3885,"updatedAt":3907},"azure-ai-anomalydetector-java","build anomaly detection applications with Java","Build anomaly detection applications with Azure AI Anomaly Detector SDK for Java. Use when implementing univariate\u002Fmultivariate anomaly detection, time-series analysis, or AI-powered monitoring.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[3893,3896,3897,3900,3903,3904],{"name":3894,"slug":3895,"type":15},"Analytics","analytics",{"name":13,"slug":14,"type":15},{"name":3898,"slug":3899,"type":15},"Data Analysis","data-analysis",{"name":3901,"slug":3902,"type":15},"Java","java",{"name":9,"slug":8,"type":15},{"name":3905,"slug":3906,"type":15},"Monitoring","monitoring","2026-05-13T06:14:16.261754",{"slug":3909,"name":3909,"fn":3910,"description":3911,"org":3912,"tags":3913,"stars":3884,"repoUrl":3885,"updatedAt":3920},"azure-ai-contentsafety-java","build content moderation applications with Azure AI","Build content moderation applications with Azure AI Content Safety SDK for Java. Use when implementing text\u002Fimage analysis, blocklist management, or harm detection for hate, violence, sexual content, and self-harm.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[3914,3915,3916,3917],{"name":20,"slug":21,"type":15},{"name":13,"slug":14,"type":15},{"name":3901,"slug":3902,"type":15},{"name":3918,"slug":3919,"type":15},"Security","security","2026-07-07T06:53:31.293235",{"slug":3922,"name":3922,"fn":3923,"description":3924,"org":3925,"tags":3926,"stars":3884,"repoUrl":3885,"updatedAt":3937},"azure-ai-contentsafety-py","detect harmful content with Azure AI Content Safety","Azure AI Content Safety SDK for Python. Use for detecting harmful content in text and images with multi-severity classification.\nTriggers: \"azure-ai-contentsafety\", \"ContentSafetyClient\", \"content moderation\", \"harmful content\", \"text analysis\", \"image analysis\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[3927,3928,3931,3932,3933,3936],{"name":13,"slug":14,"type":15},{"name":3929,"slug":3930,"type":15},"Compliance","compliance",{"name":3882,"slug":3883,"type":15},{"name":9,"slug":8,"type":15},{"name":3934,"slug":3935,"type":15},"Python","python",{"name":3918,"slug":3919,"type":15},"2026-07-18T05:14:23.017504",{"slug":3939,"name":3939,"fn":3940,"description":3941,"org":3942,"tags":3943,"stars":3884,"repoUrl":3885,"updatedAt":3948},"azure-ai-language-conversations-py","implement conversational language understanding with Python","Implement Conversational Language Understanding (CLU) using the azure-ai-language-conversations Python SDK. Use when working with ConversationAnalysisClient to analyze conversation intent and entities, building NLP features, or integrating language understanding into applications.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[3944,3945,3946,3947],{"name":3894,"slug":3895,"type":15},{"name":13,"slug":14,"type":15},{"name":3882,"slug":3883,"type":15},{"name":3934,"slug":3935,"type":15},"2026-07-31T05:54:29.068751",{"slug":3950,"name":3950,"fn":3951,"description":3952,"org":3953,"tags":3954,"stars":3884,"repoUrl":3885,"updatedAt":3961},"azure-ai-translation-text-py","translate text using Azure AI services","Azure AI Text Translation SDK for real-time text translation, transliteration, language detection, and dictionary lookup. Use for translating text content in applications.\nTriggers: \"text translation\", \"translator\", \"translate text\", \"transliterate\", \"TextTranslationClient\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[3955,3958,3959,3960],{"name":3956,"slug":3957,"type":15},"API Development","api-development",{"name":13,"slug":14,"type":15},{"name":9,"slug":8,"type":15},{"name":3934,"slug":3935,"type":15},"2026-07-18T05:14:16.988376",{"slug":3963,"name":3963,"fn":3964,"description":3965,"org":3966,"tags":3967,"stars":3884,"repoUrl":3885,"updatedAt":3976},"azure-ai-vision-imageanalysis-py","analyze images with Azure AI Vision","Azure AI Vision Image Analysis SDK for captions, tags, objects, OCR, people detection, and smart cropping. Use for computer vision and image understanding tasks.\nTriggers: \"image analysis\", \"computer vision\", \"OCR\", \"object detection\", \"ImageAnalysisClient\", \"image caption\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[3968,3969,3972,3975],{"name":13,"slug":14,"type":15},{"name":3970,"slug":3971,"type":15},"Computer Vision","computer-vision",{"name":3973,"slug":3974,"type":15},"Images","images",{"name":3934,"slug":3935,"type":15},"2026-07-18T05:14:18.007737",{"slug":3978,"name":3978,"fn":3979,"description":3980,"org":3981,"tags":3982,"stars":3884,"repoUrl":3885,"updatedAt":3991},"azure-appconfiguration-java","manage configuration with Azure App Configuration","Azure App Configuration SDK for Java. Centralized application configuration management with key-value settings, feature flags, and snapshots.\nTriggers: \"ConfigurationClient java\", \"app configuration java\", \"feature flag java\", \"configuration setting java\", \"azure config java\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[3983,3984,3987,3990],{"name":13,"slug":14,"type":15},{"name":3985,"slug":3986,"type":15},"Configuration","configuration",{"name":3988,"slug":3989,"type":15},"Feature Flags","feature-flags",{"name":3901,"slug":3902,"type":15},"2026-07-03T16:32:01.278468",{"slug":3993,"name":3993,"fn":3994,"description":3995,"org":3996,"tags":3997,"stars":3884,"repoUrl":3885,"updatedAt":4010},"azure-cosmos-rust","build applications with Azure Cosmos DB","Azure Cosmos DB library for Rust (NoSQL API). Document CRUD, containers, and globally distributed data.\nTriggers: \"cosmos db rust\", \"CosmosClient rust\", \"document crud rust\", \"NoSQL rust\", \"partition key rust\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[3998,4001,4004,4007],{"name":3999,"slug":4000,"type":15},"Cosmos DB","cosmos-db",{"name":4002,"slug":4003,"type":15},"Database","database",{"name":4005,"slug":4006,"type":15},"NoSQL","nosql",{"name":4008,"slug":4009,"type":15},"Rust","rust","2026-07-31T05:54:27.021432",{"slug":4012,"name":4012,"fn":3994,"description":4013,"org":4014,"tags":4015,"stars":3884,"repoUrl":3885,"updatedAt":4023},"azure-cosmos-ts","Azure Cosmos DB JavaScript\u002FTypeScript SDK (@azure\u002Fcosmos) for data plane operations. Use for CRUD operations on documents, queries, bulk operations, and container management. Triggers: \"Cosmos DB\", \"@azure\u002Fcosmos\", \"CosmosClient\", \"document CRUD\", \"NoSQL queries\", \"bulk operations\", \"partition key\", \"container.items\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[4016,4017,4018,4019,4020],{"name":3999,"slug":4000,"type":15},{"name":4002,"slug":4003,"type":15},{"name":9,"slug":8,"type":15},{"name":4005,"slug":4006,"type":15},{"name":4021,"slug":4022,"type":15},"TypeScript","typescript","2026-07-03T16:31:19.368382",{"slug":4025,"name":4025,"fn":4026,"description":4027,"org":4028,"tags":4029,"stars":3884,"repoUrl":3885,"updatedAt":4035},"azure-data-tables-java","build table storage applications with Java","Build table storage applications with Azure Tables SDK for Java. Use when working with Azure Table Storage or Cosmos DB Table API for NoSQL key-value data, schemaless storage, or structured data at scale.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[4030,4031,4032,4033,4034],{"name":13,"slug":14,"type":15},{"name":3999,"slug":4000,"type":15},{"name":4002,"slug":4003,"type":15},{"name":3901,"slug":3902,"type":15},{"name":4005,"slug":4006,"type":15},"2026-05-13T06:14:17.582229",267,{"items":4038,"total":22},[4039],{"slug":4,"name":4,"fn":5,"description":6,"org":4040,"tags":4041,"stars":22,"repoUrl":23,"updatedAt":24},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[4042,4043,4044],{"name":20,"slug":21,"type":15},{"name":13,"slug":14,"type":15},{"name":17,"slug":18,"type":15}]