If your template fails the validation process, see one of the following:


Make sure that the template is a valid JSON file with UTF-8 encoding. Valid means that content can be correctly interpreted as JSON.

Version (ROSTemplateFormatVersion)

Make sure ROSTemplateFormatVersion is correctly spelled and the value is 2015-09-01.


Make sure that mapping definitions meets the Resource Orchestration Service (ROS) requirements.

Notice Functions cannot be used in mappings.


Make sure that parameter definitions meet the ROS requirements.

Notice Functions cannot be used in parameters. If the parameter definition contains a constraint and a default value, the default value must also conform to the parameter constraint.


Resource ID cannot contain the slash (/) characters.

A resource definition must contain a Type with a String value.

A resource definition must not contain anything other than Type, Properties, Metadata, DependsOn, DeletionPolicy and Description.


An output must have a value defined.

Unsupported resource type

If the template contains unsupported resources, validation fails.


Make sure the size of the template file is no larger than 512 KB.

Make sure the template does not contain any top-level object other than ROSTemplateFormatVersion, Description, Mappings, Parameters, Resources, and Outputs.