Skip to content
This repository was archived by the owner on Jan 30, 2025. It is now read-only.

Commit 2bc196a

Browse files
Support for optional subnets in Machine Learning & Healthcare archetypes (Azure#264)
1 parent b33cd36 commit 2bc196a

File tree

53 files changed

+1342
-222
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

53 files changed

+1342
-222
lines changed

config/subscriptions/CanadaESLZ-main/pubsec/LandingZones/DevTest/82f7705e-3386-427b-95b7-cbed91ab29a7_healthcare_canadacentral.json

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,34 @@
144144
"comments": "Azure Web App Delegated Subnet",
145145
"name": "webapp",
146146
"addressPrefix": "10.5.8.0/25"
147-
}
147+
},
148+
"optional": [
149+
{
150+
"comments": "Optional Subnet 1",
151+
"name": "virtualMachines",
152+
"addressPrefix": "10.5.9.0/25",
153+
"nsg": {
154+
"enabled": true
155+
},
156+
"udr": {
157+
"enabled": true
158+
}
159+
},
160+
{
161+
"comments": "Optional Subnet 2 with delegation for NetApp Volumes",
162+
"name": "NetappVolumes",
163+
"addressPrefix": "10.5.10.0/25",
164+
"nsg": {
165+
"enabled": false
166+
},
167+
"udr": {
168+
"enabled": false
169+
},
170+
"delegations": {
171+
"serviceName": "Microsoft.NetApp/volumes"
172+
}
173+
}
174+
]
148175
}
149176
}
150177
}

config/subscriptions/CanadaESLZ-main/pubsec/LandingZones/DevTest/8c6e48a4-4c73-4a1f-9f95-9447804f2c98_machinelearning_canadacentral.json

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,34 @@
172172
"comments": "App Service Subnet",
173173
"name": "appService",
174174
"addressPrefix": "10.6.10.0/25"
175-
}
175+
},
176+
"optional": [
177+
{
178+
"comments": "Optional Subnet 1",
179+
"name": "virtualMachines",
180+
"addressPrefix": "10.6.11.0/25",
181+
"nsg": {
182+
"enabled": true
183+
},
184+
"udr": {
185+
"enabled": true
186+
}
187+
},
188+
{
189+
"comments": "Optional Subnet 2 with delegation for NetApp Volumes",
190+
"name": "NetappVolumes",
191+
"addressPrefix": "10.6.12.0/25",
192+
"nsg": {
193+
"enabled": false
194+
},
195+
"udr": {
196+
"enabled": false
197+
},
198+
"delegations": {
199+
"serviceName": "Microsoft.NetApp/volumes"
200+
}
201+
}
202+
]
176203
}
177204
}
178205
}

config/subscriptions/CanadaESLZ-main/pubsec/LandingZones/DevTest/ec6c5689-db04-4f1e-b76d-834a51dd0e27_machinelearning_canadacentral.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,8 @@
176176
"comments": "App Service Subnet",
177177
"name": "appService",
178178
"addressPrefix": "10.1.10.0/25"
179-
}
179+
},
180+
"optional": []
180181
}
181182
}
182183
}

config/subscriptions/CanadaESLZ-main/pubsec/LandingZones/DevTest/f08c3057-1713-4a6f-b7e6-0df355b60c30_machinelearning_canadacentral.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,8 @@
176176
"comments": "App Service Subnet",
177177
"name": "appService",
178178
"addressPrefix": "10.3.10.0/25"
179-
}
179+
},
180+
"optional": []
180181
}
181182
}
182183
}

config/subscriptions/CanadaESLZ-main/pubsec/LandingZones/DevTest/f459218a-e8bb-49c9-b768-ee6828a144aa_machinelearning_canadacentral.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,8 @@
177177
"comments": "App Service Subnet",
178178
"name": "appService",
179179
"addressPrefix": "10.4.10.0/25"
180-
}
180+
},
181+
"optional": []
181182
}
182183
}
183184
}

docs/archetypes/healthcare.md

Lines changed: 30 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -265,6 +265,7 @@ As an administrator, you can lock a subscription, resource group, or resource to
265265
| Deployment with Hub Virtual Network | [tests/schemas/lz-healthcare/FullDeployment-With-Hub.json](../../tests/schemas/lz-healthcare/FullDeployment-With-Hub.json) | - |
266266
| Deployment with Location | [tests/schemas/lz-healthcare/FullDeployment-With-Location.json](../../tests/schemas/lz-healthcare/FullDeployment-With-Location.json) | `parameters.location.value` is `canadacentral` |
267267
| Deployment without Hub Virtual Network | [tests/schemas/lz-healthcare/FullDeployment-Without-Hub.json](../../tests/schemas/lz-healthcare/FullDeployment-Without-Hub.json) | `parameters.hubNetwork.value.*` fields are empty & `parameters.network.value.peerToHubVirtualNetwork` is false. |
268+
| Deployment with optional subnets | [tests/schemas/lz-healthcare/FullDeployment-With-OptionalSubnets.json](../../tests/schemas/lz-healthcare/FullDeployment-With-OptionalSubnets.json) | `parameters.network.subnets.optional` array is set with optional subnets. |
268269
| Deployment with subscription budget | [tests/schemas/lz-healthcare/BudgetIsTrue.json](../../tests/schemas/lz-healthcare/BudgetIsTrue.json) | `parameters.subscriptionBudget.value.createBudget` is set to `true` and budget information filled in. |
269270
| Deployment without subscription budget | [tests/schemas/lz-healthcare/BudgetIsFalse.json](../../tests/schemas/lz-healthcare/BudgetIsFalse.json) | `parameters.subscriptionBudget.value.createBudget` is set to `false` and budget information removed. |
270271
| Deployment without resource tags | [tests/schemas/lz-healthcare/EmptyResourceTags.json](../../tests/schemas/lz-healthcare/EmptyResourceTags.json) | `parameters.resourceTags.value` is an empty object. |
@@ -290,7 +291,7 @@ This example configures:
290291
6. Resource Tags (aligned to the default tags defined in [Policies](../../policy/custom/definitions/policyset/Tags.parameters.json))
291292
7. Log Analytics Workspace integration through Azure Defender for Cloud
292293
8. Automation Account
293-
9. Spoke Virtual Network with Hub-managed DNS, Hub-managed private endpoint DNS Zones, Virtual Network Peering and all required subnets (zones).
294+
9. Spoke Virtual Network with Hub-managed DNS, Hub-managed private endpoint DNS Zones, Virtual Network Peering and all required subnets and 2 optional subnets.
294295
10. Deploys Azure resources with Customer Managed Keys.
295296

296297
> **Note 1:** Azure Automation Account is not deployed with Customer Managed Key as it requires an Azure Key Vault instance with public network access.
@@ -454,7 +455,34 @@ This example configures:
454455
"comments": "Azure Web App Delegated Subnet",
455456
"name": "webapp",
456457
"addressPrefix": "10.5.8.0/25"
457-
}
458+
},
459+
"optional": [
460+
{
461+
"comments": "Optional Subnet 1",
462+
"name": "virtualMachines",
463+
"addressPrefix": "10.5.9.0/25",
464+
"nsg": {
465+
"enabled": true
466+
},
467+
"udr": {
468+
"enabled": true
469+
}
470+
},
471+
{
472+
"comments": "Optional Subnet 2 with delegation for NetApp Volumes",
473+
"name": "NetappVolumes",
474+
"addressPrefix": "10.5.10.0/25",
475+
"nsg": {
476+
"enabled": false
477+
},
478+
"udr": {
479+
"enabled": false
480+
},
481+
"delegations": {
482+
"serviceName": "Microsoft.NetApp/volumes"
483+
}
484+
}
485+
]
458486
}
459487
}
460488
}

docs/archetypes/machinelearning.md

Lines changed: 31 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -266,6 +266,7 @@ As an administrator, you can lock a subscription, resource group, or resource to
266266
| Deployment with Hub Virtual Network | [tests/schemas/lz-machinelearning/FullDeployment-With-Hub.json](../../tests/schemas/lz-machinelearning/FullDeployment-With-Hub.json) | - |
267267
| Deployment with Location | [tests/schemas/lz-machinelearning/FullDeployment-With-Location.json](../../tests/schemas/lz-machinelearning/FullDeployment-With-Location.json) | `parameters.location.value` is `canadacentral` |
268268
| Deployment without Hub Virtual Network | [tests/schemas/lz-machinelearning/FullDeployment-Without-Hub.json](../../tests/schemas/lz-machinelearning/FullDeployment-Without-Hub.json) | `parameters.hubNetwork.value.*` fields are empty & `parameters.network.value.peerToHubVirtualNetwork` is false. |
269+
| Deployment with optional subnets | [tests/schemas/lz-machinelearning/FullDeployment-With-OptionalSubnets.json](../../tests/schemas/lz-machinelearning/FullDeployment-With-OptionalSubnets.json) | `parameters.network.subnets.optional` array is set with optional subnets. |
269270
| Deployment with subscription budget | [tests/schemas/lz-machinelearning/BudgetIsTrue.json](../../tests/schemas/lz-machinelearning/BudgetIsTrue.json) | `parameters.subscriptionBudget.value.createBudget` is set to `true` and budget information filled in. |
270271
| Deployment without subscription budget | [tests/schemas/lz-machinelearning/BudgetIsFalse.json](../../tests/schemas/lz-machinelearning/BudgetIsFalse.json) | `parameters.subscriptionBudget.value.createBudget` is set to `false` and budget information removed. |
271272
| Deployment without resource tags | [tests/schemas/lz-machinelearning/EmptyResourceTags.json](../../tests/schemas/lz-machinelearning/EmptyResourceTags.json) | `parameters.resourceTags.value` is an empty object. |
@@ -295,7 +296,7 @@ This example configures:
295296
6. Resource Tags (aligned to the default tags defined in [Policies](../../policy/custom/definitions/policyset/Tags.parameters.json))
296297
7. Log Analytics Workspace integration through Azure Defender for Cloud
297298
8. Automation Account
298-
9. Spoke Virtual Network with Hub-managed DNS, Hub-managed private endpoint DNS Zones, Virtual Network Peering and all required subnets (zones).
299+
9. Spoke Virtual Network with Hub-managed DNS, Hub-managed private endpoint DNS Zones, Virtual Network Peering and all required subnets and 2 optional subnets.
299300
10. Deploys Azure resources with Customer Managed Keys.
300301

301302
> **Note 1:** Azure Automation Account is not deployed with Customer Managed Key as it requires an Azure Key Vault instance with public network access.
@@ -488,12 +489,39 @@ This example configures:
488489
"comments": "AKS Subnet",
489490
"name": "aks",
490491
"addressPrefix": "10.4.9.0/25"
491-
}
492+
},
492493
"appService": {
493494
"comments": "App Service Subnet",
494495
"name": "appService",
495496
"addressPrefix": "10.4.10.0/25"
496-
}
497+
},
498+
"optional": [
499+
{
500+
"comments": "Optional Subnet 1",
501+
"name": "virtualMachines",
502+
"addressPrefix": "10.4.11.0/25",
503+
"nsg": {
504+
"enabled": true
505+
},
506+
"udr": {
507+
"enabled": true
508+
}
509+
},
510+
{
511+
"comments": "Optional Subnet 2 with delegation for NetApp Volumes",
512+
"name": "NetappVolumes",
513+
"addressPrefix": "10.4.12.0/25",
514+
"nsg": {
515+
"enabled": false
516+
},
517+
"udr": {
518+
"enabled": false
519+
},
520+
"delegations": {
521+
"serviceName": "Microsoft.NetApp/volumes"
522+
}
523+
}
524+
]
497525
}
498526
}
499527
}

landingzones/lz-healthcare/main.bicep

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ param synapse object
7676
@description('Hub Network configuration that includes virtualNetworkId, rfc1918IPRange, rfc6598IPRange, egressVirtualApplianceIp, privateDnsManagedByHub flag, privateDnsManagedByHubSubscriptionId and privateDnsManagedByHubResourceGroupName.')
7777
param hubNetwork object
7878

79-
@description('Network configuration. Includes peerToHubVirtualNetwork flag, useRemoteGateway flag, name, dnsServers, addressPrefixes and subnets (privateEndpoints, databricksPublic, databricksPrivate, web) ')
79+
@description('Network configuration. Includes peerToHubVirtualNetwork flag, useRemoteGateway flag, name, dnsServers, addressPrefixes and subnets (privateEndpoints, databricksPublic, databricksPrivate, web, optional [array of optional subnets]) ')
8080
param network object
8181

8282
// Telemetry - Azure customer usage attribution

0 commit comments

Comments
 (0)