From 49965fbc5b3cec7ae85aa9bf36e5e55ecd9cc184 Mon Sep 17 00:00:00 2001 From: varunmaker Date: Fri, 24 Apr 2015 15:06:04 -0700 Subject: [PATCH] Adding template for Create VM with Empty Disk and Create VM from User Image --- 101-vm-empty-data-disk/README.md | 18 ++ .../azuredeploy-parameters.json | 44 +++ 101-vm-empty-data-disk/azuredeploy.json | 287 ++++++++++++++++++ 101-vm-empty-data-disk/metadata.json | 7 + 101-vm-from-user-image/README.md | 29 ++ .../azuredeploy-parameters.json | 44 +++ 101-vm-from-user-image/azuredeploy.json | 222 ++++++++++++++ 101-vm-from-user-image/metadata.json | 7 + 8 files changed, 658 insertions(+) create mode 100644 101-vm-empty-data-disk/README.md create mode 100644 101-vm-empty-data-disk/azuredeploy-parameters.json create mode 100644 101-vm-empty-data-disk/azuredeploy.json create mode 100644 101-vm-empty-data-disk/metadata.json create mode 100644 101-vm-from-user-image/README.md create mode 100644 101-vm-from-user-image/azuredeploy-parameters.json create mode 100644 101-vm-from-user-image/azuredeploy.json create mode 100644 101-vm-from-user-image/metadata.json diff --git a/101-vm-empty-data-disk/README.md b/101-vm-empty-data-disk/README.md new file mode 100644 index 0000000..8f051d3 --- /dev/null +++ b/101-vm-empty-data-disk/README.md @@ -0,0 +1,18 @@ +# Create a Virtual Machine from a Windows Image with Empty Data Disk + + + + + +This template allows creates a Windows VM with empty data disk + +In the parameters file: + + "vmDiagnosticsStorageAccountResourceGroup":{ + "value" : "diagnosticsResourceGroup" + }, + "vmDiagnosticsStorageAccountName":{ + "value" : "diagnosticsStorageAccount" + }, + +the specified diagnostics storage account must be created in the specified diagnostics resource group. diff --git a/101-vm-empty-data-disk/azuredeploy-parameters.json b/101-vm-empty-data-disk/azuredeploy-parameters.json new file mode 100644 index 0000000..1e3e582 --- /dev/null +++ b/101-vm-empty-data-disk/azuredeploy-parameters.json @@ -0,0 +1,44 @@ +{ + "newStorageAccountName" : { + "value":"uniqueStorageAccountName" + }, + "adminUsername": { + "value": "" + }, + "adminPassword": { + "value": "" + }, + "dnsNameForPublicIP": { + "value": "myDNSname" + }, + "vmSourceImageName" : { + "value" : "a699494373c04fc0bc8f2bb1389d6106__Windows-Server-2012-Datacenter-201503.01-en.us-127GB.vhd" + }, + "location": { + "value": "West US" + }, + "virtualNetworkName": { + "value": "myVNET" + }, + "vmSize": { + "value": "Standard_A1" + }, + "vmName" : { + "value" : "myVM" + }, + "publicIPAddressName" : { + "value" : "myPublicIP" + }, + "nicName" : { + "value" : "myNic" + }, + "vmExtensionName" : { + "value" : "myExtension" + }, + "vmDiagnosticsStorageAccountResourceGroup":{ + "value" : "diagnosticsResourceGroup" + }, + "vmDiagnosticsStorageAccountName":{ + "value" : "diagnosticsStorageAccount" + } +} diff --git a/101-vm-empty-data-disk/azuredeploy.json b/101-vm-empty-data-disk/azuredeploy.json new file mode 100644 index 0000000..35f5e63 --- /dev/null +++ b/101-vm-empty-data-disk/azuredeploy.json @@ -0,0 +1,287 @@ +{ + "$schema": "http://schema.management.azure.com/schemas/2014-04-01-preview/deploymentTemplate.json", + "contentVersion": "1.0.0.0", + "parameters" : { + "newStorageAccountName": { + "type": "string", + "defaultValue" : "uniqueStorageAccountName", + "metadata": { + "Description": "This is the name of the your storage account" + } + }, + "dnsNameForPublicIP" : { + "type" : "string", + "defaultValue": "uniqueDnsNameForPublicIP", + "metadata": { + "Description": "This is the unique DNS name of the for the public IP for your VM" + } + }, + "adminUserName": { + "type": "string", + "metadata": { + "Description": "This is the the username you wish to assign to your VMs admin account" + } + }, + "adminPassword": { + "type": "securestring", + "metadata": { + "Description": "This is the the password you wish to assign to your VMs admin account" + } + }, + "imagePublisher": { + "type": "string", + "defaultValue": "MicrosoftWindowsServer", + "metadata": { + "Description": "This is the publisher name of the OS image that your VM will host" + } + }, + "imageOffer": { + "type": "string", + "defaultValue": "WindowsServer", + "metadata": { + "Description": "This is the offer name of the OS image that your VM will host" + } + }, + "imageSKU": { + "type": "string", + "defaultValue": "2012-Datacenter", + "metadata": { + "Description": "This is the image SKU of the OS image that your VM will host" + } + }, + "imageVersion": { + "type": "string", + "defaultValue": "3.0.201503", + "metadata": { + "Description": "This is the version of the OS image that your VM will host" + } + }, + "location": { + "type": "String", + "defaultValue" : "West Europe", + "metadata": { + "Description": "This is the name of the region where you want to deploy your VM" + } + }, + "vmSize": { + "type": "string", + "defaultValue": "Standard_A2", + "metadata": { + "Description": "This is the size of your VM" + } + }, + "publicIPAddressName": { + "type": "string", + "defaultValue" : "myPublicIP", + "metadata": { + "Description": "This is the name of the Public IP assigned to your VM" + } + }, + "vmName": { + "type": "string", + "defaultValue" : "myVM", + "metadata": { + "Description": "This is the name of your VM" + } + }, + "virtualNetworkName":{ + "type" : "string", + "defaultValue" : "myVNET", + "metadata": { + "Description": "This is the name of the Virtual Network that your VM is a part of" + } + }, + "nicName":{ + "type" : "string", + "defaultValue":"myNIC", + "metadata": { + "Description": "This is the name of the NIC assigned to your VM" + } + }, + "vmExtensionName":{ + "type" : "string", + "defaultValue":"myExtension", + "metadata": { + "Description": "This is the name of your extension" + } + }, + "vmDiagnosticsStorageAccountResourceGroup":{ + "type" : "string", + "metadata": { + "Description": "This is the resource group name for the storage account that will contain your VMs diagnostic data" + } + }, + "vmDiagnosticsStorageAccountName":{ + "type" : "string", + "metadata": { + "Description": "This is the name of the storage account that will contain your VMs diagnostic data" + } + } + }, + "variables": { + "addressPrefix":"10.0.0.0/16", + "subnet1Name": "Subnet-1", + "subnet2Name": "Subnet-2", + "subnet1Prefix" : "10.0.0.0/24", + "subnet2Prefix" : "10.0.1.0/24", + "vmStorageAccountContainerName": "vhds", + "publicIPAddressType" : "Dynamic", + "storageAccountType": "Standard_LRS", + "vnetID":"[resourceId('Microsoft.Network/virtualNetworks',parameters('virtualNetworkName'))]", + "subnet1Ref" : "[concat(variables('vnetID'),'/subnets/',variables('subnet1Name'))]", + "dataDisk1VhdName" : "[concat('http://',parameters('newStorageAccountName'),'.blob.core.windows.net/',variables('vmStorageAccountContainerName'),'/',parameters('vmName'),'dataDisk1.vhd')]", + "accountid": "[concat('/subscriptions/',subscription().subscriptionId,'/resourceGroups/',parameters('vmDiagnosticsStorageAccountResourceGroup'),'/providers/','Microsoft.Storage/storageAccounts/', parameters('vmDiagnosticsStorageAccountName'))]" + }, + "resources": [ + { + "type": "Microsoft.Storage/storageAccounts", + "name": "[parameters('newStorageAccountName')]", + "apiVersion": "2015-05-01-preview", + "location": "[parameters('location')]", + "properties": { + "accountType": "[variables('storageAccountType')]" + } + }, + { + "apiVersion": "2015-05-01-preview", + "type": "Microsoft.Network/publicIPAddresses", + "name": "[parameters('publicIPAddressName')]", + "location": "[parameters('location')]", + "properties": { + "publicIPAllocationMethod": "[variables('publicIPAddressType')]", + "dnsSettings": { + "domainNameLabel": "[parameters('dnsNameForPublicIP')]" + } + } + }, + { + "apiVersion": "2015-05-01-preview", + "type": "Microsoft.Network/virtualNetworks", + "name": "[parameters('virtualNetworkName')]", + "location": "[parameters('location')]", + "properties": { + "addressSpace": { + "addressPrefixes": [ + "[variables('addressPrefix')]" + ] + }, + "subnets": [ + { + "name": "[variables('subnet1Name')]", + "properties" : { + "addressPrefix": "[variables('subnet1Prefix')]" + } + }, + { + "name": "[variables('subnet2Name')]", + "properties" : { + "addressPrefix": "[variables('subnet2Prefix')]" + } + } + ] + } + }, + { + "apiVersion": "2015-05-01-preview", + "type": "Microsoft.Network/networkInterfaces", + "name": "[parameters('nicName')]", + "location": "[parameters('location')]", + "dependsOn": [ + "[concat('Microsoft.Network/publicIPAddresses/', parameters('publicIPAddressName'))]", + "[concat('Microsoft.Network/virtualNetworks/', parameters('virtualNetworkName'))]" + ], + "properties": { + "ipConfigurations": [ + { + "name": "ipconfig1", + "properties": { + "privateIPAllocationMethod": "Dynamic", + "publicIPAddress": { + "id": "[resourceId('Microsoft.Network/publicIPAddresses',parameters('publicIPAddressName'))]" + }, + "subnet": { + "id": "[variables('subnet1Ref')]" + } + } + } + ] + } + }, + { + "apiVersion": "2015-05-01-preview", + "type": "Microsoft.Compute/virtualMachines", + "name": "[parameters('vmName')]", + "location": "[parameters('location')]", + "dependsOn": [ + "[concat('Microsoft.Storage/storageAccounts/', parameters('newStorageAccountName'))]", + "[concat('Microsoft.Network/networkInterfaces/', parameters('nicName'))]" + ], + "properties": { + "hardwareProfile": { + "vmSize": "[parameters('vmSize')]" + }, + "osProfile": { + "computername": "[parameters('vmName')]", + "adminUsername": "[parameters('adminUsername')]", + "adminPassword": "[parameters('adminPassword')]" + }, + "storageProfile": { + "imageReference": { + "publisher": "[parameters('imagePublisher')]", + "offer": "[parameters('imageOffer')]", + "sku" : "[parameters('imageSKU')]", + "version":"[parameters('imageVersion')]" + }, + "dataDisks" : [ + { + "name" : "datadisk1", + "diskSizeGB" : "100", + "lun" : 0, + "vhd":{ + "Uri" : "[variables('dataDisk1VhdName')]" + } + } + ], + "osDisk" : { + "name": "osdisk1", + "vhd": { + "uri": "[concat('http://',parameters('newStorageAccountName'),'.blob.core.windows.net/',variables('vmStorageAccountContainerName'),'/','osdisk1.vhd')]" + }, + "caching": "ReadWrite", + "createOption": "FromImage" + } + }, + "networkProfile": { + "networkInterfaces" : [ + { + "id": "[resourceId('Microsoft.Network/networkInterfaces',parameters('nicName'))]" + } + ] + } + } + }, + { + "type": "Microsoft.Compute/virtualMachines/extensions", + "name": "[concat(parameters('vmName'),'/', parameters('vmExtensionName'))]", + "apiVersion": "2015-05-01-preview", + "location": "[parameters('location')]", + "dependsOn": [ + "[concat('Microsoft.Compute/virtualMachines/', parameters('vmName'))]" + ], + "properties": { + "publisher": "Microsoft.Azure.Diagnostics", + "type": "IaaSDiagnostics", + "typeHandlerVersion": "1.2", + "settings": { + "xmlCfg":"PFdhZENmZz4NCiAgICAgICAgPERpYWdub3N0aWNNb25pdG9yQ29uZmlndXJhdGlvbiBvdmVyYWxsUXVvdGFJbk1CPSIyNTAwMCI+DQogICAgICAgIDxQZXJmb3JtYW5jZUNvdW50ZXJzIHNjaGVkdWxlZFRyYW5zZmVyUGVyaW9kPSJQVDFNIj4NCiAgICAgICAgICAgIDxQZXJmb3JtYW5jZUNvdW50ZXJDb25maWd1cmF0aW9uIGNvdW50ZXJTcGVjaWZpZXI9IlxQcm9jZXNzb3IoX1RvdGFsKVwlIFByb2Nlc3NvciBUaW1lIiBzYW1wbGVSYXRlPSJQVDFNIiB1bml0PSJwZXJjZW50IiAvPg0KICAgICAgICAgICAgPFBlcmZvcm1hbmNlQ291bnRlckNvbmZpZ3VyYXRpb24gY291bnRlclNwZWNpZmllcj0iXE1lbW9yeVxDb21taXR0ZWQgQnl0ZXMiIHNhbXBsZVJhdGU9IlBUMU0iIHVuaXQ9ImJ5dGVzIi8+DQogICAgICAgICAgICA8L1BlcmZvcm1hbmNlQ291bnRlcnM+DQogICAgICAgICAgICA8RXR3UHJvdmlkZXJzPg0KICAgICAgICAgICAgICAgIDxFdHdFdmVudFNvdXJjZVByb3ZpZGVyQ29uZmlndXJhdGlvbiBwcm92aWRlcj0iU2FtcGxlRXZlbnRTb3VyY2VXcml0ZXIiIHNjaGVkdWxlZFRyYW5zZmVyUGVyaW9kPSJQVDVNIj4NCiAgICAgICAgICAgICAgICAgICAgPEV2ZW50IGlkPSIxIiBldmVudERlc3RpbmF0aW9uPSJFbnVtc1RhYmxlIi8+DQogICAgICAgICAgICAgICAgICAgIDxFdmVudCBpZD0iMiIgZXZlbnREZXN0aW5hdGlvbj0iTWVzc2FnZVRhYmxlIi8+DQogICAgICAgICAgICAgICAgICAgIDxFdmVudCBpZD0iMyIgZXZlbnREZXN0aW5hdGlvbj0iU2V0T3RoZXJUYWJsZSIvPg0KICAgICAgICAgICAgICAgICAgICA8RXZlbnQgaWQ9IjQiIGV2ZW50RGVzdGluYXRpb249IkhpZ2hGcmVxVGFibGUiLz4NCiAgICAgICAgICAgICAgICAgICAgPERlZmF1bHRFdmVudHMgZXZlbnREZXN0aW5hdGlvbj0iRGVmYXVsdFRhYmxlIiAvPg0KICAgICAgICAgICAgICAgIDwvRXR3RXZlbnRTb3VyY2VQcm92aWRlckNvbmZpZ3VyYXRpb24+DQogICAgICAgICAgICA8L0V0d1Byb3ZpZGVycz4NCiAgICAgICAgPC9EaWFnbm9zdGljTW9uaXRvckNvbmZpZ3VyYXRpb24+DQogICAgPC9XYWRDZmc+", + "StorageAccount":"[parameters('vmDiagnosticsStorageAccountName')]" + }, + "protectedSettings": { + "storageAccountName": "[parameters('vmDiagnosticsStorageAccountName')]", + "storageAccountKey": "[listKeys(variables('accountid'),'2015-05-01-preview').key1]", + "storageAccountEndPoint": "https://core.windows.net/" + } + } + } + ] +} diff --git a/101-vm-empty-data-disk/metadata.json b/101-vm-empty-data-disk/metadata.json new file mode 100644 index 0000000..86381c5 --- /dev/null +++ b/101-vm-empty-data-disk/metadata.json @@ -0,0 +1,7 @@ +{ + "itemDisplayName": "Create a VM from a Windows Image with Empty Data Disk", + "description": "This template allows creates a Windows VM with empty data disk", + "summary": "Create a VM from a Windows Image with Empty Data Disk", + "githubUsername": "kenazk", + "dateUpdated": "2015-04-04" +} diff --git a/101-vm-from-user-image/README.md b/101-vm-from-user-image/README.md new file mode 100644 index 0000000..9319306 --- /dev/null +++ b/101-vm-from-user-image/README.md @@ -0,0 +1,29 @@ +# Create a Virtual Machine from a User Image + + + + + +Prerequisite - The Storage Account with the User Image VHD should already exist in the same resource group. + +This template allows you to create a Virtual Machines from a User image. This template also deploys a Virtual Network, Public IP addresses and a Network Interface. + +Below are the parameters that the template expects + +| Name | Description | +|:--- |:---| +| userImageStorageAccountName | Name of the Storage Account where the User Image disk is placed. | +| userImageStorageContainerName | Name of the Container Name in the Storage Account where the User Image disk is placed. | +| userImageVhdName | Name of the User Image VHD file. | +| osType | Specify the type of the OS of the User Image (Windows|Linux) | +| adminUsername | Username for the Virtual Machines | +| adminPassword | Password for the Virtual Machine | +| dnsNameForPublicIP | Unique DNS Name for the Public IP used to access the Virtual Machine. | +| subscriptionId | Subscription ID where the template will be deployed | +| vmSourceImageName | Source Image Name for the VM. Example: b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-12_04_5-LTS-amd64-server-20140927-en-us-30GB | +| location | location where the resources will be deployed | +| virtualNetworkName | Name of Virtual Network | +| vmSize | Size of the Virtual Machine | +| vmName | Name of Virtual Machine | +| publicIPAddressName | Name of Public IP Address Name | +| nicName | Name of Network Interface | diff --git a/101-vm-from-user-image/azuredeploy-parameters.json b/101-vm-from-user-image/azuredeploy-parameters.json new file mode 100644 index 0000000..5930d70 --- /dev/null +++ b/101-vm-from-user-image/azuredeploy-parameters.json @@ -0,0 +1,44 @@ +{ + "adminUsername": { + "value": "cloudguy" + }, + "adminPassword": { + "value": "abc_123!" + }, + "userImageStorageAccountName": { + "value" : "clodfed13" + }, + "userImageStorageContainerName" : { + "value" : "vhds" + }, + "userImageVhdName" : { + "value" : "sample.vhd" + }, + "dnsNameForPublicIP": { + "value": "clodfed13" + }, + "osType" : { + "value" : "linux" + }, + "subscriptionId": { + "value": "87a9cd1c-aa24-446d-b7e0-d73955447c69" + }, + "location": { + "value": "West US" + }, + "virtualNetworkName": { + "value": "myVNET" + }, + "vmSize": { + "value": "Standard_A2" + }, + "vmName" : { + "value" : "myVM" + }, + "publicIPAddressName" : { + "value" : "myPublicIP" + }, + "nicName" : { + "value" : "myNic" + } +} diff --git a/101-vm-from-user-image/azuredeploy.json b/101-vm-from-user-image/azuredeploy.json new file mode 100644 index 0000000..d29b3b3 --- /dev/null +++ b/101-vm-from-user-image/azuredeploy.json @@ -0,0 +1,222 @@ +{ + "$schema": "http://schema.management.azure.com/schemas/2014-04-01-preview/deploymentTemplate.json", + "contentVersion": "1.0.0.0", + "parameters" : { + "userImageStorageAccountName": { + "type": "string", + "defaultValue" : "userImageStorageAccountName", + "metadata": { + "Description": "This is the name of the your storage account" + } + }, + "userImageStorageContainerName" : { + "type" : "string", + "defaultValue" : "userImageStorageContainerName", + "metadata": { + "Description": "This is the name of the container within the your storage account" + } + }, + "userImageVhdName" : { + "type" : "string", + "defaultValue" : "userImageVhdName", + "metadata": { + "Description": "This is the name of the your customized VHD" + } + }, + "dnsNameForPublicIP" : { + "type" : "string", + "defaultValue": "uniqueDnsNameForPublicIP", + "metadata": { + "Description": "This is the unique DNS name of the for the public IP for your VM" + } + }, + "adminUserName": { + "type": "string", + "metadata": { + "Description": "This is the the username you wish to assign to your VMs admin account" + } + }, + "adminPassword": { + "type": "securestring", + "metadata": { + "Description": "This is the the password you wish to assign to your VMs admin account" + } + }, + "osType" : { + "type" : "string", + "allowedValues" : [ + "windows", + "linux" + ], + "metadata": { + "Description": "This is the OS that your VM will be running" + } + }, + "subscriptionId":{ + "type" : "string", + "metadata": { + "Description": "This is your Azure Subscription ID" + } + }, + "location": { + "type": "String", + "defaultValue" : "West Europe", + "metadata": { + "Description": "This is the name of the region where you want to deploy your VM" + } + }, + "vmSize": { + "type": "string", + "defaultValue": "Standard_A2", + "metadata": { + "Description": "This is the size of your VM" + } + }, + "publicIPAddressName": { + "type": "string", + "defaultValue" : "myPublicIP", + "metadata": { + "Description": "This is the name of the Public IP assigned to your VM" + } + }, + "vmName": { + "type": "string", + "defaultValue" : "myVM", + "metadata": { + "Description": "This is the name of your VM" + } + }, + "virtualNetworkName":{ + "type" : "string", + "defaultValue" : "myVNET", + "metadata": { + "Description": "This is the name of the Virtual Network that your VM is a part of" + } + }, + "nicName":{ + "type" : "string", + "defaultValue":"myNIC", + "metadata": { + "Description": "This is the name of the NIC assigned to your VM" + } + } + }, + "variables": { + "addressPrefix":"10.0.0.0/16", + "subnet1Name": "Subnet-1", + "subnet2Name": "Subnet-2", + "subnet1Prefix" : "10.0.0.0/24", + "subnet2Prefix" : "10.0.1.0/24", + "publicIPAddressType" : "Dynamic", + "vnetID":"[resourceId('Microsoft.Network/virtualNetworks',parameters('virtualNetworkName'))]", + "subnet1Ref" : "[concat(variables('vnetID'),'/subnets/',variables('subnet1Name'))]", + "userImageName" : "[concat('http://',parameters('userImageStorageAccountName'),'.blob.core.windows.net/',parameters('userImageStorageContainerName'),'/',parameters('userImageVhdName'))]", + "osDiskVhdName" : "[concat('http://',parameters('userImageStorageAccountName'),'.blob.core.windows.net/',parameters('userImageStorageContainerName'),'/',parameters('vmName'),'osDisk.vhd')]" + }, + "resources": [ + { + "apiVersion": "2015-05-01-preview", + "type": "Microsoft.Network/publicIPAddresses", + "name": "[parameters('publicIPAddressName')]", + "location": "[parameters('location')]", + "properties": { + "publicIPAllocationMethod": "[variables('publicIPAddressType')]", + "dnsSettings": { + "domainNameLabel": "[parameters('dnsNameForPublicIP')]" + } + } + }, + { + "apiVersion": "2015-05-01-preview", + "type": "Microsoft.Network/virtualNetworks", + "name": "[parameters('virtualNetworkName')]", + "location": "[parameters('location')]", + "properties": { + "addressSpace": { + "addressPrefixes": [ + "[variables('addressPrefix')]" + ] + }, + "subnets": [ + { + "name": "[variables('subnet1Name')]", + "properties" : { + "addressPrefix": "[variables('subnet1Prefix')]" + } + }, + { + "name": "[variables('subnet2Name')]", + "properties" : { + "addressPrefix": "[variables('subnet2Prefix')]" + } + } + ] + } + }, + { + "apiVersion": "2015-05-01-preview", + "type": "Microsoft.Network/networkInterfaces", + "name": "[parameters('nicName')]", + "location": "[parameters('location')]", + "dependsOn": [ + "[concat('Microsoft.Network/publicIPAddresses/', parameters('publicIPAddressName'))]", + "[concat('Microsoft.Network/virtualNetworks/', parameters('virtualNetworkName'))]" + ], + "properties": { + "ipConfigurations": [ + { + "name": "ipconfig1", + "properties": { + "privateIPAllocationMethod": "Dynamic", + "publicIPAddress": { + "id": "[resourceId('Microsoft.Network/publicIPAddresses',parameters('publicIPAddressName'))]" + }, + "subnet": { + "id": "[variables('subnet1Ref')]" + } + } + } + ] + } + }, + { + "apiVersion": "2015-05-01-preview", + "type": "Microsoft.Compute/virtualMachines", + "name": "[parameters('vmName')]", + "location": "[parameters('location')]", + "dependsOn": [ + "[concat('Microsoft.Network/networkInterfaces/', parameters('nicName'))]" + ], + "properties": { + "hardwareProfile": { + "vmSize": "[parameters('vmSize')]" + }, + "osProfile": { + "computername": "[parameters('vmName')]", + "adminUsername": "[parameters('adminUsername')]", + "adminPassword": "[parameters('adminPassword')]" + }, + "storageProfile": { + "osDisk" : { + "name" : "[concat(parameters('vmName'),'-osDisk')]", + "osType" : "[parameters('osType')]", + "caching" : "ReadWrite", + "image" : { + "uri" : "[variables('userImageName')]" + }, + "vhd" : { + "uri" : "[variables('osDiskVhdName')]" + } + } + }, + "networkProfile": { + "networkInterfaces" : [ + { + "id": "[resourceId('Microsoft.Network/networkInterfaces',parameters('nicName'))]" + } + ] + } + } + } + ] +} diff --git a/101-vm-from-user-image/metadata.json b/101-vm-from-user-image/metadata.json new file mode 100644 index 0000000..5888edd --- /dev/null +++ b/101-vm-from-user-image/metadata.json @@ -0,0 +1,7 @@ +{ + "itemDisplayName": "Create a Virtual Machine from a User Image", + "description": "This template allows you to create a Virtual Machines from a User image. This template also deploys a Virtual Network, Public IP addresses and a Network Interface.", + "summary": "Create a Virtual Machine from a User Image", + "githubUsername": "mahthi", + "dateUpdated": "2015-04-04" +}