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
- 01Expand 'details' until you reach the innermost code.
- 02If the portal only shows the wrapper, list the deployment operations.
- 03Search for the innermost code โ not 'DeploymentFailed'.
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.