Skip to content

Instantly share code, notes, and snippets.

@krnese
Last active October 31, 2023 19:26
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save krnese/d5bf93046a26946341f2411a769eba2b to your computer and use it in GitHub Desktop.
Save krnese/d5bf93046a26946341f2411a769eba2b to your computer and use it in GitHub Desktop.
Compliant VNet config
{
"$schema": "https://schema.management.azure.com/schemas/2018-05-01/subscriptionDeploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"addressPrefix": {
"type": "string",
"defaultValue": "192.168.0.0/16"
},
"vnetName": {
"type": "string",
"defaultValue": "vnet-eastus"
},
"nsgName": {
"type": "string",
"defaultValue": "nsg-eastus"
},
"udrName": {
"type": "string",
"defaultValue": "udr-eastus"
},
"resourceslocation": {
"type": "string",
"defaultValue": "[deployment().location]"
},
"resourceGroupName": {
"type": "string",
"defaultValue": "vnet-eastus"
},
"location": {
"type": "string",
"defaultValue": "eastus"
},
"subnetPrefix": {
"type": "string",
"defaultValue": "192.168.0.0/24"
},
"subnetName": {
"type": "string",
"defaultValue": "default"
},
"bgpString": {
"type": "string",
"defaultValue": "12076:20000"
}
},
"variables": {
},
"resources": [
{
"type": "Microsoft.Resources/resourceGroups",
"apiVersion": "2022-09-01",
"name": "[parameters('resourceGroupName')]",
"location": "[parameters('location')]",
"properties": {}
},
{
"type": "Microsoft.Resources/deployments",
"apiVersion": "2019-10-01",
"resourceGroup": "[parameters('resourceGroupName')]",
"name": "[concat(deployment().name, '-vnet', parameters('resourcesLocation'))]",
"dependsOn": [
"[concat('Microsoft.Resources/resourceGroups/', parameters('resourceGroupName'))]"
],
"properties": {
"mode": "Incremental",
"template": {
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {},
"resources": [
{
"type": "Microsoft.Network/networkSecurityGroups",
"apiVersion": "2022-07-01",
"name": "[parameters('nsgName')]",
"location": "[parameters('resourcesLocation')]",
"properties": {
"securityRules": []
}
},
{
"type": "Microsoft.Network/routeTables",
"apiVersion": "2020-11-01",
"name": "[parameters('udrName')]",
"location": "[parameters('resourcesLocation')]",
"properties": {
"disableBgpRoutePropagation": false,
"routes": []
}
},
{
"type": "Microsoft.Network/virtualNetworks",
"apiVersion": "2022-09-01",
"location": "[parameters('resourcesLocation')]",
"name": "[parameters('vnetName')]",
"dependsOn": [
"[concat('Microsoft.Network/networkSecurityGroups/', parameters('nsgName'))]",
"[concat('Microsoft.Network/routeTables/', parameters('udrName'))]"
],
"properties": {
"bgpCommunities": {
"virtualNetworkCommunity": "[parameters('bgpString')]"
},
"addressSpace": {
"addressPrefixes": [
"[parameters('addressPrefix')]"
]
},
"subnets": [
{
"name": "[parameters('subnetName')]",
"properties": {
"addressPrefix": "[parameters('subnetPrefix')]",
"networkSecurityGroup": {
"id": "[concat('/subscriptions/', subscription().subscriptionId, '/resourceGroups/', parameters('resourceGroupName'), '/providers/Microsoft.Network/networkSecurityGroups/', parameters('nsgName'))]"
},
"routeTable": {
"id": "[concat('/subscriptions/', subscription().subscriptionId, '/resourceGroups/', parameters('resourceGroupName'),'/providers/Microsoft.Network/routeTables/', parameters('udrName'))]"
}
}
}
]
}
}
]
}
}
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment