/*
// Azure Resource Manager Template Snippets
*/
"Azure Resource Manager (ARM) Subscription Deployment Template": {
"prefix": "arms!",
"body": [
"{",
" \"$$schema\": \"https://schema.management.azure.com/schemas/2018-05-01/subscriptionDeploymentTemplate.json#\",",
" \"contentVersion\": \"1.0.0.1\",",
" \"parameters\": {},",
" \"variables\": {},",
" \"resources\": [],",
" \"outputs\": {}",
"}"
],
"description": "Skeleton ARM Subscription Deployment Template"
},
"Azure Resource Manager (ARM) Template": {
"prefix": "arm!",
"body": [
"{",
" \"$$schema\": \"https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#\",",
" \"contentVersion\": \"1.0.0.0\",",
" \"parameters\": {},",
" \"variables\": {},",
" \"resources\": [],",
" \"outputs\": {}",
"}"
],
"description": "Skeleton ARM Template"
},
"Azure Resource Manager (ARM) Parameters Template": {
"prefix": "armp!",
"body": [
"{",
" \"$$schema\": \"https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#\",",
" \"contentVersion\": \"1.0.0.0\",",
" \"parameters\": {}",
"}"
],
"description": "Skeleton ARM Parameters Template"
},
"Variable": {
"prefix": "arm-variable",
"body": [
"\"${1:variable1}\": \"${2:value}\""
],
"description": "ARM Template Variable"
},
"Parameter": {
"prefix": "arm-param",
"body": [
"\"${1:parameter1}\": {",
" \"type\": \"${2|string,securestring,int,bool,object,secureObject,array|}\",",
" \"metadata\": {",
" \"description\": \"${3:description}\"",
" }",
"}"
],
"description": "ARM Template Parameter"
},
"Output": {
"prefix": "arm-output",
"body": [
"\"${1:output1}\": {",
" \"type\": \"${2|string,securestring,int,bool,object,secureObject,array|}\",",
" \"value\": \"${3:value}\"",
"}"
],
"description": "ARM Template output"
},
"Parameter Value": {
"prefix": "arm-param-value",
"body": [
"\"${1:parameter1}\": {",
" \"value\": \"${2:value}\"",
"}"
],
"description": "ARM Template Parameter value used in a azuredeploy.parameters.json file"
},
"Resource Group": {
"prefix": "arm-rg",
"body": [
"{",
" \"name\": \"${1:resourceGroup1}\",",
" \"type\": \"Microsoft.Resources/resourceGroups\",",
" \"apiVersion\": \"2018-05-01\",",
" \"location\": \"${2:location}\",",
" \"properties\": {}",
"}"
],
"description": "Resource Group"
},
"Nested Deployment": {
"prefix": "arm-nested",
"body": [
"{",
" \"name\": \"${1:nestedDeployment1}\",",
" \"type\": \"Microsoft.Resources/deployments\",",
" \"apiVersion\": \"2016-09-01\",",
" \"properties\": {",
" \"mode\": \"Incremental\",",
" \"templateLink\": {",
" \"uri\": \"[concat('${2:artifactsLocation}', '/${3:nestedTemplates}/${4:nestedTemplate.json}', '${5:artifactsLocationSasToken}')]\",",
" \"contentVersion\": \"1.0.0.0\"",
" },",
" \"parameters\": {}",
" }",
"}"
],
"description": "Nested Deployment"
},
"API Management": {
"prefix": "arm-apim",
"body": [
"{",
" \"name\": \"${1:apiManagement1}\",",
" \"type\": \"Microsoft.ApiManagement/service\",",
" \"apiVersion\": \"2019-01-01\",",
" \"location\": \"[resourceGroup().location]\",",
" \"tags\": {",
" \"displayName\": \"${1:apiManagement1}\"",
" },",
" \"sku\": {",
" \"name\": \"Developer\",",
" \"capacity\": 1",
" },",
" \"properties\": {",
" \"notificationSenderEmail\": \"${2:notification@example.net}\",",
" \"hostnameConfigurations\": [",
" {",
" \"type\": \"${3:Proxy}\",",
" \"hostName\": \"${4:myHostname.example.net}\"",
" }",
" ],",
" \"virtualNetworkConfiguration\": {",
" \"subnetResourceId\": \"[resourceId('Microsoft.Network/virtualNetworks/subnets', ${5:'apim-vnet'}, ${6:'apim-subnet'})]\"",
" },",
" \"virtualNetworkType\": \"${7:None}\",",
" \"publisherEmail\": \"${8:name@example.net}\",",
" \"publisherName\": \"${9:J. Doe}\"",
" }",
"}"
]
},
"App Service Plan (Server Farm)": {
"prefix": "arm-plan",
"body": [
"{",
" \"name\": \"${1:appServicePlan1}\",",
" \"type\": \"Microsoft.Web/serverfarms\",",
" \"apiVersion\": \"2018-02-01\",",
" \"location\": \"[resourceGroup().location]\",",
" \"sku\": {",
" \"name\": \"F1\",",
" \"capacity\": 1",
" },",
" \"tags\": {",
" \"displayName\": \"${1:appServicePlan1}\"",
" },",
" \"properties\": {",
" \"name\": \"${1:appServicePlan1}\"",
" }",
"}"
],
"description": "Application Service Plan (Server Farm)"
},
"Application Insights for Web Apps": {
"prefix": "arm-app-insights",
"body": [
"{",
" \"name\": \"${1:appInsights1}-${2:appServicePlan1}-AutoScaleSettings\",",
" \"type\": \"Microsoft.Insights/autoscalesettings\",",
" \"apiVersion\": \"2014-04-01\",",
" \"location\": \"East US\",",
" \"tags\": {",
" \"[concat('hidden-link:', resourceGroup().id, '/providers/Microsoft.Web/serverfarms/${2:appServicePlan1}')]\": \"Resource\",",
" \"displayName\": \"${1:appInsights1} AutoScale Settings for ${2:appServicePlan1}\"",
" },",
" \"dependsOn\": [",
" \"[resourceId('Microsoft.Web/serverfarms', '${2:appServicePlan1}')]\"",
" ],",
" \"properties\": {",
" \"name\": \"${1:appInsights1}-${2:appServicePlan1}-AutoScaleSettings\",",
" \"profiles\": [",
" {",
" \"name\": \"Default\",",
" \"capacity\": {",
" \"minimum\": 1,",
" \"maximum\": 2,",
" \"default\": 1",
" },",
" \"rules\": [",
" {",
" \"metricTrigger\": {",
" \"metricName\": \"CpuPercentage\",",
" \"metricResourceUri\": \"[concat(resourceGroup().id, '/providers/Microsoft.Web/serverfarms/${2:appServicePlan1}')]\",",
" \"timeGrain\": \"PT1M\",",
" \"statistic\": \"Average\",",
" \"timeWindow\": \"PT10M\",",
" \"timeAggregation\": \"Average\",",
" \"operator\": \"GreaterThan\",",
" \"threshold\": 80.0",
" },",
" \"scaleAction\": {",
" \"direction\": \"Increase\",",
" \"type\": \"ChangeCount\",",
" \"value\": 1,",
" \"cooldown\": \"PT10M\"",
" }",
" },",
" {",
" \"metricTrigger\": {",
" \"metricName\": \"CpuPercentage\",",
" \"metricResourceUri\": \"[concat(resourceGroup().id, '/providers/Microsoft.Web/serverfarms/${2:appServicePlan1}')]\",",
" \"timeGrain\": \"PT1M\",",
" \"statistic\": \"Average\",",
" \"timeWindow\": \"PT1H\",",
" \"timeAggregation\": \"Average\",",
" \"operator\": \"LessThan\",",
" \"threshold\": 60.0",
" },",
" \"scaleAction\": {",
" \"direction\": \"Decrease\",",
" \"type\": \"ChangeCount\",",
" \"value\": 1,",
" \"cooldown\": \"PT1H\"",
" }",
" }",
" ]",
" }",
" ],",
" \"enabled\": false,",
" \"targetResourceUri\": \"[concat(resourceGroup().id, '/providers/Microsoft.Web/serverfarms/${2:appServicePlan1}')]\"",
" }",
"},",
"{",
" \"name\": \"${1:appInsights1}-CPUHigh-${2:appServicePlan1}\",",
" \"type\": \"Microsoft.Insights/alertrules\",",
" \"apiVersion\": \"2016-03-01\",",
" \"location\": \"East US\",",
" \"tags\": {",
" \"[concat('hidden-link:', resourceGroup().id, '/providers/Microsoft.Web/serverfarms/${2:appServicePlan1}')]\": \"Resource\",",
" \"displayName\": \"${1:appInsights1} CPUHigh rule for ${2:appServicePlan1}\"",
" },",
" \"dependsOn\": [",
" \"[resourceId('Microsoft.Web/serverfarms', '${2:appServicePlan1}')]\"",
" ],",
" \"properties\": {",
" \"name\": \"${1:appInsights1}-CPUHigh-${2:appServicePlan1}\",",
" \"description\": \"The average CPU is high across all the instances of ${2:appServicePlan1}\",",
" \"isEnabled\": false,",
" \"condition\": {",
" \"odata.type\": \"Microsoft.Azure.Management.Insights.Models.ThresholdRuleCondition\",",
" \"dataSource\": {",
" \"odata.type\": \"Microsoft.Azure.Management.Insights.Models.RuleMetricDataSource\",",
" \"resourceUri\": \"[concat(resourceGroup().id, '/providers/Microsoft.Web/serverfarms/${2:appServicePlan1}')]\",",
" \"metricName\": \"CpuPercentage\"",
" },",
" \"operator\": \"GreaterThan\",",
" \"threshold\": 90,",
" \"windowSize\": \"PT15M\"",
" },",
" \"action\": {",
" \"odata.type\": \"Microsoft.Azure.Management.Insights.Models.RuleEmailAction\",",
" \"sendToServiceOwners\": true,",
" \"customEmails\": []",
" }",
" }",
"},",
"{",
" \"name\": \"${1:appInsights1}-LongHttpQueue-${2:appServicePlan1}\",",
" \"type\": \"Microsoft.Insights/alertrules\",",
" \"apiVersion\": \"2016-03-01\",",
" \"location\": \"East US\",",
" \"tags\": {",
" \"[concat('hidden-link:', resourceGroup().id, '/providers/Microsoft.Web/serverfarms/${2:appServicePlan1}')]\": \"Resource\",",
" \"displayName\": \"${1:appInsights1} LongHttpQueue rule for ${2:appServicePlan1}\"",
" },",
" \"dependsOn\": [",
" \"[resourceId('Microsoft.Web/serverfarms', '${2:appServicePlan1}')]\"",
" ],",
" \"properties\": {",
" \"name\": \"${1:appInsights1}-LongHttpQueue-${2:appServicePlan1}\",",
" \"description\": \"The HTTP queue for the instances of ${2:appServicePlan1} has a large number of pending requests.\",",
" \"isEnabled\": false,",
" \"condition\": {",
" \"odata.type\": \"Microsoft.Azure.Management.Insights.Models.ThresholdRuleCondition\",",
" \"dataSource\": {",
" \"odata.type\": \"Microsoft.Azure.Management.Insights.Models.RuleMetricDataSource\",",
" \"resourceUri\": \"[concat(resourceGroup().id, '/providers/Microsoft.Web/serverfarms/${2:appServicePlan1}')]\",",
" \"metricName\": \"HttpQueueLength\"",
" },",
" \"operator\": \"GreaterThan\",",
" \"threshold\": 100.0,",
" \"windowSize\": \"PT5M\"",
" },",
" \"action\": {",
" \"odata.type\": \"Microsoft.Azure.Management.Insights.Models.RuleEmailAction\",",
" \"sendToServiceOwners\": true,",
" \"customEmails\": []",
" }",
" }",
"},",
"{",
" \"name\": \"${1:appInsights1}-ServerErrors-${3:webApp1}\",",
" \"type\": \"Microsoft.Insights/alertrules\",",
" \"apiVersion\": \"2016-03-01\",",
" \"location\": \"East US\",",
" \"tags\": {",
" \"[concat('hidden-link:', resourceGroup().id, '/providers/Microsoft.Web/sites/${3:webApp1}')]\": \"Resource\",",
" \"displayName\": \"${1:appInsights1} ServerErrors rule for ${3:webApp1}\"",
" },",
" \"dependsOn\": [",
" \"[resourceId('Microsoft.Web/sites', '${3:webApp1}')]\"",
" ],",
" \"properties\": {",
" \"name\": \"${1:appInsights1}-ServerErrors-${3:webApp1}\",",
" \"description\": \"${3:webApp1} has some server errors, status code 5xx.\",",
" \"isEnabled\": false,",
" \"condition\": {",
" \"odata.type\": \"Microsoft.Azure.Management.Insights.Models.ThresholdRuleCondition\",",
" \"dataSource\": {",
" \"odata.type\": \"Microsoft.Azure.Management.Insights.Models.RuleMetricDataSource\",",
" \"resourceUri\": \"[concat(resourceGroup().id, '/providers/Microsoft.Web/sites/${3:webApp1}')]\",",
" \"metricName\": \"Http5xx\"",
" },",
" \"operator\": \"GreaterThan\",",
" \"threshold\": 0.0,",
" \"windowSize\": \"PT5M\"",
" },",
" \"action\": {",
" \"odata.type\": \"Microsoft.Azure.Management.Insights.Models.RuleEmailAction\",",
" \"sendToServiceOwners\": true,",
" \"customEmails\": []",
" }",
" }",
"},",
"{",
" \"name\": \"${1:appInsights1}-ForbiddenRequests-${3:webApp1}\",",
" \"type\": \"Microsoft.Insights/alertrules\",",
" \"apiVersion\": \"2016-03-01\",",
" \"location\": \"East US\",",
" \"tags\": {",
" \"displayName\": \"${1:appInsights1} ForbiddenRequests rule for ${3:webApp1}\"",
" },",
" \"dependsOn\": [",
" \"[resourceId('Microsoft.Web/sites', '${3:webApp1}')]\"",
" ],",
" \"properties\": {",
" \"name\": \"${1:appInsights1}-ForbiddenRequests-${3:webApp1}\",",
" \"description\": \"${3:webApp1} has some requests that are forbidden, status code 403.\",",
" \"isEnabled\": false,",
" \"condition\": {",
" \"odata.type\": \"Microsoft.Azure.Management.Insights.Models.ThresholdRuleCondition\",",
" \"dataSource\": {",
" \"odata.type\": \"Microsoft.Azure.Management.Insights.Models.RuleMetricDataSource\",",
" \"resourceUri\": \"[concat(resourceGroup().id, '/providers/Microsoft.Web/sites/${3:webApp1}')]\",",
" \"metricName\": \"Http403\"",
" },",
" \"operator\": \"GreaterThan\",",
" \"threshold\": 0,",
" \"windowSize\": \"PT5M\"",
" },",
" \"action\": {",
" \"odata.type\": \"Microsoft.Azure.Management.Insights.Models.RuleEmailAction\",",
" \"sendToServiceOwners\": true,",
" \"customEmails\": []",
" }",
" }",
"},",
"{",
" \"name\": \"${1:appInsights1}\",",
" \"type\": \"Microsoft.Insights/components\",",
" \"apiVersion\": \"2015-05-01\",",
" \"location\": \"Central US\",",
" \"tags\": {",
" \"displayName\": \"${1:appInsights1} Component for ${3:webApp1}\"",
" },",
" \"dependsOn\": [",
" \"[resourceId('Microsoft.Web/sites', '${3:webApp1}')]\"",
" ],",
" \"properties\": {",
" \"applicationId\": \"${3:webApp1}\",",
" \"application_Type\": \"web\"",
" }",
"}"
],
"description": "Application Insights for Web Apps"
},
"Application Security Group": {
"prefix": "arm-app-security-group",
"body": [
"{",
" \"name\": \"${1:applicationSecurityGroup1}\",",
" \"type\": \"Microsoft.Network/applicationSecurityGroups\",",
" \"apiVersion\": \"2018-08-01\",",
" \"location\": \"[resourceGroup().location]\",",
" \"tags\": {}",
" \"properties\": {}",
"}"
],
"description": "Application Security Group"
},
"Automation Account": {
"prefix": "arm-automation-account",
"body": [
"{",
" \"name\": \"${1:automationAccount1}\",",
" \"type\": \"Microsoft.Automation/automationAccounts\",",
" \"apiVersion\": \"2015-10-31\",",
" \"location\": \"[resourceGroup().location]\",",
" \"tags\": {},",
" \"properties\": {",
" \"sku\": {",
" \"name\": \"${2|Free,Basic|}\",",
" }",
" }",
"}"
],
"description": "Automation Account"
},
"Automation Certificate": {
"prefix": "arm-automation-cert",
"body": [
"{",
" \"name\": \"${1:automationCertificate1}\",",
" \"type\": \"Microsoft.Automation/automationAccounts/certificates\",",
" \"apiVersion\": \"2015-10-31\",",
" \"dependsOn\": [",
" \"[resourceId('Microsoft.Automation/automationAccounts', '${2:automationAccount1}')]\"",
" ],",
" \"properties\": {",
" \"base64Value\": \"${3:base64Value}\",",
" \"description\": \"${4:description}\",",
" \"thumbprint\": \"${5:thumbprint}\",",
" \"isExportable\": ${6|true,false|}",
" }",
"}"
],
"description": "Automation Certificate"
},
"Automation Credential": {
"prefix": "arm-automation-cred",
"body": [
"{",
" \"name\": \"${1:automationCredential}\",",
" \"type\": \"Microsoft.Automation/automationAccounts/credentials\",",
" \"apiVersion\": \"2015-10-31\",",
" \"dependsOn\": [",
" \"[resourceId('Microsoft.Automation/automationAccounts', '${2:automationAccount1}')]\"",
" ],",
" \"properties\": {",
" \"userName\": \"${3:userName}\",",
" \"password\": \"${4:password}\",",
" \"description\": \"${5:description}\"",
" }",
"}"
],
"description": "Automation Credential"
},
"Automation Job Schedule": {
"prefix": "arm-automation-job-schedule",
"body": [
"{",
" \"name\": \"${1:automationJobSchedule1}\",",
" \"type\": \"Microsoft.Automation/automationAccounts/jobSchedules\",",
" \"apiVersion\": \"2015-10-31\",",
" \"location\": \"[resourceGroup().location]\",",
" \"tags\": {},",
" \"dependsOn\": [",
" \"[resourceId('Microsoft.Automation/automationAccounts', '${2:automationAccount1}')]\"",
" ],",
" \"properties\": {",
" \"schedule\": {",
" \"name\": \"${3:automationSchedule1}\"",
" },",
" \"runbook\": {",
" \"name\": \"${4:automationRunbook1}\"",
" }",
" }",
"}"
],
"description": "Automation Job Schedule"
},
"Automation Runbook": {
"prefix": "arm-automation-runbook",
"body": [
"{",
" \"name\": \"${1:automationRunbook1}\",",
" \"type\": \"Microsoft.Automation/automationAccounts/runbooks\",",
" \"apiVersion\": \"2015-10-31\",",
" \"location\": \"[resourceGroup().location]\",",
" \"tags\": {},",
" \"dependsOn\": [",
" \"[resourceId('Microsoft.Automation/automationAccounts', '${2:automationAccount1}')]\"",
" ],",
" \"properties\": {",
" \"logVerbose\": ${3|true,false|},",
" \"logProgress\": ${4|true,false|},",
" \"runbookType\": \"${5|Script,Graph,PowerShellWorkflow,PowerShell,GraphPowerShellWorkflow,GraphPowerShell|}\",",
" \"publishContentLink\": {",
" \"uri\": \"${6:uri}\",",
" \"version\": \"${7:1.0.0.0}\"",
" },",
" \"description\": \"${8:description}\"",
" }",
"}"
],
"description": "Automation Runbook"
},
"Automation Schedule": {
"prefix": "arm-automation-schedule",
"body": [
"{",
" \"name\": \"${1:automationSchedule1}\",",
" \"type\": \"Microsoft.Automation/automationAccounts/schedules\",",
" \"apiVersion\": \"2015-10-31\",",
" \"tags\": {},",
" \"dependsOn\": [",
" \"[resourceId('Microsoft.Automation/automationAccounts', '${2:automationAccount1}')]\"",
" ],",
" \"properties\": {",
" \"description\": \"${3:description}\",",
" \"startTime\": \"\",",
" \"isEnabled\": ${4|true,false|},",
" \"interval\": null,",
" \"frequency\": \"${5|OneTime,Day,Hour,Week,Month|}\"",
" }",
"}"
],
"description": "Automation Schedule"
},
"Automation Variable": {
"prefix": "arm-automation-variable",
"body": [
"{",
" \"name\": \"${1:automationVariable1}\",",
" \"type\": \"Microsoft.Automation/automationAccounts/variables\",",
" \"apiVersion\": \"2015-10-31\",",
" \"dependsOn\": [",
" \"[resourceId('Microsoft.Automation/automationAccounts', '${2:automationAccount1}')]\"",
" ],",
" \"properties\": {",
" \"value\": \"${3:value}\",",
" \"description\": \"${4:description}\",",
" \"isEncryptede\": ${5|true,false|}",
" }",
"}"
],
"description": "Automation Variable"
},
"Automation Module":{
"prefix": "arm-automation-module",
"body": [
"{",
" \"name\": \"[concat('${2:automationAccount1}', '/${1:automationVariable1}')]\",",
" \"type\": \"Microsoft.Automation/automationAccounts/modules\",",
" \"apiVersion\": \"2015-10-31\",",
" \"dependsOn\": [",
" \"[resourceId('Microsoft.Automation/automationAccounts', '${2:automationAccount1}')]\"",
" ],",
" \"properties\": {",
" \"contentLink\": \"{}\"",
" }",
"}"
],
"description": "Automation Module"
},
"Availability Set": {
"prefix": "arm-availability-set",
"body": [
"{",
" \"name\": \"${1:availabilitySet1}\",",
" \"type\": \"Microsoft.Compute/availabilitySets\",",
" \"apiVersion\": \"2015-06-15\",",
" \"location\": \"[resourceGroup().location]\",",
" \"tags\": {",
" \"displayName\": \"${1:availabilitySet1}\"",
" },",
" \"properties\": {}",
"}"
],
"description": "Availability Set"
},
"Azure Firewall": {
"prefix": "arm-firewall",
"body": [
"{",
" \"name\": \"${1:firewall1}\",",
" \"type\": \"Microsoft.Network/azureFirewalls\",",
" \"apiVersion\": \"2019-04-01\",",
" \"location\": \"[resourceGroup().location]\",",
" \"tags\": {},",
" \"properties\": {",
" \"applicationRuleCollections\": [",
" {",
" \"name\": \"${2:appCollectionName1}\",",
" \"properties\": {",
" \"priority\": \"${3:100}\",",
" \"action\": {",
" \"type\": \"${4|Allow,Deny|}\"",
" },",
" \"rules\": [",
" {",
" \"name\": \"${5:appRuleName1}\",",
" \"description\": \"${6:appRuleDescription}\",",
" \"sourceAddresses\": [",
" \"${7:10.0.0.4}\"",
" ],",
" \"protocols\": [",
" {",
" \"protocolType\": \"${8|Http,Https,Mssql|}\",",
" \"port\": \"${9|80,443,1433|}\"",
" }",
" ],",
" \"targetFqdns\": [",
" \"${10:www.microsoft.com}\"",
" ],",
" \"fqdnTags\": []",
" }",
" ]",
" }",
" }",
" ],",
" \"natRuleCollections\": [",
" {",
" \"name\": \"${11:natCollectionName1}\",",
" \"properties\": {",
" \"priority\": \"${12:100}\",",
" \"action\": {",
" \"type\": \"${13|Dnat, Snat|}\"",
" },",
" \"rules\": [",
" {",
" \"name\": \"${14:natRuleName1}\",",
" \"description\": \"${15:natRuleDescription}\",",
" \"sourceAddresses\": [",
" \"${16:10.0.0.4}\"",
" ],",
" \"destinationAddresses\": [",
" \"[reference(resourceId('Microsoft.Network/publicIPAddresses', '${34:publicIPAddress1}')).ipAddress]\"",
" ],",
" \"destinationPorts\": [",
" \"${18:3389}\"",
" ],",
" \"protocols\": [",
" \"${19|TCP,UDP,Any,ICMP|}\"",
" ],",
" \"translatedAddress\": \"${20:10.0.0.254}\",",
" \"translatedPort\": \"${21:2500}\"",
" }",
" ]",
" }",
" }",
" ],",
" \"networkRuleCollections\": [",
" {",
" \"name\": \"${22:networkCollectionName}\",",
" \"properties\": {",
" \"priority\": \"${23:100}\",",
" \"action\": {",
" \"type\": \"${24|Deny,Allow|}\"",
" },",
" \"rules\": [",
" {",
" \"name\": \"${25:networkRuleName}\",",
" \"description\": \"${26:networkRuleDescription}\",",
" \"sourceAddresses\": [",
" \"${27:10.0.0.4}\"",
" ],",
" \"destinationAddresses\": [",
" \"${28:10.0.1.4}\"",
" ],",
" \"destinationPorts\": [",
" \"${29:1}\"",
" ],",
" \"protocols\": [",
" \"${30|TCP,UDP,Any,ICMP|}\"",
" ]",
" }",
" ]",
" }",
" }",
" ],",
" \"ipConfigurations\": [",
" {",
" \"name\": \"${31:ipConfigName}\",",
" \"properties\": {",
" \"subnet\": {",
" \"id\": \"[resourceId('${32:virtualNetworkResourceGroup}', 'Microsoft.Network/virtualNetworks/subnets', '${33:virtualNetworkName}', 'AzureFirewallSubnet')]\"",
" },",
" \"publicIPAddress\": {",
" \"id\": \"[resourceId('Microsoft.Network/publicIPAddresses', '${34:publicIPAddress1}')]\"",
" }",
" }",
" }",
" ]",
" },",
" \"dependsOn\": [",
" \"[resourceId('Microsoft.Network/publicIPAddresses', '${34:publicIPAddress1}')]\"",
" ]",
"},",
"{",
" \"name\": \"${34:publicIPAddress1}\",",
" \"type\": \"Microsoft.Network/publicIPAddresses\",",
" \"apiVersion\": \"2019-04-01\",",
" \"location\": \"[resourceGroup().location]\",",
" \"sku\": {",
" \"name\": \"standard\"",
" },",
" \"tags\": {",
" \"createdFor\": \"${1:firewall1}\"",
" },",
" \"properties\": {",
" \"publicIPAllocationMethod\": \"Static\",",
" \"dnsSettings\": {",
" \"domainNameLabel\": \"[concat('${1:firewall1}', uniqueString(resourceGroup().id))]\"",
" }",
" }",
"}"
],
"description": "Azure Firewall"
},
"Container Group": {
"prefix": "arm-container-group",
"body": [
"{",
" \"name\": \"${1:containerGroup1}\",",
" \"type\": \"Microsoft.ContainerInstance/containerGroups\",",
" \"apiVersion\": \"2018-04-01\",",
" \"location\": \"[resourceGroup().location]\",",
" \"properties\": {",
" \"containers\": [",
" {",
" \"name\": \"${2:containerName}\",",
" \"properties\": {",
" \"image\": \"${3:containerImage}\",",
" \"ports\": [",
" {",
" \"port\": ${4:containerPort}",
" }",
" ],",
" \"resources\": {",
" \"requests\": {",
" \"cpu\": ${5:containerCPUCount},",
" \"memoryInGB\": ${6:containerMemoryInGb}",
" }",
" }",
" }",
" }",
" ],",
" \"osType\": \"${7|Linux,Windows|}\",",
" \"ipAddress\": {",
" \"type\": \"Public\",",
" \"ports\": [",
" {",
" \"protocol\": \"{8|TCP,UDP|}}\",",
" \"port\": ${9:containerPublicPort}",
" }",
" ]",
" }",
" }",
"}"
],
"description": "Container Group"
},
"Container Registry": {
"prefix": "arm-container-registry",
"body": [
"{",
" \"name\": \"${1:containerRegistry1}\",",
" \"type\": \"Microsoft.ContainerRegistry/registries\",",
" \"apiVersion\": \"2017-10-01\",",
" \"location\": \"[resourceGroup().location]\",",
" \"sku\": {",
" \"name\": \"${2|Classic,Basic,Standard,Premium|}\"",
" },",
" \"properties\": {",
" \"adminUserEnabled\": ${3|true,false|}",
" }",
"}"
],
"description": "Container Registry"
},
"Cosmos DB Database Account": {
"prefix": "arm-cosmos-account",
"body": [
"{",
" \"name\": \"${1:cosmosDbAccount1}\",",
" \"type\": \"Microsoft.DocumentDB/databaseAccounts\",",
" \"apiVersion\": \"2015-04-08\",",
" \"location\": \"[resourceGroup().location]\",",
" \"tags\": {},",
" \"kind\": \"${2|GlobalDocumentDB,MongoDB,Parse|}\",",
" \"properties\": {",
" \"consistencyPolicy\": {",
" \"defaultConsistencyLevel\": \"${3|Eventual,Session,BoundedStaleness,Strong,ConsistentPrefix|}\",",
" \"maxStalenessPrefix\": ${4:1},",
" \"maxIntervalInSeconds\": ${5:5}",
" },",
" \"locations\": [",
" {",
" \"locationName\": \"${6:location1}\",",
" \"failoverPriority\": ${7:0}",
" }",
" ],",
" \"databaseAccountOfferType\": \"Standard\",",
" \"ipRangeFilter\": \"${8:ipRangeFilter}\",",
" \"enableAutomaticFailover\": ${9|true,false|},",
" \"capabilities\": [",
" {",
" \"name\": \"${10|EnableTable,EnableGremlin|}\"",
" }",
" ]",
" }",
"}"
],
"description": "Cosmos DB Database Account"
},
"Data Lake Store Account": {
"prefix": "arm-data-lake",
"body": [
"{",
" \"name\": \"${1:dataLakeStore1}\",",
" \"type\": \"Microsoft.DataLakeStore/accounts\",",
" \"apiVersion\": \"2016-11-01\",",
" \"location\": \"[resourceGroup().location]\",",
" \"properties\": {",
" \"newTier\": \"${2|Consumption,Commitment_1TB,Commitment_10TB,Commitment_100TB,Commitment_500TB,Commitment_1PB,Commitment_5PB|}\",",
" \"encryptionState\": \"${3|Enabled,Disabled|}\"",
" }",
"}"
],
"description": "Data Lake Store Account"
},
"DNS Record": {
"prefix": "arm-dns-record",
"body": [
"{",
" \"name\": \"${1:dnsRecord1}\",",
" \"type\": \"Microsoft.Network/dnsZones/${2|A,AAAA,CNAME,MX,NS,PTR,SOA,SRV,TXT|}\",",
" \"apiVersion\": \"2017-09-01\",",
" \"location\": \"global\",",
" \"dependsOn\": [",
" \"[resourceId('Microsoft.Network/dnsZones', '${3:dnsZone1}')]\"",
" ],",
" \"properties\": {",
" \"TTL\": 3600,",
" \"${4|Arecords,AAAARecords,MXRecords,NSRecords,PTRRecords,SRVRecords,TXTRecords,CNAMERecord,SOARecord|}\": []",
" }",
"}"
],
"description": "DNS Record"
},
"DNS Zone": {
"prefix": "arm-dns-zone",
"body": [
"{",
" \"name\": \"${1:dnsZone1}\",",
" \"type\": \"Microsoft.Network/dnsZones\",",
" \"apiVersion\": \"2017-09-01\",",
" \"location\": \"global\",",
" \"properties\": { }",
"}"
],
"description": "DNS Zone"
},
"KeyVault": {
"prefix": "arm-keyvault",
"body": [
"{",
" \"type\": \"Microsoft.KeyVault/vaults\",",
" \"apiVersion\": \"2016-10-01\",",
" \"name\": \"${1:keyVault1}\",",
" \"location\": \"[resourceGroup().location]\",",
" \"tags\": {",
" \"displayName\": \"${1:keyVault1}\"",
" },",
" \"properties\": {",
" \"enabledForDeployment\": true,",
" \"enabledForTemplateDeployment\": true,",
" \"enabledForDiskEncryption\": true,",
" \"tenantId\": \"${2:tenantId}\",",
" \"accessPolicies\": [",
" {",
" \"tenantId\": \"${2:tenantId}\",",
" \"objectId\": \"${3:objectId}\",",
" \"permissions\": {",
" \"keys\": [",
" \"Get\" ",
" ],",
" \"secrets\": [",
" \"List\",",
" \"Get\",",
" \"Set\"",
" ]",
" }",
" }",
" ],",
" \"sku\": {",
" \"name\": \"standard\",",
" \"family\": \"A\"",
" }",
" },",
" \"resources\": [",
" {",
" \"type\": \"secrets\",",
" \"name\": \"${4:keyVaultSecret1}\",",
" \"apiVersion\": \"2016-10-01\",",
" \"dependsOn\": [",
" \"[resourceId('Microsoft.KeyVault/vaults', '${1:keyVault1}')]\"",
" ],",
" \"properties\": {",
" \"value\": \"${5:secretValue}\"",
" }",
" }",
" ]",
"}"
],
"description": "KeyVault with a Secret"
},
"KeyVault Secret": {
"prefix": "arm-keyvault-secret",
"body": [
"{",
" \"name\": \"${1:keyVault1}/${2:keyVaultSecret1}\",",
" \"type\": \"Microsoft.KeyVault/vaults/secrets\",",
" \"apiVersion\": \"2016-10-01\",",
" \"properties\": {",
" \"value\": \"${3:secretValue}\"",
" }",
"}"
],
"description": "KeyVault Secret"
},
"Kubernetes Service Cluster": {
"prefix": "arm-aks-cluster",
"body": [
"{",
" \"name\": \"${1:aksCluster1}\",",
" \"type\": \"Microsoft.ContainerService/managedClusters\",",
" \"apiVersion\": \"2018-03-31\",",
" \"location\": \"[resourceGroup().location]\",",
" \"properties\": {",
" \"kubernetesVersion\": \"${2:1.9}\",",
" \"dnsPrefix\": \"$32:dnsPrefix}\",",
" \"agentPoolProfiles\": [",
" {",
" \"name\": \"agentpool\",",
" \"count\": ${4:2},",
" \"vmSize\": \"${5:virtualMachineSize}\",",
" \"osType\": \"Linux\",",
" \"storageProfile\": \"${6|ManagedDisks,StorageAccount|}\"",
" }",
" ],",
" \"linuxProfile\": {",
" \"adminUsername\": \"${7:adminUserName}\",",
" \"ssh\": {",
" \"publicKeys\": [",
" {",
" \"keyData\": \"${8:keyData}\"",
" }",
" ]",
" }",
" },",
" \"servicePrincipalProfile\": {",
" \"clientId\": \"${9:servicePrincipalAppId}\",",
" \"secret\": \"${10:servicePrincipalAppPassword}\"",
" }",
" }",
"}"
],
"description": "Kubernetes Service Cluster"
},
"Linux VM Custom Script": {
"prefix": "arm-vm-script-linux",
"body": [
"{",
" \"name\": \"${1:ubuntuVM1}/${2:customScript1}\",",
" \"type\": \"Microsoft.Compute/virtualMachines/extensions\",",
" \"apiVersion\": \"2018-06-01\",",
" \"location\": \"[resourceGroup().location]\",",
" \"tags\": {",
" \"displayName\": \"${2:customScript1} for Linux VM\"",
" },",
" \"dependsOn\": [",
" \"[resourceId('Microsoft.Compute/virtualMachines', '${1:ubuntuVM1}')]\"",
" ],",
" \"properties\": {",
" \"publisher\": \"Microsoft.OSTCExtensions\",",
" \"type\": \"CustomScriptForLinux\",",
" \"typeHandlerVersion\": \"1.4\",",
" \"autoUpgradeMinorVersion\": true,",
" \"settings\": {",
" \"fileUris\": [",
" \"[concat('${3:artifactsLocation}', '/${4:scripts}/${5:customScript.sh}', '${6:artifactsLocationSasToken}')]\"",
" ],",
" \"commandToExecute\": \"sh ${5:customScript.sh}\"",
" }",
" }",
"}"
],
"description": "Custom script extension for Linux Virtual Machine"
},
"Load Balancer External": {
"prefix": "arm-loadbalancer-external",
"body": [
"{",
" \"name\": \"${1:loadBalancerExternal1}\",",
" \"type\": \"Microsoft.Network/loadBalancers\",",
" \"apiVersion\": \"2018-08-01\",",
" \"location\": \"[resourceGroup().location]\",",
" \"dependsOn\": [",
" \"[resourceId('Microsoft.Network/publicIPAddresses', '${2:publicIP1}')]\"",
" ],",
" \"properties\": {",
" \"frontendIPConfigurations\": [",
" {",
" \"name\": \"loadBalancerFrontEnd1\",",
" \"properties\": {",
" \"publicIPAddress\": {",
" \"id\": \"[resourceId('Microsoft.Network/publicIPAddresses', '${2:publicIP1}')]\"",
" }",
" }",
" }",
" ],",
" \"backendAddressPools\": [",
" {",
" \"name\": \"loadBalancerBackEndPool1\"",
" }",
" ],",
" \"inboundNatRules\": [",
" {",
" \"name\": \"natRule1\",",
" \"properties\": {",
" \"frontendIPConfiguration\": {",
" \"id\": \"[resourceId('Microsoft.Network/loadBalancers/frontendIPConfigurations', '${1:loadBalancerExternal1}', 'loadBalancerFrontEnd1')]\"",
" },",
" \"protocol\": \"${3|Tcp,Udp,All|}\",",
" \"frontendPort\": ${4:50001},",
" \"backendPort\":${5:3389},",
" \"enableFloatingIP\": false",
" }",
" }",
" ],",
" \"loadBalancingRules\": [",
" {",
" \"name\": \"LBRule1\",",
" \"properties\": {",
" \"frontendIPConfiguration\": {",
" \"id\": \"[resourceId('Microsoft.Network/loadBalancers/frontendIPConfigurations', '${1:loadBalancerExternal1}', 'loadBalancerFrontEnd1')]\"",
" },",
" \"backendAddressPool\": {",
" \"id\": \"[resourceId('Microsoft.Network/loadBalancers/backendAddressPools', '${1:loadBalancerExternal1}', 'loadBalancerBackEndPool1')]\"",
" },",
" \"protocol\": \"${3|Tcp,Udp,All|}\",",
" \"frontendPort\": ${6:80},",
" \"backendPort\": ${7:80},",
" \"enableFloatingIP\": false,",
" \"idleTimeoutInMinutes\": 5,",
" \"probe\": {",
" \"id\": \"[resourceId('Microsoft.Network/loadBalancers/probes', '${1:loadBalancerExternal1}', 'tcpProbe1')]\"",
" }",
" }",
" }",
" ],",
" \"probes\": [",
" {",
" \"name\": \"tcpProbe1\",",
" \"properties\": {",
" \"protocol\": \"${3|Tcp,Udp,All|}\",",
" \"port\": ${7:80},",
" \"intervalInSeconds\": 5,",
" \"numberOfProbes\": 2",
" }",
" }",
" ]",
" }",
"}"
],
"description": "External Load Balancer"
},
"Load Balancer Internal": {
"prefix": "arm-loadbalancer-internal",
"body": [
"{",
" \"name\": \"${1:loadBalancerInternal1}\",",
" \"type\": \"Microsoft.Network/loadBalancers\",",
" \"apiVersion\": \"2018-08-01\",",
" \"location\": \"[resourceGroup().location]\",",
" \"dependsOn\": [",
" \"[resourceId('Microsoft.Network/virtualNetworks', '${2:virtualNetwork1}')]\"",
" ],",
" \"properties\": {",
" \"frontendIPConfigurations\": [",
" {",
" \"name\": \"loadBalancerFrontEnd1\",",
" \"subnet\": {",
" \"id\": \"[resourceId('Microsoft.Network/virtualNetworks/subnets', '${2:virtualNetwork1}', '${3:subnet1}')]\"",
" },",
" \"properties\": {",
" \"privateIPAddress\": \"${4:0.0.0.0}\",",
" \"privateIPAllocationMethod\": \"Static\"",
" },",
" }",
" ],",
" \"backendAddressPools\": [",
" {",
" \"name\": \"loadBalancerBackEndPool1\"",
" }",
" ],",
" \"loadBalancingRules\": [",
" {",
" \"name\": \"LBRule1\",",
" \"properties\": {",
" \"frontendIPConfiguration\": {",
" \"id\": \"[resourceId('Microsoft.Network/loadBalancers/frontendIPConfigurations', '${1:loadBalancerInternal1}', 'loadBalancerFrontEnd1')]\"",
" },",
" \"backendAddressPool\": {",
" \"id\": \"[resourceId('Microsoft.Network/loadBalancers/backendAddressPools', '${1:loadBalancerInternal1}', 'loadBalancerBackEndPool1')]\"",
" },",
" \"protocol\": \"${5|Tcp,Udp,All|}\",",
" \"frontendPort\": ${6:80},",
" \"backendPort\": ${7:80},",
" \"enableFloatingIP\": false,",
" \"idleTimeoutInMinutes\": 5,",
" \"probe\": {",
" \"id\": \"[resourceId('Microsoft.Network/loadBalancers/probes', '${1:loadBalancerInternal1}', 'tcpProbe1')]\"",
" }",
" }",
" }",
" ],",
" \"probes\": [",
" {",
" \"name\": \"tcpProbe1\",",
" \"properties\": {",
" \"protocol\": \"${5|Tcp,Udp,All|}\",",
" \"port\": ${7:80},",
" \"intervalInSeconds\": 5,",
" \"numberOfProbes\": 2",
" }",
" }",
" ]",
" }",
"}"
],
"description": "Load Balancer Internal"
},
"Log Analytics Solution": {
"prefix": "arm-log-analytics-solution",
"body": [
"{",
" \"name\": \"[concat('${1:logAnalyticsSolution1}', '[${2:logAnalyticsWorkspace1}]')]\",",
" \"type\": \"Microsoft.OperationsManagement/solutions\",",
" \"apiVersion\": \"2015-11-01-preview\",",
" \"location\": \"[resourceGroup().location]\",",
" \"tags\": { },",
" \"dependsOn\": [",
" \"[resourceId('Microsoft.OperationalInsights/workspaces/views', '${2:logAnalyticsWorkspace1}', '${1:logAnalyticsSolution1}')]\"",
" ],",
" \"properties\": {",
" \"workspaceResourceId\": \"[resourceId('Microsoft.OperationalInsights/workspaces', '${2:logAnalyticsWorkspace1}')]\",",
" \"referencedResources\": [",
" ],",
" \"containedResources\": [",
" \"[resourceId('Microsoft.OperationalInsights/workspaces/views', '${2:logAnalyticsWorkspace1}', '${1:logAnalyticsSolution1}')]\"",
" ]",
" },",
" \"plan\": {",
" \"name\": \"[concat('${1:logAnalyticsSolution1}', '[${2:logAnalyticsWorkspace1}]')]\",",
" \"version\": \"${3:1.0.0.0}\",",
" \"product\": \"${4:product}\",",
" \"publisher\": \"${5:publisher}\",",
" \"promotionCode\": \"${6:code}\"",
" }",
"}"
],
"description": "Log Analytics Solution"
},
"Log Analytics Workspace": {
"prefix": "arm-log-analytics-workspace",
"body": [
"{",
" \"name\": \"${1:logAnalyticsWorkspace1}\",",
" \"type\": \"Microsoft.OperationalInsights/workspaces\",",
" \"apiVersion\": \"2015-11-01-preview\",",
" \"location\": \"[resourceGroup().location]\",",
" \"properties\": {",
" \"sku\": {",
" \"name\": \"${2|Free,Standard,Premium,Unlimited,PerNode,PerGB2018,Standalone|}\"",
" },",
" \"features\": {",
" \"searchVersion\": 1",
" }",
" }",
"}"
],
"description": "Log Analytics Workspace"
},
"Logic App": {
"prefix": "arm-logic-app",
"body": [
"{",
" \"name\": \"${1:logicApp1}\",",
" \"type\": \"Microsoft.Logic/workflows\",",
" \"apiVersion\": \"2016-06-01\",",
" \"location\": \"[resourceGroup().location]\",",
" \"properties\": {",
" \"definition\": {",
" \"$schema\": \"https://schema.management.azure.com/schemas/2016-06-01/Microsoft.Logic.json\",",
" \"contentVersion\": \"1.0.0.0\",",
" \"parameters\": {},",
" \"triggers\": {},",
" \"actions\": {},",
" \"outputs\": {}",
" },",
" \"parameters\": {}",
" }",
"}"
],
"description": "Logic App"
},
"Logic App Connector": {
"prefix": "arm-logic-app-connector",
"body": [
"{",
" \"name\": \"${1:logicAppConnector1}\",",
" \"type\": \"Microsoft.Web/connections\",",
" \"apiVersion\": \"2016-06-01\",",
" \"location\": \"[resourceGroup().location]\",",
" \"tags\": {},",
" \"properties\": {",
" \"displayName\": \"${1:logicAppConnector1}\",",
" \"parameterValues\": {},",
" \"customParameterValues\": {},",
" \"nonSecretParameterValues\": {},",
" \"api\": {",
" \"id\": \"[concat(subscription().id, '/providers/Microsoft.Web/locations/', resourceGroup().location, '/managedApis/${2:logicAppConnectorApi1}')]\"",
" }",
" }",
"}"
],
"description": "Logic App Connector"
},
"Managed Identity (User Assigned)": {
"prefix": "arm-managed-identity",
"body": [
"{",
" \"name\": \"${1:managedIdentity1}\",",
" \"type\": \"Microsoft.ManagedIdentity/userAssignedIdentities\",",
" \"apiVersion\": \"2018-11-30\",",
" \"location\": \"[resourceGroup().location]\"",
"}"
],
"description": "Managed Identity (User Assigned)"
},
"Media Services": {
"prefix": "arm-media",
"body": [
"{",
" \"name\": \"${1:mediaServices1}\",",
" \"type\": \"Microsoft.Media/mediaServices\",",
" \"apiVersion\": \"2015-10-01\",",
" \"location\": \"[resourceGroup().location]\",",
" \"dependsOn\": [",
" \"[resourceId('Microsoft.Storage/storageAccounts', '${2:mediaServiceStorageAccount1}')]\"",
" ],",
" \"properties\": {",
" \"storageAccounts\": [",
" {",
" \"id\": \"[resourceId('Microsoft.Storage/storageAccounts', '${2:mediaServiceStorageAccount1}')]\",",
" \"isPrimary\": true",
" }",
" ]",
" }",
"}"
],
"description": "Media Services account"
},
"MySQL Database": {
"prefix": "arm-mysql",
"body": [
"{",
" \"name\": \"${1:MySQLdb1}\",",
" \"type\": \"SuccessBricks.ClearDB/databases\",",
" \"apiVersion\": \"2014-04-01\",",
" \"location\": \"[resourceGroup().location]\",",
" \"tags\": {",
" \"provision_source\": \"RMS\",",
" \"displayName\": \"${1:MySQLdb1}\"",
" },",
" \"plan\": {",
" \"name\": \"Free\"",
" }",
"}"
],
"description": "MySQL Database"
},
"Network Interface": {
"prefix": "arm-nic",
"body": [
"{",
" \"name\": \"${1:networkInterface1}\",",
" \"type\": \"Microsoft.Network/networkInterfaces\",",
" \"apiVersion\": \"2018-08-01\",",
" \"location\": \"[resourceGroup().location]\",",
" \"tags\": {",
" \"displayName\": \"${1:networkInterface1}\"",
" },",
" \"dependsOn\": [",
" \"[resourceId('Microsoft.Network/virtualNetworks', '${2:virtualNetwork1}')]\"",
" ],",
" \"properties\": {",
" \"ipConfigurations\": [",
" {",
" \"name\": \"ipConfig1\",",
" \"properties\": {",
" \"privateIPAllocationMethod\": \"Dynamic\",",
" \"subnet\": {",
" \"id\": \"[resourceId('Microsoft.Network/virtualNetworks/subnets', '${2:virtualNetwork1}', '${3:subnet1}')]\"",
" }",
" }",
" }",
" ]",
" }",
"}"
],
"description": "Network Interface"
},
"Network Security Group": {
"prefix": "arm-nsg",
"body": [
"{",
" \"name\": \"${1:networkSecurityGroup1}\",",
" \"type\": \"Microsoft.Network/networkSecurityGroups\",",
" \"apiVersion\": \"2018-08-01\",",
" \"location\": \"[resourceGroup().location]\",",
" \"properties\": {",
" \"securityRules\": [",
" {",
" \"name\": \"${2:nsgRule1}\",",
" \"properties\": {",
" \"description\": \"${3:description}\",",
" \"protocol\": \"${4|Tcp,Udp,*|}\",",
" \"sourcePortRange\": \"${5:*}\",",
" \"destinationPortRange\": \"${6:*}\",",
" \"sourceAddressPrefix\": \"${7:*}\",",
" \"destinationAddressPrefix\": \"${8:*}\",",
" \"access\": \"${9|Allow,Deny|}\",",
" \"priority\": ${10:100},",
" \"direction\": \"${11|Inbound,Outbound|}\"",
" }",
" }",
" ]",
" }",
"}"
],
"description": "Network Security Group"
},
"Public IP Address": {
"prefix": "arm-ip",
"body": [
"{",
" \"name\": \"${1:publicIPAddress1}\",",
" \"type\": \"Microsoft.Network/publicIPAddresses\",",
" \"apiVersion\": \"2018-08-01\",",
" \"location\": \"[resourceGroup().location]\",",
" \"tags\": {",
" \"displayName\": \"${1:publicIPAddress1}\"",
" },",
" \"properties\": {",
" \"publicIPAllocationMethod\": \"Dynamic\",",
" \"dnsSettings\": {",
" \"domainNameLabel\": \"${dnsname1}\"",
" }",
" }",
"}"
],
"description": "Public IP Address"
},
"Public IP Prefix": {
"prefix": "arm-ip-prefix",
"body": [
"{",
" \"name\": \"${1:publicIPPrefix1}\",",
" \"type\": \"Microsoft.Network/publicIPPrefixes\",",
" \"apiVersion\": \"2018-08-01\",",
" \"location\": \"[resourceGroup().location]\",",
" \"tags\": {},",
" \"sku\": {",
" \"name\": \"Standard\"",
" },",
" \"properties\": {",
" \"publicIPAddressVersion\": \"IPv4\",",
" \"prefixLength\": ${2:28}",
" }",
"}"
],
"description": "Public IP Prefix"
},
"Recovery Service Vault": {
"prefix": "arm-recovery-service-vault",
"body": [
"{",
" \"name\": \"${1:recoveryServiceVault1}\",",
" \"type\": \"Microsoft.RecoveryServices/vaults\",",
" \"apiVersion\": \"2018-01-10\",",
" \"location\": \"[resourceGroup().location]\",",
" \"sku\": {",
" \"name\": \"${2|RS0,Standard|}\"",
" \"tier\": \"Standard\"",
" },",
" \"properties\": {}",
"}"
],
"description": "Recovery Service Vault"
},
"Redis Cache": {
"prefix": "arm-redis",
"body": [
"{",
" \"name\": \"${1:redisCache1}\",",
" \"type\": \"Microsoft.Cache/Redis\",",
" \"apiVersion\": \"2015-08-01\",",
" \"location\": \"[resourceGroup().location]\",",
" \"tags\": {",
" \"displayName\": \"${1:redisCache1}\"",
" },",
" \"properties\": {",
" \"sku\": {",
" \"name\": \"Basic\",",
" \"family\": \"C\",",
" \"capacity\": 0",
" }",
" }",
"}"
],
"description": "Redis Cache"
},
"Route Table": {
"prefix": "arm-route-table",
"body": [
"{",
" \"name\": \"${1:routeTable1}\",",
" \"type\": \"Microsoft.Network/routeTables\",",
" \"apiVersion\": \"2018-08-01\",",
" \"location\": \"[resourceGroup().location]\",",
" \"tags\": {},",
" \"properties\": {",
" \"routes\": [",
" {",
" \"name\": \"${2:route1}\",",
" \"properties\": {",
" \"addressPrefix\": \"${3:destinationCIDR}\",",
" \"nextHopType\": \"${4|VirtualNetworkGateway,VnetLocal,Internet,VirtualAppliance,None|}\",",
" \"nextHopIpAddress\": \"${5:0.0.0.0}\"",
" }",
" }",
" ],",
" \"disableBgpRoutePropagation\": ${6|true,false|}",
" }",
"}"
],
"description": "Route Table"
},
"SQL Database": {
"prefix": "arm-sql-db",
"body": [
"{",
" \"name\": \"${1:sqlServer1}/${2:sqlDatabase1}\",",
" \"type\": \"Microsoft.Sql/servers/databases\",",
" \"apiVersion\": \"2014-04-01\",",
" \"location\": \"[resourceGroup().location]\",",
" \"tags\": {",
" \"displayName\": \"${2:sqlDatabase1}\"",
" },",
" \"dependsOn\": [",
" \"[resourceId('Microsoft.Sql/servers', '${1:sqlServer1}')]\"",
" ],",
" \"properties\": {",
" \"collation\": \"SQL_Latin1_General_CP1_CI_AS\",",
" \"edition\": \"Basic\",",
" \"maxSizeBytes\": \"1073741824\",",
" \"requestedServiceObjectiveName\": \"Basic\"",
" }",
"}"
],
"description": "SQL Database"
},
"SQL Database Import": {
"prefix": "arm-sql-db-import",
"body": [
"{",
" \"name\": \"${1:sqlDatabase1}Import1\",",
" \"type\": \"Microsoft.Sql/servers/databases/extensions\",",
" \"apiVersion\": \"2014-04-01\",",
" \"dependsOn\": [",
" \"[resourceId('Microsoft.Sql/servers/databases', '${2:sqlServer1}', '${1:sqlDatabase1}')]\"",
" ],",
" \"tags\": {",
" \"displayName\": \"SQL Database Import for ${1:sqlDatabase1}\"",
" },",
" \"properties\": {",
" \"storageKeyType\": \"${3|StorageAccessKey,SharedAccessKey|}\",",
" \"storageKey\": \"${4:storageKey}\",",
" \"storageUri\": \"${5:bacpacUri}\",",
" \"administratorLogin\": \"${6:adminUsername}\",",
" \"administratorLoginPassword\": \"${7:adminPassword}\",",
" \"operationMode\": \"Import\"",
" }",
"}"
],
"description": "SQL Database Import"
},
"SQL Server": {
"prefix": "arm-sql-server",
"body": [
"{",
" \"name\": \"${1:sqlServer1}\",",
" \"type\": \"Microsoft.Sql/servers\",",
" \"apiVersion\": \"2015-05-01-preview\",",
" \"location\": \"[resourceGroup().location]\",",
" \"tags\": {",
" \"displayName\": \"${1:sqlServer1}\"",
" },",
" \"properties\": {",
" \"administratorLogin\": \"${2:adminUsername}\",",
" \"administratorLoginPassword\": \"${3:adminPassword}\"",
" },",
" \"resources\": [",
" {",
" \"type\": \"firewallRules\",",
" \"apiVersion\": \"2015-05-01-preview\",",
" \"dependsOn\": [",
" \"[resourceId('Microsoft.Sql/servers', '${1:sqlServer1}')]\"",
" ],",
" \"location\": \"[resourceGroup().location]\",",
" \"name\": \"AllowAllWindowsAzureIps\",",
" \"properties\": {",
" \"startIpAddress\": \"0.0.0.0\",",
" \"endIpAddress\": \"0.0.0.0\"",
" }",
" }",
" ]",
"}"
],
"description": "SQL Server"
},
"Storage Account": {
"prefix": "arm-storage",
"body": [
"{",
" \"name\": \"${1:storageaccount1}\",",
" \"type\": \"Microsoft.Storage/storageAccounts\",",
" \"apiVersion\": \"2015-06-15\",",
" \"location\": \"[resourceGroup().location]\",",
" \"tags\": {",
" \"displayName\": \"${1:storageaccount1}\"",
" },",
" \"properties\": {",
" \"accountType\": \"Standard_LRS\"",
" }",
"}"
],
"description": "Storage Account"
},
"Traffic Manager Profile": {
"prefix": "arm-traffic-manager",
"body": [
"{",
" \"name\": \"${1:trafficManagerProfile1}\",",
" \"type\": \"Microsoft.Network/trafficManagerProfiles\",",
" \"apiVersion\": \"2017-05-01\",",
" \"tags\": {},",
" \"location\": \"global\",",
" \"properties\": {",
" \"profileStatus\": \"Enabled\",",
" \"trafficRoutingMethod\": \"${2|Performance,Priority,Weighted,Geographic|}\",",
" \"dnsConfig\": {",
" \"relativeName\": \"${3:dnsConfig}\",",
" \"ttl\": 30",
" },",
" \"monitorConfig\": {",
" \"protocol\": \"${4|HTTP,HTTPS,TCP|}\",",
" \"port\": ${5:80},",
" \"path\": \"${6:path}\",",
" \"intervalInSeconds\": ${7:30},",
" \"timeoutInSeconds\": ${8:5},",
" \"toleratedNumberOfFailures\": ${9:3}",
" },",
" \"endpoints\": [",
" {",
" \"properties\": {",
" \"targetResourceId\": \"${10:targetId}\",",
" \"endpointStatus\": \"${11|Enabled,Disabled|}\",",
" \"weight\": ${12:100},",
" \"priority\": ${13:1}",
" }",
" }",
" ]",
" }",
"}"
],
"description": "Traffic Manager Profile"
},
"Ubuntu Virtual Machine": {
"prefix": "arm-vm-ubuntu",
"body": [
"{",
" \"name\": \"[toLower('${1:ubuntuVM1}storage')]\",",
" \"type\": \"Microsoft.Storage/storageAccounts\",",
" \"apiVersion\": \"2015-06-15\",",
" \"location\": \"[resourceGroup().location]\",",
" \"tags\": {",
" \"displayName\": \"${1:ubuntuVM1} Storage Account\"",
" },",
" \"properties\": {",
" \"accountType\": \"Standard_LRS\"",
" }",
"},",
"{",
" \"name\": \"${1:ubuntuVM1}-PublicIP\",",
" \"type\": \"Microsoft.Network/publicIPAddresses\",",
" \"apiVersion\": \"2018-08-01\",",
" \"location\": \"[resourceGroup().location]\",",
" \"tags\": {",
" \"displayName\": \"PublicIPAddress\"",
" },",
" \"properties\": {",
" \"publicIPAllocationMethod\": \"Dynamic\",",
" \"dnsSettings\": {",
" \"domainNameLabel\": \"[toLower('${1:ubuntuVM1}')]\"",
" }",
" }",
"},",
"{",
" \"name\": \"${1:ubuntuVM1}-VirtualNetwork\",",
" \"type\": \"Microsoft.Network/virtualNetworks\",",
" \"apiVersion\": \"2018-08-01\",",
" \"location\": \"[resourceGroup().location]\",",
" \"tags\": {",
" \"displayName\": \"${1:ubuntuVM1}-VirtualNetwork\"",
" },",
" \"properties\": {",
" \"addressSpace\": {",
" \"addressPrefixes\": [",
" \"10.0.0.0/16\"",
" ]",
" },",
" \"subnets\": [",
" {",
" \"name\": \"${1:ubuntuVM1}-VirtualNetwork-Subnet\",",
" \"properties\": {",
" \"addressPrefix\": \"10.0.0.0/24\"",
" }",
" }",
" ]",
" }",
"},",
"{",
" \"name\": \"${1:ubuntuVM1}-NetworkInterface\",",
" \"type\": \"Microsoft.Network/networkInterfaces\",",
" \"apiVersion\": \"2018-08-01\",",
" \"location\": \"[resourceGroup().location]\",",
" \"dependsOn\": [",
" \"[resourceId('Microsoft.Network/publicIPAddresses', '${1:ubuntuVM1}-PublicIP')]\",",
" \"[resourceId('Microsoft.Network/virtualNetworks', '${1:ubuntuVM1}-VirtualNetwork')]\"",
" ],",
" \"tags\": {",
" \"displayName\": \"${1:ubuntuVM1}-NetworkInterface\"",
" },",
" \"properties\": {",
" \"ipConfigurations\": [",
" {",
" \"name\": \"ipConfig1\",",
" \"properties\": {",
" \"privateIPAllocationMethod\": \"Dynamic\",",
" \"publicIPAddress\": {",
" \"id\": \"[resourceId('Microsoft.Network/publicIPAddresses', '${1:ubuntuVM1}-PublicIP')]\"",
" },",
" \"subnet\": {",
" \"id\": \"[resourceId('Microsoft.Network/virtualNetworks/subnets', '${1:ubuntuVM1}-VirtualNetwork', '${1:ubuntuVM1}-VirtualNetwork-Subnet')]\"",
" }",
" }",
" }",
" ]",
" }",
"},",
"{",
" \"name\": \"${1:ubuntuVM1}\",",
" \"type\": \"Microsoft.Compute/virtualMachines\",",
" \"apiVersion\": \"2017-03-30\",",
" \"location\": \"[resourceGroup().location]\",",
" \"dependsOn\": [",
" \"[resourceId('Microsoft.Storage/storageAccounts', toLower('${1:ubuntuVM1}storage'))]\",",
" \"[resourceId('Microsoft.Network/networkInterfaces', '${1:ubuntuVM1}-NetworkInterface')]\"",
" ],",
" \"tags\": {",
" \"displayName\": \"${1:ubuntuVM1}\"",
" },",
" \"properties\": {",
" \"hardwareProfile\": {",
" \"vmSize\": \"Standard_D1\"",
" },",
" \"osProfile\": {",
" \"computerName\": \"${1:ubuntuVM1}\",",
" \"adminUsername\": \"${2:adminUsername}\",",
" \"adminPassword\": \"${3:adminPassword}\"",
" },",
" \"storageProfile\": {",
" \"imageReference\": {",
" \"publisher\": \"Canonical\",",
" \"offer\": \"UbuntuServer\",",
" \"sku\": \"16.04-LTS\",",
" \"version\": \"latest\"",
" },",
" \"osDisk\": {",
" \"name\": \"${1:ubuntuVM1}-OSDisk\",",
" \"caching\": \"ReadWrite\",",
" \"createOption\": \"FromImage\"",
" }",
" },",
" \"networkProfile\": {",
" \"networkInterfaces\": [",
" {",
" \"id\": \"[resourceId('Microsoft.Network/networkInterfaces', '${1:ubuntuVM1}-NetworkInterface')]\"",
" }",
" ]",
" }",
" }",
"}"
],
"description": "Ubuntu Virtual Machine"
},
"Virtual Network": {
"prefix": "arm-vnet",
"body": [
"{",
" \"name\": \"${1:virtualNetwork1}\",",
" \"type\": \"Microsoft.Network/virtualNetworks\",",
" \"apiVersion\": \"2018-08-01\",",
" \"location\": \"[resourceGroup().location]\",",
" \"tags\": {",
" \"displayName\": \"${1:virtualNetwork1}\"",
" },",
" \"properties\": {",
" \"addressSpace\": {",
" \"addressPrefixes\": [",
" \"10.0.0.0/16\"",
" ]",
" },",
" \"subnets\": [",
" {",
" \"name\": \"Subnet-1\",",
" \"properties\": {",
" \"addressPrefix\": \"10.0.0.0/24\"",
" }",
" },",
" {",
" \"name\": \"Subnet-2\",",
" \"properties\": {",
" \"addressPrefix\": \"10.0.1.0/24\"",
" }",
" }",
" ]",
" }",
"}"
],
"description": "Virtual Network"
},
"VPN Local Network Gateway": {
"prefix": "arm-vpn-local-gateway",
"body": [
"{",
" \"name\": \"${1:localNetworkGateway1}\",",
" \"type\": \"Microsoft.Network/localNetworkGateways\",",
" \"apiVersion\": \"2018-07-01\",",
" \"location\": \"[resourceGroup().location]\",",
" \"properties\": {",
" \"localNetworkAddressSpace\": {",
" \"addressPrefixes\": [",
" \"${2:networkprefix}\"",
" ]",
" },",
" \"gatewayIpAddress\": \"${3:gatewayIP}\"",
" }",
"}"
],
"description": "VPN Local Network Gateway"
},
"VPN Virtual Network Gateway": {
"prefix": "arm-vpn-vnet-gateway",
"body": [
"{",
" \"name\": \"${1:virtualNetworkGateway1}\",",
" \"type\": \"Microsoft.Network/virtualNetworkGateways\",",
" \"apiVersion\": \"2015-06-15\",",
" \"location\": \"[resourceGroup().location]\",",
" \"dependsOn\": [",
" \"[resourceId('Microsoft.Network/publicIPAddresses', '${2:publicIPAddress1}')]\",",
" \"[resourceId('Microsoft.Network/virtualNetworks', '${3:virtualNetwork1}')]\"",
" ],",
" \"properties\": {",
" \"ipConfigurations\": [",
" {",
" \"name\": \"vnetGatewayConfig\",",
" \"properties\": {",
" \"privateIPAllocationMethod\": \"Dynamic\",",
" \"subnet\": {",
" \"id\": \"[resourceId('Microsoft.Network/virtualNetworks/subnets', '${3:virtualNetwork1}', '${4:subnet1}')]\"",
" },",
" \"publicIPAddress\": {",
" \"id\": \"[resourceId('Microsoft.Network/publicIPAddresses', '${2:publicIPAddress1}')]\"",
" }",
" }",
" }",
" ],",
" \"sku\": {",
" \"name\": \"${5|Basic,HighPerformance,Standard,UltraPerformance,VpnGw1,VpnGw2,VpnGw3,VpnGw1AZ,VpnGw2AZ,VpnGw3AZ,ErGw1AZ,ErGw2AZ,ErGw3AZ|}\",",
" \"tier\": \"${6|Basic,HighPerformance,Standard,UltraPerformance,VpnGw1,VpnGw2,VpnGw3,VpnGw1AZ,VpnGw2AZ,VpnGw3AZ,ErGw1AZ,ErGw2AZ,ErGw3AZ|}\"",
" },",
" \"gatewayType\": \"${7|Vpn,ExpressRoute|}\",",
" \"vpnType\": \"${8|PolicyBased,RouteBased|}\",",
" \"enableBgp\": \"${9|true,false|}\"",
" }",
"}"
],
"description": "VPN Virtual Network Gateway"
},
"VPN Virtual Network Connection": {
"prefix": "arm-vpn-vnet-connection",
"body": [
"{",
" \"name\": \"${1:vpnVnetConnection1}\",",
" \"type\": \"Microsoft.Network/connections\",",
" \"apiVersion\": \"2015-06-15\",",
" \"location\": \"[resourceGroup().location]\",",
" \"dependsOn\": [",
" \"[resourceId('Microsoft.Network/virtualNetworkGateways', '${2:vnetGateway1}')]\",",
" \"[resourceId('Microsoft.Network/localNetworkGateways', '${3:localGateway1}')]\"",
" ],",
" \"properties\": {",
" \"virtualNetworkGateway1\": {",
" \"id\": \"[resourceId('Microsoft.Network/virtualNetworkGateways', '${2:vnetGateway1}')]\"",
" },",
" \"localNetworkGateway2\": {",
" \"id\": \"[resourceId('Microsoft.Network/localNetworkGateways', '${3:localGateway1}')]\"",
" },",
" \"connectionType\": \"${4|IPsec,Vnet2Vnet,ExpressRoute,VPNClient|}\",",
" \"routingWeight\": ${5:0},",
" \"sharedKey\": \"${6:sharedkey}\"",
" }",
"}"
],
"description": "VPN Virtual Network Connection"
},
"Web App": {
"prefix": "arm-web-app",
"body": [
"{",
" \"name\": \"${1:webApp1}\",",
" \"type\": \"Microsoft.Web/sites\",",
" \"apiVersion\": \"2016-08-01\",",
" \"location\": \"[resourceGroup().location]\",",
" \"tags\": {",
" \"[concat('hidden-related:', resourceGroup().id, '/providers/Microsoft.Web/serverfarms/${2:appServicePlan1}')]\": \"Resource\",",
" \"displayName\": \"${1:webApp1}\"",
" },",
" \"dependsOn\": [",
" \"[resourceId('Microsoft.Web/serverfarms', '${2:appServicePlan1}')]\"",
" ],",
" \"properties\": {",
" \"name\": \"${1:webApp1}\",",
" \"serverFarmId\": \"[resourceId('Microsoft.Web/serverfarms', '${2:appServicePlan1}')]\"",
" }",
"}"
],
"description": "Web Application"
},
"Web Deploy for Web App": {
"prefix": "arm-web-app-deploy",
"body": [
"{",
" \"name\": \"Deploy-${1:webApp1}\",",
" \"type\": \"Microsoft.Web/sites/extensions\",",
" \"apiVersion\": \"2015-08-01\",",
" \"location\": \"[resourceGroup().location]\",",
" \"dependsOn\": [",
" \"[resourceId('Microsoft.Web/sites', '${1:webApp1}')]\"",
" ],",
" \"tags\": {",
" \"displayName\": \"Web Deploy for ${1:webApp1}\"",
" },",
" \"properties\": {",
" \"packageUri\": \"[concat('${2:artifactsLocation}', '/${3:WebPackages}/${1:webApp1}.zip', '${4:artifactsLocationSasToken}')]\",",
" \"dbType\": \"None\",",
" \"connectionString\": \"\",",
" \"setParameters\": {",
" \"IIS Web Application Name\": \"${1:webApp1}\"",
" }",
" }",
"}"
],
"description": "Web Deploy for a Web Application"
},
"Windows Virtual Machine": {
"prefix": "arm-vm-windows",
"body": [
"{",
" \"name\": \"[toLower('${1:windowsVM1}storage')]\",",
" \"type\": \"Microsoft.Storage/storageAccounts\",",
" \"apiVersion\": \"2015-06-15\",",
" \"location\": \"[resourceGroup().location]\",",
" \"tags\": {",
" \"displayName\": \"${1:windowsVM1} Storage Account\"",
" },",
" \"properties\": {",
" \"accountType\": \"Standard_LRS\"",
" }",
"},",
"{",
" \"name\": \"${1:windowsVM1}-PublicIP\",",
" \"type\": \"Microsoft.Network/publicIPAddresses\",",
" \"apiVersion\": \"2018-08-01\",",
" \"location\": \"[resourceGroup().location]\",",
" \"tags\": {",
" \"displayName\": \"PublicIPAddress\"",
" },",
" \"properties\": {",
" \"publicIPAllocationMethod\": \"Dynamic\",",
" \"dnsSettings\": {",
" \"domainNameLabel\": \"[toLower('${1:windowsVM1}')]\"",
" }",
" }",
"},",
"{",
" \"name\": \"${1:windowsVM1}-VirtualNetwork\",",
" \"type\": \"Microsoft.Network/virtualNetworks\",",
" \"apiVersion\": \"2018-08-01\",",
" \"location\": \"[resourceGroup().location]\",",
" \"tags\": {",
" \"displayName\": \"VirtualNetwork\"",
" },",
" \"properties\": {",
" \"addressSpace\": {",
" \"addressPrefixes\": [",
" \"10.0.0.0/16\"",
" ]",
" },",
" \"subnets\": [",
" {",
" \"name\": \"${1:windowsVM1}-VirtualNetwork-Subnet\",",
" \"properties\": {",
" \"addressPrefix\": \"10.0.0.0/24\"",
" }",
" }",
" ]",
" }",
"},",
"{",
" \"name\": \"${1:windowsVM1}-NetworkInterface\",",
" \"type\": \"Microsoft.Network/networkInterfaces\",",
" \"apiVersion\": \"2018-08-01\",",
" \"location\": \"[resourceGroup().location]\",",
" \"dependsOn\": [",
" \"[resourceId('Microsoft.Network/publicIPAddresses', '${1:windowsVM1}-PublicIP')]\",",
" \"[resourceId('Microsoft.Network/virtualNetworks', '${1:windowsVM1}-VirtualNetwork')]\"",
" ],",
" \"tags\": {",
" \"displayName\": \"${1:windowsVM1} Network Interface\"",
" },",
" \"properties\": {",
" \"ipConfigurations\": [",
" {",
" \"name\": \"ipConfig1\",",
" \"properties\": {",
" \"privateIPAllocationMethod\": \"Dynamic\",",
" \"publicIPAddress\": {",
" \"id\": \"[resourceId('Microsoft.Network/publicIPAddresses', '${1:windowsVM1}-PublicIP')]\"",
" },",
" \"subnet\": {",
" \"id\": \"[resourceId('Microsoft.Network/virtualNetworks/subnets', '${1:windowsVM1}-VirtualNetwork', '${1:windowsVM1}-VirtualNetwork-Subnet')]\"",
" }",
" }",
" }",
" ]",
" }",
"},",
"{",
" \"name\": \"${1:windowsVM1}\",",
" \"type\": \"Microsoft.Compute/virtualMachines\",",
" \"apiVersion\": \"2017-03-30\",",
" \"location\": \"[resourceGroup().location]\",",
" \"dependsOn\": [",
" \"[resourceId('Microsoft.Storage/storageAccounts', toLower('${1:windowsVM1}storage'))]\",",
" \"[resourceId('Microsoft.Network/networkInterfaces', '${1:windowsVM1}-NetworkInterface')]\"",
" ],",
" \"tags\": {",
" \"displayName\": \"${1:windowsVM1}\"",
" },",
" \"properties\": {",
" \"hardwareProfile\": {",
" \"vmSize\": \"Standard_A2\"",
" },",
" \"osProfile\": {",
" \"computerName\": \"${1:windowsVM1}\",",
" \"adminUsername\": \"${2:adminUsername}\",",
" \"adminPassword\": \"${3:adminPassword}\"",
" },",
" \"storageProfile\": {",
" \"imageReference\": {",
" \"publisher\": \"MicrosoftWindowsServer\",",
" \"offer\": \"WindowsServer\",",
" \"sku\": \"2012-R2-Datacenter\",",
" \"version\": \"latest\"",
" },",
" \"osDisk\": {",
" \"name\": \"${1:windowsVM1}OSDisk\",",
" \"caching\": \"ReadWrite\",",
" \"createOption\": \"FromImage\"",
" }",
" },",
" \"networkProfile\": {",
" \"networkInterfaces\": [",
" {",
" \"id\": \"[resourceId('Microsoft.Network/networkInterfaces', '${1:windowsVM1}-NetworkInterface')]\"",
" }",
" ]",
" },",
" \"diagnosticsProfile\": {",
" \"bootDiagnostics\": {",
" \"enabled\": true,",
" \"storageUri\": \"[reference(resourceId('Microsoft.Storage/storageAccounts', toLower('${1:windowsVM1}storage'), '2015-06-15').primaryEndpoints.blob]\"",
" }",
" }",
" },",
" \"resources\": [",
" {",
" \"name\": \"${1:windowsVM1}AzureDiagnostics\",",
" \"type\": \"extensions\",",
" \"apiVersion\": \"2017-03-30\",",
" \"location\": \"[resourceGroup().location]\",",
" \"tags\": {",
" \"displayName\": \"${1:windowsVM1}AzureDiagnostics\"",
" },",
" \"dependsOn\": [",
" \"[resourceId('Microsoft.Compute/virtualMachines', '${1:windowsVM1}')]\"",
" ],",
" \"properties\": {",
" \"publisher\": \"Microsoft.Azure.Diagnostics\",",
" \"type\": \"IaaSDiagnostics\",",
" \"typeHandlerVersion\": \"1.5\",",
" \"autoUpgradeMinorVersion\": true,",
" \"settings\": {",
" \"xmlCfg\": \"[base64(' ')]\",",
" \"storageAccount\": \"[toLower('${1:windowsVM1}storage')]\"",
" },",
" \"protectedSettings\": {",
" \"storageAccountName\": \"[toLower('${1:windowsVM1}storage')]\",",
" \"storageAccountKey\": \"[listkeys(resourceId('Microsoft.Storage/storageAccounts', toLower('${1:windowsVM1}storage')), '2015-06-15').key1]\",",
" \"storageAccountEndPoint\": \"[reference(resourceId('Microsoft.Storage/storageAccounts', toLower('${1:windowsVM1}storage')), '2015-06-15').primaryEndpoints.blob]\"",
" }",
" }",
" }",
" ]",
"}"
],
"description": "Windows Virtual Machine"
},
"Windows VM Custom Script": {
"prefix": "arm-vm-script-windows",
"body": [
"{",
" \"name\": \"${1:windowsVM1}/${2:customScript1}\",",
" \"type\": \"Microsoft.Compute/virtualMachines/extensions\",",
" \"apiVersion\": \"2018-06-01\",",
" \"location\": \"[resourceGroup().location]\",",
" \"tags\": {",
" \"displayName\": \"${2:customScript1} for Windows VM\"",
" },",
" \"dependsOn\": [",
" \"[resourceId('Microsoft.Compute/virtualMachines', '${1:windowsVM1}')]\"",
" ],",
" \"properties\": {",
" \"publisher\": \"Microsoft.Compute\",",
" \"type\": \"CustomScriptExtension\",",
" \"typeHandlerVersion\": \"1.4\",",
" \"autoUpgradeMinorVersion\": true,",
" \"settings\": {",
" \"fileUris\": [",
" \"[concat('${3:artifactsLocation}', '/${4:scripts}/${5:customScript.ps1}', '${6:artifactsLocationSasToken}')]\"",
" ],",
" \"commandToExecute\": \"powershell -ExecutionPolicy Bypass -file ${5:customScript.ps1}\"",
" }",
" }",
"}"
],
"description": "Custom script extension for a Windows Virtual Machine"
},
"Windows VM Diagnostics Extension": {
"prefix": "arm-vm-windows-diagnostics",
"body": [
"{",
" \"name\": \"${1:windowsVM1}/Diagnostics\",",
" \"type\": \"Microsoft.Compute/virtualMachines/extensions\",",
" \"apiVersion\": \"2018-06-01\",",
" \"location\": \"[resourceGroup().location]\",",
" \"tags\": {",
" \"displayName\": \"Diagnostics Extension for ${1:windowsVM1}\"",
" },",
" \"dependsOn\": [",
" \"[resourceId('Microsoft.Compute/virtualMachines', '${1:windowsVM1}')]\",",
" \"[resourceId('Microsoft.Storage/storageAccounts', '${2:storageaccount1}')]\"",
" ],",
" \"properties\": {",
" \"publisher\": \"Microsoft.Azure.Diagnostics\",",
" \"type\": \"IaaSDiagnostics\",",
" \"typeHandlerVersion\": \"1.5\",",
" \"autoUpgradeMinorVersion\": true,",
" \"settings\": {",
" \"xmlCfg\": \"[base64(' ')]\",",
" \"storageAccount\": \"${2:storageaccount1}\"",
" },",
" \"protectedSettings\": {",
" \"storageAccountName\": \"${2:storageaccount1}\",",
" \"storageAccountKey\": \"[listkeys(resourceId('Microsoft.Storage/storageAccounts', '${2:storageaccount1}'), '2015-06-15').key1]\",",
" \"storageAccountEndPoint\": \"[reference(resourceId('Microsoft.Storage/storageAccounts', '${2:storageaccount1}'), '2015-06-15').primaryEndpoints.blob]\"",
" }",
" }",
"}"
],
"description": "Diagnostics Extension for a Windows Virtual Machine"
},
"Windows VM DSC PowerShell Script": {
"prefix": "arm-vm-dsc",
"body": [
"{",
" \"name\": \"${1:windowsVM1}/${2:dscScript1}\",",
" \"type\": \"Microsoft.Compute/virtualMachines/extensions\",",
" \"apiVersion\": \"2018-06-01\",",
" \"location\": \"[resourceGroup().location]\",",
" \"tags\": {",
" \"displayName\": \"${1:windowsVM1}/${2:dscScript1}\"",
" },",
" \"dependsOn\": [",
" \"[resourceId('Microsoft.Compute/virtualMachines', '${1:windowsVM1}')]\"",
" ],",
" \"properties\": {",
" \"publisher\": \"Microsoft.Powershell\",",
" \"type\": \"DSC\",",
" \"typeHandlerVersion\": \"2.9\",",
" \"autoUpgradeMinorVersion\": true,",
" \"settings\": {",
" \"modulesUrl\": \"[concat('${3:artifactsLocation}', '/${4:DSCModules}/${5:dsc.zip}')]\",",
" \"sasToken\": \"${6:artifactsLocationSasToken}\",",
" \"configurationFunction\": \"${7:Configure}\",",
" \"properties\": {",
" \"nodeName\": \"${1:windowsVM1}\"",
" }",
" },",
" \"protectedSettings\": {}",
" }",
"}"
],
"description": "Desired State Configuration PowerShell script for a Windows Virtual Machine"
}