Skip to content

Commit cb5d00d

Browse files
author
=
committed
Refactor subnet definitions to conditionally include NSG ID
1 parent ae7aa20 commit cb5d00d

File tree

1 file changed

+93
-59
lines changed

1 file changed

+93
-59
lines changed

bicep/infra/modules/networking-core.bicep

Lines changed: 93 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,90 @@ var varHubPeerVnetName = varDeployHubPeering && length(varHubPeerParts) >= 9 ? v
8080
// VIRTUAL NETWORK
8181
// -----------------------
8282

83+
var agentSubnet = union(
84+
{
85+
enabled: true
86+
name: 'agent-subnet'
87+
addressPrefix: '192.168.0.0/27'
88+
delegation: 'Microsoft.App/environments'
89+
serviceEndpoints: ['Microsoft.CognitiveServices']
90+
},
91+
!empty(agentNsgResourceId) ? { networkSecurityGroupResourceId: agentNsgResourceId } : {}
92+
)
93+
94+
var peSubnet = union(
95+
{
96+
enabled: true
97+
name: 'pe-subnet'
98+
addressPrefix: '192.168.0.32/27'
99+
serviceEndpoints: ['Microsoft.AzureCosmosDB']
100+
privateEndpointNetworkPolicies: 'Disabled'
101+
},
102+
!empty(peNsgResourceId) ? { networkSecurityGroupResourceId: peNsgResourceId } : {}
103+
)
104+
105+
var bastionSubnet = union(
106+
{
107+
enabled: true
108+
name: 'AzureBastionSubnet'
109+
addressPrefix: '192.168.0.64/26'
110+
},
111+
!empty(bastionNsgResourceId) ? { networkSecurityGroupResourceId: bastionNsgResourceId } : {}
112+
)
113+
114+
var firewallSubnet = {
115+
enabled: true
116+
name: 'AzureFirewallSubnet'
117+
addressPrefix: '192.168.0.128/26'
118+
}
119+
120+
var appGatewaySubnet = union(
121+
{
122+
enabled: true
123+
name: 'appgw-subnet'
124+
addressPrefix: '192.168.0.192/27'
125+
},
126+
!empty(applicationGatewayNsgResourceId) ? { networkSecurityGroupResourceId: applicationGatewayNsgResourceId } : {}
127+
)
128+
129+
var apimSubnet = union(
130+
{
131+
enabled: true
132+
name: 'apim-subnet'
133+
addressPrefix: '192.168.0.224/27'
134+
},
135+
!empty(apiManagementNsgResourceId) ? { networkSecurityGroupResourceId: apiManagementNsgResourceId } : {}
136+
)
137+
138+
var jumpboxSubnet = union(
139+
{
140+
enabled: true
141+
name: 'jumpbox-subnet'
142+
addressPrefix: '192.168.1.0/28'
143+
},
144+
!empty(jumpboxNsgResourceId) ? { networkSecurityGroupResourceId: jumpboxNsgResourceId } : {}
145+
)
146+
147+
var acaEnvSubnet = union(
148+
{
149+
enabled: true
150+
name: 'aca-env-subnet'
151+
addressPrefix: '192.168.2.0/23'
152+
delegation: 'Microsoft.App/environments'
153+
serviceEndpoints: ['Microsoft.AzureCosmosDB']
154+
},
155+
!empty(acaEnvironmentNsgResourceId) ? { networkSecurityGroupResourceId: acaEnvironmentNsgResourceId } : {}
156+
)
157+
158+
var devopsAgentsSubnet = union(
159+
{
160+
enabled: true
161+
name: 'devops-agents-subnet'
162+
addressPrefix: '192.168.1.32/27'
163+
},
164+
!empty(devopsBuildAgentsNsgResourceId) ? { networkSecurityGroupResourceId: devopsBuildAgentsNsgResourceId } : {}
165+
)
166+
83167
module vNetworkWrapper '../wrappers/avm.res.network.virtual-network.bicep' = if (varDeployVnet) {
84168
name: 'm-vnet'
85169
params: {
@@ -90,65 +174,15 @@ module vNetworkWrapper '../wrappers/avm.res.network.virtual-network.bicep' = if
90174
location: location
91175
enableTelemetry: enableTelemetry
92176
subnets: [
93-
{
94-
enabled: true
95-
name: 'agent-subnet'
96-
addressPrefix: '192.168.0.0/27'
97-
delegation: 'Microsoft.App/environments'
98-
serviceEndpoints: ['Microsoft.CognitiveServices']
99-
networkSecurityGroupResourceId: !empty(agentNsgResourceId) ? agentNsgResourceId : null
100-
}
101-
{
102-
enabled: true
103-
name: 'pe-subnet'
104-
addressPrefix: '192.168.0.32/27'
105-
serviceEndpoints: ['Microsoft.AzureCosmosDB']
106-
privateEndpointNetworkPolicies: 'Disabled'
107-
networkSecurityGroupResourceId: !empty(peNsgResourceId) ? peNsgResourceId : null
108-
}
109-
{
110-
enabled: true
111-
name: 'AzureBastionSubnet'
112-
addressPrefix: '192.168.0.64/26'
113-
networkSecurityGroupResourceId: !empty(bastionNsgResourceId) ? bastionNsgResourceId : null
114-
}
115-
{
116-
enabled: true
117-
name: 'AzureFirewallSubnet'
118-
addressPrefix: '192.168.0.128/26'
119-
}
120-
{
121-
enabled: true
122-
name: 'appgw-subnet'
123-
addressPrefix: '192.168.0.192/27'
124-
networkSecurityGroupResourceId: !empty(applicationGatewayNsgResourceId) ? applicationGatewayNsgResourceId : null
125-
}
126-
{
127-
enabled: true
128-
name: 'apim-subnet'
129-
addressPrefix: '192.168.0.224/27'
130-
networkSecurityGroupResourceId: !empty(apiManagementNsgResourceId) ? apiManagementNsgResourceId : null
131-
}
132-
{
133-
enabled: true
134-
name: 'jumpbox-subnet'
135-
addressPrefix: '192.168.1.0/28'
136-
networkSecurityGroupResourceId: !empty(jumpboxNsgResourceId) ? jumpboxNsgResourceId : null
137-
}
138-
{
139-
enabled: true
140-
name: 'aca-env-subnet'
141-
addressPrefix: '192.168.2.0/23'
142-
delegation: 'Microsoft.App/environments'
143-
serviceEndpoints: ['Microsoft.AzureCosmosDB']
144-
networkSecurityGroupResourceId: !empty(acaEnvironmentNsgResourceId) ? acaEnvironmentNsgResourceId : null
145-
}
146-
{
147-
enabled: true
148-
name: 'devops-agents-subnet'
149-
addressPrefix: '192.168.1.32/27'
150-
networkSecurityGroupResourceId: !empty(devopsBuildAgentsNsgResourceId) ? devopsBuildAgentsNsgResourceId : null
151-
}
177+
agentSubnet
178+
peSubnet
179+
bastionSubnet
180+
firewallSubnet
181+
appGatewaySubnet
182+
apimSubnet
183+
jumpboxSubnet
184+
acaEnvSubnet
185+
devopsAgentsSubnet
152186
]
153187
},
154188
vNetDefinition ?? {}

0 commit comments

Comments
 (0)