Step by Step ARM Templates - Creating Parameters file for an ARM Template

@20aman    Sep 14, 2016

Index of all blogs in this Step by Step ARM Templates series is located here: Step by Step Azure Resource Manager (ARM) Templates - Index

You can pass the input values for the Parameters in your ARM template using an additional JSON file. This additional file is what we will be referring to as Parameters File.

The only restriction on a parameters file is that the size of the parameter file cannot be more than 64 KB.

Parameters file follows a similar structure to the ARM Template. They are very simple as compared to the ARM template. In all they have 3 sections as explained below:

  1. $schema - Required Object - Location of the JSON schema file that describes the version of the template language.
  2. contentVersion - Required Object - Version of the template (such as When deploying resources using the template, this value can be used to make sure that the right template is being used.
  3. parameters - Required Object - This is a JSON object which contains various objects as it's members. Each object within the "parameters" object represent a value for a parameter corresponding to your ARM template.

Let's check how the parameters file will look like for the ARM template we have built earlier for deploying Storage Account and a Virtual Network.

    "$schema": "",
    "contentVersion": "",
    "parameters": {
        "vhdStorageName": {
            "value": "harvestingstorage101"
        "virtualNetworkName": {
            "value": "testvNet101"

Note that the only 2 parameter values are provided. These correspond to the parameters in the ARM template.

Note: The parameter names should match to the parameters defined in the ARM template.

Comments powered by Disqus