Skip to content

Commit f8d4f63

Browse files
authored
fix: Update deployment name composition (#6314)
## Description - Removed usage of `deployment().name` in module names to enhance performance during redeploys and when used in deployment stacks. - See Azure/bicep#18621 for info - No functional changes to the modules. ## Pipeline Reference <!-- Insert your Pipeline Status Badge below --> | Pipeline | | -------- | | [![avm.ptn.authorization.role-assignment](https://github.com/Azure/bicep-registry-modules/actions/workflows/avm.ptn.authorization.role-assignment.yml/badge.svg?branch=users%2Fjtracey93%2Ffix%2Fdeployment-name-usage-for-alz)](https://github.com/Azure/bicep-registry-modules/actions/workflows/avm.ptn.authorization.role-assignment.yml) | | [![avm.ptn.authorization.policy-assignment](https://github.com/Azure/bicep-registry-modules/actions/workflows/avm.ptn.authorization.policy-assignment.yml/badge.svg?branch=users%2Fjtracey93%2Ffix%2Fdeployment-name-usage-for-alz)](https://github.com/Azure/bicep-registry-modules/actions/workflows/avm.ptn.authorization.policy-assignment.yml)| ## Type of Change <!-- Use the checkboxes [x] on the options that are relevant. --> - Azure Verified Module updates: - [x] Bugfix containing backwards-compatible bug fixes, and I have NOT bumped the MAJOR or MINOR version in `version.json`: - [ ] Feature update backwards compatible feature updates, and I have bumped the MINOR version in `version.json`. - [ ] Breaking changes and I have bumped the MAJOR version in `version.json`. - [ ] Update to documentation - [ ] Update to CI Environment or utilities (Non-module affecting changes) ## Checklist - [x] I'm sure there are no other open Pull Requests for the same update/change - [x] I have run `Set-AVMModule` locally to generate the supporting module files. - [x] My corresponding pipelines / checks run clean and green without any errors or warnings - [x] I have updated the module's CHANGELOG.md file with an entry for the next version <!-- Please keep up to date with the contribution guide at https://aka.ms/avm/contribute/bicep -->
1 parent a3f1950 commit f8d4f63

File tree

16 files changed

+69
-49
lines changed

16 files changed

+69
-49
lines changed

avm/ptn/authorization/policy-assignment/CHANGELOG.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,16 @@
22

33
The latest version of the changelog can be found [here](https://github.com/Azure/bicep-registry-modules/blob/main/avm/ptn/authorization/policy-assignment/CHANGELOG.md).
44

5+
## 0.5.3
6+
7+
### Changes
8+
9+
- Updated deployment names to remove usage of `deployment().name` to avoid reduce the number of deployments and improve performance in redeploys and when used in a deployment stack. No functional changes to the module.
10+
11+
### Breaking Changes
12+
13+
- None
14+
515
## 0.5.2
616

717
### Changes

avm/ptn/authorization/policy-assignment/main.bicep

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ resource avmTelemetry 'Microsoft.Resources/deployments@2024-03-01' = if (enableT
111111
}
112112

113113
module policyAssignment_mg 'modules/management-group.bicep' = if (empty(subscriptionId) && empty(resourceGroupName)) {
114-
name: '${uniqueString(deployment().name, location)}-PolicyAssignment-MG-Module'
114+
name: 'pol-asi-mg-${uniqueString(managementGroup().name, managementGroupId, location, name)}'
115115
scope: managementGroup(managementGroupId)
116116
params: {
117117
name: name
@@ -139,7 +139,7 @@ module policyAssignment_mg 'modules/management-group.bicep' = if (empty(subscrip
139139
// Create additional role assignments at different management group scopes if needed
140140

141141
module policyAssignment_sub 'modules/subscription.bicep' = if (!empty(subscriptionId) && empty(resourceGroupName)) {
142-
name: '${uniqueString(deployment().name, location)}-PolicyAssignment-Sub-Module'
142+
name: 'pol-asi-sub-${uniqueString(managementGroup().name, subscriptionId, location, name)}'
143143
scope: subscription(subscriptionId)
144144
params: {
145145
name: name
@@ -163,7 +163,7 @@ module policyAssignment_sub 'modules/subscription.bicep' = if (!empty(subscripti
163163
}
164164

165165
module policyAssignment_rg 'modules/resource-group.bicep' = if (!empty(resourceGroupName) && !empty(subscriptionId)) {
166-
name: '${uniqueString(deployment().name, location)}-PolicyAssignment-RG-Module'
166+
name: 'pol-asi-rg-${uniqueString(managementGroup().name, subscriptionId, resourceGroupName, location, name)}'
167167
scope: resourceGroup(subscriptionId, resourceGroupName)
168168
params: {
169169
name: name

avm/ptn/authorization/policy-assignment/main.json

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
"_generator": {
77
"name": "bicep",
88
"version": "0.39.26.7824",
9-
"templateHash": "3845344383933695650"
9+
"templateHash": "7092565067371353010"
1010
},
1111
"name": "Policy Assignments (All scopes)",
1212
"description": "This module deploys a Policy Assignment at a Management Group, Subscription or Resource Group scope."
@@ -218,7 +218,7 @@
218218
"condition": "[and(empty(parameters('subscriptionId')), empty(parameters('resourceGroupName')))]",
219219
"type": "Microsoft.Resources/deployments",
220220
"apiVersion": "2025-04-01",
221-
"name": "[format('{0}-PolicyAssignment-MG-Module', uniqueString(deployment().name, parameters('location')))]",
221+
"name": "[format('pol-asi-mg-{0}', uniqueString(managementGroup().name, parameters('managementGroupId'), parameters('location'), parameters('name')))]",
222222
"scope": "[format('Microsoft.Management/managementGroups/{0}', parameters('managementGroupId'))]",
223223
"location": "[deployment().location]",
224224
"properties": {
@@ -275,7 +275,7 @@
275275
"_generator": {
276276
"name": "bicep",
277277
"version": "0.39.26.7824",
278-
"templateHash": "3522442314177871322"
278+
"templateHash": "1968943732444241317"
279279
},
280280
"name": "Policy Assignments (Management Group scope)",
281281
"description": "This module deploys a Policy Assignment at a Management Group scope."
@@ -457,7 +457,7 @@
457457
"condition": "[and(and(not(empty(parameters('roleDefinitionIds'))), not(empty(variables('finalArrayOfManagementGroupsToAssignRbacTo')))), equals(parameters('identity'), 'SystemAssigned'))]",
458458
"type": "Microsoft.Resources/deployments",
459459
"apiVersion": "2025-04-01",
460-
"name": "[format('{0}-PolicyAssignment-MG-Module-Additional-RBAC', uniqueString(deployment().name, parameters('location'), parameters('roleDefinitionIds')[copyIndex()], parameters('name')))]",
460+
"name": "[format('pol-asi-mg-rbac-mgs-loop-{0}', uniqueString(managementGroup().name, parameters('location'), parameters('roleDefinitionIds')[copyIndex()], parameters('name')))]",
461461
"location": "[deployment().location]",
462462
"properties": {
463463
"expressionEvaluationOptions": {
@@ -485,7 +485,7 @@
485485
"_generator": {
486486
"name": "bicep",
487487
"version": "0.39.26.7824",
488-
"templateHash": "11943394730159030733"
488+
"templateHash": "8639566005973420575"
489489
}
490490
},
491491
"parameters": {
@@ -531,7 +531,7 @@
531531
},
532532
"type": "Microsoft.Resources/deployments",
533533
"apiVersion": "2025-04-01",
534-
"name": "[format('{0}-PolicyAssignment-MG-Module-Additional-RBAC', uniqueString(deployment().name, parameters('location'), parameters('roleDefinitionId'), parameters('name')))]",
534+
"name": "[format('pol-asi-mg-rbac-mg-{0}', uniqueString(managementGroup().name, parameters('managementGroupsIDsToAssignRbacTo')[copyIndex()], parameters('location'), parameters('roleDefinitionId'), parameters('name'), parameters('policyAssignmentIdentityId')))]",
535535
"scope": "[format('Microsoft.Management/managementGroups/{0}', parameters('managementGroupsIDsToAssignRbacTo')[copyIndex()])]",
536536
"location": "[deployment().location]",
537537
"properties": {
@@ -618,7 +618,7 @@
618618
"condition": "[and(and(not(empty(parameters('roleDefinitionIds'))), not(empty(parameters('additionalSubscriptionIDsToAssignRbacTo')))), equals(parameters('identity'), 'SystemAssigned'))]",
619619
"type": "Microsoft.Resources/deployments",
620620
"apiVersion": "2025-04-01",
621-
"name": "[format('{0}-PolicyAssignment-MG-Module-Additional-RBAC-Subs', uniqueString(deployment().name, parameters('location'), parameters('roleDefinitionIds')[copyIndex()], parameters('name')))]",
621+
"name": "[format('pol-asi-mg-rbac-subs-loop-{0}', uniqueString(managementGroup().name, parameters('location'), parameters('roleDefinitionIds')[copyIndex()], parameters('name')))]",
622622
"location": "[deployment().location]",
623623
"properties": {
624624
"expressionEvaluationOptions": {
@@ -646,7 +646,7 @@
646646
"_generator": {
647647
"name": "bicep",
648648
"version": "0.39.26.7824",
649-
"templateHash": "5852722490435240271"
649+
"templateHash": "2176271204397150134"
650650
}
651651
},
652652
"parameters": {
@@ -692,7 +692,7 @@
692692
},
693693
"type": "Microsoft.Resources/deployments",
694694
"apiVersion": "2025-04-01",
695-
"name": "[format('{0}-PolicyAssignment-MG-Module-RBAC-Sub-{1}', uniqueString(deployment().name, parameters('location'), parameters('roleDefinitionId'), parameters('name')), substring(parameters('subscriptionIDsToAssignRbacTo')[copyIndex()], 0, 8))]",
695+
"name": "[format('pol-asi-mg-rbac-sub-{0}', uniqueString(managementGroup().name, parameters('subscriptionIDsToAssignRbacTo')[copyIndex()], parameters('location'), parameters('roleDefinitionId'), parameters('name'), parameters('policyAssignmentIdentityId')))]",
696696
"subscriptionId": "[parameters('subscriptionIDsToAssignRbacTo')[copyIndex()]]",
697697
"location": "[deployment().location]",
698698
"properties": {
@@ -779,7 +779,7 @@
779779
"condition": "[and(and(not(empty(parameters('roleDefinitionIds'))), not(empty(parameters('additionalResourceGroupResourceIDsToAssignRbacTo')))), equals(parameters('identity'), 'SystemAssigned'))]",
780780
"type": "Microsoft.Resources/deployments",
781781
"apiVersion": "2025-04-01",
782-
"name": "[format('{0}-PolicyAssignment-MG-Module-Additional-RBAC-RGs', uniqueString(deployment().name, parameters('location'), parameters('roleDefinitionIds')[copyIndex()], parameters('name')))]",
782+
"name": "[format('pol-asi-mg-rbac-rgs-loop-{0}', uniqueString(managementGroup().name, parameters('location'), parameters('roleDefinitionIds')[copyIndex()], parameters('name')))]",
783783
"location": "[deployment().location]",
784784
"properties": {
785785
"expressionEvaluationOptions": {
@@ -807,7 +807,7 @@
807807
"_generator": {
808808
"name": "bicep",
809809
"version": "0.39.26.7824",
810-
"templateHash": "905227369220927938"
810+
"templateHash": "15683202765386697571"
811811
}
812812
},
813813
"parameters": {
@@ -853,7 +853,7 @@
853853
},
854854
"type": "Microsoft.Resources/deployments",
855855
"apiVersion": "2025-04-01",
856-
"name": "[format('{0}-PolicyAssignment-MG-Module-RBAC-RG-Sub-{1}', uniqueString(deployment().name, parameters('location'), parameters('roleDefinitionId'), parameters('name'), parameters('resourceGroupResourceIDsToAssignRbacTo')[copyIndex()]), substring(split(parameters('resourceGroupResourceIDsToAssignRbacTo')[copyIndex()], '/')[2], 0, 8))]",
856+
"name": "[format('pol-asi-mg-rbac-rg-{0}', uniqueString(managementGroup().name, parameters('resourceGroupResourceIDsToAssignRbacTo')[copyIndex()], parameters('location'), parameters('roleDefinitionId'), parameters('name'), parameters('policyAssignmentIdentityId')))]",
857857
"subscriptionId": "[split(parameters('resourceGroupResourceIDsToAssignRbacTo')[copyIndex()], '/')[2]]",
858858
"resourceGroup": "[split(parameters('resourceGroupResourceIDsToAssignRbacTo')[copyIndex()], '/')[4]]",
859859
"properties": {
@@ -970,7 +970,7 @@
970970
"condition": "[and(not(empty(parameters('subscriptionId'))), empty(parameters('resourceGroupName')))]",
971971
"type": "Microsoft.Resources/deployments",
972972
"apiVersion": "2025-04-01",
973-
"name": "[format('{0}-PolicyAssignment-Sub-Module', uniqueString(deployment().name, parameters('location')))]",
973+
"name": "[format('pol-asi-sub-{0}', uniqueString(managementGroup().name, parameters('subscriptionId'), parameters('location'), parameters('name')))]",
974974
"subscriptionId": "[parameters('subscriptionId')]",
975975
"location": "[deployment().location]",
976976
"properties": {
@@ -1236,7 +1236,7 @@
12361236
"condition": "[and(not(empty(parameters('resourceGroupName'))), not(empty(parameters('subscriptionId'))))]",
12371237
"type": "Microsoft.Resources/deployments",
12381238
"apiVersion": "2025-04-01",
1239-
"name": "[format('{0}-PolicyAssignment-RG-Module', uniqueString(deployment().name, parameters('location')))]",
1239+
"name": "[format('pol-asi-rg-{0}', uniqueString(managementGroup().name, parameters('subscriptionId'), parameters('resourceGroupName'), parameters('location'), parameters('name')))]",
12401240
"subscriptionId": "[parameters('subscriptionId')]",
12411241
"resourceGroup": "[parameters('resourceGroupName')]",
12421242
"properties": {

avm/ptn/authorization/policy-assignment/modules/management-group-additional-rbac-asi-def-loop.bicep

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ param policyAssignmentIdentityId string
1818

1919
module additionalManagementGroupRoleAssignmentsPerMG 'management-group-additional-rbac-asi.bicep' = [
2020
for mg in managementGroupsIDsToAssignRbacTo: {
21-
name: '${uniqueString(deployment().name, location, roleDefinitionId, name)}-PolicyAssignment-MG-Module-Additional-RBAC'
21+
name: 'pol-asi-mg-rbac-mg-${uniqueString(managementGroup().name, mg, location, roleDefinitionId, name, policyAssignmentIdentityId)}'
2222
scope: managementGroup(mg)
2323
params: {
2424
name: name

avm/ptn/authorization/policy-assignment/modules/management-group.bicep

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ resource policyAssignment 'Microsoft.Authorization/policyAssignments@2025-01-01'
109109

110110
module managementGroupRoleAssignments 'management-group-additional-rbac-asi-def-loop.bicep' = [
111111
for roleDefinitionId in roleDefinitionIds: if (!empty(roleDefinitionIds) && !empty(finalArrayOfManagementGroupsToAssignRbacTo) && identity == 'SystemAssigned') {
112-
name: '${uniqueString(deployment().name, location, roleDefinitionId, name)}-PolicyAssignment-MG-Module-Additional-RBAC'
112+
name: 'pol-asi-mg-rbac-mgs-loop-${uniqueString(managementGroup().name, location, roleDefinitionId, name)}'
113113
params: {
114114
name: name
115115
policyAssignmentIdentityId: policyAssignment.identity.principalId
@@ -121,7 +121,7 @@ module managementGroupRoleAssignments 'management-group-additional-rbac-asi-def-
121121

122122
module additionalSubscriptionRoleAssignments 'subscription-additional-rbac-asi-def-loop.bicep' = [
123123
for roleDefinitionId in roleDefinitionIds: if (!empty(roleDefinitionIds) && !empty(additionalSubscriptionIDsToAssignRbacTo) && identity == 'SystemAssigned') {
124-
name: '${uniqueString(deployment().name, location, roleDefinitionId, name)}-PolicyAssignment-MG-Module-Additional-RBAC-Subs'
124+
name: 'pol-asi-mg-rbac-subs-loop-${uniqueString(managementGroup().name, location, roleDefinitionId, name)}'
125125
params: {
126126
name: name
127127
policyAssignmentIdentityId: policyAssignment.identity.principalId
@@ -133,7 +133,7 @@ module additionalSubscriptionRoleAssignments 'subscription-additional-rbac-asi-d
133133

134134
module additionalResourceGroupRoleAssignments 'resource-group-additional-rbac-asi-def-loop.bicep' = [
135135
for roleDefinitionId in roleDefinitionIds: if (!empty(roleDefinitionIds) && !empty(additionalResourceGroupResourceIDsToAssignRbacTo) && identity == 'SystemAssigned') {
136-
name: '${uniqueString(deployment().name, location, roleDefinitionId, name)}-PolicyAssignment-MG-Module-Additional-RBAC-RGs'
136+
name: 'pol-asi-mg-rbac-rgs-loop-${uniqueString(managementGroup().name, location, roleDefinitionId, name)}'
137137
params: {
138138
name: name
139139
policyAssignmentIdentityId: policyAssignment.identity.principalId

avm/ptn/authorization/policy-assignment/modules/resource-group-additional-rbac-asi-def-loop.bicep

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ param policyAssignmentIdentityId string
1818

1919
module additionalResourceGroupResourceIDsRoleAssignmentsPerSub 'resource-group-additional-rbac-asi.bicep' = [
2020
for rg in resourceGroupResourceIDsToAssignRbacTo: {
21-
name: '${uniqueString(deployment().name, location, roleDefinitionId, name, rg)}-PolicyAssignment-MG-Module-RBAC-RG-Sub-${substring(split(rg, '/')[2], 0, 8)}'
21+
name: 'pol-asi-mg-rbac-rg-${uniqueString(managementGroup().name, rg, location, roleDefinitionId, name, policyAssignmentIdentityId)}'
2222
scope: resourceGroup(split(rg, '/')[2], split(rg, '/')[4])
2323
params: {
2424
name: name

avm/ptn/authorization/policy-assignment/modules/subscription-additional-rbac-asi-def-loop.bicep

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ param policyAssignmentIdentityId string
1818

1919
module additionalSubscriptionRoleAssignmentsPerSub 'subscription-additional-rbac-asi.bicep' = [
2020
for sub in subscriptionIDsToAssignRbacTo: {
21-
name: '${uniqueString(deployment().name, location, roleDefinitionId, name)}-PolicyAssignment-MG-Module-RBAC-Sub-${substring(sub, 0, 8)}'
21+
name: 'pol-asi-mg-rbac-sub-${uniqueString(managementGroup().name, sub, location, roleDefinitionId, name, policyAssignmentIdentityId)}'
2222
scope: subscription(sub)
2323
params: {
2424
name: name

avm/ptn/authorization/role-assignment/CHANGELOG.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,16 @@
22

33
The latest version of the changelog can be found [here](https://github.com/Azure/bicep-registry-modules/blob/main/avm/ptn/authorization/role-assignment/CHANGELOG.md).
44

5+
## 0.2.3
6+
7+
### Changes
8+
9+
- Updated deployment names to remove usage of `deployment().name` to avoid reduce the number of deployments and improve performance in redeploys and when used in a deployment stack. No functional changes to the module.
10+
11+
### Breaking Changes
12+
13+
- None
14+
515
## 0.2.2
616

717
### Changes

avm/ptn/authorization/role-assignment/main.bicep

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ resource avmTelemetry 'Microsoft.Resources/deployments@2024-03-01' = if (enableT
7171
}
7272

7373
module roleAssignment_mg 'modules/management-group.bicep' = if (empty(subscriptionId) && empty(resourceGroupName)) {
74-
name: '${uniqueString(deployment().name, location)}-RoleAssignment-MG-Module'
74+
name: 'role-asi-mg-${uniqueString(managementGroup().name, managementGroupId, location, roleDefinitionIdOrName, principalId)}'
7575
scope: managementGroup(managementGroupId)
7676
params: {
7777
roleDefinitionIdOrName: roleDefinitionIdOrName
@@ -88,7 +88,7 @@ module roleAssignment_mg 'modules/management-group.bicep' = if (empty(subscripti
8888
}
8989

9090
module roleAssignment_sub 'modules/subscription.bicep' = if (!empty(subscriptionId) && empty(resourceGroupName)) {
91-
name: '${uniqueString(deployment().name, location)}-RoleAssignment-Sub-Module'
91+
name: 'role-asi-sub-${uniqueString(managementGroup().name, subscriptionId, location, roleDefinitionIdOrName, principalId)}'
9292
scope: subscription(subscriptionId)
9393
params: {
9494
roleDefinitionIdOrName: roleDefinitionIdOrName
@@ -105,7 +105,7 @@ module roleAssignment_sub 'modules/subscription.bicep' = if (!empty(subscription
105105
}
106106

107107
module roleAssignment_rg 'modules/resource-group.bicep' = if (!empty(resourceGroupName) && !empty(subscriptionId)) {
108-
name: '${uniqueString(deployment().name, location)}-RoleAssignment-RG-Module'
108+
name: 'role-asi-rg-${uniqueString(managementGroup().name, subscriptionId, resourceGroupName, location, roleDefinitionIdOrName, principalId)}'
109109
scope: resourceGroup(subscriptionId, resourceGroupName)
110110
params: {
111111
roleDefinitionIdOrName: roleDefinitionIdOrName

0 commit comments

Comments
 (0)