title: copyindex() error in arm template
body: <p>Here is my parameter file:</p>
  
  <pre><code>"VNetSettings": {
      "value": {
          "name": "VNet1",
          "addressPrefixes": "10.0.0.0/16",
          "subnets": [
              {
                  "name": "sub1",
                  "addressPrefix": "10.0.1.0/24"
              },
              {
                  "name": "sub2",
                  "addressPrefix": "10.0.2.0/24"
              }
          ]
      }
  }
  </code></pre>
  
  <p>Here is my deployment file(deploy.json)</p>
  
  <pre><code>{
      "contentversion": "1.0.0.0",
      "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
      "parameters": {
          "VNetSettings": {
              "type": "object"
          },
          "noofsubnets": {
              "type": "int"
          }
      },
      "resources": [
          {
              "apiVersion": "2015-06-15",
              "type": "Microsoft.Network/virtualNetworks",
              "name": "[parameters('VNetSettings').name]",
              "location": "[resourceGroup().location]",
              "properties": {
                  "addressSpace": {
                      "addressPrefixes": [
                          "[parameters('VNetSettings').addressPrefixes]"
                      ]
                  },
                  "copy": {
                      "name": "subnets",
                      "count": "[parameters('noofsubnets')]",
                      "input": {
                          "name": "[parameters('VNetSettings').subnets[copyIndex('subnets',1)].name]",
                          "properties": {
                              "addressPrefix": "[parameters('VNetSettings').subnets[copyIndex('subnets',1)].addressPrefix]"
                          }
                      }
                  }
              }
          }
      ]
  }
  </code></pre>
  
  <p>What the deployment arm template should be doing is launch the subnets with their respective address prefixes (eg: sub1 -> 10.0.1.0/24,sub2 -> 10.0.2.0/24) but when I execute the template from the powershell using the following command:</p>
  
  <pre><code>New-AzureRmResourceGroupDeployment -Name testing -ResourceGroupName rgname -TemplateFile C:\Test\deploy.json -TemplateParameterFile C:\Test\parameterfile.json 
  </code></pre>
  
  <p>I get displayed with the following error:</p>
  
  <blockquote>
    <p>The template function 'copyIndex' is not expected at this location.
    The function can only be used in a resource with copy specified. Error
    says there is something wrong with the copyindex() but I'm unable to
    find out what exactly is wrong with it.</p>
  </blockquote>