Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

The resource is not defined in the template

Deploying below template:

https://gist.github.com/rnkhouse/aea0a8fd395da37b19466348b919d620

{     "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",     "contentVersion": "1.0.0.0",     "parameters": {         "location": {             "type": "String"         },         "virtualNetworkName": {         "type": "string",         "metadata": {             "description": "This is the name of the Virtual Network"         }         },         "networkInterfaceName": {         "type": "string",         "metadata": {             "description": "This is the prefix name of the Network interfaces"         }         },         "loadBalancerName": {         "type": "string",         "metadata": {             "description": "This is the name of the load balancer"         }         },         "adminUsername": {         "type": "string",         "metadata": {             "description": "Admin username"         }         },         "adminPublicKey": {         "type": "string",         "metadata": {             "description": "SSH Public Key"         }         },         "imagePublisher": {         "type": "string",         "defaultValue": "Canonical",         "metadata": {             "description": "Image Publisher"         }         },         "vmNamePrefix": {         "type": "string",         "metadata": {             "description": "Prefix to use for VM names"         }         },         "imageOffer": {         "type": "string",         "defaultValue": "UbuntuServer",         "metadata": {             "description": "Image Offer"         }         },         "imageSKU": {         "type": "string",         "defaultValue": "14.04.5-LTS",         "metadata": {             "description": "Image SKU"         }         },         "vmStorageAccountContainerName": {         "type": "string",         "defaultValue": "vhds",         "metadata": {             "description": "This is the storage account container name"         }         },         "storageAccountName": {         "type": "string",         "metadata": {             "description": "Storage account name"         }         },         "vmSize": {         "type": "string",         "defaultValue": "Standard_D1",         "metadata": {             "description": "This is the allowed list of VM sizes"         }         },         "subnetName": {             "defaultValue": "subnet-2",             "type": "String"         }     },     "variables": {         "availabilitySetName": "[concat(parameters('subnetName'),'-AVSET')]",         "addressPrefix": "1.0.0.0/16",         "subnetPrefix": "1.0.2.0/24",         "storageAccountType": "Standard_LRS",         "vnetID": "[resourceId(resourceGroup().name,'Microsoft.Network/virtualNetworks',parameters('virtualNetworkName'))]",         "subnetRef": "[concat(variables('vnetID'),'/subnets/',parameters ('subnetName'))]",         "numberOfInstances": 2,         "lbID": "[resourceId('Microsoft.Network/loadBalancers',parameters('loadBalancerName'))]"     },     "resources": [         {         "apiVersion": "2015-05-01-preview",         "type": "Microsoft.Storage/storageAccounts",         "name": "[parameters('storageAccountName')]",         "location": "[parameters('location')]",         "properties": {             "accountType": "[variables('storageAccountType')]"         }         },         {         "apiVersion": "2016-04-30-preview",         "type": "Microsoft.Compute/availabilitySets",         "name": "[variables('availabilitySetName')]",         "location": "[parameters('location')]",         "properties": {             "platformFaultDomainCount": "2",             "platformUpdateDomainCount": "2",             "managed": "true"         }         },         {         "apiVersion": "2015-05-01-preview",         "type": "Microsoft.Network/virtualNetworks/subnets",         "name": "[concat(parameters('virtualNetworkName'), '/', parameters('subnetName'))]",         "location": "[parameters('location')]",         "properties": {             "addressPrefix": "[variables('subnetPrefix')]"         }         },         {         "apiVersion": "2015-05-01-preview",         "type": "Microsoft.Network/networkInterfaces",         "name": "[concat(parameters('networkInterfaceName'), copyindex())]",         "location": "[parameters('location')]",         "copy": {             "name": "nicLoop",             "count": "[variables('numberOfInstances')]"         },         "dependsOn": [             "[concat('Microsoft.Network/loadBalancers/', parameters('loadBalancerName'))]"         ],         "properties": {             "ipConfigurations": [             {                 "name": "ipconfig1",                 "properties": {                 "privateIPAllocationMethod": "Dynamic",                 "subnet": {                     "id": "[variables('subnetRef')]"                 },                 "loadBalancerBackendAddressPools": [                     {                     "id": "[concat(variables('lbID'), '/backendAddressPools/BackendPool1')]"                     }                 ]                 }             }             ]         }         },         {         "apiVersion": "2015-05-01-preview",         "type": "Microsoft.Network/loadBalancers",         "name": "[parameters('loadBalancerName')]",         "location": "[parameters('location')]",         "dependsOn": [],         "properties": {             "frontendIPConfigurations": [             {                 "properties": {                 "subnet": {                     "id": "[variables('subnetRef')]"                 },                 "privateIPAddress": "1.0.2.50",                 "privateIPAllocationMethod": "Static"                 },                 "name": "LoadBalancerFrontend"             }             ],             "backendAddressPools": [             {                 "name": "BackendPool1"             }             ],             "loadBalancingRules": [             {                 "properties": {                 "frontendIPConfiguration": {                     "id": "[concat(resourceId('Microsoft.Network/loadBalancers', parameters('loadBalancerName')), '/frontendIpConfigurations/LoadBalancerFrontend')]"                 },                 "backendAddressPool": {                     "id": "[concat(resourceId('Microsoft.Network/loadBalancers', parameters('loadBalancerName')), '/backendAddressPools/BackendPool1')]"                 },                 "probe": {                     "id": "[concat(resourceId('Microsoft.Network/loadBalancers', parameters('loadBalancerName')), '/probes/lbprobe')]"                 },                 "protocol": "Tcp",                 "frontendPort": 80,                 "backendPort": 80,                 "idleTimeoutInMinutes": 15                 },                 "Name": "lbrule"             }             ],             "probes": [             {                 "properties": {                 "protocol": "Tcp",                 "port": 80,                 "intervalInSeconds": 15,                 "numberOfProbes": 2                 },                 "name": "lbprobe"             }             ]         }         },         {         "apiVersion": "2016-04-30-preview",         "type": "Microsoft.Compute/virtualMachines",         "name": "[concat(parameters('vmNamePrefix'), copyindex())]",         "copy": {             "name": "virtualMachineLoop",             "count": "[variables('numberOfInstances')]"         },         "location": "[parameters('location')]",         "dependsOn": [             "[concat('Microsoft.Storage/storageAccounts/', parameters('storageAccountName'))]",             "[concat('Microsoft.Network/networkInterfaces/', parameters('networkInterfaceName'), copyindex())]",             "[concat('Microsoft.Compute/availabilitySets/', variables('availabilitySetName'))]"         ],         "properties": {             "availabilitySet": {             "id": "[resourceId('Microsoft.Compute/availabilitySets',variables('availabilitySetName'))]"             },             "hardwareProfile": {             "vmSize": "[parameters('vmSize')]"             },             "osProfile": {             "computerName": "[concat(parameters('vmNamePrefix'), copyIndex())]",             "adminUsername": "[parameters('adminUsername')]",             "linuxConfiguration": {                 "disablePasswordAuthentication": "true",                 "ssh": {                     "publicKeys": [                         {                             "path": "[concat('/home/', parameters('adminUsername'), '/.ssh/authorized_keys')]",                             "keyData": "[parameters('adminPublicKey')]"                         }                     ]                 }             }             },             "storageProfile": {             "imageReference": {                 "publisher": "[parameters('imagePublisher')]",                 "offer": "[parameters('imageOffer')]",                 "sku": "[parameters('imageSKU')]",                 "version": "latest"             },             "osDisk": {                 "createOption": "FromImage"             }             },             "networkProfile": {             "networkInterfaces": [                 {                 "id": "[resourceId('Microsoft.Network/networkInterfaces',concat(parameters('networkInterfaceName'),copyindex()))]"                 }             ]             },             "diagnosticsProfile": {             "bootDiagnostics": {                 "enabled": "true",                 "storageUri": "[concat('http://',parameters('storageAccountName'),'.blob.core.windows.net')]"             }             }         }         }     ] } 

Error:

"Deployment failed with status code: 400 and message: Deployment template validation failed: 'The resource 'Microsoft.Network/virtualNetworks/mtes-dev-VNET' is not defined in the template. Please see https://aka.ms/arm-template for usage details.'."

I have already created Virtual Network in other template and using same resource group here. But, still I am getting above error. Please advice!

like image 980
Ronak Patel Avatar asked Apr 18 '17 21:04

Ronak Patel


People also ask

How do I use an existing resource in arm template?

To modify existing resources using ARM templates, export the template for the resource from within the Azure Portal. Then download it locally. You can then modify it to update settings for Cosmos resources. ARM templates have api-versions.

How do I add a resource group in arm template?

To create a resource group in an ARM template, define a Microsoft. Resources/resourceGroups resource with a name and location for the resource group. The following template creates an empty resource group. Use the copy element with resource groups to create more than one resource group.

What is the format of a resource template?

1 Answer. The format of the file generated is a JSON file and not an XML file. It consists of a set of values and names and is defined by Javascript.


1 Answers

Remove dependsOn the Vnet in your code, it is only needed if that resource is part of the template, not if its already deployed.

like image 113
4c74356b41 Avatar answered Sep 22 '22 11:09

4c74356b41