Adding 2 templates that use managed disks and updating the updated date (#399)
This commit is contained in:
Родитель
c3acf15783
Коммит
5c01ac5546
|
@ -3,5 +3,5 @@
|
|||
"description": "The Azure Container Service Engine (acs-engine) generates ARM (Azure Resource Manager) templates for Docker enabled clusters on Microsoft Azure with your choice of DC/OS, Kubernetes, Swarm Mode, or Swarm orchestrators. The input to the tool is a cluster definition. The cluster definition is very similar to (in many cases the same as) the ARM template syntax used to deploy a Microsoft Azure Container Service cluster.",
|
||||
"summary": "Azure Container Service Engine optimizes configuration of open source container management solutions that offer portability for both containers and application configuration.",
|
||||
"githubUsername": "azurestack",
|
||||
"dateUpdated": "2017-06-07"
|
||||
"dateUpdated": "2018-11-06"
|
||||
}
|
|
@ -3,5 +3,5 @@
|
|||
"description": "The Azure Container Service Engine (acs-engine) generates ARM (Azure Resource Manager) templates for Docker enabled clusters on Microsoft Azure with your choice of DC/OS, Kubernetes, Swarm Mode, or Swarm orchestrators. The input to the tool is a cluster definition. The cluster definition is very similar to (in many cases the same as) the ARM template syntax used to deploy a Microsoft Azure Container Service cluster.",
|
||||
"summary": "Azure Container Service Engine optimizes configuration of open source container management solutions that offer portability for both containers and application configuration.",
|
||||
"githubUsername": "azurestack",
|
||||
"dateUpdated": "2017-06-07"
|
||||
"dateUpdated": "2018-11-06"
|
||||
}
|
||||
|
|
|
@ -3,5 +3,5 @@
|
|||
"description": "This template deploys a set of VMs (defaut 3) as part of the same availability group. This template template also deploys an availability group, a virtual Network (with DNS), a load balancer with a front end Public IP address, and a Network Security Group.",
|
||||
"summary": "This template takes a minimum amount of parameters and deploys 3 Windows VMs, with the appropriate DNS setting for the Azure Stack POC environment.",
|
||||
"githubUsername": "azurestack",
|
||||
"dateUpdated": "2017-05-17"
|
||||
"dateUpdated": "2018-11-06"
|
||||
}
|
||||
|
|
|
@ -3,5 +3,5 @@
|
|||
"description": "This template deploys a set of VMs (defaut 3) as part of the same availability group. This template template also deploys an availability group, a virtual Network (with DNS), a load balancer with a front end Public IP address, and a Network Security Group.",
|
||||
"summary": "This template takes a minimum amount of parameters and deploys 3 Linux VMs, with the appropriate DNS setting for the Azure Stack POC environment.",
|
||||
"githubUsername": "bottkars",
|
||||
"dateUpdated": "2017-05-17"
|
||||
"dateUpdated": "2018-11-06"
|
||||
}
|
||||
|
|
|
@ -3,5 +3,5 @@
|
|||
"description": "This template shows how to create a DNS zone within Azure Stack DNS and how to add some record sets to it.",
|
||||
"summary": "This template creates a DNS zone within the Azure Stack DNS resource provider. It then creates a RecordSet containing two DNS A records within that zone. This template was originally taken from Azure Github repo and modified for Azure Stack.",
|
||||
"githubUsername": "GarethBradshawMSFT",
|
||||
"dateUpdated": "2017-03-22"
|
||||
"dateUpdated": "2018-11-06"
|
||||
}
|
||||
|
|
|
@ -3,5 +3,5 @@
|
|||
"description": "Creates a Network Security Group with a single variable (no parameters): networkSecurityGroupName",
|
||||
"summary": "This template creates a Network Security Group in the Azure Stack POC environment.",
|
||||
"githubUsername": "azurestack",
|
||||
"dateUpdated": "2016-09-20"
|
||||
"dateUpdated": "2018-11-06"
|
||||
}
|
|
@ -3,5 +3,5 @@
|
|||
"description": "Creates a Storage Account with three paremeters: newStorageAccountName, storageAccountType, location",
|
||||
"summary": "This template creates a Storage Account in the Azure Stack environment.",
|
||||
"githubUsername": "azurestack",
|
||||
"dateUpdated": "2016-09-20"
|
||||
"dateUpdated": "2018-11-06"
|
||||
}
|
|
@ -3,5 +3,5 @@
|
|||
"description": "Creates a Virtual Network with variables (no parameters)",
|
||||
"summary": "This template creates a Virtual Network (with DNS), Public IP address, Network Security Group, and a Network Interface in the Azure Stack POC environment.",
|
||||
"githubUsername": "azurestack",
|
||||
"dateUpdated": "2016-09-20"
|
||||
"dateUpdated": "2018-11-06"
|
||||
}
|
|
@ -3,5 +3,5 @@
|
|||
"description": "Creates a Virtual Network with Network Security Group only with variables (no parameters)",
|
||||
"summary": "This template creates a Virtual Network with Network Security Group (with DNS) only in the Azure Stack POC environment.",
|
||||
"githubUsername": "azurestack",
|
||||
"dateUpdated": "2016-09-20"
|
||||
"dateUpdated": "2018-11-06"
|
||||
}
|
|
@ -3,5 +3,5 @@
|
|||
"description": "Creates a Virtual Network only with variables (no parameters)",
|
||||
"summary": "This template creates a Virtual Network (with DNS) only in the Azure Stack POC environment.",
|
||||
"githubUsername": "azurestack",
|
||||
"dateUpdated": "2016-09-20"
|
||||
"dateUpdated": "2018-11-06"
|
||||
}
|
|
@ -3,5 +3,5 @@
|
|||
"description": "Deploys the Custom Script and BGInfo VM Extensions with one paremeter: vmName and hard coded command.",
|
||||
"summary": "This template deploys both the Custom Script and BGInfo VM Extensions to existing Windows VM in the Azure Stack POC environment. It takes a parameter for vmName, and allows for the execution of a command (as seen in the commandToExecute Extension setting).",
|
||||
"githubUsername": "azurestack",
|
||||
"dateUpdated": "2016-09-20"
|
||||
"dateUpdated": "2018-11-06"
|
||||
}
|
|
@ -3,5 +3,5 @@
|
|||
"description": "Deploys a simple Windows VM with user images. This template also deploys a Virtual Network (with the appropriate DNS setting for the Azure Stack POC environment), Public IP address, Network Security Group, and a Network Interface.",
|
||||
"summary": "Upload existing VHDs to a Storage Account, Deploy a VM with this custom VHDs.",
|
||||
"githubUsername": "azurestack",
|
||||
"dateUpdated": "2016-09-20"
|
||||
"dateUpdated": "2018-11-06"
|
||||
}
|
||||
|
|
|
@ -3,5 +3,5 @@
|
|||
"description": "Deploys the Linux Custom Script extension on an existing Linux VM",
|
||||
"summary": "This template deploys the Linux Custom Script extension to an existing VM in the Azure Stack POC environment.",
|
||||
"githubUsername": "azurestack",
|
||||
"dateUpdated": "2016-09-20"
|
||||
"dateUpdated": "2018-11-06"
|
||||
}
|
|
@ -3,5 +3,5 @@
|
|||
"description": "Deploys the Docker extension to an existing Linux VM",
|
||||
"summary": "This template deploys the Docker extension to an existing VM in the Azure Stack POC environment.",
|
||||
"githubUsername": "azurestack",
|
||||
"dateUpdated": "2016-09-20"
|
||||
"dateUpdated": "2018-11-06"
|
||||
}
|
|
@ -3,5 +3,5 @@
|
|||
"description": "Deploys the VM Access extension to modify an existing Linux VM",
|
||||
"summary": "This template deploys the Linux VMAccess extension to an existing VM in the Azure Stack POC environment, allowing for the modification of users and passwords.",
|
||||
"githubUsername": "azurestack",
|
||||
"dateUpdated": "2016-09-20"
|
||||
"dateUpdated": "2018-11-06"
|
||||
}
|
|
@ -3,5 +3,5 @@
|
|||
"description": "Deploys a simple Linux VM. This template also deploys a Virtual Network, Network Security Group, and a Network Interface.",
|
||||
"summary": "This template has default values for all the parameters and deploys a Ubuntu 16.04-LTS VM. For other supported Linux distros please use the provided variations of azuredeploy.parameters.json.",
|
||||
"githubUsername": "azurestack",
|
||||
"dateUpdated": "2016-09-20"
|
||||
"dateUpdated": "2018-11-06"
|
||||
}
|
||||
|
|
|
@ -3,5 +3,5 @@
|
|||
"description": "This template allows you to deploy a Linux VM and minikube on it.",
|
||||
"summary": "This template deploys a Linux VM and minikube on it. This template was taken from Azure GitHub repo and modified for Azure Stack.",
|
||||
"githubUsername": "azurestack",
|
||||
"dateUpdated": "2017-12-12"
|
||||
"dateUpdated": "2018-11-06"
|
||||
}
|
||||
|
|
|
@ -3,5 +3,5 @@
|
|||
"description": "Deploys the BGInfo VM Extension with one paremeter: vmName",
|
||||
"summary": "This template deploys the BGInfo VM Extension to an existing VM in an Azure Stack environment.",
|
||||
"githubUsername": "azurestack",
|
||||
"dateUpdated": "2016-09-20"
|
||||
"dateUpdated": "2018-11-06"
|
||||
}
|
||||
|
|
|
@ -3,5 +3,5 @@
|
|||
"description": "Deploys the Custom Script VM Extension with one paremeter: vmName and hard coded command.",
|
||||
"summary": "This template deploys the Custom Script VM Extension to an existing Windows VM in an Azure Stack environment. It takes a parameter for vmName, and allows for the execution of a command (as seen in the commandToExecute Extension setting).",
|
||||
"githubUsername": "azurestack",
|
||||
"dateUpdated": "2016-09-20"
|
||||
"dateUpdated": "2018-11-06"
|
||||
}
|
||||
|
|
|
@ -3,5 +3,5 @@
|
|||
"description": "Deploys the Custom Script VM Extension with one paremeter: vmName and hard coded PowerShell command.",
|
||||
"summary": "This template deploys the Custom Script VM Extension to an existing Windows VM in an Azure Stack environment. It takes a parameter for vmName, and allows for the execution of a PowerShell command (as seen in the commandToExecute Extension setting).",
|
||||
"githubUsername": "azurestack",
|
||||
"dateUpdated": "2016-09-20"
|
||||
"dateUpdated": "2018-11-06"
|
||||
}
|
||||
|
|
|
@ -3,5 +3,5 @@
|
|||
"description": "Deploys the Custom Script VM Extension with three paremeters: vmName, scriptFile, and scriptName.",
|
||||
"summary": "This template deploys the Custom Script VM Extension to existing Windows VM in the Azure Stack environment. It takes parameters for vmName, scriptFile, and scriptName.",
|
||||
"githubUsername": "azurestack",
|
||||
"dateUpdated": "2016-09-20"
|
||||
"dateUpdated": "2018-11-06"
|
||||
}
|
||||
|
|
|
@ -3,5 +3,5 @@
|
|||
"description": "Deploys a simple Windows VM.",
|
||||
"summary": "This template deploys a simple Windows VM and also deploys a Virtual Network (with DNS), Network Security Group, and a Network Interface.",
|
||||
"githubUsername": "azurestack",
|
||||
"dateUpdated": "2017-09-28"
|
||||
"dateUpdated": "2018-11-06"
|
||||
}
|
||||
|
|
|
@ -3,5 +3,5 @@
|
|||
"description": "This template allows you to deploy a simple Windows VM by retrieving the password that is stored in a Key Vault. Therefore the password is never put in plain text in the template parameter file",
|
||||
"summary": "This template takes deploys a VM by retrieving the password securely from a Key Vault",
|
||||
"githubUsername": "singhkays",
|
||||
"dateUpdated": "2016-02-09"
|
||||
"dateUpdated": "2018-11-06"
|
||||
}
|
|
@ -3,5 +3,5 @@
|
|||
"description": "Deploys a simple Windows VM with Diagnostic Settings. This template also deploys a Virtual Network (with DNS), Network Security Group, and a Network Interface.",
|
||||
"summary": "",
|
||||
"githubUsername": "azurestack",
|
||||
"dateUpdated": "2016-09-20"
|
||||
"dateUpdated": "2018-11-06"
|
||||
}
|
||||
|
|
|
@ -3,5 +3,5 @@
|
|||
"description": "Deploys a simple Windows VM.",
|
||||
"summary": "This template deploys a simple Windows VM and also deploys a Virtual Network (with DNS), Network Security Group, and a Network Interface.",
|
||||
"githubUsername": "azurestack",
|
||||
"dateUpdated": "2016-09-20"
|
||||
"dateUpdated": "2018-11-06"
|
||||
}
|
||||
|
|
|
@ -3,5 +3,5 @@
|
|||
"description": "This template allows you to deploy multiple Windows VMs.",
|
||||
"summary": "Deploy multiple Windows VMs based on the VM count, OS version, and VM size provided by parameters.",
|
||||
"githubUsername": "martab-msft",
|
||||
"dateUpdated": "2017-06-28"
|
||||
"dateUpdated": "2018-11-06"
|
||||
}
|
||||
|
|
|
@ -3,5 +3,5 @@
|
|||
"description": "This template allows you to deploy multiple Windows and Linux VMs.",
|
||||
"summary": "Deploy multiple Windows and Linux VMs based on the VM count, OS version, and VM size provided by parameters. Notice that neither the Windows VM count nor the Linux VM count can be zero.",
|
||||
"githubUsername": "martab-msft",
|
||||
"dateUpdated": "2017-06-28"
|
||||
"dateUpdated": "2018-11-06"
|
||||
}
|
||||
|
|
|
@ -3,5 +3,5 @@
|
|||
"description": "This template allows you to deploy a VM Scale Set of Linux VMs. These VMs are behind a load balancer with NAT rules for rdp connections.",
|
||||
"summary": "This template deploys a Linux VM Scale Set with custom script extension behind a load balancer with NAT rules for rdp connections. This template was taken from Azure GitHub repo and modified for Azure Stack.",
|
||||
"githubUsername": "azurestack",
|
||||
"dateUpdated": "2017-03-27"
|
||||
"dateUpdated": "2018-11-06"
|
||||
}
|
||||
|
|
|
@ -3,5 +3,5 @@
|
|||
"description": "This template allows you to deploy a VM Scale Set of Windows VMs using the lastest patched version of various Windows Versions. These VMs are behind a load balancer with NAT rules for rdp connections.",
|
||||
"summary": "This template deploys a Windows VM Scale Set with custom script extension behind a load balancer with NAT rules for rdp connections. This template was taken from Azure GitHub repo and modified for Azure Stack.",
|
||||
"githubUsername": "azurestack",
|
||||
"dateUpdated": "2017-03-27"
|
||||
"dateUpdated": "2018-11-06"
|
||||
}
|
||||
|
|
|
@ -0,0 +1,58 @@
|
|||
# [IaaS Linux VM Comprehensive Resources]
|
||||
|
||||
This template deploys a Linux VM and also uses Customscript and OSPatchingforLinux Extensions. The VM is set with 2 managed disks; the OS disk and a data disk of 1 GB.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
Follow the below links to download/create an Ubuntu 14.04.3-LTS Image and upload the same to Azure Stack's Platform Image Repository(PIR)
|
||||
1. https://azure.microsoft.com/en-us/documentation/articles/azure-stack-linux/
|
||||
2. https://azure.microsoft.com/en-us/documentation/articles/azure-stack-add-image-pir/
|
||||
Note: please use the default values for linuxPublisher,linuxOffer,linuxSku,linuxVersion found in azuredeploy.json while creating the manifest.json in PIR
|
||||
|
||||
## Deployment steps
|
||||
1. Deploy to azure stack portal using custom deployment.
|
||||
2. Deploy through Visual Studio using azuredeploy.json and azuredeploy.parameters.json.
|
||||
2. Deploy the solution from PowerShell with the following PowerShell script
|
||||
|
||||
``` PowerShell
|
||||
## Configure the environment with the Add-AzureRmEnvironment cmdlt
|
||||
$endptOut = Invoke-RestMethod "$("https://api.$env:USERDNSDOMAIN".ToLowerInvariant())/metadata/endpoints?api-version=1.0"
|
||||
$envName = "AzureStackCloud"
|
||||
Add-AzureRmEnvironment -Name ($envName) `
|
||||
-ActiveDirectoryEndpoint ($ActiveDirectoryEndpoint = $($endptOut.authentication.loginEndpoint) + $($endptOut.authentication.audiences[0]).Split("/")[-1] + "/") `
|
||||
-ActiveDirectoryServiceEndpointResourceId ($ActiveDirectoryServiceEndpointResourceId = $($endptOut.authentication.audiences[0])) `
|
||||
-ResourceManagerEndpoint ($ResourceManagerEndpoint = $("https://api.$env:USERDNSDOMAIN".ToLowerInvariant())) `
|
||||
-GalleryEndpoint ($GalleryEndpoint = $endptOut.galleryEndpoint) `
|
||||
-GraphEndpoint ($GraphEndpoint = $endptOut.graphEndpoint) `
|
||||
-StorageEndpointSuffix ($StorageEndpointSuffix="$($env:USERDNSDOMAIN)".ToLowerInvariant()) `
|
||||
-AzureKeyVaultDnsSuffix ($AzureKeyVaultDnsSuffix="vault.$($env:USERDNSDOMAIN)".ToLowerInvariant())
|
||||
## Authenticate a user to the environment
|
||||
$AADUserName = "Enter_AADUserName"
|
||||
$AADUserPassword="Enter_AADUserPassword"
|
||||
$aadCredential = New-Object System.Management.Automation.PSCredential($AADUserName, (ConvertTo-SecureString -String $AADUserPassword -AsPlainText -Force))
|
||||
$privateEnv = Get-AzureRmEnvironment $envName -Credential $aadCredential
|
||||
$privateAzure = Add-AzureRmAccount -Environment $privateEnv -Credential $aadCredential -Verbose
|
||||
Select-AzureRmProfile -Profile $privateAzure
|
||||
|
||||
## Select an existing subscription where the deployment will take place
|
||||
Get-AzureRmSubscription -SubscriptionName "SUBSCRIPTION_NAME" | Select-AzureRmSubscription
|
||||
|
||||
# Set Deployment Variables
|
||||
$myNum = "001" #Modify this per deployment
|
||||
$RGName = "myRG$myNum"
|
||||
$myLocation = "local"
|
||||
|
||||
$templateFile= "azuredeploy.json"
|
||||
$templateParameterFile= "azuredeploy.parameters.json"
|
||||
|
||||
# Create Resource Group for Template Deployment
|
||||
New-AzureRmResourceGroup -Name $RGName -Location $myLocation
|
||||
|
||||
# Deploy Template
|
||||
New-AzureRmResourceGroupDeployment `
|
||||
-ResourceGroupName $RGName `
|
||||
-TemplateFile $templateFile `
|
||||
-TemplateParameterFile $templateParameterFile
|
||||
```
|
||||
|
||||
|
|
@ -0,0 +1,279 @@
|
|||
{
|
||||
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
|
||||
"contentVersion": "1.0.0.0",
|
||||
"apiProfile": "2018-03-01-hybrid",
|
||||
"parameters": {
|
||||
"adminUsername": {
|
||||
"type": "string",
|
||||
"metadata": {
|
||||
"description": "Username for the Virtual Machine."
|
||||
},
|
||||
"defaultValue": "localadmin"
|
||||
},
|
||||
"adminPassword": {
|
||||
"type": "securestring",
|
||||
"defaultValue": "[concat('Subscription#',substring(resourcegroup().id,15,36))]",
|
||||
"metadata": {
|
||||
"description": "Password for the Virtual Machine.Default value is 'Subscription#<subscription id>'"
|
||||
}
|
||||
},
|
||||
"imagePublisher": {
|
||||
"type": "string",
|
||||
"defaultValue": "Canonical",
|
||||
"metadata": {
|
||||
"description": "Maps to the publisher in the Azure Stack Platform Image Repository manifest file Eg: Canonical, Suse, OpenLogic "
|
||||
}
|
||||
},
|
||||
"imageOffer": {
|
||||
"type": "string",
|
||||
"defaultValue": "UbuntuServer",
|
||||
"metadata": {
|
||||
"description": "Maps to the Offer in the Azure Stack Platform Image Repository manifest file Eg: UbuntuServer, SlesServer, CentOS "
|
||||
}
|
||||
},
|
||||
"imageSku": {
|
||||
"type": "string",
|
||||
"defaultValue": "16.04-LTS",
|
||||
"metadata": {
|
||||
"description": "Maps to the sku in the Azure Stack Platform Image Repository manifest file Eg: 16.04-LTS, 14.04.5-LTS."
|
||||
}
|
||||
},
|
||||
"dataDiskSizeGB": {
|
||||
"defaultValue": 1,
|
||||
"type": "Int",
|
||||
"metadata": {
|
||||
"description": "Size of the data disk (GB) to be attached to the VMs."
|
||||
}
|
||||
},
|
||||
"vmSize": {
|
||||
"type": "string",
|
||||
"defaultValue": "Standard_A1",
|
||||
"metadata": {
|
||||
"description": "The size of the Virtual Machine."
|
||||
}
|
||||
},
|
||||
"_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/azurestack-quickstart-templates/master/201-vm-linux-comprehensive-with-managed-disks/"
|
||||
}
|
||||
},
|
||||
"variables": {
|
||||
"dnsNameForPublicIP": "[concat('dns', resourceGroup().name)]",
|
||||
"location": "[resourceGroup().location]",
|
||||
"OSDiskName": "osdisk",
|
||||
"nicName": "myVnic",
|
||||
"addressPrefix": "10.0.0.0/24",
|
||||
"subnetName": "mySubnet",
|
||||
"subnetPrefix": "10.0.0.0/24",
|
||||
"storageAccountName": "[concat('sa', resourceGroup().name)]",
|
||||
"storageAccountType": "Standard_LRS",
|
||||
"publicIPAddressName": "myPublicIP",
|
||||
"publicIPAddressType": "Dynamic",
|
||||
"vmStorageAccountContainerName": "vhds",
|
||||
"vmName": "[concat('vm', resourceGroup().name)]",
|
||||
"virtualNetworkName": "myVnet",
|
||||
"vnetID": "[resourceId('Microsoft.Network/virtualNetworks',variables('virtualNetworkName'))]",
|
||||
"subnetRef": "[concat(variables('vnetID'),'/subnets/',variables('subnetName'))]",
|
||||
"networkSecurityGroupName": "[tolower(concat('nsg',uniquestring(resourceGroup().id)))]",
|
||||
"scriptName": "script"
|
||||
},
|
||||
"resources": [
|
||||
{
|
||||
"type": "Microsoft.Storage/storageAccounts",
|
||||
"name": "[toLower(variables('storageAccountName'))]",
|
||||
"location": "[variables('location')]",
|
||||
"properties": {
|
||||
"accountType": "[variables('storageAccountType')]"
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "Microsoft.Network/networkSecurityGroups",
|
||||
"name": "[variables('networkSecurityGroupName')]",
|
||||
"location": "[resourceGroup().location]",
|
||||
"properties": {
|
||||
"securityRules": [
|
||||
{
|
||||
"name": "ssh",
|
||||
"properties": {
|
||||
"description": "Allow RDP",
|
||||
"protocol": "Tcp",
|
||||
"sourcePortRange": "*",
|
||||
"destinationPortRange": "22",
|
||||
"sourceAddressPrefix": "*",
|
||||
"destinationAddressPrefix": "*",
|
||||
"access": "Allow",
|
||||
"priority": 200,
|
||||
"direction": "Inbound"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "Microsoft.Network/publicIPAddresses",
|
||||
"name": "[variables('publicIPAddressName')]",
|
||||
"location": "[variables('location')]",
|
||||
"properties": {
|
||||
"publicIPAllocationMethod": "[variables('publicIPAddressType')]",
|
||||
"dnsSettings": {
|
||||
"domainNameLabel": "[variables('dnsNameForPublicIP')]"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "Microsoft.Network/virtualNetworks",
|
||||
"name": "[variables('virtualNetworkName')]",
|
||||
"location": "[variables('location')]",
|
||||
"properties": {
|
||||
"addressSpace": {
|
||||
"addressPrefixes": [
|
||||
"[variables('addressPrefix')]"
|
||||
]
|
||||
},
|
||||
"subnets": [
|
||||
{
|
||||
"name": "[variables('subnetName')]",
|
||||
"properties": {
|
||||
"addressPrefix": "[variables('subnetPrefix')]"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "Microsoft.Network/networkInterfaces",
|
||||
"name": "[variables('nicName')]",
|
||||
"location": "[variables('location')]",
|
||||
"dependsOn": [
|
||||
"[concat('Microsoft.Network/publicIPAddresses/', variables('publicIPAddressName'))]",
|
||||
"[concat('Microsoft.Network/virtualNetworks/', variables('virtualNetworkName'))]",
|
||||
"[variables('networkSecurityGroupName')]"
|
||||
],
|
||||
"properties": {
|
||||
"networkSecurityGroup": {
|
||||
"id": "[resourceId('Microsoft.Network/networkSecurityGroups', variables('networkSecurityGroupName'))]"
|
||||
},
|
||||
"ipConfigurations": [
|
||||
{
|
||||
"name": "ipconfig1",
|
||||
"properties": {
|
||||
"privateIPAllocationMethod": "Dynamic",
|
||||
"publicIPAddress": {
|
||||
"id": "[resourceId('Microsoft.Network/publicIPAddresses',variables('publicIPAddressName'))]"
|
||||
},
|
||||
"subnet": {
|
||||
"id": "[variables('subnetRef')]"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "Microsoft.Compute/virtualMachines",
|
||||
"name": "[variables('vmName')]",
|
||||
"location": "[variables('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": "[parameters('imagePublisher')]",
|
||||
"offer": "[parameters('imageOffer')]",
|
||||
"sku": "[parameters('imageSku')]",
|
||||
"version": "latest"
|
||||
},
|
||||
"osDisk": {
|
||||
"name": "osdisk",
|
||||
"caching": "ReadWrite",
|
||||
"createOption": "FromImage"
|
||||
},
|
||||
"dataDisks": [
|
||||
{
|
||||
"diskSizeGB": "[parameters('dataDiskSizeGB')]",
|
||||
"lun": 1,
|
||||
"createOption": "Empty"
|
||||
}
|
||||
]
|
||||
},
|
||||
"networkProfile": {
|
||||
"networkInterfaces": [
|
||||
{
|
||||
"id": "[resourceId('Microsoft.Network/networkInterfaces',variables('nicName'))]"
|
||||
}
|
||||
]
|
||||
},
|
||||
"diagnosticsProfile": {
|
||||
"bootDiagnostics": {
|
||||
"enabled": "true",
|
||||
"storageUri": "[reference(concat('Microsoft.Storage/storageAccounts/', variables('storageAccountName')), providers('Microsoft.Storage', 'storageAccounts').apiVersions[0]).primaryEndpoints.blob]"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "Microsoft.Compute/virtualMachines/extensions",
|
||||
"name": "[concat(variables('vmName'),'/LinuxCustomScriptExtension')]",
|
||||
"location": "[resourceGroup().location]",
|
||||
"dependsOn": [
|
||||
"[concat('Microsoft.Compute/virtualMachines/', variables('vmName'))]"
|
||||
],
|
||||
"properties": {
|
||||
"publisher": "Microsoft.Azure.Extensions",
|
||||
"type": "CustomScript",
|
||||
"typeHandlerVersion": "2.0",
|
||||
"autoUpgradeMinorVersion": "true",
|
||||
"settings": {
|
||||
"fileUris": ["[concat(parameters('_artifactsLocation'), variables('scriptName'), '.sh')]"],
|
||||
"commandToExecute": "[concat('sh ', variables('scriptName'), '.sh')]"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "Microsoft.Compute/virtualMachines/extensions",
|
||||
"name": "[concat(variables('vmName'),'/installospatching')]",
|
||||
"location": "[resourceGroup().location]",
|
||||
"dependsOn": [
|
||||
"[concat('Microsoft.Compute/virtualMachines/', variables('vmName'),'/extensions/LinuxCustomScriptExtension')]"
|
||||
],
|
||||
"properties": {
|
||||
"publisher": "Microsoft.OSTCExtensions",
|
||||
"type": "OSPatchingForLinux",
|
||||
"typeHandlerVersion": "2.0",
|
||||
"autoUpgradeMinorVersion": true,
|
||||
"settings": {
|
||||
"disabled": false,
|
||||
"stop": false,
|
||||
"rebootAfterPatch": "Auto",
|
||||
"category": "ImportantAndRecommended",
|
||||
"installDuration": "01:00",
|
||||
"oneoff": true,
|
||||
"intervalOfWeeks": "1",
|
||||
"dayOfWeek": "Sunday",
|
||||
"startTime": "03:00",
|
||||
"vmStatusTest": {
|
||||
"local": false,
|
||||
"idleTestScript": "",
|
||||
"healthyTestScript": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
|
||||
"outputs": {
|
||||
}
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
{
|
||||
"$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
|
||||
"contentVersion": "1.0.0.0",
|
||||
"parameters": {
|
||||
"imagePublisher": {
|
||||
"value": "Canonical"
|
||||
},
|
||||
|
||||
"imageOffer": {
|
||||
"value": "UbuntuServer"
|
||||
},
|
||||
|
||||
"imageSku": {
|
||||
"value": "16.04-LTS"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"itemDisplayName": "Deploy a Linux Ubuntu VM and VM extensions to Azure Stack",
|
||||
"description": "This template deploys a Linux VM and also uses Customscript and OSPatchingforLinux Extensions. The VM is set with 2 managed disks; the OS disk and a data disk of 1 GB.",
|
||||
"summary": "This template deploys a Linux VM and also uses Customscript and OSPatchingforLinux Extensions.",
|
||||
"githubUsername": "azurestack",
|
||||
"dateUpdated": "2018-11-06"
|
||||
}
|
|
@ -0,0 +1,34 @@
|
|||
set -e
|
||||
|
||||
echo "Starting test configuration for VM comprehensive."
|
||||
date
|
||||
|
||||
echo "Running as:"
|
||||
whoami
|
||||
|
||||
sleep 20
|
||||
|
||||
echo "Update the system."
|
||||
sudo apt-get update -y
|
||||
|
||||
# Prerequiste on Ubuntu 16.04 for AzureCLI
|
||||
echo "Update prerequiste for AzureCLI."
|
||||
sudo apt-get install -y libssl-dev libffi-dev python-dev build-essential -y
|
||||
|
||||
echo "Install Python 3.5"
|
||||
sudo apt-get install python3.5 -y
|
||||
|
||||
echo "Install Python PIP."
|
||||
sudo apt-get install python-pip -y
|
||||
|
||||
echo "Upgrading Python PIP."
|
||||
pip install --upgrade pip
|
||||
|
||||
echo "Install AzureCLI."
|
||||
sudo pip install --pre azure-cli --extra-index-url https://azurecliprod.blob.core.windows.net/bundled/azure-cli_bundle_0.2.10-1.tar.gz
|
||||
|
||||
# Run simple command to test availablity AzureCLI
|
||||
echo "Running: az --version"
|
||||
az --version
|
||||
|
||||
echo "Completed test configuration for VM comprehensive."
|
|
@ -3,5 +3,5 @@
|
|||
"description": "Deploys a Linux Ubuntu VM and VM extensions",
|
||||
"summary": "This template has default values for all the parameters and deploys a Linux Ubuntu VM and its VM extensions (CustomScript, VMAccess, Docker, OSPatching)",
|
||||
"githubUsername": "azurestack",
|
||||
"dateUpdated": "2016-09-20"
|
||||
"dateUpdated": "2018-11-06"
|
||||
}
|
||||
|
|
|
@ -3,6 +3,6 @@
|
|||
"description": "Deploys a Linux Ubuntu VM and OSpatching extension",
|
||||
"summary": "This template has default values for all the parameters and deploys a Linux Ubuntu VM and OSPatching extension",
|
||||
"githubUsername": "azurestack",
|
||||
"dateUpdated": "2016-09-20"
|
||||
"dateUpdated": "2018-11-06"
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,66 @@
|
|||
# [IaaS Windows VM Comprehensive Resources]
|
||||
|
||||
This template deploys a Windows VM and also uses customscript, BGInfo and DSC extensions. The VM is set with 2 managed disks; the OS disk and a data disk of 1 GB.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
[Decscription of the prerequistes for the deployment]
|
||||
|
||||
## Deployment steps
|
||||
You can either click the "deploy to Azure" button at the beginning of this document or deploy the solution from PowerShell with the following PowerShell script.
|
||||
|
||||
``` PowerShell
|
||||
## Specify your AzureAD Tenant in a variable.
|
||||
# If you know the prefix of your <prefix>.onmicrosoft.com AzureAD account use option 1)
|
||||
# If you do not know the prefix of your <prefix>.onmicrosoft.com AzureAD account use option 2)
|
||||
|
||||
# Option 1) If you know the prefix of your <prefix>.onmicrosoft.com AzureAD namespace.
|
||||
# You need to set that in the $AadTenantId varibale (e.g. contoso.onmicrosoft.com).
|
||||
$AadTenantId = "contoso"
|
||||
|
||||
# Option 2) If you don't know the prefix of your AzureAD namespace, run the following cmdlets.
|
||||
# Validate with the Azure AD credentials you also use to sign in as a tenant to Microsoft Azure Stack Development Kit.
|
||||
$AadTenant = Login-AzureRmAccount
|
||||
$AadTenantId = $AadTenant.Context.Tenant.TenantId
|
||||
|
||||
## Configure the environment with the Add-AzureRmEnvironment cmdlt
|
||||
Add-AzureRmEnvironment -Name 'Azure Stack' `
|
||||
-ActiveDirectoryEndpoint ("https://login.windows.net/$AadTenantId/") `
|
||||
-ActiveDirectoryServiceEndpointResourceId "https://azurestack.local-api/"`
|
||||
-ResourceManagerEndpoint ("https://api.azurestack.local/") `
|
||||
-GalleryEndpoint ("https://gallery.azurestack.local/") `
|
||||
-GraphEndpoint "https://graph.windows.net/"
|
||||
|
||||
## Authenticate a user to the environment (you will be prompted during authentication)
|
||||
$privateEnv = Get-AzureRmEnvironment 'Azure Stack'
|
||||
$privateAzure = Add-AzureRmAccount -Environment $privateEnv -Verbose
|
||||
Select-AzureRmProfile -Profile $privateAzure
|
||||
|
||||
## Select an existing subscription where the deployment will take place
|
||||
Get-AzureRmSubscription -SubscriptionName "SUBSCRIPTION_NAME" | Select-AzureRmSubscription
|
||||
|
||||
# Set Deployment Variables
|
||||
$myNum = "001" #Modify this per deployment
|
||||
$RGName = "myRG$myNum"
|
||||
$myLocation = "local"
|
||||
$myBlobStorageEndpoint = "blob.azurestack.local"
|
||||
|
||||
# Create Resource Group for Template Deployment
|
||||
New-AzureRmResourceGroup -Name $RGName -Location $myLocation
|
||||
|
||||
# Deploy Template
|
||||
New-AzureRmResourceGroupDeployment `
|
||||
-Name "myDeployment$myNum" `
|
||||
-ResourceGroupName $RGName `
|
||||
-TemplateFile "c:\templates\azuredeploy-101-simple-windows-vm-withDNS.json" `
|
||||
-blobStorageEndpoint $myBlobStorageEndpoint `
|
||||
-newStorageAccountName "mystorage$myNum" `
|
||||
-dnsNameForPublicIP "mydns$myNum" `
|
||||
-adminUsername "admin" `
|
||||
-adminPassword ("User@123" | ConvertTo-SecureString -AsPlainText -Force) `
|
||||
-vmName "myVM$myNum" `
|
||||
-windowsOSVersion "2012-R2-Datacenter"
|
||||
```
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
param
|
||||
(
|
||||
[Parameter(Mandatory=$true)]
|
||||
[String] $WindowsFeatureName
|
||||
)
|
||||
|
||||
|
||||
if(-not (Get-WindowsFeature -Name $WindowsFeatureName).Installed)
|
||||
{
|
||||
throw "the windows feature $WindowsFeatureName is not isntalled"
|
||||
}
|
|
@ -0,0 +1,338 @@
|
|||
{
|
||||
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
|
||||
"contentVersion": "1.0.0.0",
|
||||
"apiProfile": "2018-03-01-hybrid",
|
||||
"parameters": {
|
||||
"adminUsername": {
|
||||
"type": "string",
|
||||
"metadata": {
|
||||
"description": "The name of the Administrator of the new VMs"
|
||||
},
|
||||
"defaultValue": "vmadmin"
|
||||
},
|
||||
"adminPassword": {
|
||||
"type": "securestring",
|
||||
"metadata": {
|
||||
"description": "The password for the Administrator account of the new VMs. Default value is subscription id"
|
||||
},
|
||||
"defaultValue": "[concat('Subscription#',subscription().subscriptionId)]"
|
||||
}
|
||||
},
|
||||
"variables": {
|
||||
"storageAccountType": "Standard_LRS",
|
||||
"vmName": "[tolower(concat('vm', resourceGroup().name))]",
|
||||
"VMSize": "Standard_A3",
|
||||
"dnsPrefix": "[tolower(concat('vmdns', resourceGroup().name))]",
|
||||
"vmNetworkSubnet": "10.0.0.0/24",
|
||||
"virtualNetworkAddressRange": "10.0.0.0/16",
|
||||
"windowsImagePublisher": "MicrosoftWindowsServer",
|
||||
"windowsImageOffer": "WindowsServer",
|
||||
"windowsImageSKU": "2012-R2-Datacenter",
|
||||
"windowsImageVersion": "latest",
|
||||
"dataDiskSize": 2,
|
||||
"assetLocation": "https://raw.githubusercontent.com/Azure/AzureStack-QuickStart-Templates/master/201-vm-windows-comprehensive-with-managed-disks",
|
||||
"staticSubnetName": "vmstaticsubnet",
|
||||
"virtualNetworkName": "[tolower(concat('vmvnet',resourceGroup().name))]",
|
||||
"vnetID": "[resourceId('Microsoft.Network/virtualNetworks', variables('virtualNetworkName'))]",
|
||||
"staticSubnetRef": "[concat(variables('vnetID'),'/subnets/',variables('staticSubnetName'))]",
|
||||
"storageName": "[concat('sa', uniquestring(resourceGroup().id))]",
|
||||
"publicLBName": "[tolower(concat('vmplb', resourceGroup().name))]",
|
||||
"publicIPAddressName": "[tolower(concat('vmpip',resourceGroup().name))]",
|
||||
"lbFE": "[tolower(concat('vmlbfe',resourceGroup().name))]",
|
||||
"rpdNAT": "[tolower(concat('vmrdpnat',resourceGroup().name))]",
|
||||
"publiclbID": "[resourceId('Microsoft.Network/loadBalancers',variables('publicLBName'))]",
|
||||
"publiclbFEConfigID": "[concat(variables('publiclbID'),'/frontendIPConfigurations/',variables('lbFE'))]",
|
||||
"rdpPort": 3389,
|
||||
"rDPNATRuleID": "[concat(variables('publiclbID'),'/inboundNatRules/',variables('rpdNAT'))]",
|
||||
"nsgName": "[tolower(concat('vmnsg',resourceGroup().name))]",
|
||||
"nsgID": "[resourceId('Microsoft.Network/networkSecurityGroups',variables('nsgName'))]",
|
||||
"NICPrefix": "[tolower(concat('vmnic', resourceGroup().name))]",
|
||||
"vmContainerName": "vhds",
|
||||
"WindowsFeatureName": "Web-Server",
|
||||
"ModulesURL": "[concat(variables('assetLocation'),'/windowsFeature.zip')]",
|
||||
"ConfigurationFunction": "windowsFeature.ps1\\EnalbeWindowsFeature",
|
||||
"scriptFileName": "ValidateWindowsFeature.ps1",
|
||||
"scriptFile": "[concat(variables('assetLocation'),'/',variables('scriptFileName'))]"
|
||||
},
|
||||
"resources": [
|
||||
{
|
||||
"type": "Microsoft.Network/networkSecurityGroups",
|
||||
"name": "[variables('nsgName')]",
|
||||
"location": "[resourceGroup().location]",
|
||||
"properties": {
|
||||
"securityRules": [
|
||||
{
|
||||
"name": "rule1",
|
||||
"properties": {
|
||||
"protocol": "*",
|
||||
"sourcePortRange": "*",
|
||||
"destinationPortRange": "*",
|
||||
"sourceAddressPrefix": "*",
|
||||
"destinationAddressPrefix": "*",
|
||||
"access": "Allow",
|
||||
"priority": 101,
|
||||
"direction": "Inbound"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"type": "Microsoft.Network/virtualNetworks",
|
||||
"name": "[variables('virtualNetworkName')]",
|
||||
"location": "[resourceGroup().location]",
|
||||
"properties": {
|
||||
"addressSpace": {
|
||||
"addressPrefixes": [
|
||||
"[variables('virtualNetworkAddressRange')]"
|
||||
]
|
||||
},
|
||||
"subnets": [
|
||||
{
|
||||
"name": "[variables('staticSubnetName')]",
|
||||
"properties": {
|
||||
"addressPrefix": "[variables('vmNetworkSubnet')]",
|
||||
"networkSecurityGroup": {
|
||||
"id": "[variables('nsgID')]"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"dependsOn": [
|
||||
"[variables('nsgID')]"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "Microsoft.Network/publicIPAddresses",
|
||||
"name": "[variables('publicIPAddressName')]",
|
||||
"location": "[resourceGroup().location]",
|
||||
"properties": {
|
||||
"publicIPAllocationMethod": "Dynamic",
|
||||
"dnsSettings": {
|
||||
"domainNameLabel": "[variables('dnsPrefix')]"
|
||||
}
|
||||
},
|
||||
"dependsOn": [
|
||||
"[variables('vnetID')]"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "Microsoft.Network/loadBalancers",
|
||||
"name": "[variables('publiclbName')]",
|
||||
"location": "[resourceGroup().location]",
|
||||
"properties": {
|
||||
"frontendIPConfigurations": [
|
||||
{
|
||||
"name": "[variables('lbFE')]",
|
||||
"properties": {
|
||||
"publicIPAddress": {
|
||||
"id": "[resourceId('Microsoft.Network/publicIPAddresses',variables('publicIPAddressName'))]"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"inboundNatRules": [
|
||||
{
|
||||
"name": "[variables('rpdNAT')]",
|
||||
"properties": {
|
||||
"frontendIPConfiguration": {
|
||||
"id": "[variables('publiclbFEConfigID')]"
|
||||
},
|
||||
"protocol": "tcp",
|
||||
"frontendPort": "[variables('rdpPort')]",
|
||||
"backendPort": 3389,
|
||||
"enableFloatingIP": false
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"dependsOn": [
|
||||
"[variables('publicIPAddressName')]"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "Microsoft.Storage/storageAccounts",
|
||||
"name": "[variables('storageName')]",
|
||||
"location": "[resourceGroup().location]",
|
||||
"properties": {
|
||||
"accountType": "[variables('storageAccountType')]"
|
||||
},
|
||||
"dependsOn": [
|
||||
"[variables('publiclbName')]"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "Microsoft.Network/networkInterfaces",
|
||||
"name": "[concat(variables('NICPrefix'), '0')]",
|
||||
"location": "[resourceGroup().location]",
|
||||
"properties": {
|
||||
"ipConfigurations": [
|
||||
{
|
||||
"name": "ipconfig1",
|
||||
"properties": {
|
||||
"privateIPAllocationMethod": "Dynamic",
|
||||
"subnet": {
|
||||
"id": "[variables('staticSubnetRef')]"
|
||||
},
|
||||
"loadBalancerInboundNatRules": [
|
||||
{
|
||||
"id": "[variables('rDPNATRuleID')]"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"dependsOn": [
|
||||
"[variables('vnetID')]",
|
||||
"[variables('publiclbName')]"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "Microsoft.Network/networkInterfaces",
|
||||
"name": "[concat(variables('NICPrefix'), '1')]",
|
||||
"location": "[resourceGroup().location]",
|
||||
"properties": {
|
||||
"ipConfigurations": [
|
||||
{
|
||||
"name": "ipconfig1",
|
||||
"properties": {
|
||||
"privateIPAllocationMethod": "Dynamic",
|
||||
"subnet": {
|
||||
"id": "[variables('staticSubnetRef')]"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"dependsOn": [
|
||||
"[variables('vnetID')]",
|
||||
"[variables('publiclbName')]"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "Microsoft.Compute/virtualMachines",
|
||||
"name": "[concat(variables('vmName'), '0')]",
|
||||
"location": "[resourceGroup().location]",
|
||||
"properties": {
|
||||
"hardwareProfile": {
|
||||
"vmSize": "[variables('vmSize')]"
|
||||
},
|
||||
"osProfile": {
|
||||
"computerName": "[concat(variables('vmName'), '0')]",
|
||||
"adminUsername": "[parameters('adminUsername')]",
|
||||
"adminPassword": "[parameters('adminPassword')]"
|
||||
},
|
||||
"storageProfile": {
|
||||
"imageReference": {
|
||||
"publisher": "[variables('windowsImagePublisher')]",
|
||||
"offer": "[variables('windowsImageOffer')]",
|
||||
"sku": "[variables('windowsImageSKU')]",
|
||||
"version": "[variables('windowsImageVersion')]"
|
||||
},
|
||||
"osDisk": {
|
||||
"name": "osdisk",
|
||||
"caching": "ReadWrite",
|
||||
"createOption": "FromImage"
|
||||
},
|
||||
"dataDisks": [
|
||||
{
|
||||
"name": "[concat(variables('vmName'), '0','-data-disk1')]",
|
||||
"createOption": "Empty",
|
||||
"caching": "None",
|
||||
"diskSizeGB": "[variables('dataDiskSize')]",
|
||||
"lun": 0
|
||||
},
|
||||
{
|
||||
"name": "[concat(variables('vmName'), '0','-data-disk2')]",
|
||||
"createOption": "Empty",
|
||||
"caching": "None",
|
||||
"diskSizeGB": "[variables('dataDiskSize')]",
|
||||
"lun": 1
|
||||
}
|
||||
]
|
||||
},
|
||||
"networkProfile": {
|
||||
"networkInterfaces": [
|
||||
{
|
||||
"properties": {
|
||||
"primary": true
|
||||
},
|
||||
"id": "[resourceId('Microsoft.Network/networkInterfaces',concat(variables('NICPrefix'), '0'))]"
|
||||
},
|
||||
{
|
||||
"properties": {
|
||||
"primary": false
|
||||
},
|
||||
"id": "[resourceId('Microsoft.Network/networkInterfaces',concat(variables('NICPrefix'), '1'))]"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"dependsOn": [
|
||||
"[resourceId('Microsoft.Network/networkInterfaces',concat(variables('NICPrefix'), '0'))]",
|
||||
"[resourceId('Microsoft.Network/networkInterfaces',concat(variables('NICPrefix'), '1'))]"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "Microsoft.Compute/virtualMachines/extensions",
|
||||
"name": "[concat(variables('vmName'), '0','/DSCExtension-EnableWindowsFeature')]",
|
||||
"location": "[resourceGroup().location]",
|
||||
"properties": {
|
||||
"publisher": "Microsoft.Powershell",
|
||||
"type": "DSC",
|
||||
"typeHandlerVersion": "2.8",
|
||||
"autoUpgradeMinorVersion": "true",
|
||||
"settings": {
|
||||
"modulesUrl": "[variables('ModulesURL')]",
|
||||
"configurationFunction": "[variables('ConfigurationFunction')]",
|
||||
"properties": {
|
||||
"featureName": "[variables('WindowsFeatureName')]"
|
||||
}
|
||||
}
|
||||
},
|
||||
"dependsOn": [
|
||||
"[concat(variables('vmName'), '0')]"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "Microsoft.Compute/virtualMachines/extensions",
|
||||
"name": "[concat(variables('vmName'), '0','/BGInfoExtension')]",
|
||||
"location": "[resourceGroup().location]",
|
||||
"properties": {
|
||||
"publisher": "Microsoft.Compute",
|
||||
"autoUpgradeMinorVersion": true,
|
||||
"type": "BGInfo",
|
||||
"typeHandlerVersion": "2.1",
|
||||
"settings": {
|
||||
"Properties": []
|
||||
}
|
||||
},
|
||||
"dependsOn": [
|
||||
"[concat('Microsoft.Compute/virtualMachines/',variables('vmName'), '0','/extensions/DSCExtension-EnableWindowsFeature')]"
|
||||
]
|
||||
},
|
||||
{
|
||||
"type": "Microsoft.Compute/virtualMachines/extensions",
|
||||
"name": "[concat(variables('vmName'), '0','/CustomScriptExtension-VerifyWindowsFeature')]",
|
||||
"location": "[resourceGroup().location]",
|
||||
"properties": {
|
||||
"publisher": "Microsoft.Compute",
|
||||
"type": "CustomScriptExtension",
|
||||
"typeHandlerVersion": "1.4",
|
||||
"autoUpgradeMinorVersion": true,
|
||||
"settings": {
|
||||
"fileUris": [
|
||||
"[variables('scriptFile')]"
|
||||
],
|
||||
"commandToExecute": "[concat('powershell -ExecutionPolicy Unrestricted -file ',variables('scriptFileName'), ' ', variables('WindowsFeatureName'))]"
|
||||
}
|
||||
},
|
||||
"dependsOn": [
|
||||
"[concat('Microsoft.Compute/virtualMachines/', variables('vmName'), '0','/extensions/BGInfoExtension')]"
|
||||
]
|
||||
}
|
||||
],
|
||||
"outputs": { }
|
||||
}
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json",
|
||||
"contentVersion": "1.0.0.0",
|
||||
"parameters": { }
|
||||
}
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"itemDisplayName": "Deploy a Windows VM and VM extensions to Azure Stack",
|
||||
"description": "This template deploys a Windows VM and also uses customscript, BGInfo and DSC extensions. The VM is set with 2 managed disks; the OS disk and a data disk of 1 GB.",
|
||||
"summary": "This template deploys a Windows VM and also uses customscript, BGInfo and DSC extensions .",
|
||||
"githubUsername": "azurestack",
|
||||
"dateUpdated": "2018-11-06"
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
{
|
||||
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
|
||||
"contentVersion": "1.0.0.0",
|
||||
"parameters": {
|
||||
"storageAccountName": {
|
||||
"type": "String"
|
||||
}
|
||||
},
|
||||
"variables": { },
|
||||
"resources": [ ],
|
||||
"outputs": {
|
||||
"storageAccountInfo": {
|
||||
"value": "[reference(concat('Microsoft.Storage/storageAccounts/', parameters('storageAccountName')),providers('Microsoft.Storage', 'storageAccounts').apiVersions[0])]",
|
||||
"type": "object"
|
||||
}
|
||||
}
|
||||
}
|
Двоичный файл не отображается.
|
@ -3,5 +3,5 @@
|
|||
"description": "Deploys a simple Windows VM and VM extensions",
|
||||
"summary": "This template has default values for all the parameters and deploys a Windows VM and its VM extensions (DSC, BGinfo, CustomScript)",
|
||||
"githubUsername": "azurestack",
|
||||
"dateUpdated": "2016-09-20"
|
||||
"dateUpdated": "2018-11-06"
|
||||
}
|
||||
|
|
|
@ -3,5 +3,5 @@
|
|||
"description": "Push a certificate onto a Windows VM. Create the Key Vault using the template at http://azure.microsoft.com/en-us/documentation/templates/101-create-key-vault",
|
||||
"summary": "Push a certificate onto a Windows VM",
|
||||
"githubUsername": "singhkays",
|
||||
"dateUpdated": "2015-06-02"
|
||||
"dateUpdated": "2018-11-06"
|
||||
}
|
|
@ -3,5 +3,5 @@
|
|||
"description": "This template deploys a VM Scale Set into an existing vnet.",
|
||||
"summary": "This template deploys a VM Scale Set into an exsisting vnet. This template was taken from Azure GitHub repo and modified for Azure Stack.",
|
||||
"githubUsername": "azurestack",
|
||||
"dateUpdated": "2017-04-10"
|
||||
"dateUpdated": "2018-11-06"
|
||||
}
|
||||
|
|
|
@ -3,5 +3,5 @@
|
|||
"description": "This template allows you to deploy a VM Scale Set of Linux VMs. These VMs have a custom script extension for customization and are behind a load balancer with NAT rules for rdp connections. Please note that extention sequencing (one extension depending upon another) is not yet supported with VM Scale Sets.",
|
||||
"summary": "This template deploys a Linux VM Scale Set with custom script extension behind a load balancer with NAT rules for rdp connections. This template was taken from Azure GitHub repo and modified for Azure Stack.",
|
||||
"githubUsername": "azurestack",
|
||||
"dateUpdated": "2017-03-28"
|
||||
"dateUpdated": "2018-11-06"
|
||||
}
|
||||
|
|
|
@ -3,5 +3,5 @@
|
|||
"description": "This template allows you to deploy a VM Scale Set of Linux VMs. It creates 5 storage accounts so the VM Scale set and can be conviniently scaled to 100 VMs. These VMs are behind a load balancer with NAT rules for rdp connections.",
|
||||
"summary": "This template deploys a Linux VM Scale Set with custom script extension behind a load balancer with NAT rules for rdp connections. This template was taken from Azure GitHub repo and modified for Azure Stack.",
|
||||
"githubUsername": "azurestack",
|
||||
"dateUpdated": "2017-04-12"
|
||||
"dateUpdated": "2018-11-06"
|
||||
}
|
||||
|
|
|
@ -3,5 +3,5 @@
|
|||
"description": "This template allows you to manually change the number of VMs in a Scale Set.",
|
||||
"summary": "This template allows you to manually change the number of VMs in a Scale Set. This template was taken from Azure GitHub repo and modified for Azure Stack.",
|
||||
"githubUsername": "gatneil",
|
||||
"dateUpdated": "2017-03-29"
|
||||
"dateUpdated": "2018-11-06"
|
||||
}
|
||||
|
|
|
@ -3,5 +3,5 @@
|
|||
"description": "This template allows you to deploy a simple VM Scale Set usng a custom Windows image. These VMs are behind a load balancer with NAT rules for rdp connections.",
|
||||
"summary": "This template deploys a Custom Windows Image behind a load balancer with NAT rules for rdp connections. This template was taken from Azure GitHub repo and modified for Azure Stack.",
|
||||
"githubUsername": "simongdavies",
|
||||
"dateUpdated": "2017-03-23"
|
||||
"dateUpdated": "2018-11-06"
|
||||
}
|
||||
|
|
|
@ -3,5 +3,5 @@
|
|||
"description": "This template allows you to deploy a VM Scale Set of Windows VMs using the lastest patched version of various Windows Versions. These VMs have a custom script extension for customization and are behind a load balancer with NAT rules for rdp connections.",
|
||||
"summary": "This template deploys a Windows VM Scale Set with custom script extension behind a load balancer with NAT rules for rdp connections. This template was taken from Azure GitHub repo and modified for Azure Stack.",
|
||||
"githubUsername": "gatneil",
|
||||
"dateUpdated": "2017-03-15"
|
||||
"dateUpdated": "2018-11-06"
|
||||
}
|
||||
|
|
|
@ -3,5 +3,5 @@
|
|||
"description": "This template allows you to deploy a VM Scale Set of Windows VMs using the lastest patched version of various Windows Versions. It creates 5 storage accounts so the VM Scale set and can be conviniently scaled to 100 VMs. These VMs are behind a load balancer with NAT rules for rdp connections.",
|
||||
"summary": "This template deploys a Windows VM Scale Set with custom script extension behind a load balancer with NAT rules for rdp connections. This template was taken from Azure GitHub repo and modified for Azure Stack.",
|
||||
"githubUsername": "azurestack",
|
||||
"dateUpdated": "2017-03-29"
|
||||
"dateUpdated": "2018-11-06"
|
||||
}
|
||||
|
|
|
@ -3,5 +3,5 @@
|
|||
"description": "This template allows you to deploy a WebApp including AppService Plan",
|
||||
"summary": "AppService Plan is included",
|
||||
"githubUsername": "bottkars",
|
||||
"dateUpdated": "2017-12-09"
|
||||
"dateUpdated": "2018-11-06"
|
||||
}
|
||||
|
|
|
@ -3,6 +3,6 @@
|
|||
"description": "Configures the given windows VM with Windows Defender antimalware",
|
||||
"summary": "This template has default values for all the parameters which works with simple windows VM template of Azure stack github",
|
||||
"githubUsername": "azurestack",
|
||||
"dateUpdated": "2016-09-22"
|
||||
"dateUpdated": "2018-11-06"
|
||||
}
|
||||
|
||||
|
|
|
@ -3,6 +3,6 @@
|
|||
"description": "Deploy a Windows VM and joins to an existing AD present on Azure Stack",
|
||||
"summary": "This template has default values for all the parameters which works with AD template of Azure stack github",
|
||||
"githubUsername": "azurestack",
|
||||
"dateUpdated": "2016-09-22"
|
||||
"dateUpdated": "2018-11-06"
|
||||
}
|
||||
|
||||
|
|
|
@ -3,5 +3,5 @@
|
|||
"description": "Tempate that deploys a windows VM and configures it for AD",
|
||||
"summary": "This template has default values for all the parameters",
|
||||
"githubUsername": "azurestack",
|
||||
"dateUpdated": "2016-09-22"
|
||||
"dateUpdated": "2018-11-06"
|
||||
}
|
||||
|
|
|
@ -3,6 +3,6 @@
|
|||
"description": "Configures the given windows VM with Windows Defender antimalware",
|
||||
"summary": "This template has default values for all the parameters which works with simple windows VM template of Azure stack github",
|
||||
"githubUsername": "azurestack",
|
||||
"dateUpdated": "2016-09-22"
|
||||
"dateUpdated": "2018-11-06"
|
||||
}
|
||||
|
||||
|
|
|
@ -3,6 +3,6 @@
|
|||
"description": "Configures the given windows VM with VM Access Extension",
|
||||
"summary": "This template has default values for all the parameters which works with simple windows VM template of Azure stack github",
|
||||
"githubUsername": "azurestack",
|
||||
"dateUpdated": "2016-09-22"
|
||||
"dateUpdated": "2018-11-06"
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче