Skip to content

Instantly share code, notes, and snippets.

@csabatini
Last active May 16, 2016 16:41
Show Gist options
  • Save csabatini/41b4b9a139e6439778786217bfa1a538 to your computer and use it in GitHub Desktop.
Save csabatini/41b4b9a139e6439778786217bfa1a538 to your computer and use it in GitHub Desktop.
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"vmName": {
"type": "string",
"metadata": {
"description": "Name for the virtual machine."
}
},
"masterVmSize": {
"type": "string",
"metadata": {
"description": "Size of the master virtual machine(s)."
}
},
"realtimeVmSize": {
"type": "string",
"metadata": {
"description": "Size of the real time virtual machine(s)."
}
},
"batchVmSize": {
"type": "string",
"metadata": {
"description": "Size of the batch virtual machine(s)."
}
},
"hbaseVmSize": {
"type": "string",
"metadata": {
"description": "Size of the hbase virtual machine(s)."
}
},
"virtualNetworkName": {
"type": "string",
"metadata": {
"description": "Virtual network where the virtual machine should run."
}
},
"subnetName": {
"type": "string",
"metadata": {
"description": "Subnet to use with the above virtual network."
}
},
"adminUsername": {
"type": "string",
"metadata": {
"description": "Admin user for the virtual machine."
}
},
"adminPassword": {
"type": "securestring",
"metadata": {
"description": "Password for admin user - only needed for windows"
}
},
"sshKeyData": {
"type": "securestring",
"metadata": {
"description": "The SSH key for the virtual machine user."
}
},
"imagePublisher": {
"type": "string",
"metadata": {
"description": "Operating system publisher"
}
},
"imageOffer": {
"type": "string",
"metadata": {
"description": "Operating system product name "
}
},
"imageSku": {
"type": "string",
"metadata": {
"description": "Operating system major version"
}
},
"sizeOfEachStdDiskInGB": {
"type": "int",
"metadata": {
"description": "Size of each data disk in GB"
}
},
"sizeOfEachPremDiskInGB": {
"type": "int",
"metadata": {
"description": "Size of each data disk in GB"
}
},
"scriptFilePath": {
"type": "string",
"metadata": {
"description": "File path for the custom script"
}
},
"masterScriptCommandToExecute": {
"type": "string",
"metadata": {
"description": "Command to execute the master custom script"
}
},
"realtimeScriptCommandToExecute": {
"type": "string",
"metadata": {
"description": "Command to execute the realtime custom script"
}
},
"workerScriptCommandToExecute": {
"type": "string",
"metadata": {
"description": "Command to execute the worker custom script"
}
},
"numMasters": {
"type": "int",
"metadata": {
"description": "Number of master nodes to provision"
}
},
"numRealTime": {
"type": "int",
"metadata": {
"description": "Number of real time nodes to provision"
}
},
"numBatch": {
"type": "int",
"metadata": {
"description": "Number of batch nodes to provision"
}
},
"numHbase": {
"type": "int",
"metadata": {
"description": "Number of hbase nodes to provision"
}
}
},
"variables": {
"maxNodeCount": "[parameters('numBatch')]",
"location": "[resourceGroup().location]",
"addressPrefix": "10.0.0.0/16",
"subnetPrefix": "10.0.0.0/24",
"standardAccountType": "Standard_GRS",
"premiumAccountType": "Premium_LRS",
"publicIPAddressType": "Dynamic",
"vnetID": "[resourceId('Microsoft.Network/virtualNetworks',parameters('virtualNetworkName'))]",
"sshKeyPath": "[concat('/home/',parameters('adminUsername'),'/.ssh/authorized_keys')]",
"subnetRef": "[concat(variables('vnetID'),'/subnets/',parameters('subnetName'))]",
"masterAvailabilitySet": "[concat(parameters('vmName'),'MasterAvailabilitySet')]",
"realtimeAvailabilitySet": "[concat(parameters('vmName'),'RealTimeAvailabilitySet')]",
"batchAvailabilitySet": "[concat(parameters('vmName'),'BatchAvailabilitySet')]",
"hbaseAvailabilitySet": "[concat(parameters('vmName'),'HbaseAvailabilitySet')]",
"vmExtensionName": "azureHadoopPrep"
},
"resources": [{
"type": "Microsoft.Storage/storageAccounts",
"name": "[concat(parameters('vmName'),'m',copyIndex())]",
"apiVersion": "2015-05-01-preview",
"location": "[variables('location')]",
"copy": {
"name": "masterStorageAccounts",
"count": "[parameters('numMasters')]"
},
"properties": {
"accountType": "[variables('premiumAccountType')]"
}
},
{
"type": "Microsoft.Storage/storageAccounts",
"name": "[concat(parameters('vmName'),copyIndex(),'premium')]",
"apiVersion": "2015-05-01-preview",
"location": "[variables('location')]",
"copy": {
"name": "pooledPremiumStorageAccounts",
"count": "[variables('maxNodeCount')]"
},
"properties": {
"accountType": "[variables('premiumAccountType')]"
}
},
{
"type": "Microsoft.Storage/storageAccounts",
"name": "[concat(parameters('vmName'),'rt',copyIndex(),'standard')]",
"apiVersion": "2015-05-01-preview",
"location": "[variables('location')]",
"copy": {
"name": "realtimeDataDiskStorageAccounts",
"count": "[parameters('numRealTime')]"
},
"properties": {
"accountType": "[variables('standardAccountType')]"
}
},
{
"type": "Microsoft.Storage/storageAccounts",
"name": "[concat(parameters('vmName'),'bat',copyIndex(),'standard')]",
"apiVersion": "2015-05-01-preview",
"location": "[variables('location')]",
"copy": {
"name": "batchDataDiskStorageAccounts",
"count": "[parameters('numBatch')]"
},
"properties": {
"accountType": "[variables('standardAccountType')]"
}
},
{
"type": "Microsoft.Storage/storageAccounts",
"name": "[concat(parameters('vmName'),'kv',copyIndex(),'standard')]",
"apiVersion": "2015-05-01-preview",
"location": "[variables('location')]",
"copy": {
"name": "hbaseDataDiskStorageAccounts",
"count": "[parameters('numHbase')]"
},
"properties": {
"accountType": "[variables('standardAccountType')]"
}
},
{
"type": "Microsoft.Compute/availabilitySets",
"name": "[variables('masterAvailabilitySet')]",
"apiVersion": "2015-05-01-preview",
"location": "[variables('location')]",
"properties": {
"platformFaultDomainCount": 3,
"platformUpdateDomainCount": 20
}
},
{
"type": "Microsoft.Compute/availabilitySets",
"name": "[variables('realtimeAvailabilitySet')]",
"apiVersion": "2015-05-01-preview",
"location": "[variables('location')]",
"properties": {
"platformFaultDomainCount": 3,
"platformUpdateDomainCount": 20
}
},
{
"type": "Microsoft.Compute/availabilitySets",
"name": "[variables('batchAvailabilitySet')]",
"apiVersion": "2015-05-01-preview",
"location": "[variables('location')]",
"properties": {
"platformFaultDomainCount": 3,
"platformUpdateDomainCount": 20
}
},
{
"type": "Microsoft.Compute/availabilitySets",
"name": "[variables('hbaseAvailabilitySet')]",
"apiVersion": "2015-05-01-preview",
"location": "[variables('location')]",
"properties": {
"platformFaultDomainCount": 3,
"platformUpdateDomainCount": 20
}
},
{
"apiVersion": "2015-05-01-preview",
"type": "Microsoft.Network/publicIPAddresses",
"name": "[concat(parameters('vmName'),'-m-',copyIndex(),'-IP')]",
"location": "[variables('location')]",
"copy": {
"name": "copy",
"count": "[parameters('numMasters')]"
},
"properties": {
"publicIPAllocationMethod": "[variables('publicIPAddressType')]",
"dnsSettings": {
"domainNameLabel": "[concat(parameters('vmName'),'m',copyIndex())]",
"reverseFqdn": "[concat(parameters('vmName'),'m',copyIndex(),'.',variables('location'),'.cloudapp.azure.com')]"
}
}
},
{
"apiVersion": "2015-05-01-preview",
"type": "Microsoft.Network/publicIPAddresses",
"name": "[concat(parameters('vmName'),'-rt-',copyIndex(),'-IP')]",
"location": "[variables('location')]",
"copy": {
"name": "copy",
"count": "[parameters('numRealTime')]"
},
"properties": {
"publicIPAllocationMethod": "[variables('publicIPAddressType')]",
"dnsSettings": {
"domainNameLabel": "[concat(parameters('vmName'),'rt',copyIndex())]",
"reverseFqdn": "[concat(parameters('vmName'),'rt',copyIndex(),'.',variables('location'),'.cloudapp.azure.com')]"
}
}
},
{
"apiVersion": "2015-05-01-preview",
"type": "Microsoft.Network/publicIPAddresses",
"name": "[concat(parameters('vmName'),'-bat-',copyIndex(),'-IP')]",
"location": "[variables('location')]",
"copy": {
"name": "copy",
"count": "[parameters('numBatch')]"
},
"properties": {
"publicIPAllocationMethod": "[variables('publicIPAddressType')]",
"dnsSettings": {
"domainNameLabel": "[concat(parameters('vmName'),'bat',copyIndex())]",
"reverseFqdn": "[concat(parameters('vmName'),'bat',copyIndex(),'.',variables('location'),'.cloudapp.azure.com')]"
}
}
},
{
"apiVersion": "2015-05-01-preview",
"type": "Microsoft.Network/publicIPAddresses",
"name": "[concat(parameters('vmName'),'-kv-',copyIndex(),'-IP')]",
"location": "[variables('location')]",
"copy": {
"name": "copy",
"count": "[parameters('numHbase')]"
},
"properties": {
"publicIPAllocationMethod": "[variables('publicIPAddressType')]",
"dnsSettings": {
"domainNameLabel": "[concat(parameters('vmName'),'kv',copyIndex())]",
"reverseFqdn": "[concat(parameters('vmName'),'kv',copyIndex(),'.',variables('location'),'.cloudapp.azure.com')]"
}
}
},
{
"apiVersion": "2015-05-01-preview",
"type": "Microsoft.Network/networkSecurityGroups",
"name": "[concat(parameters('vmName'),'-nsg')]",
"location": "[variables('location')]",
"properties": {
"securityRules": [{
"name": "allow-sonichq-1",
"properties": {
"protocol": "*",
"sourcePortRange": "*",
"destinationPortRange": "*",
"sourceAddressPrefix": "12.41.206.100/32",
"destinationAddressPrefix": "VirtualNetwork",
"access": "Allow",
"priority": 100,
"direction": "Inbound"
}
},
{
"name": "allow-sonichq-2",
"properties": {
"protocol": "*",
"sourcePortRange": "*",
"destinationPortRange": "*",
"sourceAddressPrefix": "12.41.206.85/32",
"destinationAddressPrefix": "VirtualNetwork",
"access": "Allow",
"priority": 150,
"direction": "Inbound"
}
},
{
"name": "allow-google-1",
"properties": {
"protocol": "*",
"sourcePortRange": "*",
"destinationPortRange": "*",
"sourceAddressPrefix": "104.197.120.0/21",
"destinationAddressPrefix": "VirtualNetwork",
"access": "Allow",
"priority": 160,
"direction": "Inbound"
}
},
{
"name": "allow-google-2",
"properties": {
"protocol": "*",
"sourcePortRange": "*",
"destinationPortRange": "*",
"sourceAddressPrefix": "104.197.128.0/19",
"destinationAddressPrefix": "VirtualNetwork",
"access": "Allow",
"priority": 170,
"direction": "Inbound"
}
},
{
"name": "allow-google-3",
"properties": {
"protocol": "*",
"sourcePortRange": "*",
"destinationPortRange": "*",
"sourceAddressPrefix": "104.197.160.0/32",
"destinationAddressPrefix": "VirtualNetwork",
"access": "Allow",
"priority": 180,
"direction": "Inbound"
}
},
{
"name": "allow-google-4",
"properties": {
"protocol": "*",
"sourcePortRange": "*",
"destinationPortRange": "*",
"sourceAddressPrefix": "104.197.147.100/32",
"destinationAddressPrefix": "VirtualNetwork",
"access": "Allow",
"priority": 190,
"direction": "Inbound"
}
}]
}
},
{
"apiVersion": "2015-05-01-preview",
"type": "Microsoft.Network/virtualNetworks",
"name": "[parameters('virtualNetworkName')]",
"location": "[variables('location')]",
"dependsOn": ["[concat('Microsoft.Network/networkSecurityGroups/', parameters('vmName'), '-nsg')]"],
"properties": {
"addressSpace": {
"addressPrefixes": ["[variables('addressPrefix')]"]
},
"subnets": [{
"name": "[parameters('subnetName')]",
"properties": {
"addressPrefix": "[variables('subnetPrefix')]",
"networkSecurityGroup": {
"id": "[resourceId('Microsoft.Network/networkSecurityGroups',concat(parameters('vmName'),'-nsg'))]"
}
}
}]
}
},
{
"apiVersion": "2015-05-01-preview",
"type": "Microsoft.Network/networkInterfaces",
"name": "[concat(parameters('vmName'),'-m-',copyIndex(),'-NIC')]",
"location": "[variables('location')]",
"copy": {
"name": "copy",
"count": "[parameters('numMasters')]"
},
"dependsOn": ["[concat('Microsoft.Network/publicIPAddresses/', parameters('vmName'),'-m-',copyIndex(),'-IP')]",
"[concat('Microsoft.Network/virtualNetworks/', parameters('virtualNetworkName'))]"],
"properties": {
"ipConfigurations": [{
"name": "ipconfig1",
"properties": {
"privateIPAllocationMethod": "Dynamic",
"publicIPAddress": {
"id": "[resourceId('Microsoft.Network/publicIPAddresses',concat(parameters('vmName'),'-m-',copyIndex(),'-IP'))]"
},
"subnet": {
"id": "[variables('subnetRef')]"
}
}
}]
}
},
{
"apiVersion": "2015-05-01-preview",
"type": "Microsoft.Network/networkInterfaces",
"name": "[concat(parameters('vmName'),'-rt-',copyIndex(),'-NIC')]",
"location": "[variables('location')]",
"copy": {
"name": "copy",
"count": "[parameters('numRealTime')]"
},
"dependsOn": ["[concat('Microsoft.Network/publicIPAddresses/', parameters('vmName'),'-rt-',copyIndex(),'-IP')]",
"[concat('Microsoft.Network/virtualNetworks/', parameters('virtualNetworkName'))]"],
"properties": {
"ipConfigurations": [{
"name": "ipconfig1",
"properties": {
"privateIPAllocationMethod": "Dynamic",
"publicIPAddress": {
"id": "[resourceId('Microsoft.Network/publicIPAddresses',concat(parameters('vmName'),'-rt-',copyIndex(),'-IP'))]"
},
"subnet": {
"id": "[variables('subnetRef')]"
}
}
}]
}
},
{
"apiVersion": "2015-05-01-preview",
"type": "Microsoft.Network/networkInterfaces",
"name": "[concat(parameters('vmName'),'-bat-',copyIndex(),'-NIC')]",
"location": "[variables('location')]",
"copy": {
"name": "copy",
"count": "[parameters('numBatch')]"
},
"dependsOn": ["[concat('Microsoft.Network/publicIPAddresses/', parameters('vmName'),'-bat-',copyIndex(),'-IP')]",
"[concat('Microsoft.Network/virtualNetworks/', parameters('virtualNetworkName'))]"],
"properties": {
"ipConfigurations": [{
"name": "ipconfig1",
"properties": {
"privateIPAllocationMethod": "Dynamic",
"publicIPAddress": {
"id": "[resourceId('Microsoft.Network/publicIPAddresses',concat(parameters('vmName'),'-bat-',copyIndex(),'-IP'))]"
},
"subnet": {
"id": "[variables('subnetRef')]"
}
}
}]
}
},
{
"apiVersion": "2015-05-01-preview",
"type": "Microsoft.Network/networkInterfaces",
"name": "[concat(parameters('vmName'),'-kv-',copyIndex(),'-NIC')]",
"location": "[variables('location')]",
"copy": {
"name": "copy",
"count": "[parameters('numHbase')]"
},
"dependsOn": ["[concat('Microsoft.Network/publicIPAddresses/', parameters('vmName'),'-kv-',copyIndex(),'-IP')]",
"[concat('Microsoft.Network/virtualNetworks/', parameters('virtualNetworkName'))]"],
"properties": {
"ipConfigurations": [{
"name": "ipconfig1",
"properties": {
"privateIPAllocationMethod": "Dynamic",
"publicIPAddress": {
"id": "[resourceId('Microsoft.Network/publicIPAddresses',concat(parameters('vmName'),'-kv-',copyIndex(),'-IP'))]"
},
"subnet": {
"id": "[variables('subnetRef')]"
}
}
}]
}
},
{
"apiVersion": "2015-05-01-preview",
"type": "Microsoft.Compute/virtualMachines",
"name": "[concat(parameters('vmName'),'-m-',copyIndex())]",
"location": "[variables('location')]",
"copy": {
"name": "copy",
"count": "[parameters('numMasters')]"
},
"dependsOn": ["[concat('Microsoft.Storage/storageAccounts/', parameters('vmName'),'m',copyIndex())]",
"[concat('Microsoft.Network/networkInterfaces/', parameters('vmName'),'-m-',copyIndex(),'-NIC')]",
"[concat('Microsoft.Compute/availabilitySets/', variables('masterAvailabilitySet'))]"],
"properties": {
"availabilitySet": {
"id": "[resourceId('Microsoft.Compute/availabilitySets', variables('masterAvailabilitySet'))]"
},
"hardwareProfile": {
"vmSize": "[parameters('masterVmSize')]"
},
"osProfile": {
"computername": "[concat(parameters('vmName'),'m',copyIndex())]",
"adminUsername": "[parameters('adminUsername')]",
"adminPassword": "[parameters('adminPassword')]",
"linuxConfiguration": {
"disablePasswordAuthentication": "true",
"ssh": {
"publicKeys": [{
"path": "[variables('sshKeyPath')]",
"keyData": "[parameters('sshKeyData')]"
}]
}
}
},
"storageProfile": {
"imageReference": {
"publisher": "[parameters('imagePublisher')]",
"offer": "[parameters('imageOffer')]",
"sku": "[parameters('imageSku')]",
"version": "latest"
},
"osDisk": {
"name": "osdisk",
"vhd": {
"Uri": "[concat('http://',parameters('vmName'),'m',copyIndex(),'.blob.core.windows.net/vhds/','osDisk.vhd')]"
},
"caching": "ReadWrite",
"createOption": "FromImage"
}
},
"networkProfile": {
"networkInterfaces": [{
"id": "[resourceId('Microsoft.Network/networkInterfaces', concat(parameters('vmName'),'-m-',copyIndex(),'-NIC'))]"
}]
}
}
},
{
"apiVersion": "2015-05-01-preview",
"type": "Microsoft.Compute/virtualMachines",
"name": "[concat(parameters('vmName'),'-rt-',copyIndex())]",
"location": "[variables('location')]",
"copy": {
"name": "copy",
"count": "[parameters('numRealTime')]"
},
"dependsOn": ["pooledPremiumStorageAccounts",
"[concat('Microsoft.Storage/storageAccounts/', parameters('vmName'),'rt',copyIndex(),'standard')]",
"[concat('Microsoft.Network/networkInterfaces/', parameters('vmName'),'-rt-',copyIndex(),'-NIC')]",
"[concat('Microsoft.Compute/availabilitySets/', variables('realtimeAvailabilitySet'))]"],
"properties": {
"availabilitySet": {
"id": "[resourceId('Microsoft.Compute/availabilitySets', variables('realtimeAvailabilitySet'))]"
},
"hardwareProfile": {
"vmSize": "[parameters('realtimeVmSize')]"
},
"osProfile": {
"computername": "[concat(parameters('vmName'),'rt',copyIndex())]",
"adminUsername": "[parameters('adminUsername')]",
"adminPassword": "[parameters('adminPassword')]",
"linuxConfiguration": {
"disablePasswordAuthentication": "true",
"ssh": {
"publicKeys": [{
"path": "[variables('sshKeyPath')]",
"keyData": "[parameters('sshKeyData')]"
}]
}
}
},
"storageProfile": {
"imageReference": {
"publisher": "[parameters('imagePublisher')]",
"offer": "[parameters('imageOffer')]",
"sku": "[parameters('imageSku')]",
"version": "latest"
},
"dataDisks": [{
"name": "datadisk1",
"diskSizeGB": "[parameters('sizeOfEachStdDiskInGB')]",
"lun": 0,
"vhd": {
"Uri": "[concat('http://',parameters('vmName'),'rt',copyIndex(),'standard.blob.core.windows.net/vhds/','datadisk1.vhd')]"
},
"caching": "ReadWrite",
"createOption": "Empty"
},
{
"name": "datadisk2",
"diskSizeGB": "[parameters('sizeOfEachStdDiskInGB')]",
"lun": 1,
"vhd": {
"Uri": "[concat('http://',parameters('vmName'),'rt',copyIndex(),'standard.blob.core.windows.net/vhds/','datadisk2.vhd')]"
},
"caching": "ReadWrite",
"createOption": "Empty"
},
{
"name": "datadisk3",
"diskSizeGB": "[parameters('sizeOfEachStdDiskInGB')]",
"lun": 2,
"vhd": {
"Uri": "[concat('http://',parameters('vmName'),'rt',copyIndex(),'standard.blob.core.windows.net/vhds/','datadisk3.vhd')]"
},
"caching": "ReadWrite",
"createOption": "Empty"
},
{
"name": "datadisk4",
"diskSizeGB": "[parameters('sizeOfEachStdDiskInGB')]",
"lun": 3,
"vhd": {
"Uri": "[concat('http://',parameters('vmName'),'rt',copyIndex(),'standard.blob.core.windows.net/vhds/','datadisk4.vhd')]"
},
"caching": "ReadWrite",
"createOption": "Empty"
},
{
"name": "datadisk5",
"diskSizeGB": "[parameters('sizeOfEachStdDiskInGB')]",
"lun": 4,
"vhd": {
"Uri": "[concat('http://',parameters('vmName'),'rt',copyIndex(),'standard.blob.core.windows.net/vhds/','datadisk5.vhd')]"
},
"caching": "ReadWrite",
"createOption": "Empty"
},
{
"name": "datadisk6",
"diskSizeGB": "[parameters('sizeOfEachStdDiskInGB')]",
"lun": 5,
"vhd": {
"Uri": "[concat('http://',parameters('vmName'),'rt',copyIndex(),'standard.blob.core.windows.net/vhds/','datadisk6.vhd')]"
},
"caching": "ReadWrite",
"createOption": "Empty"
},
{
"name": "datadisk7",
"diskSizeGB": "[parameters('sizeOfEachStdDiskInGB')]",
"lun": 6,
"vhd": {
"Uri": "[concat('http://',parameters('vmName'),'rt',copyIndex(),'standard.blob.core.windows.net/vhds/','datadisk7.vhd')]"
},
"caching": "ReadWrite",
"createOption": "Empty"
},
{
"name": "datadisk8",
"diskSizeGB": "[parameters('sizeOfEachStdDiskInGB')]",
"lun": 7,
"vhd": {
"Uri": "[concat('http://',parameters('vmName'),'rt',copyIndex(),'standard.blob.core.windows.net/vhds/','datadisk8.vhd')]"
},
"caching": "ReadWrite",
"createOption": "Empty"
},
{
"name": "datadisk9",
"diskSizeGB": "[parameters('sizeOfEachStdDiskInGB')]",
"lun": 8,
"vhd": {
"Uri": "[concat('http://',parameters('vmName'),'rt',copyIndex(),'standard.blob.core.windows.net/vhds/','datadisk9.vhd')]"
},
"caching": "ReadWrite",
"createOption": "Empty"
},
{
"name": "datadisk10",
"diskSizeGB": "[parameters('sizeOfEachStdDiskInGB')]",
"lun": 9,
"vhd": {
"Uri": "[concat('http://',parameters('vmName'),'rt',copyIndex(),'standard.blob.core.windows.net/vhds/','datadisk10.vhd')]"
},
"caching": "ReadWrite",
"createOption": "Empty"
},
{
"name": "datadisk11",
"diskSizeGB": "[parameters('sizeOfEachStdDiskInGB')]",
"lun": 10,
"vhd": {
"Uri": "[concat('http://',parameters('vmName'),'rt',copyIndex(),'standard.blob.core.windows.net/vhds/','datadisk11.vhd')]"
},
"caching": "ReadWrite",
"createOption": "Empty"
},
{
"name": "datadisk12",
"diskSizeGB": "[parameters('sizeOfEachStdDiskInGB')]",
"lun": 11,
"vhd": {
"Uri": "[concat('http://',parameters('vmName'),'rt',copyIndex(),'standard.blob.core.windows.net/vhds/','datadisk12.vhd')]"
},
"caching": "ReadWrite",
"createOption": "Empty"
},
{
"name": "datadisk13",
"diskSizeGB": "[parameters('sizeOfEachStdDiskInGB')]",
"lun": 12,
"vhd": {
"Uri": "[concat('http://',parameters('vmName'),'rt',copyIndex(),'standard.blob.core.windows.net/vhds/','datadisk13.vhd')]"
},
"caching": "ReadWrite",
"createOption": "Empty"
},
{
"name": "datadisk14",
"diskSizeGB": "[parameters('sizeOfEachPremDiskInGB')]",
"lun": 13,
"vhd": {
"Uri": "[concat('http://',parameters('vmName'),copyIndex(),'premium.blob.core.windows.net/vhds/','rt',copyIndex(),'dataDisk14.vhd')]"
},
"caching": "None",
"createOption": "Empty"
},
{
"name": "datadisk15",
"diskSizeGB": "[parameters('sizeOfEachPremDiskInGB')]",
"lun": 14,
"vhd": {
"Uri": "[concat('http://',parameters('vmName'),copyIndex(),'premium.blob.core.windows.net/vhds/','rt',copyIndex(),'dataDisk15.vhd')]"
},
"caching": "None",
"createOption": "Empty"
}],
"osDisk": {
"name": "osdisk",
"vhd": {
"uri": "[concat('http://',parameters('vmName'),copyIndex(),'premium.blob.core.windows.net/vhds/rt',copyIndex(),'osDisk.vhd')]"
},
"caching": "ReadWrite",
"createOption": "FromImage"
}
},
"networkProfile": {
"networkInterfaces": [{
"id": "[resourceId('Microsoft.Network/networkInterfaces', concat(parameters('vmName'),'-rt-',copyIndex(),'-NIC'))]"
}]
}
}
},
{
"apiVersion": "2015-05-01-preview",
"type": "Microsoft.Compute/virtualMachines",
"name": "[concat(parameters('vmName'),'-bat-',copyIndex())]",
"location": "[variables('location')]",
"copy": {
"name": "copy",
"count": "[parameters('numBatch')]"
},
"dependsOn": ["pooledPremiumStorageAccounts",
"[concat('Microsoft.Storage/storageAccounts/', parameters('vmName'),'bat',copyIndex(),'standard')]",
"[concat('Microsoft.Network/networkInterfaces/', parameters('vmName'),'-bat-',copyIndex(),'-NIC')]",
"[concat('Microsoft.Compute/availabilitySets/', variables('batchAvailabilitySet'))]"],
"properties": {
"availabilitySet": {
"id": "[resourceId('Microsoft.Compute/availabilitySets', variables('batchAvailabilitySet'))]"
},
"hardwareProfile": {
"vmSize": "[parameters('batchVmSize')]"
},
"osProfile": {
"computername": "[concat(parameters('vmName'),'bat',copyIndex())]",
"adminUsername": "[parameters('adminUsername')]",
"adminPassword": "[parameters('adminPassword')]",
"linuxConfiguration": {
"disablePasswordAuthentication": "true",
"ssh": {
"publicKeys": [{
"path": "[variables('sshKeyPath')]",
"keyData": "[parameters('sshKeyData')]"
}]
}
}
},
"storageProfile": {
"imageReference": {
"publisher": "[parameters('imagePublisher')]",
"offer": "[parameters('imageOffer')]",
"sku": "[parameters('imageSku')]",
"version": "latest"
},
"dataDisks": [{
"name": "datadisk1",
"diskSizeGB": "[parameters('sizeOfEachStdDiskInGB')]",
"lun": 0,
"vhd": {
"Uri": "[concat('http://',parameters('vmName'),'bat',copyIndex(),'standard.blob.core.windows.net/vhds/','dataDisk1.vhd')]"
},
"caching": "ReadWrite",
"createOption": "Empty"
},
{
"name": "datadisk2",
"diskSizeGB": "[parameters('sizeOfEachStdDiskInGB')]",
"lun": 1,
"vhd": {
"Uri": "[concat('http://',parameters('vmName'),'bat',copyIndex(),'standard.blob.core.windows.net/vhds/','dataDisk2.vhd')]"
},
"caching": "ReadWrite",
"createOption": "Empty"
},
{
"name": "datadisk3",
"diskSizeGB": "[parameters('sizeOfEachStdDiskInGB')]",
"lun": 2,
"vhd": {
"Uri": "[concat('http://',parameters('vmName'),'bat',copyIndex(),'standard.blob.core.windows.net/vhds/','dataDisk3.vhd')]"
},
"caching": "ReadWrite",
"createOption": "Empty"
},
{
"name": "datadisk4",
"diskSizeGB": "[parameters('sizeOfEachStdDiskInGB')]",
"lun": 3,
"vhd": {
"Uri": "[concat('http://',parameters('vmName'),'bat',copyIndex(),'standard.blob.core.windows.net/vhds/','dataDisk4.vhd')]"
},
"caching": "ReadWrite",
"createOption": "Empty"
},
{
"name": "datadisk5",
"diskSizeGB": "[parameters('sizeOfEachStdDiskInGB')]",
"lun": 4,
"vhd": {
"Uri": "[concat('http://',parameters('vmName'),'bat',copyIndex(),'standard.blob.core.windows.net/vhds/','dataDisk5.vhd')]"
},
"caching": "ReadWrite",
"createOption": "Empty"
},
{
"name": "datadisk6",
"diskSizeGB": "[parameters('sizeOfEachStdDiskInGB')]",
"lun": 5,
"vhd": {
"Uri": "[concat('http://',parameters('vmName'),'bat',copyIndex(),'standard.blob.core.windows.net/vhds/','dataDisk6.vhd')]"
},
"caching": "ReadWrite",
"createOption": "Empty"
},
{
"name": "datadisk7",
"diskSizeGB": "[parameters('sizeOfEachStdDiskInGB')]",
"lun": 6,
"vhd": {
"Uri": "[concat('http://',parameters('vmName'),'bat',copyIndex(),'standard.blob.core.windows.net/vhds/','dataDisk7.vhd')]"
},
"caching": "ReadWrite",
"createOption": "Empty"
},
{
"name": "datadisk8",
"diskSizeGB": "[parameters('sizeOfEachStdDiskInGB')]",
"lun": 7,
"vhd": {
"Uri": "[concat('http://',parameters('vmName'),'bat',copyIndex(),'standard.blob.core.windows.net/vhds/','dataDisk8.vhd')]"
},
"caching": "ReadWrite",
"createOption": "Empty"
},
{
"name": "datadisk9",
"diskSizeGB": "[parameters('sizeOfEachStdDiskInGB')]",
"lun": 8,
"vhd": {
"Uri": "[concat('http://',parameters('vmName'),'bat',copyIndex(),'standard.blob.core.windows.net/vhds/','dataDisk9.vhd')]"
},
"caching": "ReadWrite",
"createOption": "Empty"
},
{
"name": "datadisk10",
"diskSizeGB": "[parameters('sizeOfEachStdDiskInGB')]",
"lun": 9,
"vhd": {
"Uri": "[concat('http://',parameters('vmName'),'bat',copyIndex(),'standard.blob.core.windows.net/vhds/','dataDisk10.vhd')]"
},
"caching": "ReadWrite",
"createOption": "Empty"
},
{
"name": "datadisk11",
"diskSizeGB": "[parameters('sizeOfEachStdDiskInGB')]",
"lun": 10,
"vhd": {
"Uri": "[concat('http://',parameters('vmName'),'bat',copyIndex(),'standard.blob.core.windows.net/vhds/','dataDisk11.vhd')]"
},
"caching": "ReadWrite",
"createOption": "Empty"
},
{
"name": "datadisk12",
"diskSizeGB": "[parameters('sizeOfEachStdDiskInGB')]",
"lun": 11,
"vhd": {
"Uri": "[concat('http://',parameters('vmName'),'bat',copyIndex(),'standard.blob.core.windows.net/vhds/','dataDisk12.vhd')]"
},
"caching": "ReadWrite",
"createOption": "Empty"
},
{
"name": "datadisk13",
"diskSizeGB": "[parameters('sizeOfEachStdDiskInGB')]",
"lun": 12,
"vhd": {
"Uri": "[concat('http://',parameters('vmName'),'bat',copyIndex(),'standard.blob.core.windows.net/vhds/','dataDisk13.vhd')]"
},
"caching": "ReadWrite",
"createOption": "Empty"
},
{
"name": "datadisk14",
"diskSizeGB": "[parameters('sizeOfEachStdDiskInGB')]",
"lun": 13,
"vhd": {
"Uri": "[concat('http://',parameters('vmName'),'bat',copyIndex(),'standard.blob.core.windows.net/vhds/','dataDisk14.vhd')]"
},
"caching": "ReadWrite",
"createOption": "Empty"
},
{
"name": "datadisk15",
"diskSizeGB": "[parameters('sizeOfEachStdDiskInGB')]",
"lun": 14,
"vhd": {
"Uri": "[concat('http://',parameters('vmName'),'bat',copyIndex(),'standard.blob.core.windows.net/vhds/','dataDisk15.vhd')]"
},
"caching": "ReadWrite",
"createOption": "Empty"
}],
"osDisk": {
"name": "osdisk",
"vhd": {
"uri": "[concat('http://',parameters('vmName'),copyIndex(),'premium.blob.core.windows.net/vhds/bat',copyIndex(),'osDisk.vhd')]"
},
"caching": "ReadWrite",
"createOption": "FromImage"
}
},
"networkProfile": {
"networkInterfaces": [{
"id": "[resourceId('Microsoft.Network/networkInterfaces', concat(parameters('vmName'),'-bat-',copyIndex(),'-NIC'))]"
}]
}
}
},
{
"apiVersion": "2015-05-01-preview",
"type": "Microsoft.Compute/virtualMachines",
"name": "[concat(parameters('vmName'),'-kv-',copyIndex())]",
"location": "[variables('location')]",
"copy": {
"name": "copy",
"count": "[parameters('numHbase')]"
},
"dependsOn": ["pooledPremiumStorageAccounts",
"[concat('Microsoft.Storage/storageAccounts/', parameters('vmName'),'kv',copyIndex(),'standard')]",
"[concat('Microsoft.Network/networkInterfaces/', parameters('vmName'),'-kv-',copyIndex(),'-NIC')]",
"[concat('Microsoft.Compute/availabilitySets/', variables('hbaseAvailabilitySet'))]"],
"properties": {
"availabilitySet": {
"id": "[resourceId('Microsoft.Compute/availabilitySets', variables('hbaseAvailabilitySet'))]"
},
"hardwareProfile": {
"vmSize": "[parameters('hbaseVmSize')]"
},
"osProfile": {
"computername": "[concat(parameters('vmName'),'kv',copyIndex())]",
"adminUsername": "[parameters('adminUsername')]",
"adminPassword": "[parameters('adminPassword')]",
"linuxConfiguration": {
"disablePasswordAuthentication": "true",
"ssh": {
"publicKeys": [{
"path": "[variables('sshKeyPath')]",
"keyData": "[parameters('sshKeyData')]"
}]
}
}
},
"storageProfile": {
"imageReference": {
"publisher": "[parameters('imagePublisher')]",
"offer": "[parameters('imageOffer')]",
"sku": "[parameters('imageSku')]",
"version": "latest"
},
"dataDisks": [{
"name": "datadisk1",
"diskSizeGB": "[parameters('sizeOfEachStdDiskInGB')]",
"lun": 0,
"vhd": {
"Uri": "[concat('http://',parameters('vmName'),'kv',copyIndex(),'standard.blob.core.windows.net/vhds/','dataDisk1.vhd')]"
},
"caching": "ReadWrite",
"createOption": "Empty"
},
{
"name": "datadisk2",
"diskSizeGB": "[parameters('sizeOfEachStdDiskInGB')]",
"lun": 1,
"vhd": {
"Uri": "[concat('http://',parameters('vmName'),'kv',copyIndex(),'standard.blob.core.windows.net/vhds/','dataDisk2.vhd')]"
},
"caching": "ReadWrite",
"createOption": "Empty"
},
{
"name": "datadisk3",
"diskSizeGB": "[parameters('sizeOfEachStdDiskInGB')]",
"lun": 2,
"vhd": {
"Uri": "[concat('http://',parameters('vmName'),'kv',copyIndex(),'standard.blob.core.windows.net/vhds/','dataDisk3.vhd')]"
},
"caching": "ReadWrite",
"createOption": "Empty"
},
{
"name": "datadisk4",
"diskSizeGB": "[parameters('sizeOfEachStdDiskInGB')]",
"lun": 3,
"vhd": {
"Uri": "[concat('http://',parameters('vmName'),'kv',copyIndex(),'standard.blob.core.windows.net/vhds/','dataDisk4.vhd')]"
},
"caching": "ReadWrite",
"createOption": "Empty"
},
{
"name": "datadisk5",
"diskSizeGB": "[parameters('sizeOfEachStdDiskInGB')]",
"lun": 4,
"vhd": {
"Uri": "[concat('http://',parameters('vmName'),'kv',copyIndex(),'standard.blob.core.windows.net/vhds/','dataDisk5.vhd')]"
},
"caching": "ReadWrite",
"createOption": "Empty"
},
{
"name": "datadisk6",
"diskSizeGB": "[parameters('sizeOfEachStdDiskInGB')]",
"lun": 5,
"vhd": {
"Uri": "[concat('http://',parameters('vmName'),'kv',copyIndex(),'standard.blob.core.windows.net/vhds/','dataDisk6.vhd')]"
},
"caching": "ReadWrite",
"createOption": "Empty"
},
{
"name": "datadisk7",
"diskSizeGB": "[parameters('sizeOfEachStdDiskInGB')]",
"lun": 6,
"vhd": {
"Uri": "[concat('http://',parameters('vmName'),'kv',copyIndex(),'standard.blob.core.windows.net/vhds/','dataDisk7.vhd')]"
},
"caching": "ReadWrite",
"createOption": "Empty"
},
{
"name": "datadisk8",
"diskSizeGB": "[parameters('sizeOfEachStdDiskInGB')]",
"lun": 7,
"vhd": {
"Uri": "[concat('http://',parameters('vmName'),'kv',copyIndex(),'standard.blob.core.windows.net/vhds/','dataDisk8.vhd')]"
},
"caching": "ReadWrite",
"createOption": "Empty"
},
{
"name": "datadisk9",
"diskSizeGB": "[parameters('sizeOfEachStdDiskInGB')]",
"lun": 8,
"vhd": {
"Uri": "[concat('http://',parameters('vmName'),'kv',copyIndex(),'standard.blob.core.windows.net/vhds/','dataDisk9.vhd')]"
},
"caching": "ReadWrite",
"createOption": "Empty"
},
{
"name": "datadisk10",
"diskSizeGB": "[parameters('sizeOfEachStdDiskInGB')]",
"lun": 9,
"vhd": {
"Uri": "[concat('http://',parameters('vmName'),'kv',copyIndex(),'standard.blob.core.windows.net/vhds/','dataDisk10.vhd')]"
},
"caching": "ReadWrite",
"createOption": "Empty"
},
{
"name": "datadisk11",
"diskSizeGB": "[parameters('sizeOfEachStdDiskInGB')]",
"lun": 10,
"vhd": {
"Uri": "[concat('http://',parameters('vmName'),'kv',copyIndex(),'standard.blob.core.windows.net/vhds/','dataDisk11.vhd')]"
},
"caching": "ReadWrite",
"createOption": "Empty"
},
{
"name": "datadisk12",
"diskSizeGB": "[parameters('sizeOfEachStdDiskInGB')]",
"lun": 11,
"vhd": {
"Uri": "[concat('http://',parameters('vmName'),'kv',copyIndex(),'standard.blob.core.windows.net/vhds/','dataDisk12.vhd')]"
},
"caching": "ReadWrite",
"createOption": "Empty"
},
{
"name": "datadisk13",
"diskSizeGB": "[parameters('sizeOfEachStdDiskInGB')]",
"lun": 12,
"vhd": {
"Uri": "[concat('http://',parameters('vmName'),'kv',copyIndex(),'standard.blob.core.windows.net/vhds/','dataDisk13.vhd')]"
},
"caching": "ReadWrite",
"createOption": "Empty"
},
{
"name": "datadisk14",
"diskSizeGB": "[parameters('sizeOfEachStdDiskInGB')]",
"lun": 13,
"vhd": {
"Uri": "[concat('http://',parameters('vmName'),'kv',copyIndex(),'standard.blob.core.windows.net/vhds/','dataDisk14.vhd')]"
},
"caching": "ReadWrite",
"createOption": "Empty"
},
{
"name": "datadisk15",
"diskSizeGB": "[parameters('sizeOfEachStdDiskInGB')]",
"lun": 14,
"vhd": {
"Uri": "[concat('http://',parameters('vmName'),'kv',copyIndex(),'standard.blob.core.windows.net/vhds/','dataDisk15.vhd')]"
},
"caching": "ReadWrite",
"createOption": "Empty"
}],
"osDisk": {
"name": "osdisk",
"vhd": {
"uri": "[concat('http://',parameters('vmName'),copyIndex(),'premium.blob.core.windows.net/vhds/kv',copyIndex(),'osDisk.vhd')]"
},
"caching": "ReadWrite",
"createOption": "FromImage"
}
},
"networkProfile": {
"networkInterfaces": [{
"id": "[resourceId('Microsoft.Network/networkInterfaces', concat(parameters('vmName'),'-kv-',copyIndex(),'-NIC'))]"
}]
}
}
},
{
"type": "Microsoft.Compute/virtualMachines/extensions",
"name": "[concat(parameters('vmName'),'-m-',copyIndex(),'/', variables('vmExtensionName'))]",
"apiVersion": "2015-05-01-preview",
"location": "[variables('location')]",
"copy": {
"name": "copy",
"count": "[parameters('numMasters')]"
},
"dependsOn": ["[concat('Microsoft.Compute/virtualMachines/', parameters('vmName'),'-m-',copyIndex())]"],
"properties": {
"publisher": "Microsoft.OSTCExtensions",
"type": "CustomScriptForLinux",
"typeHandlerVersion": "1.2",
"settings": {
"fileUris": ["[parameters('scriptFilePath')]"],
"commandToExecute": "[parameters('masterScriptCommandToExecute')]"
}
}
},
{
"type": "Microsoft.Compute/virtualMachines/extensions",
"name": "[concat(parameters('vmName'),'-rt-',copyIndex(),'/', variables('vmExtensionName'))]",
"apiVersion": "2015-05-01-preview",
"location": "[variables('location')]",
"copy": {
"name": "copy",
"count": "[parameters('numRealTime')]"
},
"dependsOn": ["[concat('Microsoft.Compute/virtualMachines/', parameters('vmName'),'-rt-',copyIndex())]"],
"properties": {
"publisher": "Microsoft.OSTCExtensions",
"type": "CustomScriptForLinux",
"typeHandlerVersion": "1.2",
"settings": {
"fileUris": ["[parameters('scriptFilePath')]"],
"commandToExecute": "[parameters('realtimeScriptCommandToExecute')]"
}
}
},
{
"type": "Microsoft.Compute/virtualMachines/extensions",
"name": "[concat(parameters('vmName'),'-bat-',copyIndex(),'/', variables('vmExtensionName'))]",
"apiVersion": "2015-05-01-preview",
"location": "[variables('location')]",
"copy": {
"name": "copy",
"count": "[parameters('numBatch')]"
},
"dependsOn": ["[concat('Microsoft.Compute/virtualMachines/', parameters('vmName'),'-bat-',copyIndex())]"],
"properties": {
"publisher": "Microsoft.OSTCExtensions",
"type": "CustomScriptForLinux",
"typeHandlerVersion": "1.2",
"settings": {
"fileUris": ["[parameters('scriptFilePath')]"],
"commandToExecute": "[parameters('workerScriptCommandToExecute')]"
}
}
},
{
"type": "Microsoft.Compute/virtualMachines/extensions",
"name": "[concat(parameters('vmName'),'-kv-',copyIndex(),'/', variables('vmExtensionName'))]",
"apiVersion": "2015-05-01-preview",
"location": "[variables('location')]",
"copy": {
"name": "copy",
"count": "[parameters('numHbase')]"
},
"dependsOn": ["[concat('Microsoft.Compute/virtualMachines/', parameters('vmName'),'-kv-',copyIndex())]"],
"properties": {
"publisher": "Microsoft.OSTCExtensions",
"type": "CustomScriptForLinux",
"typeHandlerVersion": "1.2",
"settings": {
"fileUris": ["[parameters('scriptFilePath')]"],
"commandToExecute": "[parameters('workerScriptCommandToExecute')]"
}
}
}]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment