Skip to content

Commit

Permalink
Portal Accelerator Bug Fixes (#1520)
Browse files Browse the repository at this point in the history
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: Jack Tracey <[email protected]>
  • Loading branch information
3 people authored Jan 7, 2024
1 parent d02f904 commit 1894ae7
Show file tree
Hide file tree
Showing 3 changed files with 50 additions and 2 deletions.
2 changes: 2 additions & 0 deletions docs/wiki/Whats-new.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,8 @@ Here's what's changed in Enterprise Scale/Azure Landing Zones:

#### Tooling

- Bug fix for Portal Accelerator, removing region restrictions for VPN Gateways when deploying regional (not AZ).
- Bug fix for Portal Accelerator deployment when deploying using a single platform subscription. Previously, a single tenant deployment would have three failed deployments for diagnostic settings which were looking for non-existent management groups (Management, Identity and Connectivity). This has been fixed and the deployment will now succeed.
- Added drop down selection option for Azure Private Link Private DNS Zones as part of portal based ALZ deployment experience where you can select to deploy or not to deploy a subset of Private Link Private DNS zones.

### December 2023
Expand Down
2 changes: 1 addition & 1 deletion eslzArm/eslz-portal.json
Original file line number Diff line number Diff line change
Expand Up @@ -1931,7 +1931,7 @@
"selectAll": false,
"filter": false,
"multiLine": true,
"visible": "[and(and(equals(steps('connectivity').enableVpnGw, 'Yes'), not(equals(steps('connectivity').enableHub, 'vwan'))), equals(steps('connectivity').enableVpnGw,'Yes'), equals(steps('connectivity').gwRegionalOrAz, 'Regional') ,contains(split('canadacentral,centralus,eastus,eastus2,southcentralus,westus2,francecentral,germanywestcentral,northeurope,westeurope,uksouth,southafricanorth,japaneast,southeastasia,australiaeast,italynorth', ','), steps('connectivity').connectivityLocation))]",
"visible": "[and(and(equals(steps('connectivity').enableVpnGw, 'Yes'), not(equals(steps('connectivity').enableHub, 'vwan'))), equals(steps('connectivity').enableVpnGw,'Yes'), equals(steps('connectivity').gwRegionalOrAz, 'Regional'))]",
"toolTip": "Select the required SKU for the VPN gateway.",
"constraints": {
"allowedValues": [
Expand Down
48 changes: 47 additions & 1 deletion eslzArm/eslzArm.json
Original file line number Diff line number Diff line change
Expand Up @@ -859,13 +859,28 @@
"decommissioned": "[concat(parameters('enterpriseScaleCompanyPrefix'), '-', 'decommissioned')]",
"sandboxes": "[concat(parameters('enterpriseScaleCompanyPrefix'), '-', 'sandboxes')]"
},
"mgmtGroupsLite": {
"eslzRoot": "[parameters('enterpriseScaleCompanyPrefix')]",
"platform": "[concat(parameters('enterpriseScaleCompanyPrefix'), '-', 'platform')]",
"lzs": "[concat(parameters('enterpriseScaleCompanyPrefix'), '-', 'landingzones')]",
"corp": "[concat(parameters('enterpriseScaleCompanyPrefix'), '-', 'corp')]",
"online": "[concat(parameters('enterpriseScaleCompanyPrefix'), '-', 'online')]",
"decommissioned": "[concat(parameters('enterpriseScaleCompanyPrefix'), '-', 'decommissioned')]",
"sandboxes": "[concat(parameters('enterpriseScaleCompanyPrefix'), '-', 'sandboxes')]"
},
"copy": [
{
"name": "mgmtGroupsArray",
"count": "[length(items(variables('mgmtGroups')))]",
"input": "[items(variables('mgmtGroups'))[copyIndex('mgmtGroupsArray')].value]"
},
{
"name": "mgmtGroupsESLiteArray",
"count": "[length(items(variables('mgmtGroupsLite')))]",
"input": "[items(variables('mgmtGroupsLite'))[copyIndex('mgmtGroupsESLiteArray')].value]"
}
],

// Declaring scopes that will be used for optional deployments, such as platform components (monitoring, networking, identity), policy assignments, subscription placement etc.
"scopes": {
"eslzRootManagementGroup": "[tenantResourceId('Microsoft.Management/managementGroups/', variables('mgmtGroups').eslzRoot)]",
Expand Down Expand Up @@ -1654,7 +1669,7 @@
},
{
// Deploying Diagnostic Settings to management groups if Log Analytics was deployed via a loop
"condition": "[and(or(not(empty(parameters('singlePlatformSubscriptionId'))), not(empty(parameters('managementSubscriptionId')))), equals(parameters('enableLogAnalytics'), 'Yes'))]",
"condition": "[and(empty(parameters('singlePlatformSubscriptionId')), not(empty(parameters('managementSubscriptionId'))), equals(parameters('enableLogAnalytics'), 'Yes'))]",
"type": "Microsoft.Resources/deployments",
"apiVersion": "2020-10-01",
"name": "[take(concat(variables('mgmtGroupsArray')[copyIndex()], variables('deploymentNames').diagnosticSettingsforMGsDeploymentName), 64)]",
Expand Down Expand Up @@ -1683,6 +1698,37 @@
}
}
},
{
// Deploying Diagnostic Settings to ESLite management groups if Log Analytics was deployed via a loop
"condition": "[and(not(empty(parameters('singlePlatformSubscriptionId'))), empty(parameters('managementSubscriptionId')), equals(parameters('enableLogAnalytics'), 'Yes'))]",
"type": "Microsoft.Resources/deployments",
"apiVersion": "2020-10-01",
"name": "[take(concat(variables('mgmtGroupsESLiteArray')[copyIndex()], variables('deploymentNames').diagnosticSettingsforMGsDeploymentName), 64)]",
"scope": "[concat('Microsoft.Management/managementGroups/', variables('mgmtGroupsESLiteArray')[copyIndex()])]",
"location": "[deployment().location]",
"dependsOn": [
"[resourceId('Microsoft.Resources/deployments', variables('deploymentNames').mgmtSubscriptionPlacement)]",
"[resourceId('Microsoft.Resources/deployments', variables('esLitedeploymentNames').platformLiteSubscriptionPlacement)]",
"[resourceId('Microsoft.Resources/deployments', variables('deploymentNames').monitoringDeploymentName)]",
"[resourceId('Microsoft.Resources/deployments', variables('esLiteDeploymentNames').monitoringLiteDeploymentName)]"
],
"copy": {
"name": "mgDiagSettings",
"count": "[length(variables('mgmtGroupsESLiteArray'))]"
},
"properties": {
"mode": "Incremental",
"templateLink": {
"contentVersion": "1.0.0.0",
"uri": "[variables('deploymentUris').diagnosticSettingsforManagementGroups]"
},
"parameters": {
"logAnalyticsResourceId": {
"value": "[variables('platformResourceIds').logAnalyticsResourceId]"
}
}
}
},
{
// Assigning Microsoft Cloud Security Benchmark policy to intermediate root management group if condition is true
"condition": "[and(or(not(empty(parameters('singlePlatformSubscriptionId'))), not(empty(parameters('managementSubscriptionId')))), or(equals(parameters('enableLogAnalytics'), 'Yes'), equals(parameters('enableAsc'), 'Yes')))]",
Expand Down

0 comments on commit 1894ae7

Please sign in to comment.