From ed0f079f08d98e298e49deeb15f3b1531320665f Mon Sep 17 00:00:00 2001 From: Gopi Kumar Date: Tue, 6 Jun 2017 10:43:11 -0700 Subject: [PATCH] Create multiazuredeploywithext.json --- .../Windows2012/multiazuredeploywithext.json | 254 ++++++++++++++++++ 1 file changed, 254 insertions(+) create mode 100644 Scripts/CreateDSVM/Windows2012/multiazuredeploywithext.json diff --git a/Scripts/CreateDSVM/Windows2012/multiazuredeploywithext.json b/Scripts/CreateDSVM/Windows2012/multiazuredeploywithext.json new file mode 100644 index 0000000..f7f5770 --- /dev/null +++ b/Scripts/CreateDSVM/Windows2012/multiazuredeploywithext.json @@ -0,0 +1,254 @@ +{ + "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", + "contentVersion": "1.0.0.0", + "parameters": { + "adminUsername": { + "type": "string", + "metadata": { + "description": "Username for the Virtual Machine." + } + }, + "adminPassword": { + "type": "securestring", + "metadata": { + "description": "Password for the Virtual Machine." + } + }, + "numberOfInstances": { + "type": "string", + "defaultValue": "1", + "metadata": { + "description": "Number of VMs to deploy." + } + }, + "vmName": { + "type": "string", + "metadata": { + "description": "Name Prefix for the Virtual Machine." + } + }, + "vmSize": { + "type": "string", + "defaultValue": "Standard_DS3_v2", + "allowedValues": [ + "Basic_A3", + "Standard_A2_v2", + "Standard_A4_v2", + "Standard_A8_v2", + "Standard_DS2_v2", + "Standard_DS3_v2", + "Standard_DS4_v2", + "Standard_DS12_v2", + "Standard_DS13_v2", + "Standard_DS14_v2", + "Standard_NC6", + "Standard_NC12", + "Standard_NC24" + ], + "metadata": { + "description": "Size for the Virtual Machine." + } + }, + "fileUris": { + "type": "string", + "metadata": { + "description": "URL of the extension package or file" + } + }, + "commandToExecute": { + "type": "string", + "defaultValue": "install.ps1", + "metadata": { + "description": "Extension powershell script command to execute" + } + } + }, + "variables": { + "location": "[resourceGroup().location]", + "numberOfInstances": "[int(parameters('numberOfInstances'))]", + "imagePublisher": "microsoft-ads", + "imageOffer": "standard-data-science-vm", + "OSDiskName": "osdisk", + "sku": "standard-data-science-vm", + "nicName": "[parameters('vmName')]", + "addressPrefix": "10.0.0.0/16", + "subnetName": "Subnet", + "subnetPrefix": "10.0.0.0/24", + "storageAccountType": "Standard_LRS", + "storageAccountName": "[concat(uniquestring(resourceGroup().id), 'windsvm')]", + "publicIPAddressType": "Dynamic", + "publicIPAddressName": "[parameters('vmName')]", + "vmStorageAccountContainerName": "vhds", + "vmName": "[parameters('vmName')]", + "vmSize": "[parameters('vmSize')]", + "virtualNetworkName": "[parameters('vmName')]", + "vnetID": "[resourceId('Microsoft.Network/virtualNetworks',variables('virtualNetworkName'))]", + "subnetRef": "[concat(variables('vnetID'),'/subnets/',variables('subnetName'))]", + "fileUris": "[parameters('fileUris')]", + "commandToExecute": "[concat('powershell.exe -ExecutionPolicy Unrestricted -File ', parameters('commandToExecute'))]" + }, + "resources": [ + { + "type": "Microsoft.Storage/storageAccounts", + "name": "[variables('storageAccountName')]", + "apiVersion": "2015-05-01-preview", + "location": "[variables('location')]", + "properties": { + "accountType": "[variables('storageAccountType')]" + } + }, + { + "apiVersion": "2015-05-01-preview", + "type": "Microsoft.Network/publicIPAddresses", + "name": "[concat(variables('publicIPAddressName'), copyindex())]", + "location": "[variables('location')]", + "copy": { + "name": "publicIPLoop", + "count": "[variables('numberOfInstances')]" + }, + "properties": { + "publicIPAllocationMethod": "[variables('publicIPAddressType')]", + "dnsSettings": { + "domainNameLabel": "[concat(variables('publicIPAddressName'), copyindex())]" + } + } + }, + { + "apiVersion": "2015-05-01-preview", + "type": "Microsoft.Network/virtualNetworks", + "name": "[variables('virtualNetworkName')]", + "location": "[variables('location')]", + "properties": { + "addressSpace": { + "addressPrefixes": [ + "[variables('addressPrefix')]" + ] + }, + "subnets": [ + { + "name": "[variables('subnetName')]", + "properties": { + "addressPrefix": "[variables('subnetPrefix')]" + } + } + ] + } + }, + { + "apiVersion": "2015-05-01-preview", + "type": "Microsoft.Network/networkInterfaces", + "name": "[concat(variables('nicName'), copyindex())]", + "location": "[variables('location')]", + "copy": { + "name": "nicLoop", + "count": "[variables('numberOfInstances')]" + }, + "dependsOn": [ + "[concat('Microsoft.Network/publicIPAddresses/', concat(variables('publicIPAddressName'),copyindex()))]", + "[concat('Microsoft.Network/virtualNetworks/', variables('virtualNetworkName'))]" + ], + "properties": { + "ipConfigurations": [ + { + "name": "ipconfig1", + "properties": { + "privateIPAllocationMethod": "Dynamic", + "publicIPAddress": { + "id": "[resourceId('Microsoft.Network/publicIPAddresses',concat(variables('publicIPAddressName'),copyindex()))]" + }, + "subnet": { + "id": "[variables('subnetRef')]" + } + } + } + ] + } + }, + { + "apiVersion": "2015-06-15", + "type": "Microsoft.Compute/virtualMachines", + "name": "[concat(variables('vmName'), copyIndex())]", + "location": "[variables('location')]", + "copy": { + "name": "virtualMachineLoop", + "count": "[variables('numberOfInstances')]" + }, + "plan": { + "name": "[variables('sku')]", + "product": "[variables('imageOffer')]", + "publisher": "[variables('imagePublisher')]" + }, + "tags": { + "Application": "DataScience" + }, + "dependsOn": [ + "[concat('Microsoft.Storage/storageAccounts/', variables('storageAccountName'))]", + "[concat('Microsoft.Network/networkInterfaces/', variables('nicName'), copyindex())]" + ], + "properties": { + "hardwareProfile": { + "vmSize": "[variables('vmSize')]" + }, + "osProfile": { + "computerName": "[concat(variables('vmName'), copyIndex())]", + "adminUsername": "[parameters('adminUsername')]", + "adminPassword": "[parameters('adminPassword')]" + }, + "storageProfile": { + "imageReference": { + "publisher": "[variables('imagePublisher')]", + "offer": "[variables('imageOffer')]", + "sku": "[variables('sku')]", + "version": "latest" + }, + "osDisk": { + "name": "osdisk", + "vhd": { + "uri": "[concat('http://',variables('storageAccountName'),'.blob.core.windows.net/',variables('vmStorageAccountContainerName'),'/',variables('OSDiskName'), variables('vmName'), copyIndex(), '.vhd')]" + }, + "caching": "ReadWrite", + "createOption": "FromImage" + } + }, + "networkProfile": { + "networkInterfaces": [ + { + "id": "[resourceId('Microsoft.Network/networkInterfaces',concat(variables('nicName'), copyindex()))]" + } + ] + }, + "diagnosticsProfile": { + "bootDiagnostics": { + "enabled": "true", + "storageUri": "[concat('http://',variables('storageAccountName'),'.blob.core.windows.net')]" + } + } + }, + "resources": [ + { + "type": "Microsoft.Compute/virtualMachines/extensions", + "name": "[variables('vmName')]", + "apiVersion": "2015-06-15", + "location": "[variables('location')]", + "dependsOn": [ + "[concat('Microsoft.Compute/virtualMachines/', variables('vmName'),copyindex())]" + ], + "properties": { + "publisher": "Microsoft.Compute", + "type": "CustomScriptExtension", + "typeHandlerVersion": "1.8", + "autoUpgradeMinorVersion": true, + "settings": { + "fileUris": "[split(variables('fileUris'), ' ')]", + "commandToExecute": "[variables('commandToExecute')]" + } + } + } + ] + } + ], + "outputs": { + "firstDataScienceVmUrl": { "type": "string", "value": "[concat('https://ms.portal.azure.com/#resource/subscriptions/', subscription().subscriptionId, '/resourceGroups/', resourceGroup().name, '/providers/Microsoft.Compute/virtualMachines/', variables('vmName'), '0')]" }, + "numInstances": { "type": "string", "value": "[parameters('numberOfInstances')]" } + } +}