In my effort to get better with Azure ARM Templates I encountered the following error in one of my deployments:
1 2 3 |
Validation returned the following errors: The template deployment 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX' is not valid according to the validation procedure. The tracking id is 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX'. See inner errors for details. |
To get a more verbose version of the error you can execute the following cmdlet:
1 2 3 |
Get-AzLog ` -CorrelationId XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX ` -Verbose |
Make sure to include -Verbose
otherwise you won’t get the details you need to troubleshoot the error.
Navigate to the Properties
section of the output and you’ll find find a much more helpful error message:
1 2 3 4 5 6 7 8 |
statusCode : BadRequest serviceRequestId: statusMessage : {"error":{"code":"InvalidTemplateDeployment","message":"The template deployment 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX' is not valid according to the validation procedure. The tracking id is 'XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX'. See inner errors for details.","details":[{"code":"PreflightValidationCheckFailed","message":"Preflight validation failed. Please refer to the details for the specific errors.","details":[{"code":"AccountNameInvalid","target":"XXX-st","message":"XXX-st is not a valid storage account name. Storage account name must be between 3 and 24 characters in length and use numbers and lower-case letters only."}]}]}} eventCategory : Administrative |
I had a dash in my storage account name, which is a big no-no.
Thanks to Thomas Thortnon and his post AzureRM Deployment Fails: See inner errors for details for pointing me in the right direction.
Hopefully this saves you some time troubleshooting!
Discover more from Matt Ruma
Subscribe to get the latest posts sent to your email.