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!
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.
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.
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.
Remove dependsOn
the Vnet in your code, it is only needed if that resource is part of the template, not if its already deployed.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With