[AVM Module Issue]: Private endpoint deployed to wrong scope #4257
Labels
Class: Resource Module 📦
This is a resource module
Needs: Immediate Attention ‼️
Immediate attention of module owner / AVM team is needed
Needs: Triage 🔍
Maintainers need to triage still
Status: Response Overdue 🚩
When an issue/PR has not been responded to for X amount of days
Type: AVM 🅰️ ✌️ Ⓜ️
This is an AVM related issue
Type: Bug 🐛
Something isn't working
Check for previous/existing GitHub issues
Issue Type?
Bug
Module Name
avm/res/key-vault/vault
(Optional) Module Version
0.11.2
Description
I'm using version 0.11.2 of key-vault module to deploy keyvault with private endpoint configured. Problem with that version is that private endpoint is created in the scope of main resource. In previous version private endpoints parameter is based on common-types version 0.4.0 which requires resourceGroupName and that version deploys private endpoint in correct resource group.
In current version private endpoint expects resourceGroupResourceId and when is passed still deploys in KeyVault resource group. Example script
module mainGroup 'br/public:avm/res/resources/resource-group:0.4.1' = {
scope: subscription()
name: 'mainGrouptestdep'
params: {
name: 'test01'
}
}
module vnetGroup 'br/public:avm/res/resources/resource-group:0.4.1' = {
scope: subscription()
name: 'vnetGrouptestdep'
params: {
name: 'rgtestvnet'
}
}
module privateGroup 'br/public:avm/res/resources/resource-group:0.4.1' = {
scope: subscription()
name: 'privateGrouptestdep'
params: {
name: 'test02'
}
}
module vnet 'br/public:avm/res/network/virtual-network:0.5.2' = {
scope: resourceGroup('rgtestvnet')
name: 'vnetdeploytest'
dependsOn: [
vnetGroup
]
params: {
name: 'vnet01'
addressPrefixes: ['10.0.0.0/16']
subnets: [
{
name: 'private'
addressPrefix: '10.0.0.0/24'
}
]
}
}
module sb 'br/public:avm/res/service-bus/namespace:0.11.2' = {
scope: resourceGroup('test01')
name: 'sbtestdep'
params: {
name: 'sbu01'
skuObject: {
name: 'Premium'
}
// Non-required parameters
privateEndpoints: [
{
name: 'pepsbu01'
customNetworkInterfaceName: 'nifsbu01'
subnetResourceId: vnet.outputs.subnetResourceIds[0]
service: 'namespace'
resourceGroupResourceId: privateGroup.outputs.resourceId
enableTelemetry: false
}
]
}
}
module kv1 'br/public:avm/res/key-vault/vault:0.11.2' = {
name: 'kvtestdep01'
scope: resourceGroup('test01')
params: {
name: 'kvad01'
privateEndpoints: [
{
name: 'pepkva01'
customNetworkInterfaceName: 'nifkva01'
service: 'vault'
resourceGroupResourceId: privateGroup.outputs.resourceId
subnetResourceId: vnet.outputs.subnetResourceIds[0]
enableTelemetry: false
}
]
}
}
module kv2 'br/public:avm/res/key-vault/vault:0.11.1' = {
name: 'kvtestdep02'
scope: resourceGroup('test01')
params: {
name: 'kvad02'
privateEndpoints: [
{
name: 'pepkva02'
customNetworkInterfaceName: 'nifkva02'
service: 'vault'
resourceGroupName: privateGroup.outputs.name
subnetResourceId: vnet.outputs.subnetResourceIds[0]
enableTelemetry: false
}
]
}
}
With this script final result is kv2 resource created with previous version of the module and his private endpoint is created in correct resource group e.g test02. kv1 private endpoint which uses latest version is created in test01 resource group. Latest version of service-bus module have same issue since implementation is the same for private endpoints.
(Optional) Correlation Id
No response
The text was updated successfully, but these errors were encountered: