Skip to content
RTFE_
Error library
ARM / DeploymentsAzure Resource ManagerKnown error

DeploymentFailed

The envelope, not the letter

Deployment wrapper

What the error looks like

  • Error code
  • WHO โ€” identity
  • WHAT โ€” action
  • WHERE โ€” scope
  • Policy
  • Correlation / trace
{
  "code": "DeploymentFailedCODE",
  "message": "At least one resource deployment operation failed. Please list deployment operations for details.",
  "details": [
    {
      "code": "ResourceDeploymentFailureCODE",
      "message": "The resource write operation failed to complete successfully, because it reached terminal provisioning state 'Failed'.",
      "details": [
        {
          "code": "SkuNotAvailableCODE",
          "message": "The requested VM size for resource 'Following SKUs have failed for Capacity Restrictions: Standard_D8s_v5' is currently not available in location 'westeurope'."
        }
      ]
    }
  ]
}

What you told me

โ€œIt just says DeploymentFailed.โ€

you ยท just now

Let's read it.

RTFE ยท seen

What it actually says

DeploymentFailed, InvalidTemplateDeployment and ResourceDeploymentFailure are usually wrappers. They tell you WHERE the deployment failed, not WHY. The why is in the inner details.

Azure outage? No. The wrapper isn't the problem. Open it.

The fix

  1. 01Expand 'details' until you reach the innermost code.
  2. 02If the portal only shows the wrapper, list the deployment operations.
  3. 03Search for the innermost code โ€” not 'DeploymentFailed'.
Azure CLI โ€” list failed operations
az deployment operation group list \
  --resource-group <rg> \
  --name <deployment> \
  --query "[?properties.provisioningState=='Failed'].properties.statusMessage"

Read it faster next time

The envelope isn't the problem. Read the innermost error code.

Further reading

Open Microsoft Learn

Related errors