osDisk.managedDisk.id’ is not allowed

I was writting this article here “How to use ARM templates for deployments” and received the result seen in Figure 1.


Figure 1, failed deployment using templates azure arm

When I clicked on the operations details i found the following details.

   “error”: {
     “code”: “InvalidParameter”,
     “target”: “osDisk.managedDisk.id”,
     “message”: “Parameter ‘osDisk.managedDisk.id’ is not allowed.”

I found on GitHub here “Azure managed disk: osDisk.managedDisk.id is not allowed” that doing the following would resolved the issue.

Replace this:

“managedDisk”: {
   “storageAccountType”: “Premium_LRS”,
   “id”: “[parameters(‘virtualMachines_HCM200_id’)]”

with this:

“managedDisk”: {
   “storageAccountType”: “Standard_LRS”

I tested this out and it worked for me, at least it moved me one step forward, until I got this one.