-
Notifications
You must be signed in to change notification settings - Fork 33
/
vnet.bicep
46 lines (42 loc) · 1.11 KB
/
vnet.bicep
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
@description('vnet name')
param vnetName string = 'vnet'
@description('vnet CIDR')
param vnetPrefix string = '10.0.0.0/16'
@description('vnet subnets')
param vnetSubnets array = []
@description('vnet tags')
param vNetTags object = {}
@description('vnet location, override if necessary, use default in most cases')
param vNetLocation string = resourceGroup().location
var tags = union(vNetTags, {
Component : 'Network'
})
// vnet with subnets
resource vnet 'Microsoft.Network/virtualNetworks@2019-12-01' = {
name: vnetName
location: vNetLocation
tags: tags
properties: {
addressSpace: {
addressPrefixes: [
vnetPrefix
]
}
enableVmProtection: false
enableDdosProtection: false
subnets:[for subnet in vnetSubnets: {
name:subnet.name
properties:{
addressPrefix:subnet.prefix
}
}]
}
}
// outputs
@description('resulting vnet id')
output vnetId string = vnet.id
@description('resulting subnet [name,id] list')
output vnetSubnets array = [ for (subnet,i) in vnetSubnets: {
name: vnet.properties.subnets[i].name
id: vnet.properties.subnets[i].id
}]