Search code examples
azureazure-resource-managerazure-rm-template

ARM template deployment: TemplateLink not an existing language expression property


I am trying to deploy a firewall to Azure. When I validate the template in Jenkins, it says everything is fine. When I try to run the template, it gives me an error at this point:

{
  "name": "SettingUpVirtualNetwork",
  "type": "Microsoft.Resources/deployments",
  "apiVersion": "2017-05-10",
  "properties": {
    "mode": "Incremental",
    "templateLink": {
      "uri": "[uri(deployment().properties.templateLink.uri, 'vnet.json')]",
      "contentVersion": "1.0.0.0"
    }
  }
}

The error reads:

Unable to process template language expressions for resource '/subscriptions/****/resourceGroups/networks-hub-rg/providers/Microsoft.Resources/deployments/SettingUpVirtualNetwork' at line '1' and column '6637'. 'The language expression property 'templateLink' doesn't exist, available properties are 'template, parameters, mode, provisioningState'.'

Now the Azure guidance clearly states that templateLink is perfectly valid. I have used the templateLink command before with no problems, so I don't understand why it's failing this time. Is it because of my use of "templateLink.uri" in the uri line?

Anybody encountered this error before? Any advice?


Solution

  • this happens because you need to deploy the template from the uri, not from your local storage, if you do that - your code will work