Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* add userdata template * CR feedback * Address build failure * BP fixes * More BP Fixes * Tweak * Remove unused variable * remove storage account * fix subnet id * Fix variables / parameters mismatch * Default location * move parameter * Change region * CR feedback * Remove mid release workaround Co-authored-by: Chris Henk <chhenk@microsoft.com>
- Loading branch information
1 parent
11f8791
commit c3577b4
Showing
4 changed files
with
265 additions
and
0 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
# Deploy a Virtual Machine with UserData | ||
|
||
![Azure Public Test Date](https://azurequickstartsservice.blob.core.windows.net/badges/101-vm-userdata/PublicLastTestDate.svg) | ||
![Azure Public Test Result](https://azurequickstartsservice.blob.core.windows.net/badges/101-vm-userdata/PublicDeployment.svg) | ||
|
||
![Azure US Gov Last Test Date](https://azurequickstartsservice.blob.core.windows.net/badges/101-vm-userdata/FairfaxLastTestDate.svg) | ||
![Azure US Gov Last Test Result](https://azurequickstartsservice.blob.core.windows.net/badges/101-vm-userdata/FairfaxDeployment.svg) | ||
|
||
![Best Practice Check](https://azurequickstartsservice.blob.core.windows.net/badges/101-vm-userdata/BestPracticeResult.svg) | ||
![Cred Scan Check](https://azurequickstartsservice.blob.core.windows.net/badges/101-vm-userdata/CredScanResult.svg) | ||
|
||
[![Deploy To Azure](https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/1-CONTRIBUTION-GUIDE/images/deploytoazure.svg?sanitize=true)](https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Fazure-quickstart-templates%2Fmaster%2F101-vm-userdata%2Fazuredeploy.json) [![Deploy To AzureGov](https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/1-CONTRIBUTION-GUIDE/images/deploytoazuregov.svg?sanitize=true)](https://portal.azure.us/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Fazure-quickstart-templates%2Fmaster%2F101-vm-userdata%2Fazuredeploy.json) [![Visualize](https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/1-CONTRIBUTION-GUIDE/images/visualizebutton.svg?sanitize=true)](http://armviz.io/#/?load=https%3A%2F%2Fraw.githubusercontent.com%2FAzure%2Fazure-quickstart-templates%2Fmaster%2F101-vm-userdata%2Fazuredeploy.json) | ||
|
||
This template allows you to create a Virtual Machine with User Data. This template also deploys a Virtual Network, Public IP addresses, and a Network Interface. |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,224 @@ | ||
{ | ||
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", | ||
"contentVersion": "1.0.0.0", | ||
"parameters": { | ||
"dnsLabelPrefix": { | ||
"type": "string", | ||
"defaultValue": "[uniqueString(resourceGroup().id)]", | ||
"metadata": { | ||
"description": "Unique DNS Name for the public IP address" | ||
} | ||
}, | ||
"adminUsername": { | ||
"type": "string", | ||
"metadata": { | ||
"description": "User name for the Virtual Machine." | ||
} | ||
}, | ||
"userData": { | ||
"type": "string", | ||
"metadata": { | ||
"description": "String passed down to the Virtual Machine." | ||
} | ||
}, | ||
"vmSize": { | ||
"type": "string", | ||
"defaultValue": "Standard_D2_v2", | ||
"metadata": { | ||
"description": "VM size" | ||
} | ||
}, | ||
"ubuntuOSVersion": { | ||
"type": "string", | ||
"defaultValue": "18.04-LTS", | ||
"allowedValues": [ | ||
"12.04.5-LTS", | ||
"14.04.5-LTS", | ||
"16.04.0-LTS", | ||
"18.04-LTS" | ||
], | ||
"metadata": { | ||
"description": "The Ubuntu version for the VM. This will pick a fully patched image of this given Ubuntu version. Allowed values: 12.04.5-LTS, 14.04.2-LTS, 15.10." | ||
} | ||
}, | ||
"location": { | ||
"type": "string", | ||
"defaultValue": "[resourceGroup().location]", | ||
"metadata": { | ||
"description": "Location for all resources." | ||
} | ||
}, | ||
"authenticationType": { | ||
"type": "string", | ||
"defaultValue": "sshPublicKey", | ||
"allowedValues": [ | ||
"sshPublicKey", | ||
"password" | ||
], | ||
"metadata": { | ||
"description": "Type of authentication to use on the Virtual Machine. SSH key is recommended." | ||
} | ||
}, | ||
"adminPasswordOrKey": { | ||
"type": "securestring", | ||
"metadata": { | ||
"description": "SSH Key or password for the Virtual Machine. SSH key is recommended." | ||
} | ||
} | ||
}, | ||
"variables": { | ||
"imagePublisher": "Canonical", | ||
"imageOffer": "UbuntuServer", | ||
"nicName": "networkInterface1", | ||
"vmName": "vm1", | ||
"virtualNetworkName": "virtualNetwork1", | ||
"publicIPAddressName": "publicIp1", | ||
"addressPrefix": "10.0.0.0/16", | ||
"subnet1Name": "Subnet-1", | ||
"subnet1Prefix": "10.0.0.0/24", | ||
"publicIPAddressType": "Dynamic", | ||
"linuxConfiguration": { | ||
"disablePasswordAuthentication": true, | ||
"ssh": { | ||
"publicKeys": [ | ||
{ | ||
"path": "[concat('/home/', parameters('adminUsername'), '/.ssh/authorized_keys')]", | ||
"keyData": "[parameters('adminPasswordOrKey')]" | ||
} | ||
] | ||
} | ||
}, | ||
"networkSecurityGroupName": "default-NSG" | ||
}, | ||
"resources": [ | ||
{ | ||
"apiVersion": "2019-06-01", | ||
"type": "Microsoft.Network/publicIPAddresses", | ||
"name": "[variables('publicIPAddressName')]", | ||
"location": "[parameters('location')]", | ||
"properties": { | ||
"publicIPAllocationMethod": "[variables('publicIPAddressType')]", | ||
"dnsSettings": { | ||
"domainNameLabel": "[parameters('dnsLabelPrefix')]" | ||
} | ||
} | ||
}, | ||
{ | ||
"comments": "Default Network Security Group for template", | ||
"type": "Microsoft.Network/networkSecurityGroups", | ||
"apiVersion": "2019-08-01", | ||
"name": "[variables('networkSecurityGroupName')]", | ||
"location": "[parameters('location')]", | ||
"properties": { | ||
"securityRules": [ | ||
{ | ||
"name": "default-allow-22", | ||
"properties": { | ||
"priority": 1000, | ||
"access": "Allow", | ||
"direction": "Inbound", | ||
"destinationPortRange": "22", | ||
"protocol": "Tcp", | ||
"sourceAddressPrefix": "*", | ||
"sourcePortRange": "*", | ||
"destinationAddressPrefix": "*" | ||
} | ||
} | ||
] | ||
} | ||
}, | ||
{ | ||
"apiVersion": "2019-06-01", | ||
"type": "Microsoft.Network/virtualNetworks", | ||
"name": "[variables('virtualNetworkName')]", | ||
"location": "[parameters('location')]", | ||
"dependsOn": [ | ||
"[resourceId('Microsoft.Network/networkSecurityGroups', variables('networkSecurityGroupName'))]" | ||
], | ||
"properties": { | ||
"addressSpace": { | ||
"addressPrefixes": [ | ||
"[variables('addressPrefix')]" | ||
] | ||
}, | ||
"subnets": [ | ||
{ | ||
"name": "[variables('subnet1Name')]", | ||
"properties": { | ||
"addressPrefix": "[variables('subnet1Prefix')]", | ||
"networkSecurityGroup": { | ||
"id": "[resourceId('Microsoft.Network/networkSecurityGroups', variables('networkSecurityGroupName'))]" | ||
} | ||
} | ||
} | ||
] | ||
} | ||
}, | ||
{ | ||
"apiVersion": "2019-06-01", | ||
"type": "Microsoft.Network/networkInterfaces", | ||
"name": "[variables('nicName')]", | ||
"location": "[parameters('location')]", | ||
"dependsOn": [ | ||
"[variables('publicIPAddressName')]", | ||
"[variables('virtualNetworkName')]" | ||
], | ||
"properties": { | ||
"ipConfigurations": [ | ||
{ | ||
"name": "ipconfig1", | ||
"properties": { | ||
"privateIPAllocationMethod": "Dynamic", | ||
"publicIPAddress": { | ||
"id": "[resourceId('Microsoft.Network/publicIPAddresses',variables('publicIPAddressName'))]" | ||
}, | ||
"subnet": { | ||
"id": "[resourceId('Microsoft.Network/virtualNetworks/subnets/', variables('virtualNetworkName'), variables('subnet1Name'))]" | ||
|
||
} | ||
} | ||
} | ||
] | ||
} | ||
}, | ||
{ | ||
"apiVersion": "2021-03-01", | ||
"type": "Microsoft.Compute/virtualMachines", | ||
"name": "[variables('vmName')]", | ||
"location": "[parameters('location')]", | ||
"dependsOn": [ | ||
"[variables('nicName')]" | ||
], | ||
"properties": { | ||
"hardwareProfile": { | ||
"vmSize": "[parameters('vmSize')]" | ||
}, | ||
"osProfile": { | ||
"computerName": "[variables('vmName')]", | ||
"adminUsername": "[parameters('adminUsername')]", | ||
"adminPassword": "[parameters('adminPasswordOrKey')]", | ||
"linuxConfiguration": "[if(equals(parameters('authenticationType'), 'password'), json('null'), variables('linuxConfiguration'))]" | ||
}, | ||
"userData": "[base64(parameters('userData'))]", | ||
"storageProfile": { | ||
"imageReference": { | ||
"publisher": "[variables('imagePublisher')]", | ||
"offer": "[variables('imageOffer')]", | ||
"sku": "[parameters('ubuntuOSVersion')]", | ||
"version": "latest" | ||
}, | ||
"osDisk": { | ||
"createOption": "FromImage" | ||
} | ||
}, | ||
"networkProfile": { | ||
"networkInterfaces": [ | ||
{ | ||
"id": "[resourceId('Microsoft.Network/networkInterfaces',variables('nicName'))]" | ||
} | ||
] | ||
} | ||
} | ||
} | ||
] | ||
} |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
{ | ||
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentParameters.json#", | ||
"contentVersion": "1.0.0.0", | ||
"parameters": { | ||
"adminUsername": { | ||
"value": "GEN-UNIQUE" | ||
}, | ||
"userData": { | ||
"value": "echo userData" | ||
}, | ||
"dnsLabelPrefix": { | ||
"value": "GEN-UNIQUE" | ||
}, | ||
"adminPasswordOrKey": { | ||
"value": "GEN-SSH-PUB-KEY" | ||
} | ||
} | ||
} |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
{ | ||
"$schema": "https://aka.ms/azure-quickstart-templates-metadata-schema#", | ||
"type": "QuickStart", | ||
"itemDisplayName": "Deploy a Virtual Machine with User Data", | ||
"description": "This template allows you to create a Virtual Machine with User Data passed down to the VM. This template also deploys a Virtual Network, Public IP addresses, and a Network Interface.", | ||
"summary": "Deploy a Virtual Machine with User Data", | ||
"githubUsername": "LittleBoxOfSunshine", | ||
"dateUpdated": "2021-04-13" | ||
} |