Created
July 12, 2016 03:21
-
-
Save bmoore-msft/beaaec90bb02316a849a68112373a940 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"$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." | |
} | |
}, | |
"dnsLabelPrefix": { | |
"type": "string", | |
"metadata": { | |
"description": "Hostname assigned to the Public IP, also used as the VM Name. Must be lowercase. It should match with the following regular expression: ^[a-z][a-z0-9-]{1,61}[a-z0-9]$ or it will raise an error." | |
} | |
}, | |
"installMethod": { | |
"type": "string", | |
"defaultValue": "From_Source", | |
"metadata": { | |
"description": "Method to install Viacoin. From_Source: official Viacoin repo on GitHub." | |
} | |
}, | |
"vmSize": { | |
"type": "string", | |
"defaultValue": "Standard_D1", | |
"allowedValues": [ | |
"Standard_A1", | |
"Standard_A2", | |
"Standard_A3", | |
"Standard_D1", | |
"Standard_D2", | |
"Standard_D3" | |
], | |
"metadata": { | |
"description": "Size of VM" | |
} | |
}, | |
"_artifactsLocation": { | |
"type": "string", | |
"metadata": { | |
"description": "The base URI where artifacts required by this template are located. When the template is deployed using the accompanying scripts, a private location in the subscription will be used and this value will be automatically generated." | |
}, | |
"defaultValue": "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/viacoin-blockchain-ubuntu/" | |
}, | |
"_artifactsLocationSasToken": { | |
"type": "securestring", | |
"metadata": { | |
"description": "The sasToken required to access _artifactsLocation. When the template is deployed using the accompanying scripts, a sasToken will be automatically generated." | |
}, | |
"defaultValue": "" | |
} | |
}, | |
"variables": { | |
"imagePublisher": "Canonical", | |
"imageOffer": "UbuntuServer", | |
"OSDiskName": "ViacoinOSDisk", | |
"imageSKU": "14.04.4-LTS", | |
"nicName": "ViacoinNic", | |
"addressPrefix": "10.0.0.0/16", | |
"subnetName": "ViacoinSubnet", | |
"subnetPrefix": "10.0.0.0/24", | |
"storageAccountType": "Standard_LRS", | |
"storageAccountName": "[concat(uniquestring(resourceGroup().id, 'viacoin'))]", | |
"publicIPAddressName": "ViacoinPublicIP", | |
"publicIPAddressType": "Dynamic", | |
"vmStorageAccountContainerName": "vhds", | |
"vmName": "[parameters('dnsLabelPrefix')]", | |
"virtualNetworkName": "ViacoinVNET", | |
"vnetID": "[resourceId('Microsoft.Network/virtualNetworks',variables('virtualNetworkName'))]", | |
"subnetRef": "[concat(variables('vnetID'),'/subnets/',variables('subnetName'))]", | |
"scriptFolder": "CustomScripts", | |
"scriptFileName": "build_via.sh" | |
}, | |
"resources": [ | |
{ | |
"type": "Microsoft.Storage/storageAccounts", | |
"name": "[variables('storageAccountName')]", | |
"apiVersion": "2015-06-15", | |
"location": "[resourceGroup().location]", | |
"properties": { | |
"accountType": "[variables('storageAccountType')]" | |
} | |
}, | |
{ | |
"apiVersion": "2015-06-15", | |
"type": "Microsoft.Network/publicIPAddresses", | |
"name": "[variables('publicIPAddressName')]", | |
"location": "[resourceGroup().location]", | |
"properties": { | |
"publicIPAllocationMethod": "[variables('publicIPAddressType')]", | |
"dnsSettings": { | |
"domainNameLabel": "[parameters('dnsLabelPrefix')]" | |
} | |
} | |
}, | |
{ | |
"apiVersion": "2015-06-15", | |
"type": "Microsoft.Network/virtualNetworks", | |
"name": "[variables('virtualNetworkName')]", | |
"location": "[resourceGroup().location]", | |
"properties": { | |
"addressSpace": { | |
"addressPrefixes": [ | |
"[variables('addressPrefix')]" | |
] | |
}, | |
"subnets": [ | |
{ | |
"name": "[variables('subnetName')]", | |
"properties": { | |
"addressPrefix": "[variables('subnetPrefix')]" | |
} | |
} | |
] | |
} | |
}, | |
{ | |
"apiVersion": "2015-06-15", | |
"type": "Microsoft.Network/networkInterfaces", | |
"name": "[variables('nicName')]", | |
"location": "[resourceGroup().location]", | |
"dependsOn": [ | |
"[concat('Microsoft.Network/publicIPAddresses/', variables('publicIPAddressName'))]", | |
"[concat('Microsoft.Network/virtualNetworks/', variables('virtualNetworkName'))]" | |
], | |
"properties": { | |
"ipConfigurations": [ | |
{ | |
"name": "ipconfig1", | |
"properties": { | |
"privateIPAllocationMethod": "Dynamic", | |
"publicIPAddress": { | |
"id": "[resourceId('Microsoft.Network/publicIPAddresses',variables('publicIPAddressName'))]" | |
}, | |
"subnet": { | |
"id": "[variables('subnetRef')]" | |
} | |
} | |
} | |
] | |
} | |
}, | |
{ | |
"apiVersion": "2015-06-15", | |
"type": "Microsoft.Compute/virtualMachines", | |
"name": "[variables('vmName')]", | |
"location": "[resourceGroup().location]", | |
"dependsOn": [ | |
"[concat('Microsoft.Storage/storageAccounts/', variables('storageAccountName'))]", | |
"[concat('Microsoft.Network/networkInterfaces/', variables('nicName'))]" | |
], | |
"properties": { | |
"hardwareProfile": { | |
"vmSize": "[parameters('vmSize')]" | |
}, | |
"osProfile": { | |
"computerName": "[variables('vmName')]", | |
"adminUsername": "[parameters('adminUsername')]", | |
"adminPassword": "[parameters('adminPassword')]" | |
}, | |
"storageProfile": { | |
"imageReference": { | |
"publisher": "[variables('imagePublisher')]", | |
"offer": "[variables('imageOffer')]", | |
"sku": "[variables('imageSKU')]", | |
"version": "latest" | |
}, | |
"osDisk": { | |
"name": "osdisk", | |
"vhd": { | |
"uri": "[concat(reference(variables('storageAccountName'), '2015-06-15').primaryEndpoints.blob, variables('vmStorageAccountContainerName'),'/',variables('OSDiskName'),'.vhd')]" | |
}, | |
"caching": "ReadWrite", | |
"createOption": "FromImage" | |
} | |
}, | |
"networkProfile": { | |
"networkInterfaces": [ | |
{ | |
"id": "[resourceId('Microsoft.Network/networkInterfaces',variables('nicName'))]" | |
} | |
] | |
}, | |
"diagnosticsProfile": { | |
"bootDiagnostics": { | |
"enabled": "true", | |
"storageUri": "[reference(variables('storageAccountName'), '2015-06-15').primaryEndpoints.blob]" | |
} | |
} | |
}, | |
"resources": [ | |
{ | |
"name": "viaScript", | |
"type": "extensions", | |
"location": "[resourceGroup().location]", | |
"apiVersion": "2015-06-15", | |
"dependsOn": [ | |
"[concat('Microsoft.Compute/virtualMachines/', variables('vmName'))]" | |
], | |
"tags": { | |
"displayName": "viaScript" | |
}, | |
"properties": { | |
"publisher": "Microsoft.OSTCExtensions", | |
"type": "CustomScriptForLinux", | |
"typeHandlerVersion": "1.5", | |
"autoUpgradeMinorVersion": true, | |
"settings": { | |
"fileUris": [ | |
"[concat(parameters('_artifactsLocation'), '/', variables('ScriptFolder'), '/', variables('ScriptFileName'), parameters('_artifactsLocationSasToken'))]" | |
], | |
"commandToExecute": "[concat('sh build_via.sh ', parameters('installMethod'))]" | |
} | |
} | |
} | |
] | |
} | |
] | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment