Azure naming · Microsoft.ContainerService/managedClusters/agentPools

np AKS node pool

A node pool inside an AKS cluster. CAF uses 'npsystem' for the system pool and 'np' for user pools.

Naming constraints

CAF abbreviationnp
Resource typeMicrosoft.ContainerService/managedClusters/agentPools
Length1–12 characters
CaseLowercase only
Allowed charactersLowercase letters and numbers. Can't start with a number. 12 characters on Linux, 6 on Windows.
Uniqueness Parent resource
Windows node poolmax 6 characters
SeparatorNone (no separators allowed)
Watch out: The tightest limit in Azure: 12 characters for Linux pools and 6 for Windows pools, lowercase, no separators. A full abbreviation-workload-environment-region name never fits, so name pools by purpose (npsystem, npgpu, npwin1).

Source: Microsoft Learn, “Naming rules and restrictions for Azure resources”, checked October 2026. Abbreviation from the Cloud Adoption Framework.

Example & copy-ready

A worked name for workload app, env prod, region weu, instance 001.

Example name
npappprodweu Valid

⚠ Truncated to the 12-character limit for AKS node pool.

⚠ 12 characters is over the 6-character Windows node pool limit.

Validation regex for CI checks or pre-commit hooks (.NET and JavaScript)
^(?=.{1,12}$)[a-z][a-z0-9]*$
Bicep naming expression
var name = take(toLower('np${workload}${env}${region}${instance}'), 12)
Terraform local
locals {
  name = substr(lower(join("", compact(["np", var.workload, var.env, var.region, var.instance]))), 0, 12)
}

Azure Policy can't evaluate regular expressions, so a policy can check the np prefix but not the full format. Run the regex in your pipeline, or audit existing names on a schedule.

Uniqueness scope

Unique within its parent resource only, for example a subnet within its virtual network or a database within its server.

Open in the name generator