/* // 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" }