Example Parameterized Deployment With Linked Templates

Last updated: 14-05-2021

This sample template will deploy multiple tiers of resources into an Azure Resource Group. Each tier has configurable elements, to show how you can expose parameterization to the end user.

This Azure Resource Manager (ARM) template was created by a member of the community and not by Microsoft. Each ARM template is licensed to you under a licence agreement by its owner, not Microsoft. Microsoft is not responsible for ARM templates provided and licensed by community members and does not screen for security, compatibility or performance. Community ARM templates are not supported under any Microsoft support programme or service and are made available AS IS without warranty of any kind.

Parameters

Parameter Name Description
location (no description available)
VirtualNetworkName Name of the VNET for all Resources.
OperatingSystemImage OS Image to use for All VMs.
ProximityPlacementGroupName Name of the Proximity Placement Group to use for All Resources.
AdminUserForVMAccess Admin User for all VMs.
sshKeyForVMAccess ssh Public Key used to access all VMs.
MidtierNetworkSecurityGroupName Name of the Network Security Group for the Midtier Resources.
MidtierVMNameBase Prefix for naming Midtier VMs.
MidtierVMCount How many Midtier VMs to provision.
MidtierVMSize VM Size for Midtier VMs.
BackendNetworkSecurityGroupName Name of the Network Security Group for the Backend Resources.
BackendVMNameBase Prefix for naming Backend VMs.
BackendVMCount How many Backend VMs to provision.
BackendVMTemplate VM Size and Storage Profile for Backend VMs.
FrontendNetworkSecurityGroupName Name of the Network Security Group for the Frontend Resources.
AllowFrontendConnectionFromIPOrCIDRBlock Default value of 0.0.0.0/0 allows management and connections from the entire Internet
DeployAzureBastionFrontend Selection to deploy Azure Bastion Frontend
DeployAppGatewayFrontend Selection to deploy Azure Application Gateway Frontend
DeployJumpBoxFrontend Selection to deploy Jump Box (VM) Frontend
_artifactsLocation The base URI where artifacts required by this template are located including a trailing '/'
_artifactsLocationSasToken The sasToken required to access _artifactsLocation. When the template is deployed using the accompanying scripts, a sasToken will be automatically generated. Use the defaultValue if the staging location is not secured.

Use the template

PowerShell

New-AzResourceGroup -Name <resource-group-name> -Location <resource-group-location> #use this command when you need to create a new resource group for your deployment
New-AzResourceGroupDeployment -ResourceGroupName <resource-group-name> -TemplateUri https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/demos/parameterized-linked-templates/azuredeploy.json
Install and configure Azure PowerShell

Command line

az group create --name <resource-group-name> --location <resource-group-location> #use this command when you need to create a new resource group for your deployment
az group deployment create --resource-group <my-resource-group> --template-uri https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/demos/parameterized-linked-templates/azuredeploy.json
Install and Configure the Azure Cross-Platform Command-Line Interface