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

Format

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.

Mappings

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

Notice Functions cannot be used in mappings.

Parameters

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.

Resources

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.

Outputs

An output must have a value defined.

Unsupported resource type

If the template contains unsupported resources, validation fails.

Others

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.