ARM templates have six top-level elements:
- schema
- contentVersion
- parameters
- variables
- resources
- outputs
Here's a typical template without any meaningful data:
Let's take a look at each of these elements:
- schema: Defines the grammar, scope, and constraints for elements that are legal and can be used within the template. It helps to ensure that only elements that will keep the template well-defined and valid are allowed, otherwise it will generate an error. The schema also provides the structure for complete ARM templates, including all resources. The value for the schema is an URI that can be navigated to and it is collection of Resource schema URI's. Each resource has its own schema and they all are referred as sub-schemas. One example is a schema for a virtual machine. The schema for virtual machines is defined at https://schema.management...