When working on the Azure platform, infrastructure is described using Azure Resource Manager (ARM) templates. ARM templates are written in JSON and a skeleton template looks as follows:
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
},
"variables": {
},
"resources": [
],
"outputs": {
}
}
The template itself is, at the highest level, a JSON object. There is a mandatory property, $schema, for which the shown value is also mandatory. The contentVersion property is also mandatory and can be specified to version the contents. This version can be used by the author to version the template if necessary.
The rest of this chapter will discuss the different parts that make up ARM...